Source Code
Overview
S Balance
More Info
ContractCreator
TokenTracker
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
DappToken
Compiler Version
v0.8.28+commit.7893614a
Optimization Enabled:
Yes with 1000 runs
Other Settings:
paris EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
pragma solidity 0.8.28; // SPDX-License-Identifier: Unlicensed contract DappToken { string public name = "Sonic Test Token"; string public symbol = "STT"; string public standard = "Sonic Test Token v1.0"; uint256 private _totalSupply; uint256 public decimals = 18; address public immutable owner; address public liquidityPool; // Distribution tracking uint256 public taxPool; uint256 public lastDistribution; uint256 public constant DISTRIBUTION_INTERVAL = 5 minutes; uint256 public reflectionFee = 5; // Default 5% fee // Reflection system uint256 private constant POINT_MULTIPLIER = 10 ** 18; uint256 private totalDividendPoints; uint256 private unclaimedDividends; uint256 private blackListAmount; // Add new variables for tax distribution uint256 private constant TAX_DENOMINATOR = 100; uint256 private lastTaxDistribution; struct Account { uint256 balance; uint256 lastDividendPoints; } // State variables mapping(address => Account) public accounts; mapping(address => mapping(address => uint256)) public allowance; mapping(address => bool) private _isExcluded; mapping(address => bool) private isBlackListed; // Native token distribution tracking uint256 private nativeTokenPool; // Holder tracking address[] private holders; mapping(address => bool) private isHolder; event Transfer(address indexed _from, address indexed _to, uint256 _value); event Approval(address indexed _owner, address indexed _spender, uint256 _value); event RewardsDistributed(uint256 amount); event LiquidityPoolSet(address indexed newPool); event BlacklistUpdated(address indexed user, bool isBlacklisted); event NativeTokensReceived(uint256 amount); event NativeTokensDistributed(address indexed holder, uint256 amount); modifier onlyOwner() { require(msg.sender == owner, "Only owner can call"); _; } modifier updateAccount(address account) { uint256 owing = dividendsOwing(account); if (owing > 0) { unclaimedDividends -= owing; accounts[account].balance += owing; } accounts[account].lastDividendPoints = totalDividendPoints; _; } constructor() { owner = msg.sender; _totalSupply = 1000000000000000; accounts[msg.sender].balance = _totalSupply; _isExcluded[msg.sender] = true; lastDistribution = block.timestamp; emit Transfer(address(0), msg.sender, _totalSupply); } function totalSupply() public view returns (uint256) { return _totalSupply; } function _transfer(address _from, address _to, uint256 _value) internal updateAccount(_from) updateAccount(_to) { // Determine transaction type bool isBuy = _from == liquidityPool; bool isSell = _to == liquidityPool; uint256 currentFee; // Apply 5% tax only on buy/sell transactions if (_isExcluded[_from]) { currentFee = 0; } else { currentFee = (isBuy || isSell) ? reflectionFee : 0; } uint256 rAmount = (_value * currentFee) / TAX_DENOMINATOR; uint256 amount = _value - rAmount; // Update balances accounts[_from].balance -= _value; accounts[_to].balance += amount; // Accumulate taxes and update dividend points if (rAmount > 0) { // Update dividend points when tax is collected uint256 totalCirculating = _totalSupply - blackListAmount; if (totalCirculating > 0) { totalDividendPoints += (rAmount * POINT_MULTIPLIER) / totalCirculating; unclaimedDividends += rAmount; } } // Update blacklist tracking if (isBlackListed[_from]) { blackListAmount -= _value; } if (isBlackListed[_to]) { blackListAmount += amount; } // Track holders for native token distribution if (accounts[_to].balance == 0 && amount > 0) { _addHolder(_to); } emit Transfer(_from, _to, amount); } // Add this new function to set liquidity pool address function setLiquidityPool(address _pool) external onlyOwner { require(_pool != address(0), "Invalid pool address"); liquidityPool = _pool; _isExcluded[_pool] = true; emit LiquidityPoolSet(_pool); } // Modified distribution function with time-based triggering function distributeRewards() external { require( block.timestamp >= lastDistribution + DISTRIBUTION_INTERVAL, "Must wait 5 minutes between distributions" ); require(unclaimedDividends > 0 || nativeTokenPool > 0, "No rewards to distribute"); // Distribute token rewards first if (unclaimedDividends > 0) { _distributeTaxedTokens(); } // Then distribute native tokens if (nativeTokenPool > 0) { distributeNativeTokens(); } lastDistribution = block.timestamp; } function _distributeTaxedTokens() private { uint256 totalCirculating = _totalSupply - blackListAmount; require(totalCirculating > 0, "No eligible holders"); for (uint256 i = 0; i < holders.length; i++) { address holder = holders[i]; if (!isBlackListed[holder] && !_isExcluded[holder]) { uint256 owing = dividendsOwing(holder); if (owing > 0) { accounts[holder].balance += owing; unclaimedDividends -= owing; emit RewardsDistributed(owing); } } } } function distributeNativeTokens() private { uint256 totalCirculating = _totalSupply - blackListAmount; require(totalCirculating > 0, "No eligible holders"); for (uint256 i = 0; i < holders.length; i++) { address holder = holders[i]; if (!isBlackListed[holder] && !_isExcluded[holder]) { uint256 share = (accounts[holder].balance * nativeTokenPool) / totalCirculating; if (share > 0) { (bool success, ) = holder.call{value: share}(""); require(success, "Native token transfer failed"); emit NativeTokensDistributed(holder, share); } } } nativeTokenPool = 0; } // Keep existing functions below (unchanged from original except for context) */ function transfer(address _to, uint256 _value) public returns (bool) { require(accounts[msg.sender].balance >= _value); _transfer(msg.sender, _to, _value); return true; } function approve(address _spender, uint256 _value) public returns (bool) { allowance[msg.sender][_spender] = _value; emit Approval(msg.sender, _spender, _value); return true; } function transferFrom(address _from, address _to, uint256 _value) public returns (bool) { require(_value <= accounts[_from].balance); require(_value <= allowance[_from][msg.sender]); allowance[_from][msg.sender] -= _value; _transfer(_from, _to, _value); return true; } function dividendsOwing(address account) internal view returns (uint256) { if (isBlackListed[account]) return 0; uint256 newDividendPoints = totalDividendPoints - accounts[account].lastDividendPoints; return (accounts[account].balance * newDividendPoints) / POINT_MULTIPLIER; } function balanceOf(address account) public view returns (uint256) { uint256 owing = dividendsOwing(account); return accounts[account].balance + owing; } function mint(address recipient, uint256 amount) public onlyOwner updateAccount(recipient) { accounts[recipient].balance += amount; _totalSupply += amount; } function blackList(address user) public onlyOwner updateAccount(user) { require(user != address(0), "Invalid address"); require(user != owner, "Cannot blacklist owner"); if (!isBlackListed[user]) { isBlackListed[user] = true; blackListAmount += accounts[user].balance; emit BlacklistUpdated(user, true); } } function unBlackList(address user) public onlyOwner updateAccount(user) { require(user != address(0), "Invalid address"); if (isBlackListed[user]) { isBlackListed[user] = false; blackListAmount -= accounts[user].balance; emit BlacklistUpdated(user, false); } } // Add function to update reflection fee function setReflectionFee(uint256 _fee) external onlyOwner { require(_fee <= 10, "Fee cannot exceed 10%"); reflectionFee = _fee; } function _addHolder(address account) private { if (!isHolder[account] && account != address(0) && account != liquidityPool) { holders.push(account); isHolder[account] = true; } } // Function to receive native tokens receive() external payable { nativeTokenPool += msg.value; emit NativeTokensReceived(msg.value); } }
{ "optimizer": { "enabled": true, "runs": 1000 }, "viaIR": true, "evmVersion": "paris", "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_owner","type":"address"},{"indexed":true,"internalType":"address","name":"_spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"bool","name":"isBlacklisted","type":"bool"}],"name":"BlacklistUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newPool","type":"address"}],"name":"LiquidityPoolSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"holder","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"NativeTokensDistributed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"NativeTokensReceived","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"RewardsDistributed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"},{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DISTRIBUTION_INTERVAL","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"accounts","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"lastDividendPoints","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"blackList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"distributeRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"lastDistribution","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityPool","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"reflectionFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_pool","type":"address"}],"name":"setLiquidityPool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_fee","type":"uint256"}],"name":"setReflectionFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"standard","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxPool","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"unBlackList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60a0604052346102375761001460005461023c565b601f81116101ee575b507f536f6e6963205465737420546f6b656e0000000000000000000000000000002060005560015461004e9061023c565b601f81116101a4575b5060066214d51560ea1b016001556002546100719061023c565b601f811161015a575b602a7f536f6e6963205465737420546f6b656e2076312e30000000000000000000000001600255601260045560056008553360805266038d7ea4c6800060035533600052600d60205266038d7ea4c6800060406000205533600052600f6020526040600020600160ff198254161790554260075560035460405190815260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60203393a36040516118fe90816102778239608051818181610177015281816102720152818161087701528181610dcd01528181610f5f015261158e0152f35b6002600052601f0160051c7f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace908101905b818110610198575061007a565b6000815560010161018b565b6001600052601f0160051c7fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6908101905b8181106101e25750610057565b600081556001016101d5565b60008052601f0160051c7f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563908101905b81811061022b575061001d565b6000815560010161021e565b600080fd5b90600182811c9216801561026c575b602083101461025657565b634e487b7160e01b600052602260045260246000fd5b91607f169161024b56fe60806040526004361015610054575b361561001957600080fd5b61002534601154611759565b6011557f5aec85729d47fe3d11135c009c0be2966cc78361a7305e758980843af6deeee06020604051348152a1005b60003560e01c8063018770201461156757806306fdde03146114c957806308b26b75146114ac578063095ea7b31461143057806318160ddd1461141257806323b872dd14611034578063313ce5671461101657806340c10f1914610f325780634838d16514610daa5780635a3b7e4214610ceb5780635e5c06e214610ca8578063665a11ca14610c815780636f4a2cd01461090457806370a08231146108b957806383ad79941461089b5780638da5cb5b1461085757806395d89b411461074c578063a717639c1461072e578063a9059cbb146103a3578063b12cbc7614610385578063d40b0dd41461024c578063dd62ed3e146101f45763e547be690361000e57346101ef5760203660031901126101ef5760043561019e6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163314611701565b600a81116101ab57600855005b606460405162461bcd60e51b815260206004820152601560248201527f4665652063616e6e6f74206578636565642031302500000000000000000000006044820152fd5b600080fd5b346101ef5760403660031901126101ef5761020d61166a565b6001600160a01b0361021d611680565b9116600052600e6020526001600160a01b03604060002091166000526020526020604060002054604051908152f35b346101ef5760203660031901126101ef5761026561166a565b6102996001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163314611701565b6102a2816117e4565b8061034c575b506001600160a01b0360095491169081600052600d6020526001604060002001556102d4811515611766565b80600052601060205260ff604060002054166102ec57005b806000526010602052604060002060ff19815416905580600052600d60205261031c604060002054600b5461174c565b600b557f6a12b3df6cba4203bd7fd06b816789f87de8c594299aed5717ae070fac781bac602060405160008152a2005b61035881600a5461174c565b600a556001600160a01b038216600052600d60205261037d6040600020918254611759565b9055816102a8565b346101ef5760003660031901126101ef576020600654604051908152f35b346101ef5760403660031901126101ef576103bc61166a565b60243533600052600d60205280604060002054106101ef576103dd336117e4565b806106fe575b5060095433600052600d602052600160406000200155610402826117e4565b806106c5575b506001600160a01b0360095492169182600052600d6020526001604060002001556001600160a01b03600554168033149033600052600f60205260ff60406000205416600014610695575050606461046260005b836117b1565b049061046e828261174c565b9133600052600d602052604060002061048883825461174c565b905583600052600d60205260406000206104a3848254611759565b90558015908115610617575b505033600052601060205260ff60406000205416610602575b5081600052601060205260ff604060002054166105ee575b81600052600d60205260406000205415806105e5575b610532575b6040519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60203392a3602060405160018152f35b81600052601360205260ff6040600020541615806105dc575b806105c7575b156104fb57601254680100000000000000008110156105b15780600161057a9201601255611897565b81549060031b906001600160a01b0385831b921b19161790558160005260136020526040600020600160ff198254161790556104fb565b634e487b7160e01b600052604160045260246000fd5b506001600160a01b0360055416821415610551565b5081151561054b565b508015156104f6565b6105fa81600b54611759565b600b556104e0565b61060e90600b5461174c565b600b55826104c8565b610626600354600b549061174c565b80610632575b506104af565b670de0b6b3a7640000820292828404670de0b6b3a764000014171561067f5761066161066991610674946117c4565b600954611759565b600955600a54611759565b600a5583808061062c565b634e487b7160e01b600052601160045260246000fd5b81156106bb575b50156106af57606461046260085461045c565b6064610462600061045c565b905082148361069c565b6106d181600a5461174c565b600a556001600160a01b038316600052600d6020526106f66040600020918254611759565b905582610408565b61070a81600a5461174c565b600a5533600052600d6020526107266040600020918254611759565b9055826103e3565b346101ef5760003660031901126101ef576020600754604051908152f35b346101ef5760003660031901126101ef5760006040519080600154908160011c9160018116801561084d575b6020841081146108395783865290811561081257506001146107b5575b6107b1846107a581860382611696565b604051918291826116b8565b0390f35b600181527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6939250905b8082106107f8575090915081016020016107a582610795565b9192600181602092548385880101520191019092916107df565b60ff191660208087019190915292151560051b850190920192506107a59150839050610795565b602483634e487b7160e01b81526022600452fd5b92607f1692610778565b346101ef5760003660031901126101ef5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b346101ef5760003660031901126101ef576020600854604051908152f35b346101ef5760203660031901126101ef5760206108fc6108d761166a565b6001600160a01b036108e8826117e4565b9116600052600d8352604060002054611759565b604051908152f35b346101ef5760003660031901126101ef5760075461012c810180911161067f574210610c1757600a541580158091610c0c575b15610bc857610ad1575b60115461094f575b42600755005b61095e600354600b549061174c565b61096981151561184c565b60005b601254811015610ac5576001600160a01b0361098782611897565b90549060031b1c169081600052601060205260ff604060002054161580610aac575b6109b8575b600191500161096c565b81600052600d6020526109dc836109d7604060002054601154906117b1565b6117c4565b91826109e9575b506109ae565b600080808086855af13d15610aa7573d67ffffffffffffffff81116105b15760405190610a20601f8201601f191660200183611696565b8152600060203d92013e5b15610a63577f705bc0644f50ea1f4567636fcdb718f809420db4e20c449b51734e8b55c964eb6020600194604051908152a2836109e3565b606460405162461bcd60e51b815260206004820152601c60248201527f4e617469766520746f6b656e207472616e73666572206661696c6564000000006044820152fd5b610a2b565b5081600052600f60205260ff60406000205416156109a9565b50506000601155610949565b610aea610ae3600354600b549061174c565b151561184c565b60005b601254811015610bc257806001600160a01b03610b0b600193611897565b90549060031b1c1680600052601060205260ff604060002054161580610ba9575b610b38575b5001610aed565b610b41816117e4565b9081610b4e575b50610b31565b7f6d1c76d614228b523baa4dcd9539e2c713b54ff4ab3ff2d1627e7f6cd32be44291602091600052600d82526040600020610b8a828254611759565b9055610b9881600a5461174c565b600a55604051908152a18280610b48565b5080600052600f60205260ff6040600020541615610b2c565b50610941565b606460405162461bcd60e51b815260206004820152601860248201527f4e6f207265776172647320746f206469737472696275746500000000000000006044820152fd5b506011541515610937565b608460405162461bcd60e51b815260206004820152602960248201527f4d75737420776169742035206d696e75746573206265747765656e206469737460448201527f7269627574696f6e7300000000000000000000000000000000000000000000006064820152fd5b346101ef5760003660031901126101ef5760206001600160a01b0360055416604051908152f35b346101ef5760203660031901126101ef576001600160a01b03610cc961166a565b16600052600d6020526040806000206001815491015482519182526020820152f35b346101ef5760003660031901126101ef5760006040519080600254908160011c91600181168015610da0575b602084108114610839578386529081156108125750600114610d43576107b1846107a581860382611696565b600281527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace939250905b808210610d86575090915081016020016107a582610795565b919260018160209254838588010152019101909291610d6d565b92607f1692610d17565b346101ef5760203660031901126101ef57610dc361166a565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016610df8813314611701565b610e01826117e4565b80610ef9575b506001600160a01b0360095492169182600052600d602052600160406000200155610e33821515611766565b8114610eb55780600052601060205260ff6040600020541615610e5257005b8060005260106020526040600020600160ff1982541617905580600052600d602052610e85604060002054600b54611759565b600b557f6a12b3df6cba4203bd7fd06b816789f87de8c594299aed5717ae070fac781bac602060405160018152a2005b606460405162461bcd60e51b815260206004820152601660248201527f43616e6e6f7420626c61636b6c697374206f776e6572000000000000000000006044820152fd5b610f0581600a5461174c565b600a556001600160a01b038316600052600d602052610f2a6040600020918254611759565b905582610e07565b346101ef5760403660031901126101ef57610fd8610f4e61166a565b60243590610f866001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163314611701565b610f8f816117e4565b80610fdd575b506001600160a01b0360095491169081600052600d602052600160406000200155600052600d6020526040600020610fce828254611759565b9055600354611759565b600355005b610fe981600a5461174c565b600a556001600160a01b038216600052600d60205261100e6040600020918254611759565b905583610f95565b346101ef5760003660031901126101ef576020600454604051908152f35b346101ef5760603660031901126101ef5761104d61166a565b611055611680565b906044356001600160a01b0382169182600052600d60205260406000205482116101ef5782600052600e60205260406000206001600160a01b03331660005260205260406000205482116101ef576110dc9083600052600e60205260406000206001600160a01b03331660005260205260406000206110d584825461174c565b90556117e4565b806113e2575b5060095482600052600d602052600160406000200155611101836117e4565b806113a9575b506001600160a01b0360095493169283600052600d6020526001604060002001556001600160a01b03600554168083149083600052600f60205260ff6040600020541660001461137957505060646111606000836117b1565b049061116c828261174c565b9183600052600d602052604060002061118683825461174c565b905584600052600d60205260406000206111a1848254611759565b90558015908115611324575b505082600052601060205260ff6040600020541661130f575b5082600052601060205260ff604060002054166112fb575b82600052600d60205260406000205415806112f2575b61122f575b60207fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91604051908152a3602060405160018152f35b82600052601360205260ff6040600020541615806112e9575b806112d4575b156111f957601254680100000000000000008110156105b1577fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9161129b82600160209401601255611897565b81549060031b906001600160a01b0388831b921b191617905584600052601382526040600020600160ff198254161790559150506111f9565b506001600160a01b036005541683141561124e565b50821515611248565b508015156111f4565b61130781600b54611759565b600b556111de565b61131b90600b5461174c565b600b55836111c6565b611333600354600b549061174c565b8061133f575b506111ad565b670de0b6b3a7640000820292828404670de0b6b3a764000014171561067f576106616106699161136e946117c4565b600a55848080611339565b811561139f575b501561139357606461116060085461045c565b6064611160600061045c565b9050831484611380565b6113b581600a5461174c565b600a556001600160a01b038416600052600d6020526113da6040600020918254611759565b905583611107565b6113ee81600a5461174c565b600a5582600052600d60205261140a6040600020918254611759565b9055836110e2565b346101ef5760003660031901126101ef576020600354604051908152f35b346101ef5760403660031901126101ef5761144961166a565b6001600160a01b036024359133600052600e60205260406000208282166000526020528260406000205560405192835216907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b346101ef5760003660031901126101ef57602060405161012c8152f35b346101ef5760003660031901126101ef5760405160008054600181811c9183918116801561155d575b60208410811461083957838652908115610812575060011461151e576107b1846107a581860382611696565b80805260208120939250905b808210611543575090915081016020016107a582610795565b91926001816020925483858801015201910190929161152a565b92607f16926114f2565b346101ef5760203660031901126101ef576001600160a01b0361158861166a565b6115b5827f0000000000000000000000000000000000000000000000000000000000000000163314611701565b16801561162657807fffffffffffffffffffffffff0000000000000000000000000000000000000000600554161760055580600052600f6020526040600020600160ff198254161790557fe57f71636571365571c0eaeaeb54e1d9e0065804f056a57a2a29448524f7d18a600080a2005b606460405162461bcd60e51b815260206004820152601460248201527f496e76616c696420706f6f6c20616464726573730000000000000000000000006044820152fd5b600435906001600160a01b03821682036101ef57565b602435906001600160a01b03821682036101ef57565b90601f8019910116810190811067ffffffffffffffff8211176105b157604052565b91909160208152825180602083015260005b8181106116eb575060409293506000838284010152601f8019910116010190565b80602080928701015160408286010152016116ca565b1561170857565b606460405162461bcd60e51b815260206004820152601360248201527f4f6e6c79206f776e65722063616e2063616c6c000000000000000000000000006044820152fd5b9190820391821161067f57565b9190820180921161067f57565b1561176d57565b606460405162461bcd60e51b815260206004820152600f60248201527f496e76616c6964206164647265737300000000000000000000000000000000006044820152fd5b8181029291811591840414171561067f57565b81156117ce570490565b634e487b7160e01b600052601260045260246000fd5b6001600160a01b031680600052601060205260ff6040600020541661184657611842670de0b6b3a76400009161182e60095482600052600d6020526001604060002001549061174c565b90600052600d6020526040600020546117b1565b0490565b50600090565b1561185357565b606460405162461bcd60e51b815260206004820152601360248201527f4e6f20656c696769626c6520686f6c64657273000000000000000000000000006044820152fd5b6012548110156118b257601260005260206000200190600090565b634e487b7160e01b600052603260045260246000fdfea2646970667358221220ad53d0a31ff673326ad573ee62bfd5a6a67b2252e416ba865ac0edb1d2d4813b64736f6c634300081c0033
Deployed Bytecode
0x60806040526004361015610054575b361561001957600080fd5b61002534601154611759565b6011557f5aec85729d47fe3d11135c009c0be2966cc78361a7305e758980843af6deeee06020604051348152a1005b60003560e01c8063018770201461156757806306fdde03146114c957806308b26b75146114ac578063095ea7b31461143057806318160ddd1461141257806323b872dd14611034578063313ce5671461101657806340c10f1914610f325780634838d16514610daa5780635a3b7e4214610ceb5780635e5c06e214610ca8578063665a11ca14610c815780636f4a2cd01461090457806370a08231146108b957806383ad79941461089b5780638da5cb5b1461085757806395d89b411461074c578063a717639c1461072e578063a9059cbb146103a3578063b12cbc7614610385578063d40b0dd41461024c578063dd62ed3e146101f45763e547be690361000e57346101ef5760203660031901126101ef5760043561019e6001600160a01b037f00000000000000000000000007bde47a1bceb4932bb9fe295a639f000a255bde163314611701565b600a81116101ab57600855005b606460405162461bcd60e51b815260206004820152601560248201527f4665652063616e6e6f74206578636565642031302500000000000000000000006044820152fd5b600080fd5b346101ef5760403660031901126101ef5761020d61166a565b6001600160a01b0361021d611680565b9116600052600e6020526001600160a01b03604060002091166000526020526020604060002054604051908152f35b346101ef5760203660031901126101ef5761026561166a565b6102996001600160a01b037f00000000000000000000000007bde47a1bceb4932bb9fe295a639f000a255bde163314611701565b6102a2816117e4565b8061034c575b506001600160a01b0360095491169081600052600d6020526001604060002001556102d4811515611766565b80600052601060205260ff604060002054166102ec57005b806000526010602052604060002060ff19815416905580600052600d60205261031c604060002054600b5461174c565b600b557f6a12b3df6cba4203bd7fd06b816789f87de8c594299aed5717ae070fac781bac602060405160008152a2005b61035881600a5461174c565b600a556001600160a01b038216600052600d60205261037d6040600020918254611759565b9055816102a8565b346101ef5760003660031901126101ef576020600654604051908152f35b346101ef5760403660031901126101ef576103bc61166a565b60243533600052600d60205280604060002054106101ef576103dd336117e4565b806106fe575b5060095433600052600d602052600160406000200155610402826117e4565b806106c5575b506001600160a01b0360095492169182600052600d6020526001604060002001556001600160a01b03600554168033149033600052600f60205260ff60406000205416600014610695575050606461046260005b836117b1565b049061046e828261174c565b9133600052600d602052604060002061048883825461174c565b905583600052600d60205260406000206104a3848254611759565b90558015908115610617575b505033600052601060205260ff60406000205416610602575b5081600052601060205260ff604060002054166105ee575b81600052600d60205260406000205415806105e5575b610532575b6040519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60203392a3602060405160018152f35b81600052601360205260ff6040600020541615806105dc575b806105c7575b156104fb57601254680100000000000000008110156105b15780600161057a9201601255611897565b81549060031b906001600160a01b0385831b921b19161790558160005260136020526040600020600160ff198254161790556104fb565b634e487b7160e01b600052604160045260246000fd5b506001600160a01b0360055416821415610551565b5081151561054b565b508015156104f6565b6105fa81600b54611759565b600b556104e0565b61060e90600b5461174c565b600b55826104c8565b610626600354600b549061174c565b80610632575b506104af565b670de0b6b3a7640000820292828404670de0b6b3a764000014171561067f5761066161066991610674946117c4565b600954611759565b600955600a54611759565b600a5583808061062c565b634e487b7160e01b600052601160045260246000fd5b81156106bb575b50156106af57606461046260085461045c565b6064610462600061045c565b905082148361069c565b6106d181600a5461174c565b600a556001600160a01b038316600052600d6020526106f66040600020918254611759565b905582610408565b61070a81600a5461174c565b600a5533600052600d6020526107266040600020918254611759565b9055826103e3565b346101ef5760003660031901126101ef576020600754604051908152f35b346101ef5760003660031901126101ef5760006040519080600154908160011c9160018116801561084d575b6020841081146108395783865290811561081257506001146107b5575b6107b1846107a581860382611696565b604051918291826116b8565b0390f35b600181527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6939250905b8082106107f8575090915081016020016107a582610795565b9192600181602092548385880101520191019092916107df565b60ff191660208087019190915292151560051b850190920192506107a59150839050610795565b602483634e487b7160e01b81526022600452fd5b92607f1692610778565b346101ef5760003660031901126101ef5760206040516001600160a01b037f00000000000000000000000007bde47a1bceb4932bb9fe295a639f000a255bde168152f35b346101ef5760003660031901126101ef576020600854604051908152f35b346101ef5760203660031901126101ef5760206108fc6108d761166a565b6001600160a01b036108e8826117e4565b9116600052600d8352604060002054611759565b604051908152f35b346101ef5760003660031901126101ef5760075461012c810180911161067f574210610c1757600a541580158091610c0c575b15610bc857610ad1575b60115461094f575b42600755005b61095e600354600b549061174c565b61096981151561184c565b60005b601254811015610ac5576001600160a01b0361098782611897565b90549060031b1c169081600052601060205260ff604060002054161580610aac575b6109b8575b600191500161096c565b81600052600d6020526109dc836109d7604060002054601154906117b1565b6117c4565b91826109e9575b506109ae565b600080808086855af13d15610aa7573d67ffffffffffffffff81116105b15760405190610a20601f8201601f191660200183611696565b8152600060203d92013e5b15610a63577f705bc0644f50ea1f4567636fcdb718f809420db4e20c449b51734e8b55c964eb6020600194604051908152a2836109e3565b606460405162461bcd60e51b815260206004820152601c60248201527f4e617469766520746f6b656e207472616e73666572206661696c6564000000006044820152fd5b610a2b565b5081600052600f60205260ff60406000205416156109a9565b50506000601155610949565b610aea610ae3600354600b549061174c565b151561184c565b60005b601254811015610bc257806001600160a01b03610b0b600193611897565b90549060031b1c1680600052601060205260ff604060002054161580610ba9575b610b38575b5001610aed565b610b41816117e4565b9081610b4e575b50610b31565b7f6d1c76d614228b523baa4dcd9539e2c713b54ff4ab3ff2d1627e7f6cd32be44291602091600052600d82526040600020610b8a828254611759565b9055610b9881600a5461174c565b600a55604051908152a18280610b48565b5080600052600f60205260ff6040600020541615610b2c565b50610941565b606460405162461bcd60e51b815260206004820152601860248201527f4e6f207265776172647320746f206469737472696275746500000000000000006044820152fd5b506011541515610937565b608460405162461bcd60e51b815260206004820152602960248201527f4d75737420776169742035206d696e75746573206265747765656e206469737460448201527f7269627574696f6e7300000000000000000000000000000000000000000000006064820152fd5b346101ef5760003660031901126101ef5760206001600160a01b0360055416604051908152f35b346101ef5760203660031901126101ef576001600160a01b03610cc961166a565b16600052600d6020526040806000206001815491015482519182526020820152f35b346101ef5760003660031901126101ef5760006040519080600254908160011c91600181168015610da0575b602084108114610839578386529081156108125750600114610d43576107b1846107a581860382611696565b600281527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace939250905b808210610d86575090915081016020016107a582610795565b919260018160209254838588010152019101909291610d6d565b92607f1692610d17565b346101ef5760203660031901126101ef57610dc361166a565b6001600160a01b037f00000000000000000000000007bde47a1bceb4932bb9fe295a639f000a255bde16610df8813314611701565b610e01826117e4565b80610ef9575b506001600160a01b0360095492169182600052600d602052600160406000200155610e33821515611766565b8114610eb55780600052601060205260ff6040600020541615610e5257005b8060005260106020526040600020600160ff1982541617905580600052600d602052610e85604060002054600b54611759565b600b557f6a12b3df6cba4203bd7fd06b816789f87de8c594299aed5717ae070fac781bac602060405160018152a2005b606460405162461bcd60e51b815260206004820152601660248201527f43616e6e6f7420626c61636b6c697374206f776e6572000000000000000000006044820152fd5b610f0581600a5461174c565b600a556001600160a01b038316600052600d602052610f2a6040600020918254611759565b905582610e07565b346101ef5760403660031901126101ef57610fd8610f4e61166a565b60243590610f866001600160a01b037f00000000000000000000000007bde47a1bceb4932bb9fe295a639f000a255bde163314611701565b610f8f816117e4565b80610fdd575b506001600160a01b0360095491169081600052600d602052600160406000200155600052600d6020526040600020610fce828254611759565b9055600354611759565b600355005b610fe981600a5461174c565b600a556001600160a01b038216600052600d60205261100e6040600020918254611759565b905583610f95565b346101ef5760003660031901126101ef576020600454604051908152f35b346101ef5760603660031901126101ef5761104d61166a565b611055611680565b906044356001600160a01b0382169182600052600d60205260406000205482116101ef5782600052600e60205260406000206001600160a01b03331660005260205260406000205482116101ef576110dc9083600052600e60205260406000206001600160a01b03331660005260205260406000206110d584825461174c565b90556117e4565b806113e2575b5060095482600052600d602052600160406000200155611101836117e4565b806113a9575b506001600160a01b0360095493169283600052600d6020526001604060002001556001600160a01b03600554168083149083600052600f60205260ff6040600020541660001461137957505060646111606000836117b1565b049061116c828261174c565b9183600052600d602052604060002061118683825461174c565b905584600052600d60205260406000206111a1848254611759565b90558015908115611324575b505082600052601060205260ff6040600020541661130f575b5082600052601060205260ff604060002054166112fb575b82600052600d60205260406000205415806112f2575b61122f575b60207fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91604051908152a3602060405160018152f35b82600052601360205260ff6040600020541615806112e9575b806112d4575b156111f957601254680100000000000000008110156105b1577fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9161129b82600160209401601255611897565b81549060031b906001600160a01b0388831b921b191617905584600052601382526040600020600160ff198254161790559150506111f9565b506001600160a01b036005541683141561124e565b50821515611248565b508015156111f4565b61130781600b54611759565b600b556111de565b61131b90600b5461174c565b600b55836111c6565b611333600354600b549061174c565b8061133f575b506111ad565b670de0b6b3a7640000820292828404670de0b6b3a764000014171561067f576106616106699161136e946117c4565b600a55848080611339565b811561139f575b501561139357606461116060085461045c565b6064611160600061045c565b9050831484611380565b6113b581600a5461174c565b600a556001600160a01b038416600052600d6020526113da6040600020918254611759565b905583611107565b6113ee81600a5461174c565b600a5582600052600d60205261140a6040600020918254611759565b9055836110e2565b346101ef5760003660031901126101ef576020600354604051908152f35b346101ef5760403660031901126101ef5761144961166a565b6001600160a01b036024359133600052600e60205260406000208282166000526020528260406000205560405192835216907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b346101ef5760003660031901126101ef57602060405161012c8152f35b346101ef5760003660031901126101ef5760405160008054600181811c9183918116801561155d575b60208410811461083957838652908115610812575060011461151e576107b1846107a581860382611696565b80805260208120939250905b808210611543575090915081016020016107a582610795565b91926001816020925483858801015201910190929161152a565b92607f16926114f2565b346101ef5760203660031901126101ef576001600160a01b0361158861166a565b6115b5827f00000000000000000000000007bde47a1bceb4932bb9fe295a639f000a255bde163314611701565b16801561162657807fffffffffffffffffffffffff0000000000000000000000000000000000000000600554161760055580600052600f6020526040600020600160ff198254161790557fe57f71636571365571c0eaeaeb54e1d9e0065804f056a57a2a29448524f7d18a600080a2005b606460405162461bcd60e51b815260206004820152601460248201527f496e76616c696420706f6f6c20616464726573730000000000000000000000006044820152fd5b600435906001600160a01b03821682036101ef57565b602435906001600160a01b03821682036101ef57565b90601f8019910116810190811067ffffffffffffffff8211176105b157604052565b91909160208152825180602083015260005b8181106116eb575060409293506000838284010152601f8019910116010190565b80602080928701015160408286010152016116ca565b1561170857565b606460405162461bcd60e51b815260206004820152601360248201527f4f6e6c79206f776e65722063616e2063616c6c000000000000000000000000006044820152fd5b9190820391821161067f57565b9190820180921161067f57565b1561176d57565b606460405162461bcd60e51b815260206004820152600f60248201527f496e76616c6964206164647265737300000000000000000000000000000000006044820152fd5b8181029291811591840414171561067f57565b81156117ce570490565b634e487b7160e01b600052601260045260246000fd5b6001600160a01b031680600052601060205260ff6040600020541661184657611842670de0b6b3a76400009161182e60095482600052600d6020526001604060002001549061174c565b90600052600d6020526040600020546117b1565b0490565b50600090565b1561185357565b606460405162461bcd60e51b815260206004820152601360248201527f4e6f20656c696769626c6520686f6c64657273000000000000000000000000006044820152fd5b6012548110156118b257601260005260206000200190600090565b634e487b7160e01b600052603260045260246000fdfea2646970667358221220ad53d0a31ff673326ad573ee62bfd5a6a67b2252e416ba865ac0edb1d2d4813b64736f6c634300081c0033
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 31 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.