var currentState var tokenBalance var claimPercentVal var claimTotalVal var ethShareVal var claimPercentText = document.getElementById('claim-percent') var claimTotalText = document.getElementById('claim-total') var ethShareText = document.getElementById('eth-share') // Wallet variables //Wallet connect stuff @credits DorekWas const getSigner = () => { if(!SCOPE.provider) { return null } return SCOPE.provider.getSigner() } /////// DATA FUNCTIONS /////// // Getting data for a specific wallet function claimDividends() { const signer = getSigner() if(!signer) { return } aimbotSigner = new ethers.Contract(SCOPE.mainTokenContract, SCOPE.mainTokenContractABI, signer) aimbotSigner.claim().then((result) => { }) } function updateData() { getTokenBalance() getClaimData() } function getTokenBalance() { const signer = getSigner() if(!signer) { return } aimbotSigner = new ethers.Contract(SCOPE.mainTokenContract, SCOPE.mainTokenContractABI, signer) aimbotSigner.balanceOf(SCOPE.address).then((result) => { tokenBalance = parseFloat(ethers.utils.formatUnits(result.toString(),18)) claimPercentText.innerHTML = ((tokenBalance / 1000000) * 100).toFixed(5) + "%" }) } function getClaimData() { const signer = getSigner() if(!signer) { return } aimbotSigner = new ethers.Contract(SCOPE.mainTokenContract, SCOPE.mainTokenContractABI, signer) aimbotSigner.stats(SCOPE.address).then((result) => { //aimbotSigner.stats("").then((result) => { console.log(result) ethShareText.innerHTML = toFixed(convertToEther(result["withdrawableDividends"])) provider.getBalance("0x93314Ee69BF8F943504654f9a8ECed0071526439").then((ethBal) => { claimTotalText.innerHTML = toFixed(convertToEther(ethBal)) }) }) } $("#claim-btn").on("click",() => { console.log("test") claimDividends() }) setInterval(() => { checkState() }, 1000) function checkState() { if (typeof SCOPE.state != "undefined") { if (currentState == SCOPE.state) { } else { console.log("updating state") currentState = SCOPE.state } } else { currentState = "disconnected" } updateData() } //Wallet connect stuff // small utilities to avoid having repeat code function walletIsConnected() { if (typeof SCOPE.address !== 'undefined') { return true } else { return false } } function notConnectedAlert() { alert("Please connect wallet first") } function convertToNumber (bigNumber) { return parseInt(bigNumber.toString()) } function convertToEther (bigNumber) { return parseFloat(ethers.utils.formatUnits(bigNumber.toString(), 18)) } function convertToWei(ether) { return ethers.utils.parseEther(ether.toString()).toString() } function convertToWeiHex (ether) { return ethers.utils.parseEther(ether.toString()).toHexString() } function convertToHex (value) { return ethers.BigNumber.from(value).toHexString() } function convertHexToAddress (hex) { return "0x" + hex.substr(26, 40) } function convertBigNumberToHexAddress (number) { let hex = number.toHexString() if(!hex) { return number } if(!hex.startsWith("0x")) { return number } hex = hex.substring(2) while(hex.length < 40) { hex = "0" + hex } return "0x" + hex } function sleep (ms) { return new Promise(resolve => setTimeout(resolve, ms)) } function toFixed(x) { if(x > 0.1) { return x.toLocaleString('fullwide', {useGrouping:false}) } x = x.toPrecision(4) if (Math.abs(x) < 1.0) { var e = parseInt(x.toString().split('e-')[1]); if (e) { x *= Math.pow(10,e-1); x = '0.' + (new Array(e)).join('0') + x.toString().substring(2); } } else { var e = parseInt(x.toString().split('+')[1]); if (e > 20) { e -= 20; x /= Math.pow(10,e); x += (new Array(e+1)).join('0'); } } return x } function toNumber(number) { return parseInt(number.toString()) }