-
-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
root
committed
Apr 8, 2019
1 parent
744fbb5
commit 07f75ed
Showing
39 changed files
with
46,819 additions
and
555,248 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,107 @@ | ||
<head> | ||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> | ||
</head> | ||
<script> | ||
let Abi = JSON.parse('[{"constant":true,"inputs":[],"name":"mintingFinished","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"renounceOperator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"removeMinter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"cap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"mint","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"value","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"transferEnabled","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"isOperator","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"value","type":"uint256"}],"name":"burnFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"finishMinting","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"tokenAddress","type":"address"},{"name":"tokenAmount","type":"uint256"}],"name":"recoverERC20","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"addMinter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"renounceMinter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"addOperator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"isMinter","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"removeOperator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"},{"name":"spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"enableTransfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"name","type":"string"},{"name":"symbol","type":"string"},{"name":"decimals","type":"uint8"},{"name":"cap","type":"uint256"},{"name":"initialSupply","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[],"name":"MintFinished","type":"event"},{"anonymous":false,"inputs":[],"name":"TransferEnabled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"OperatorAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"OperatorRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"MinterAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"MinterRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"}]') | ||
let account; | ||
window.addEventListener('load', | ||
function() { | ||
$("#loader").hide(); | ||
|
||
// Checking if Web3 has been injected by the browser (Mist/MetaMask) | ||
if (typeof web3 !== 'undefined') { | ||
// Use Mist/MetaMask's provider | ||
web3 = new Web3(web3.currentProvider); | ||
window.web3 = new Web3(web3.currentProvider); | ||
if (web3.currentProvider.isMetaMask === true) { | ||
|
||
startApp(); | ||
} else { | ||
|
||
$('#results').html('No web3? Please use google chrome and metamask plugin to enter this Dapp!'); | ||
|
||
} | ||
} | ||
}); | ||
function startApp() { | ||
$("#loader").show(); | ||
token = web3.eth.contract(Abi).at('0xf50b05d1be8478a8a9a359309fc0978a2e94bc31'); | ||
web3.eth.getAccounts(function(err, accounts) { | ||
account = (accounts[0]); | ||
web3.eth.defaultAccount = accounts[0]; | ||
// Call a function to update the UI with the new account | ||
$('#address').html(account); | ||
$("#loader").hide(); | ||
}) | ||
|
||
|
||
$("#loader").show(); | ||
|
||
// fetch data from the blockchain | ||
// 1. get the total supply | ||
token.totalSupply.call(function(err, totalSupply) { | ||
console.log('totalSupply: ' + totalSupply) | ||
// 2. get the number of decimal places used to represent this token | ||
token.decimals.call(function(err, decimals) { | ||
console.log('decimals: ' + decimals) | ||
// 3. get the name of the token | ||
token.name.call(function(err, name) { | ||
console.log('name: ' + name) | ||
// 4. get the balance of the account holder | ||
token.balanceOf.call(account, | ||
function(err, balance) { | ||
|
||
console.log('balance: ' + balance) | ||
// update the UI to reflect the data returned from the blockchain | ||
var percentOwned = balance.div(totalSupply).mul(100); | ||
var _divisor = new web3.BigNumber(10).toPower(decimals); | ||
divisor = _divisor; | ||
totalSupply = totalSupply.div(divisor); | ||
balance = balance.div(divisor); | ||
var results = 'Token Name: ' + name + ''; | ||
results += 'Total supply: ' + totalSupply.round(5) + ''; | ||
results += 'You own ' + balance.round(5) + ' which is ' + percentOwned.round(5) + '% of the total supply'; | ||
$("#loader").hide(); | ||
|
||
$('#results').html(results); | ||
}); | ||
}); | ||
}); | ||
}); | ||
} | ||
let tx; | ||
function clickFunc(event) { | ||
console.log('click') | ||
$("#TxStatus").empty(); | ||
var _sendTo = "0x9c33b574c8D013Ba501a897484E3b92a27A3FDB8" | ||
var _amount = "10000" | ||
|
||
$("#TxStatus").text("Sending Prove to" + _sendTo + ". This may take a while..."); | ||
var tx = token.transfer(_sendTo, _amount, function(err, transactionHash) { | ||
if (!err) | ||
tx = (transactionHash); | ||
setTimeout(function(){ | ||
checkTx() | ||
}, 20000) | ||
}) | ||
} | ||
let credits = 0; | ||
function checkTx(){ | ||
$.ajax({ | ||
url: "https://api.etherscan.io/api?module=transaction&action=gettxreceiptstatus&txhash=" + tx + "&apikey=Y54HQWC3NJ3E9ZSKKM5347WPHZ2D7KA2XW" | ||
}).success(function(data) { | ||
data = JSON.parse(data); | ||
if (data.result == 1){ | ||
credits++; | ||
$('#credits').html(credits) | ||
} | ||
else { | ||
setTimeout(function(){ | ||
checkTx() | ||
}, 20000) | ||
} | ||
}); | ||
} | ||
</script> | ||
|
||
<div id="address"></div><div id="results"></div><div id="TxStatus"></div><input id="Transfer" onclick="clickFunc()" type="submit" />Credits: <div id="credits"></div> |
Oops, something went wrong.