More Info
Private Name Tags
ContractCreator
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
15357017 | 900 days ago | 0.00491398 ETH | ||||
15357017 | 900 days ago | 0.00491398 ETH | ||||
15334536 | 904 days ago | 0.00540246 ETH | ||||
15334536 | 904 days ago | 0.00540246 ETH | ||||
15321749 | 906 days ago | 0.00567009 ETH | ||||
15321749 | 906 days ago | 0.00567009 ETH | ||||
15321485 | 906 days ago | 0.00754347 ETH | ||||
15321485 | 906 days ago | 0.00754347 ETH | ||||
15320736 | 906 days ago | 0.00332302 ETH | ||||
15320736 | 906 days ago | 0.00332302 ETH | ||||
15317383 | 907 days ago | 0.00577621 ETH | ||||
15317383 | 907 days ago | 0.00577621 ETH | ||||
15317276 | 907 days ago | 0.00266531 ETH | ||||
15317276 | 907 days ago | 0.00266531 ETH | ||||
15316412 | 907 days ago | 0.00249156 ETH | ||||
15316412 | 907 days ago | 0.00249156 ETH | ||||
15311183 | 908 days ago | 0.00232291 ETH | ||||
15311183 | 908 days ago | 0.00232291 ETH | ||||
15309273 | 908 days ago | 0.00230782 ETH | ||||
15309273 | 908 days ago | 0.00230782 ETH | ||||
15305504 | 908 days ago | 0.00308287 ETH | ||||
15305504 | 908 days ago | 0.00308287 ETH | ||||
15305070 | 908 days ago | 0.00287517 ETH | ||||
15305070 | 908 days ago | 0.00287517 ETH | ||||
15304900 | 909 days ago | 0.00876548 ETH |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
BtcPrinter
Compiler Version
v0.8.13+commit.abaa5c0e
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-08-06 */ /** SHIBETOSHI | STOSHI https://medium.com/@SHIBETOSHIERC20/3199cc2982d3 Hi DEV Here, So, I have been sitting on the sidelines watching the market. After some thinking I decided on leveraging the move in market, which led me to create a safe community rewards token with low tax. This is an experiment for me so I hope you all are ready and can handle this. Look at these Tokenomics: Supply = 21.000.000. Max Trx = 420.000. Max Wallet = 420.000. BUY/SELL TAX = 6% (Buy&Sell) 1.80% Dev fee & 4.20% BTC Rewards. I will be observing from the outside as I want this to be driven by the community! My promise to you the Investor: * Contract is safe and will be locked for 30 Days and ownership will be transferred to a dead address. * Contract Trx and Wallet size can't be lower than 2%, and taxes won't be higher than 6%. * I will communicate on ETHERSCAN.io. * Website will be built at 69K MC. * I hope the community makes a Telegram (I will join at 100K MC). * DEXTOOL LOGO SOCIAL UPDATE at 150K MC. I only get 1,80 % Tax 4,20 % goes back to You the Community. No Dev Cash Grab, but a Dev Who Cares About the COMMUNITY Let's Moon this, because the more volume we get the more BTC we Spread. * I will buy back with at least 0.3 % of the taxes. * I won't Sell any tokens but will burn them. * Liquidity will be locked for 100 years at 200K MC Way forward: * Release SHIBETOSHI SWAP at 250K MC * Build/Release SHIBETOSH LOCKER at 350K MC * I will use 0.5% of my collected taxes for fast track CMC & Coingecko at 669K MC * Start building SHIBETOSHI ANTI RUGG SYSTEM (ARS) RUGGSCANNER/TOKENSNIFFER and HONEYPOTCHECKER at 750K MC * I will Dox at 1 million MC, I'm not a coward like SATOSHI We don't need big paid Influencers or big Marketing,I rather the community get all the rewards! RIGHT???? 4.20% BTC Reward on a 6% token is INSANE influencers will shill this for free!! We want organic growth, share the message! Get all your friends and family involved, even your wife's boyfriend. This is not a scam, so don't listen to fudders that just want you to ape into their scam project. If you investors Don't Ape into this one maybe you like to be RUGGED. I hate ruggers but I also hate mindless sheep investors that ape in Rugg/Scamcoins. Be smart about this and invest in a token that's built for the community by a dev that likes safe and honest projects. CREATE THE HYPE BE SMART FOLLOW THE HYPE SEND THIS SHIT LET THE FOMO BEGIN FUCK THE SCAMS& THE RUGS. SPREAD BTC 4.20 % BTC REWARDS 1.80 % DEV TAX LETS FUCKING GO SEND IT Greetings, SHIBETOSHIDEV.eth */ // SPDX-License-Identifier: Unlicensed pragma solidity 0.8.13; library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { // Solidity only automatically asserts when dividing by 0 require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } } interface IERC20 { function totalSupply() external view returns (uint256); function decimals() external view returns (uint8); function symbol() external view returns (string memory); function name() external view returns (string memory); function getOwner() external view returns (address); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address _owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } abstract contract Auth { address internal owner; constructor(address _owner) { owner = _owner; } modifier onlyOwner() { require(isOwner(msg.sender), "!Owner"); _; } function isOwner(address account) public view returns (bool) { return account == owner; } function transferOwnership(address payable adr) public onlyOwner { owner = adr; emit OwnershipTransferred(adr); } event OwnershipTransferred(address owner); } interface IDEXFactory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IDEXRouter { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } interface IBtcPrinter { function setBitCoin (address btcAddress) external; function setDistributionCriteria(uint256 _minPeriod, uint256 _minDistribution) external; function setShare(address shareholder, uint256 amount) external; function deposit() external payable; function process(uint256 gas) external; function goBTC(address shareholder) external; } contract BtcPrinter is IBtcPrinter { using SafeMath for uint256; address _token; address public BitCoin; IDEXRouter router; struct Share { uint256 amount; uint256 totalExcluded; uint256 totalRealised; } address[] shareholders; mapping (address => uint256) shareholderIndexes; mapping (address => uint256) shareholderClaims; mapping (address => Share) public shares; uint256 public totalShares; uint256 public totalDividends; uint256 public totalDistributed; uint256 public dividendsPerShare; uint256 public dividendsPerShareAccuracyFactor = 10 ** 36; uint256 public minPeriod = 69 minutes; uint256 public minDistribution = 1 / 100000 * (10 ** 18); uint256 public currentIndex; bool initialized; modifier initialization() { require(!initialized); _; initialized = true; } modifier onlyToken() { require(msg.sender == _token); _; } constructor () { _token = msg.sender; router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); BitCoin = 0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599; } receive() external payable { deposit(); } function setBitCoin(address btcAddress) external override onlyToken { BitCoin = btcAddress; } function setDistributionCriteria(uint256 newMinPeriod, uint256 newMinDistribution) external override onlyToken { minPeriod = newMinPeriod; minDistribution = newMinDistribution; } function setShare(address shareholder, uint256 amount) external override onlyToken { if(shares[shareholder].amount > 0){ distributeDividend(shareholder); } if(amount > 0 && shares[shareholder].amount == 0){ addShareholder(shareholder); }else if(amount == 0 && shares[shareholder].amount > 0){ removeShareholder(shareholder); } totalShares = totalShares.sub(shares[shareholder].amount).add(amount); shares[shareholder].amount = amount; shares[shareholder].totalExcluded = getCumulativeDividends(shares[shareholder].amount); } function deposit() public payable override { uint256 balanceBefore = IERC20(BitCoin).balanceOf(address(this)); address[] memory path = new address[](2); path[0] = router.WETH(); path[1] = address(BitCoin); router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: msg.value}( 0, path, address(this), block.timestamp ); uint256 amount = IERC20(BitCoin).balanceOf(address(this)).sub(balanceBefore); totalDividends = totalDividends.add(amount); dividendsPerShare = dividendsPerShare.add(dividendsPerShareAccuracyFactor.mul(amount).div(totalShares)); } function process(uint256 gas) external override { uint256 shareholderCount = shareholders.length; if(shareholderCount == 0) { return; } uint256 iterations = 0; uint256 gasUsed = 0; uint256 gasLeft = gasleft(); while(gasUsed < gas && iterations < shareholderCount) { if(currentIndex >= shareholderCount){ currentIndex = 0; } if(shouldDistribute(shareholders[currentIndex])){ distributeDividend(shareholders[currentIndex]); } gasUsed = gasUsed.add(gasLeft.sub(gasleft())); gasLeft = gasleft(); currentIndex++; iterations++; } } function shouldDistribute(address shareholder) public view returns (bool) { return shareholderClaims[shareholder] + minPeriod < block.timestamp && getUnpaidEarnings(shareholder) > minDistribution; } function distributeDividend(address shareholder) internal { if(shares[shareholder].amount == 0){ return; } uint256 amount = getUnpaidEarnings(shareholder); if(amount > 0){ totalDistributed = totalDistributed.add(amount); IERC20(BitCoin).transfer(shareholder, amount); shareholderClaims[shareholder] = block.timestamp; shares[shareholder].totalRealised = shares[shareholder].totalRealised.add(amount); shares[shareholder].totalExcluded = getCumulativeDividends(shares[shareholder].amount); } } function goBTC(address) external override onlyToken { require(shouldDistribute(msg.sender), "Btc not rdy yet!"); distributeDividend(msg.sender); } function getUnpaidEarnings(address shareholder) public view returns (uint256) { if(shares[shareholder].amount == 0){ return 0; } uint256 shareholderTotalDividends = getCumulativeDividends(shares[shareholder].amount); uint256 shareholderTotalExcluded = shares[shareholder].totalExcluded; if(shareholderTotalDividends <= shareholderTotalExcluded){ return 0; } return shareholderTotalDividends.sub(shareholderTotalExcluded); } function getCumulativeDividends(uint256 share) internal view returns (uint256) { return share.mul(dividendsPerShare).div(dividendsPerShareAccuracyFactor); } function addShareholder(address shareholder) internal { shareholderIndexes[shareholder] = shareholders.length; shareholders.push(shareholder); } function removeShareholder(address shareholder) internal { shareholders[shareholderIndexes[shareholder]] = shareholders[shareholders.length-1]; shareholderIndexes[shareholders[shareholders.length-1]] = shareholderIndexes[shareholder]; shareholders.pop(); } } contract SHIBETOSHI is IERC20, Auth { using SafeMath for uint256; address public BitCoin = 0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599; //wBTC string private constant _name = "SHIBETOSHI"; string private constant _symbol = "STOSHI"; uint8 private constant _decimals = 18; uint256 private _totalSupply = 21000000 * (10 ** _decimals); mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; mapping (address => uint256) private cooldown; address private WETH; address DEAD = 0x000000000000000000000000000000000000dEaD; address ZERO = 0x0000000000000000000000000000000000000000; bool public antiBot = true; mapping (address => bool) private bots; mapping (address => bool) public isFeeExempt; mapping (address => bool) public isTxLimitExempt; mapping (address => bool) public isDividendExempt; uint256 public launchedAt; address private lpWallet = DEAD; uint256 public buyFee = 6; uint256 public sellFee = 6; uint256 public toReflections = 70;//7x0.6=4.20% uint256 public toLiquidity = 0; uint256 public toMarketing = 30;//3x0.6=1.80% uint256 public allocationSum = 100; IDEXRouter public router; address public pair; address public factory; address private tokenOwner; address public devWallet = 0x624588d9315bb503705986732BF90A65A5860D6F; bool inSwapAndLiquify; bool public swapAndLiquifyEnabled = true; bool public tradingOpen = false; BtcPrinter public btcPrinter; uint256 public btcPrinterGas = 0; modifier lockTheSwap { inSwapAndLiquify = true; _; inSwapAndLiquify = false; } uint256 public maxTx = _totalSupply.mul(2).div(100); uint256 public maxWallet = _totalSupply.mul(2).div(100); uint256 public swapThreshold = _totalSupply.mul(5).div(10000); constructor ( address _owner ) Auth(_owner) { router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); WETH = router.WETH(); pair = IDEXFactory(router.factory()).createPair(WETH, address(this)); _allowances[address(this)][address(router)] = type(uint256).max; btcPrinter = new BtcPrinter(); isFeeExempt[_owner] = true; isFeeExempt[devWallet] = true; isDividendExempt[pair] = true; isDividendExempt[address(this)] = true; isDividendExempt[DEAD] = true; isTxLimitExempt[_owner] = true; isTxLimitExempt[pair] = true; isTxLimitExempt[DEAD] = true; _balances[_owner] = _totalSupply; emit Transfer(address(0), _owner, _totalSupply); } receive() external payable { } function _setBitCoin(address btcAddress) internal { btcPrinter.setBitCoin(btcAddress); } function setBitCoin(address btcAddress) external onlyOwner { BitCoin = btcAddress; _setBitCoin(btcAddress); } function setBots(address[] memory bots_) external onlyOwner { for (uint i = 0; i < bots_.length; i++) { bots[bots_[i]] = true; } } //once enabled, cannot be reversed function openTrading() external onlyOwner { launchedAt = block.number; tradingOpen = true; } function changeTotalFees(uint256 newBuyFee, uint256 newSellFee) external onlyOwner { buyFee = newBuyFee; sellFee = newSellFee; require(buyFee <= 6, "don be greedy DEV"); require(sellFee <= 6, "don be greedy DEV"); } function changeFeeAllocation(uint256 newRewardFee, uint256 newLpFee, uint256 newMarketingFee) external onlyOwner { toReflections = newRewardFee; toLiquidity = newLpFee; toMarketing = newMarketingFee; } function changeTxLimit(uint256 amountPercent) external onlyOwner { require(amountPercent>1); maxTx = (_totalSupply * amountPercent ) / 100; } function changeWalletLimit(uint256 amountPercent) external onlyOwner { require(amountPercent>1); maxWallet = (_totalSupply * amountPercent ) / 100; } function removeLimits() external onlyOwner{ maxTx = _totalSupply; maxWallet = _totalSupply; } function changeIsFeeExempt(address holder, bool exempt) external onlyOwner { isFeeExempt[holder] = exempt; } function changeIsTxLimitExempt(address holder, bool exempt) external onlyOwner { isTxLimitExempt[holder] = exempt; } function setDevWallet(address payable newDevWallet) external onlyOwner { devWallet = payable(newDevWallet); } function setLpWallet(address newLpWallet) external onlyOwner { lpWallet = newLpWallet; } function setOwnerWallet(address payable newOwnerWallet) external onlyOwner { tokenOwner = newOwnerWallet; } function changeSwapBackSettings(bool enableSwapBack, uint256 newSwapBackLimit) external onlyOwner { swapAndLiquifyEnabled = enableSwapBack; swapThreshold = newSwapBackLimit; } function setDistributionCriteria(uint256 newMinPeriod, uint256 newMinDistribution) external onlyOwner { btcPrinter.setDistributionCriteria(newMinPeriod, newMinDistribution); } function delBot(address notbot) external onlyOwner { bots[notbot] = false; } function _setIsDividendExempt(address holder, bool exempt) internal { require(holder != address(this) && holder != pair); isDividendExempt[holder] = exempt; if(exempt){ btcPrinter.setShare(holder, 0); }else{ btcPrinter.setShare(holder, _balances[holder]); } } function setIsDividendExempt(address holder, bool exempt) external onlyOwner { _setIsDividendExempt(holder, exempt); } function changeBtcPrinterGas(uint256 newGas) external onlyOwner { btcPrinterGas = newGas; } function getCirculatingSupply() public view returns (uint256) { return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO)); } function totalSupply() external view override returns (uint256) { return _totalSupply; } function decimals() external pure override returns (uint8) { return _decimals; } function symbol() external pure override returns (string memory) { return _symbol; } function name() external pure override returns (string memory) { return _name; } function getOwner() external view override returns (address) { return owner; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _allowances[msg.sender][spender] = amount; emit Approval(msg.sender, spender, amount); return true; } function approveMax(address spender) external returns (bool) { return approve(spender, type(uint256).max); } function transfer(address recipient, uint256 amount) external override returns (bool) { return _transfer(msg.sender, recipient, amount); } function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) { if(_allowances[sender][msg.sender] != type(uint256).max){ _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance"); } return _transfer(sender, recipient, amount); } function _transfer(address sender, address recipient, uint256 amount) internal returns (bool) { if (sender!= owner && recipient!= owner) require(tradingOpen, "hold ur horses big guy."); //transfers disabled before tradingActive require(!bots[sender] && !bots[recipient]); if(inSwapAndLiquify){ return _basicTransfer(sender, recipient, amount); } require(amount <= maxTx || isTxLimitExempt[sender], "tx"); if(!isTxLimitExempt[recipient] && antiBot) { require(_balances[recipient].add(amount) <= maxWallet, "wallet"); } if(msg.sender != pair && !inSwapAndLiquify && swapAndLiquifyEnabled && _balances[address(this)] >= swapThreshold){ swapBack(); } _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); uint256 finalAmount = !isFeeExempt[sender] && !isFeeExempt[recipient] ? takeFee(sender, recipient, amount) : amount; _balances[recipient] = _balances[recipient].add(finalAmount); // Dividend tracker if(!isDividendExempt[sender]) { try btcPrinter.setShare(sender, _balances[sender]) {} catch {} } if(!isDividendExempt[recipient]) { try btcPrinter.setShare(recipient, _balances[recipient]) {} catch {} } emit Transfer(sender, recipient, finalAmount); return true; } function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) { _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); return true; } function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) { uint256 feeApplicable = pair == recipient ? sellFee : buyFee; uint256 feeAmount = amount.mul(feeApplicable).div(100); _balances[address(this)] = _balances[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); return amount.sub(feeAmount); } function swapTokensForEth(uint256 tokenAmount) private { address[] memory path = new address[](2); path[0] = address(this); path[1] = router.WETH(); approve(address(this), tokenAmount); router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, // accept any amount of ETH path, address(this), block.timestamp ); } function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private { router.addLiquidityETH{value: ethAmount}( address(this), tokenAmount, 0, 0, lpWallet, block.timestamp ); } function swapBack() internal lockTheSwap { uint256 tokenBalance = _balances[address(this)]; uint256 tokensForLiquidity = tokenBalance.mul(toLiquidity).div(100).div(2); uint256 amountToSwap = tokenBalance.sub(tokensForLiquidity); swapTokensForEth(amountToSwap); uint256 totalEthBalance = address(this).balance; uint256 ethForBitCoin = totalEthBalance.mul(toReflections).div(100); uint256 ethForMarketing = totalEthBalance.mul(toMarketing).div(100); uint256 ethForLiquidity = totalEthBalance.mul(toLiquidity).div(100).div(2); if (totalEthBalance > 0){ payable(devWallet).transfer(ethForMarketing); } try btcPrinter.deposit{value: ethForBitCoin}() {} catch {} if (tokensForLiquidity > 0){ addLiquidity(tokensForLiquidity, ethForLiquidity); } } function manualSwapBack() external onlyOwner { swapBack(); } function clearStuckEth() external onlyOwner { uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0){ payable(devWallet).transfer(contractETHBalance); } } function manualProcessGas(uint256 manualGas) external onlyOwner { btcPrinter.process(manualGas); } function howMuchBTC(address shareholder) external view returns (uint256) { return btcPrinter.getUnpaidEarnings(shareholder); } function giveMeMyOwedBtc() external { btcPrinter.goBTC(msg.sender); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"BitCoin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deposit","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"dividendsPerShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dividendsPerShareAccuracyFactor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"shareholder","type":"address"}],"name":"getUnpaidEarnings","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"goBTC","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"minDistribution","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"gas","type":"uint256"}],"name":"process","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"btcAddress","type":"address"}],"name":"setBitCoin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMinPeriod","type":"uint256"},{"internalType":"uint256","name":"newMinDistribution","type":"uint256"}],"name":"setDistributionCriteria","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"shareholder","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setShare","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"shares","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"totalExcluded","type":"uint256"},{"internalType":"uint256","name":"totalRealised","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"shareholder","type":"address"}],"name":"shouldDistribute","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalDistributed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalDividends","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526ec097ce7bc90715b34b9f1000000000600b5561102c600c556509184e72a000600d5534801561003357600080fd5b50600080546001600160a01b03199081163317909155600280548216737a250d5630b4cf539739df2c5dacb4c659f2488d17905560018054909116732260fac5e5542a773aa44fbcfedf7c193bc2c5991790556110b9806100956000396000f3fe60806040526004361061010d5760003560e01c8063997664d711610095578063e6c0255111610064578063e6c02551146102df578063efca2eed146102ff578063f8fc9a1e14610315578063ffb2c47914610335578063ffd49c841461035557600080fd5b8063997664d714610254578063ce7c2ac21461026a578063d0e30db0146102c1578063e2d2e219146102c957600080fd5b80632ac306b0116100dc5780632ac306b0146101a05780632d48e896146101d85780633a98ef39146101f85780634fab0ae81461020e5780638c21cd521461022457600080fd5b806311ce023d1461012157806314b6ca961461014a57806326987b601461016a57806328fd31981461018057600080fd5b3661011c5761011a61036b565b005b600080fd5b34801561012d57600080fd5b50610137600b5481565b6040519081526020015b60405180910390f35b34801561015657600080fd5b5061011a610165366004610e1d565b6105e3565b34801561017657600080fd5b50610137600e5481565b34801561018c57600080fd5b5061013761019b366004610e49565b61075b565b3480156101ac57600080fd5b506001546101c0906001600160a01b031681565b6040516001600160a01b039091168152602001610141565b3480156101e457600080fd5b5061011a6101f3366004610e66565b6107e6565b34801561020457600080fd5b5061013760075481565b34801561021a57600080fd5b50610137600d5481565b34801561023057600080fd5b5061024461023f366004610e49565b610808565b6040519015158152602001610141565b34801561026057600080fd5b5061013760085481565b34801561027657600080fd5b506102a6610285366004610e49565b60066020526000908152604090208054600182015460029092015490919083565b60408051938452602084019290925290820152606001610141565b61011a61036b565b3480156102d557600080fd5b50610137600a5481565b3480156102eb57600080fd5b5061011a6102fa366004610e49565b61084e565b34801561030b57600080fd5b5061013760095481565b34801561032157600080fd5b5061011a610330366004610e49565b6108be565b34801561034157600080fd5b5061011a610350366004610e88565b6108f7565b34801561036157600080fd5b50610137600c5481565b6001546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa1580156103b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103d89190610ea1565b60408051600280825260608201835292935060009290916020830190803683375050600254604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c4648925060048083019260209291908290030181865afa158015610447573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061046b9190610eba565b8160008151811061047e5761047e610ed7565b6001600160a01b03928316602091820292909201015260018054835192169183919081106104ae576104ae610ed7565b6001600160a01b03928316602091820292909201015260025460405163b6f9de9560e01b815291169063b6f9de959034906104f490600090869030904290600401610eed565b6000604051808303818588803b15801561050d57600080fd5b505af1158015610521573d6000803e3d6000fd5b50506001546040516370a0823160e01b8152306004820152600094506105a193508692506001600160a01b03909116906370a0823190602401602060405180830381865afa158015610577573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059b9190610ea1565b906109e4565b6008549091506105b19082610a2d565b600855600754600b546105db916105d2916105cc9085610a8c565b90610b0e565b600a5490610a2d565b600a55505050565b6000546001600160a01b031633146105fa57600080fd5b6001600160a01b038216600090815260066020526040902054156106215761062182610b50565b60008111801561064757506001600160a01b038216600090815260066020526040902054155b156106ad57600380546001600160a01b0384166000818152600460205260408120839055600183018455929092527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0180546001600160a01b03191690911790556106e0565b801580156106d257506001600160a01b03821660009081526006602052604090205415155b156106e0576106e082610c6e565b6001600160a01b03821660009081526006602052604090205460075461071191839161070b916109e4565b90610a2d565b6007556001600160a01b038216600090815260066020526040902081905561073881610d83565b6001600160a01b0390921660009081526006602052604090206001019190915550565b6001600160a01b038116600090815260066020526040812054810361078257506000919050565b6001600160a01b0382166000908152600660205260408120546107a490610d83565b6001600160a01b0384166000908152600660205260409020600101549091508082116107d4575060009392505050565b6107de82826109e4565b949350505050565b6000546001600160a01b031633146107fd57600080fd5b600c91909155600d55565b600c546001600160a01b038216600090815260056020526040812054909142916108329190610f6d565b1080156108485750600d546108468361075b565b115b92915050565b6000546001600160a01b0316331461086557600080fd5b61086e33610808565b6108b25760405162461bcd60e51b815260206004820152601060248201526f427463206e6f7420726479207965742160801b60448201526064015b60405180910390fd5b6108bb33610b50565b50565b6000546001600160a01b031633146108d557600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6003546000819003610907575050565b60008060005a90505b848210801561091e57508383105b156109dd5783600e5410610932576000600e555b6109646003600e548154811061094a5761094a610ed7565b6000918252602090912001546001600160a01b0316610808565b1561099b5761099b6003600e548154811061098157610981610ed7565b6000918252602090912001546001600160a01b0316610b50565b6109b06109a95a83906109e4565b8390610a2d565b91505a600e805491925060006109c583610f85565b919050555082806109d590610f85565b935050610910565b5050505050565b6000610a2683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610da0565b9392505050565b600080610a3a8385610f6d565b905083811015610a265760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016108a9565b600082600003610a9e57506000610848565b6000610aaa8385610f9e565b905082610ab78583610fbd565b14610a265760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016108a9565b6000610a2683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610dda565b6001600160a01b0381166000908152600660205260408120549003610b725750565b6000610b7d8261075b565b90508015610c6a57600954610b929082610a2d565b60095560015460405163a9059cbb60e01b81526001600160a01b038481166004830152602482018490529091169063a9059cbb906044016020604051808303816000875af1158015610be8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c0c9190610fdf565b506001600160a01b03821660009081526005602090815260408083204290556006909152902060020154610c409082610a2d565b6001600160a01b038316600090815260066020526040902060028101919091555461073890610d83565b5050565b60038054610c7e90600190611001565b81548110610c8e57610c8e610ed7565b60009182526020808320909101546001600160a01b0384811684526004909252604090922054600380549290931692918110610ccc57610ccc610ed7565b600091825260208083209190910180546001600160a01b0319166001600160a01b03948516179055918316815260049182905260408120546003805491939291610d1890600190611001565b81548110610d2857610d28610ed7565b60009182526020808320909101546001600160a01b031683528201929092526040019020556003805480610d5e57610d5e611018565b600082815260209020810160001990810180546001600160a01b031916905501905550565b6000610848600b546105cc600a5485610a8c90919063ffffffff16565b60008184841115610dc45760405162461bcd60e51b81526004016108a9919061102e565b506000610dd18486611001565b95945050505050565b60008183610dfb5760405162461bcd60e51b81526004016108a9919061102e565b506000610dd18486610fbd565b6001600160a01b03811681146108bb57600080fd5b60008060408385031215610e3057600080fd5b8235610e3b81610e08565b946020939093013593505050565b600060208284031215610e5b57600080fd5b8135610a2681610e08565b60008060408385031215610e7957600080fd5b50508035926020909101359150565b600060208284031215610e9a57600080fd5b5035919050565b600060208284031215610eb357600080fd5b5051919050565b600060208284031215610ecc57600080fd5b8151610a2681610e08565b634e487b7160e01b600052603260045260246000fd5b600060808201868352602060808185015281875180845260a086019150828901935060005b81811015610f375784516001600160a01b031683529383019391830191600101610f12565b50506001600160a01b039690961660408501525050506060015292915050565b634e487b7160e01b600052601160045260246000fd5b60008219821115610f8057610f80610f57565b500190565b600060018201610f9757610f97610f57565b5060010190565b6000816000190483118215151615610fb857610fb8610f57565b500290565b600082610fda57634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215610ff157600080fd5b81518015158114610a2657600080fd5b60008282101561101357611013610f57565b500390565b634e487b7160e01b600052603160045260246000fd5b600060208083528351808285015260005b8181101561105b5785810183015185820160400152820161103f565b8181111561106d576000604083870101525b50601f01601f191692909201604001939250505056fea2646970667358221220a1ad4da10b7be6374b5991a2dfc98aeaf8cc8429c147f5f858c801b1b032e6f564736f6c634300080d0033
Deployed Bytecode
0x60806040526004361061010d5760003560e01c8063997664d711610095578063e6c0255111610064578063e6c02551146102df578063efca2eed146102ff578063f8fc9a1e14610315578063ffb2c47914610335578063ffd49c841461035557600080fd5b8063997664d714610254578063ce7c2ac21461026a578063d0e30db0146102c1578063e2d2e219146102c957600080fd5b80632ac306b0116100dc5780632ac306b0146101a05780632d48e896146101d85780633a98ef39146101f85780634fab0ae81461020e5780638c21cd521461022457600080fd5b806311ce023d1461012157806314b6ca961461014a57806326987b601461016a57806328fd31981461018057600080fd5b3661011c5761011a61036b565b005b600080fd5b34801561012d57600080fd5b50610137600b5481565b6040519081526020015b60405180910390f35b34801561015657600080fd5b5061011a610165366004610e1d565b6105e3565b34801561017657600080fd5b50610137600e5481565b34801561018c57600080fd5b5061013761019b366004610e49565b61075b565b3480156101ac57600080fd5b506001546101c0906001600160a01b031681565b6040516001600160a01b039091168152602001610141565b3480156101e457600080fd5b5061011a6101f3366004610e66565b6107e6565b34801561020457600080fd5b5061013760075481565b34801561021a57600080fd5b50610137600d5481565b34801561023057600080fd5b5061024461023f366004610e49565b610808565b6040519015158152602001610141565b34801561026057600080fd5b5061013760085481565b34801561027657600080fd5b506102a6610285366004610e49565b60066020526000908152604090208054600182015460029092015490919083565b60408051938452602084019290925290820152606001610141565b61011a61036b565b3480156102d557600080fd5b50610137600a5481565b3480156102eb57600080fd5b5061011a6102fa366004610e49565b61084e565b34801561030b57600080fd5b5061013760095481565b34801561032157600080fd5b5061011a610330366004610e49565b6108be565b34801561034157600080fd5b5061011a610350366004610e88565b6108f7565b34801561036157600080fd5b50610137600c5481565b6001546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa1580156103b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103d89190610ea1565b60408051600280825260608201835292935060009290916020830190803683375050600254604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c4648925060048083019260209291908290030181865afa158015610447573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061046b9190610eba565b8160008151811061047e5761047e610ed7565b6001600160a01b03928316602091820292909201015260018054835192169183919081106104ae576104ae610ed7565b6001600160a01b03928316602091820292909201015260025460405163b6f9de9560e01b815291169063b6f9de959034906104f490600090869030904290600401610eed565b6000604051808303818588803b15801561050d57600080fd5b505af1158015610521573d6000803e3d6000fd5b50506001546040516370a0823160e01b8152306004820152600094506105a193508692506001600160a01b03909116906370a0823190602401602060405180830381865afa158015610577573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059b9190610ea1565b906109e4565b6008549091506105b19082610a2d565b600855600754600b546105db916105d2916105cc9085610a8c565b90610b0e565b600a5490610a2d565b600a55505050565b6000546001600160a01b031633146105fa57600080fd5b6001600160a01b038216600090815260066020526040902054156106215761062182610b50565b60008111801561064757506001600160a01b038216600090815260066020526040902054155b156106ad57600380546001600160a01b0384166000818152600460205260408120839055600183018455929092527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0180546001600160a01b03191690911790556106e0565b801580156106d257506001600160a01b03821660009081526006602052604090205415155b156106e0576106e082610c6e565b6001600160a01b03821660009081526006602052604090205460075461071191839161070b916109e4565b90610a2d565b6007556001600160a01b038216600090815260066020526040902081905561073881610d83565b6001600160a01b0390921660009081526006602052604090206001019190915550565b6001600160a01b038116600090815260066020526040812054810361078257506000919050565b6001600160a01b0382166000908152600660205260408120546107a490610d83565b6001600160a01b0384166000908152600660205260409020600101549091508082116107d4575060009392505050565b6107de82826109e4565b949350505050565b6000546001600160a01b031633146107fd57600080fd5b600c91909155600d55565b600c546001600160a01b038216600090815260056020526040812054909142916108329190610f6d565b1080156108485750600d546108468361075b565b115b92915050565b6000546001600160a01b0316331461086557600080fd5b61086e33610808565b6108b25760405162461bcd60e51b815260206004820152601060248201526f427463206e6f7420726479207965742160801b60448201526064015b60405180910390fd5b6108bb33610b50565b50565b6000546001600160a01b031633146108d557600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6003546000819003610907575050565b60008060005a90505b848210801561091e57508383105b156109dd5783600e5410610932576000600e555b6109646003600e548154811061094a5761094a610ed7565b6000918252602090912001546001600160a01b0316610808565b1561099b5761099b6003600e548154811061098157610981610ed7565b6000918252602090912001546001600160a01b0316610b50565b6109b06109a95a83906109e4565b8390610a2d565b91505a600e805491925060006109c583610f85565b919050555082806109d590610f85565b935050610910565b5050505050565b6000610a2683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610da0565b9392505050565b600080610a3a8385610f6d565b905083811015610a265760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016108a9565b600082600003610a9e57506000610848565b6000610aaa8385610f9e565b905082610ab78583610fbd565b14610a265760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016108a9565b6000610a2683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610dda565b6001600160a01b0381166000908152600660205260408120549003610b725750565b6000610b7d8261075b565b90508015610c6a57600954610b929082610a2d565b60095560015460405163a9059cbb60e01b81526001600160a01b038481166004830152602482018490529091169063a9059cbb906044016020604051808303816000875af1158015610be8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c0c9190610fdf565b506001600160a01b03821660009081526005602090815260408083204290556006909152902060020154610c409082610a2d565b6001600160a01b038316600090815260066020526040902060028101919091555461073890610d83565b5050565b60038054610c7e90600190611001565b81548110610c8e57610c8e610ed7565b60009182526020808320909101546001600160a01b0384811684526004909252604090922054600380549290931692918110610ccc57610ccc610ed7565b600091825260208083209190910180546001600160a01b0319166001600160a01b03948516179055918316815260049182905260408120546003805491939291610d1890600190611001565b81548110610d2857610d28610ed7565b60009182526020808320909101546001600160a01b031683528201929092526040019020556003805480610d5e57610d5e611018565b600082815260209020810160001990810180546001600160a01b031916905501905550565b6000610848600b546105cc600a5485610a8c90919063ffffffff16565b60008184841115610dc45760405162461bcd60e51b81526004016108a9919061102e565b506000610dd18486611001565b95945050505050565b60008183610dfb5760405162461bcd60e51b81526004016108a9919061102e565b506000610dd18486610fbd565b6001600160a01b03811681146108bb57600080fd5b60008060408385031215610e3057600080fd5b8235610e3b81610e08565b946020939093013593505050565b600060208284031215610e5b57600080fd5b8135610a2681610e08565b60008060408385031215610e7957600080fd5b50508035926020909101359150565b600060208284031215610e9a57600080fd5b5035919050565b600060208284031215610eb357600080fd5b5051919050565b600060208284031215610ecc57600080fd5b8151610a2681610e08565b634e487b7160e01b600052603260045260246000fd5b600060808201868352602060808185015281875180845260a086019150828901935060005b81811015610f375784516001600160a01b031683529383019391830191600101610f12565b50506001600160a01b039690961660408501525050506060015292915050565b634e487b7160e01b600052601160045260246000fd5b60008219821115610f8057610f80610f57565b500190565b600060018201610f9757610f97610f57565b5060010190565b6000816000190483118215151615610fb857610fb8610f57565b500290565b600082610fda57634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215610ff157600080fd5b81518015158114610a2657600080fd5b60008282101561101357611013610f57565b500390565b634e487b7160e01b600052603160045260246000fd5b600060208083528351808285015260005b8181101561105b5785810183015185820160400152820161103f565b8181111561106d576000604083870101525b50601f01601f191692909201604001939250505056fea2646970667358221220a1ad4da10b7be6374b5991a2dfc98aeaf8cc8429c147f5f858c801b1b032e6f564736f6c634300080d0033
Deployed Bytecode Sourcemap
7304:5873:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8579:9;:7;:9::i;:::-;7304:5873;;;;;7910:57;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;7910:57:0;;;;;;;;8928:646;;;;;;;;;;-1:-1:-1;8928:646:0;;;;;:::i;:::-;;:::i;8085:27::-;;;;;;;;;;;;;;;;12046:479;;;;;;;;;;-1:-1:-1;12046:479:0;;;;;:::i;:::-;;:::i;7404:22::-;;;;;;;;;;-1:-1:-1;7404:22:0;;;;-1:-1:-1;;;;;7404:22:0;;;;;;-1:-1:-1;;;;;1068:32:1;;;1050:51;;1038:2;1023:18;7404:22:0;904:203:1;8719:201:0;;;;;;;;;;-1:-1:-1;8719:201:0;;;;;:::i;:::-;;:::i;7764:26::-;;;;;;;;;;;;;;;;8020:56;;;;;;;;;;;;;;;;11020:229;;;;;;;;;;-1:-1:-1;11020:229:0;;;;;:::i;:::-;;:::i;:::-;;;1530:14:1;;1523:22;1505:41;;1493:2;1478:18;11020:229:0;1365:187:1;7797:29:0;;;;;;;;;;;;;;;;7715:40;;;;;;;;;;-1:-1:-1;7715:40:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1759:25:1;;;1815:2;1800:18;;1793:34;;;;1843:18;;;1836:34;1747:2;1732:18;7715:40:0;1557:319:1;9582:701:0;;;:::i;7871:32::-;;;;;;;;;;;;;;;;11869:169;;;;;;;;;;-1:-1:-1;11869:169:0;;;;;:::i;:::-;;:::i;7833:31::-;;;;;;;;;;;;;;;;8604:107;;;;;;;;;;-1:-1:-1;8604:107:0;;;;;:::i;:::-;;:::i;10295:713::-;;;;;;;;;;-1:-1:-1;10295:713:0;;;;;:::i;:::-;;:::i;7976:37::-;;;;;;;;;;;;;;;;9582:701;9669:7;;9662:40;;-1:-1:-1;;;9662:40:0;;9696:4;9662:40;;;1050:51:1;9638:21:0;;-1:-1:-1;;;;;9669:7:0;;9662:25;;1023:18:1;;9662:40:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9739:16;;;9753:1;9739:16;;;;;;;;9638:64;;-1:-1:-1;9715:21:0;;9739:16;;;;;;;;;;-1:-1:-1;;9776:6:0;;:13;;;-1:-1:-1;;;9776:13:0;;;;9715:40;;-1:-1:-1;;;;;;9776:6:0;;;;:11;;-1:-1:-1;9776:13:0;;;;;;;;;;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9766:4;9771:1;9766:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;9766:23:0;;;:7;;;;;;;;;:23;9818:7;;;9800;;9818;;;9800:4;;9818:7;9800;;;;;;:::i;:::-;-1:-1:-1;;;;;9800:26:0;;;:7;;;;;;;;;:26;9839:6;;:179;;-1:-1:-1;;;9839:179:0;;:6;;;:57;;9904:9;;9839:179;;:6;;9945:4;;9972;;9992:15;;9839:179;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;10055:7:0;;10048:40;;-1:-1:-1;;;10048:40:0;;10082:4;10048:40;;;1050:51:1;10031:14:0;;-1:-1:-1;10048:59:0;;-1:-1:-1;10093:13:0;;-1:-1:-1;;;;;;10055:7:0;;;;10048:25;;1023:18:1;;10048:40:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:44;;:59::i;:::-;10135:14;;10031:76;;-1:-1:-1;10135:26:0;;10031:76;10135:18;:26::i;:::-;10118:14;:43;10262:11;;10214:31;;10192:83;;10214:60;;:43;;10250:6;10214:35;:43::i;:::-;:47;;:60::i;:::-;10192:17;;;:21;:83::i;:::-;10172:17;:103;-1:-1:-1;;;9582:701:0:o;8928:646::-;8313:6;;-1:-1:-1;;;;;8313:6:0;8299:10;:20;8291:29;;;;;;-1:-1:-1;;;;;9027:19:0;::::1;9056:1;9027:19:::0;;;:6:::1;:19;::::0;;;;:26;:30;9024:92:::1;;9073:31;9092:11;9073:18;:31::i;:::-;9140:1;9131:6;:10;:45;;;;-1:-1:-1::0;;;;;;9145:19:0;::::1;;::::0;;;:6:::1;:19;::::0;;;;:26;:31;9131:45:::1;9128:214;;;12810:12:::0;:19;;-1:-1:-1;;;;;12776:31:0;;;;;;:18;:31;;;;;:53;;;12840:30;;;;;;;;;;;;;-1:-1:-1;;;;;;12840:30:0;;;;;;9128:214:::1;;;9239:11:::0;;:45;::::1;;;-1:-1:-1::0;;;;;;9254:19:0;::::1;9283:1;9254:19:::0;;;:6:::1;:19;::::0;;;;:26;:30;;9239:45:::1;9236:106;;;9300:30;9318:11;9300:17;:30::i;:::-;-1:-1:-1::0;;;;;9384:19:0;::::1;;::::0;;;:6:::1;:19;::::0;;;;:26;9368:11:::1;::::0;:55:::1;::::0;9416:6;;9368:43:::1;::::0;:15:::1;:43::i;:::-;:47:::0;::::1;:55::i;:::-;9354:11;:69:::0;-1:-1:-1;;;;;9434:19:0;::::1;;::::0;;;:6:::1;:19;::::0;;;;:35;;;9516:50:::1;9463:6:::0;9516:22:::1;:50::i;:::-;-1:-1:-1::0;;;;;9480:19:0;;::::1;;::::0;;;:6:::1;:19;::::0;;;;:33:::1;;:86:::0;;;;-1:-1:-1;8928:646:0:o;12046:479::-;-1:-1:-1;;;;;12138:19:0;;12115:7;12138:19;;;:6;:19;;;;;:26;:31;;12135:48;;-1:-1:-1;12179:1:0;;12046:479;-1:-1:-1;12046:479:0:o;12135:48::-;-1:-1:-1;;;;;12254:19:0;;12195:33;12254:19;;;:6;:19;;;;;:26;12231:50;;:22;:50::i;:::-;-1:-1:-1;;;;;12327:19:0;;12292:32;12327:19;;;:6;:19;;;;;:33;;;12195:86;;-1:-1:-1;12376:53:0;;;12373:70;;-1:-1:-1;12439:1:0;;12046:479;-1:-1:-1;;;12046:479:0:o;12373:70::-;12462:55;:25;12492:24;12462:29;:55::i;:::-;12455:62;12046:479;-1:-1:-1;;;;12046:479:0:o;8719:201::-;8313:6;;-1:-1:-1;;;;;8313:6:0;8299:10;:20;8291:29;;;;;;8841:9:::1;:24:::0;;;;8876:15:::1;:36:::0;8719:201::o;11020:229::-;11145:9;;-1:-1:-1;;;;;11112:30:0;;11088:4;11112:30;;;:17;:30;;;;;;11088:4;;11157:15;;11112:42;;11145:9;11112:42;:::i;:::-;:60;:129;;;;;11226:15;;11193:30;11211:11;11193:17;:30::i;:::-;:48;11112:129;11105:136;11020:229;-1:-1:-1;;11020:229:0:o;11869:169::-;8313:6;;-1:-1:-1;;;;;8313:6:0;8299:10;:20;8291:29;;;;;;11940:28:::1;11957:10;11940:16;:28::i;:::-;11932:57;;;::::0;-1:-1:-1;;;11932:57:0;;4155:2:1;11932:57:0::1;::::0;::::1;4137:21:1::0;4194:2;4174:18;;;4167:30;-1:-1:-1;;;4213:18:1;;;4206:46;4269:18;;11932:57:0::1;;;;;;;;;12000:30;12019:10;12000:18;:30::i;:::-;11869:169:::0;:::o;8604:107::-;8313:6;;-1:-1:-1;;;;;8313:6:0;8299:10;:20;8291:29;;;;;;8683:7:::1;:20:::0;;-1:-1:-1;;;;;;8683:20:0::1;-1:-1:-1::0;;;;;8683:20:0;;;::::1;::::0;;;::::1;::::0;;8604:107::o;10295:713::-;10381:12;:19;10354:24;10416:21;;;10413:37;;10441:7;10295:713;:::o;10413:37::-;10462:18;10495:15;10525;10543:9;10525:27;;10565:436;10581:3;10571:7;:13;:46;;;;;10601:16;10588:10;:29;10571:46;10565:436;;;10655:16;10639:12;;:32;10636:57;;10689:1;10674:12;:16;10636:57;10712:44;10729:12;10742;;10729:26;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;10729:26:0;10712:16;:44::i;:::-;10709:129;;;10776:46;10795:12;10808;;10795:26;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;10795:26:0;10776:18;:46::i;:::-;10864:35;10876:22;10888:9;10876:7;;:11;:22::i;:::-;10864:7;;:11;:35::i;:::-;10854:45;;10924:9;10948:12;:14;;10914:19;;-1:-1:-1;10948:12:0;:14;;;:::i;:::-;;;;;;10977:12;;;;;:::i;:::-;;;;10565:436;;;10343:665;;;;10295:713;:::o;2916:136::-;2974:7;3001:43;3005:1;3008;3001:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2994:50;2916:136;-1:-1:-1;;;2916:136:0:o;2729:181::-;2787:7;;2819:5;2823:1;2819;:5;:::i;:::-;2807:17;;2848:1;2843;:6;;2835:46;;;;-1:-1:-1;;;2835:46:0;;4640:2:1;2835:46:0;;;4622:21:1;4679:2;4659:18;;;4652:30;4718:29;4698:18;;;4691:57;4765:18;;2835:46:0;4438:351:1;3256:250:0;3314:7;3338:1;3343;3338:6;3334:47;;-1:-1:-1;3368:1:0;3361:8;;3334:47;3393:9;3405:5;3409:1;3405;:5;:::i;:::-;3393:17;-1:-1:-1;3438:1:0;3429:5;3433:1;3393:17;3429:5;:::i;:::-;:10;3421:56;;;;-1:-1:-1;;;3421:56:0;;5391:2:1;3421:56:0;;;5373:21:1;5430:2;5410:18;;;5403:30;5469:34;5449:18;;;5442:62;-1:-1:-1;;;5520:18:1;;;5513:31;5561:19;;3421:56:0;5189:397:1;3512:132:0;3570:7;3597:39;3601:1;3604;3597:39;;;;;;;;;;;;;;;;;:3;:39::i;11257:600::-;-1:-1:-1;;;;;11329:19:0;;;;;;:6;:19;;;;;:26;:31;;11326:46;;11257:600;:::o;11326:46::-;11384:14;11401:30;11419:11;11401:17;:30::i;:::-;11384:47;-1:-1:-1;11445:10:0;;11442:408;;11490:16;;:28;;11511:6;11490:20;:28::i;:::-;11471:16;:47;11540:7;;11533:45;;-1:-1:-1;;;11533:45:0;;-1:-1:-1;;;;;5783:32:1;;;11533:45:0;;;5765:51:1;5832:18;;;5825:34;;;11540:7:0;;;;11533:24;;5738:18:1;;11533:45:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;11593:30:0;;;;;;:17;:30;;;;;;;;11626:15;11593:48;;11692:6;:19;;;;;:33;;;:45;;11730:6;11692:37;:45::i;:::-;-1:-1:-1;;;;;11656:19:0;;;;;;:6;:19;;;;;:33;;;:81;;;;11811:26;11788:50;;:22;:50::i;11442:408::-;11315:542;11257:600;:::o;12886:288::-;13002:12;13015:19;;:21;;13035:1;;13015:21;:::i;:::-;13002:35;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;12967:31:0;;;;;:18;:31;;;;;;;;12954:12;:45;;13002:35;;;;;12954:12;:45;;;;;;:::i;:::-;;;;;;;;;;;;;:83;;-1:-1:-1;;;;;;12954:83:0;-1:-1:-1;;;;;12954:83:0;;;;;;13106:31;;;;;:18;:31;;;;;;;;13067:12;13080:19;;13106:31;;:18;12954:45;13080:21;;-1:-1:-1;;13080:21:0;:::i;:::-;13067:35;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;13067:35:0;13048:55;;;;;;;;;;;;:89;13148:12;:18;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;13148:18:0;;;;;-1:-1:-1;;;;;;13148:18:0;;;;;;-1:-1:-1;12886:288:0:o;12533:170::-;12603:7;12630:65;12663:31;;12630:28;12640:17;;12630:5;:9;;:28;;;;:::i;3058:192::-;3144:7;3180:12;3172:6;;;;3164:29;;;;-1:-1:-1;;;3164:29:0;;;;;;;;:::i;:::-;-1:-1:-1;3204:9:0;3216:5;3220:1;3216;:5;:::i;:::-;3204:17;3058:192;-1:-1:-1;;;;;3058:192:0:o;3650:345::-;3736:7;3838:12;3831:5;3823:28;;;;-1:-1:-1;;;3823:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3862:9:0;3874:5;3878:1;3874;:5;:::i;196:131:1:-;-1:-1:-1;;;;;271:31:1;;261:42;;251:70;;317:1;314;307:12;332:315;400:6;408;461:2;449:9;440:7;436:23;432:32;429:52;;;477:1;474;467:12;429:52;516:9;503:23;535:31;560:5;535:31;:::i;:::-;585:5;637:2;622:18;;;;609:32;;-1:-1:-1;;;332:315:1:o;652:247::-;711:6;764:2;752:9;743:7;739:23;735:32;732:52;;;780:1;777;770:12;732:52;819:9;806:23;838:31;863:5;838:31;:::i;1112:248::-;1180:6;1188;1241:2;1229:9;1220:7;1216:23;1212:32;1209:52;;;1257:1;1254;1247:12;1209:52;-1:-1:-1;;1280:23:1;;;1350:2;1335:18;;;1322:32;;-1:-1:-1;1112:248:1:o;1881:180::-;1940:6;1993:2;1981:9;1972:7;1968:23;1964:32;1961:52;;;2009:1;2006;1999:12;1961:52;-1:-1:-1;2032:23:1;;1881:180;-1:-1:-1;1881:180:1:o;2066:184::-;2136:6;2189:2;2177:9;2168:7;2164:23;2160:32;2157:52;;;2205:1;2202;2195:12;2157:52;-1:-1:-1;2228:16:1;;2066:184;-1:-1:-1;2066:184:1:o;2387:251::-;2457:6;2510:2;2498:9;2489:7;2485:23;2481:32;2478:52;;;2526:1;2523;2516:12;2478:52;2558:9;2552:16;2577:31;2602:5;2577:31;:::i;2643:127::-;2704:10;2699:3;2695:20;2692:1;2685:31;2735:4;2732:1;2725:15;2759:4;2756:1;2749:15;2775:908;3009:4;3057:3;3046:9;3042:19;3088:6;3077:9;3070:25;3114:2;3152:3;3147:2;3136:9;3132:18;3125:31;3176:6;3211;3205:13;3242:6;3234;3227:22;3280:3;3269:9;3265:19;3258:26;;3319:2;3311:6;3307:15;3293:29;;3340:1;3350:195;3364:6;3361:1;3358:13;3350:195;;;3429:13;;-1:-1:-1;;;;;3425:39:1;3413:52;;3520:15;;;;3485:12;;;;3461:1;3379:9;3350:195;;;-1:-1:-1;;;;;;;3601:32:1;;;;3596:2;3581:18;;3574:60;-1:-1:-1;;;3665:2:1;3650:18;3643:34;3562:3;2775:908;-1:-1:-1;;2775:908:1:o;3688:127::-;3749:10;3744:3;3740:20;3737:1;3730:31;3780:4;3777:1;3770:15;3804:4;3801:1;3794:15;3820:128;3860:3;3891:1;3887:6;3884:1;3881:13;3878:39;;;3897:18;;:::i;:::-;-1:-1:-1;3933:9:1;;3820:128::o;4298:135::-;4337:3;4358:17;;;4355:43;;4378:18;;:::i;:::-;-1:-1:-1;4425:1:1;4414:13;;4298:135::o;4794:168::-;4834:7;4900:1;4896;4892:6;4888:14;4885:1;4882:21;4877:1;4870:9;4863:17;4859:45;4856:71;;;4907:18;;:::i;:::-;-1:-1:-1;4947:9:1;;4794:168::o;4967:217::-;5007:1;5033;5023:132;;5077:10;5072:3;5068:20;5065:1;5058:31;5112:4;5109:1;5102:15;5140:4;5137:1;5130:15;5023:132;-1:-1:-1;5169:9:1;;4967:217::o;5870:277::-;5937:6;5990:2;5978:9;5969:7;5965:23;5961:32;5958:52;;;6006:1;6003;5996:12;5958:52;6038:9;6032:16;6091:5;6084:13;6077:21;6070:5;6067:32;6057:60;;6113:1;6110;6103:12;6152:125;6192:4;6220:1;6217;6214:8;6211:34;;;6225:18;;:::i;:::-;-1:-1:-1;6262:9:1;;6152:125::o;6282:127::-;6343:10;6338:3;6334:20;6331:1;6324:31;6374:4;6371:1;6364:15;6398:4;6395:1;6388:15;6414:597;6526:4;6555:2;6584;6573:9;6566:21;6616:6;6610:13;6659:6;6654:2;6643:9;6639:18;6632:34;6684:1;6694:140;6708:6;6705:1;6702:13;6694:140;;;6803:14;;;6799:23;;6793:30;6769:17;;;6788:2;6765:26;6758:66;6723:10;;6694:140;;;6852:6;6849:1;6846:13;6843:91;;;6922:1;6917:2;6908:6;6897:9;6893:22;6889:31;6882:42;6843:91;-1:-1:-1;6995:2:1;6974:15;-1:-1:-1;;6970:29:1;6955:45;;;;7002:2;6951:54;;6414:597;-1:-1:-1;;;6414:597:1:o
Swarm Source
ipfs://a1ad4da10b7be6374b5991a2dfc98aeaf8cc8429c147f5f858c801b1b032e6f5
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | 100.00% | $96,719 | 0.0335 | $3,235.85 |
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.