More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 4,478 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Claim | 17878904 | 502 days ago | IN | 0 ETH | 0.00101777 | ||||
Nominate New Own... | 14125601 | 1055 days ago | IN | 0 ETH | 0.00206408 | ||||
Set Paused | 14125599 | 1055 days ago | IN | 0 ETH | 0.00272616 | ||||
Claim | 14119620 | 1056 days ago | IN | 0 ETH | 0.0057571 | ||||
Claim | 14112532 | 1057 days ago | IN | 0 ETH | 0.0044585 | ||||
Claim | 14110826 | 1058 days ago | IN | 0 ETH | 0.00793932 | ||||
Claim | 14109943 | 1058 days ago | IN | 0 ETH | 0.0062174 | ||||
Claim | 14107166 | 1058 days ago | IN | 0 ETH | 0.00449541 | ||||
Claim | 14105770 | 1058 days ago | IN | 0 ETH | 0.00436221 | ||||
Claim | 14105617 | 1058 days ago | IN | 0 ETH | 0.00610694 | ||||
Claim | 14105394 | 1058 days ago | IN | 0 ETH | 0.00688871 | ||||
Claim | 14105331 | 1058 days ago | IN | 0 ETH | 0.00608227 | ||||
Claim | 14104718 | 1059 days ago | IN | 0 ETH | 0.0056576 | ||||
Claim | 14103189 | 1059 days ago | IN | 0 ETH | 0.01177697 | ||||
Claim | 14100230 | 1059 days ago | IN | 0 ETH | 0.00689537 | ||||
Claim | 14100043 | 1059 days ago | IN | 0 ETH | 0.00521362 | ||||
Claim | 14095406 | 1060 days ago | IN | 0 ETH | 0.01467232 | ||||
Claim | 14085963 | 1061 days ago | IN | 0 ETH | 0.00768589 | ||||
Claim | 14084825 | 1062 days ago | IN | 0 ETH | 0.00674075 | ||||
Claim | 14079497 | 1062 days ago | IN | 0 ETH | 0.00742451 | ||||
Claim | 14075754 | 1063 days ago | IN | 0 ETH | 0.00663518 | ||||
Claim | 14074531 | 1063 days ago | IN | 0 ETH | 0.00595245 | ||||
Claim | 14074517 | 1063 days ago | IN | 0 ETH | 0.00626634 | ||||
Claim | 14067413 | 1064 days ago | IN | 0 ETH | 0.00594594 | ||||
Claim | 14067345 | 1064 days ago | IN | 0 ETH | 0.00516834 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
Airdrop
Compiler Version
v0.5.16+commit.9c3226ce
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
pragma solidity ^0.5.16; import "openzeppelin-solidity-2.3.0/contracts/token/ERC20/IERC20.sol"; import "synthetix-2.43.1/contracts/Owned.sol"; import "openzeppelin-solidity-2.3.0/contracts/cryptography/MerkleProof.sol"; import "synthetix-2.43.1/contracts/Pausable.sol"; /** * Contract which implements a merkle airdrop for a given token * Based on an account balance snapshot stored in a merkle tree */ contract Airdrop is Owned, Pausable { IERC20 public token; bytes32 public root; // merkle tree root uint256 public startTime; mapping(uint256 => uint256) public _claimed; constructor( address _owner, IERC20 _token, bytes32 _root ) public Owned(_owner) Pausable() { token = _token; root = _root; startTime = block.timestamp; } // Check if a given reward has already been claimed function claimed(uint256 index) public view returns (uint256 claimedBlock, uint256 claimedMask) { claimedBlock = _claimed[index / 256]; claimedMask = (uint256(1) << uint256(index % 256)); require((claimedBlock & claimedMask) == 0, "Tokens have already been claimed"); } // helper for the dapp function canClaim(uint256 index) external view returns (bool) { uint256 claimedBlock = _claimed[index / 256]; uint256 claimedMask = (uint256(1) << uint256(index % 256)); return ((claimedBlock & claimedMask) == 0); } // Get airdrop tokens assigned to address // Requires sending merkle proof to the function function claim( uint256 index, uint256 amount, bytes32[] memory merkleProof ) public notPaused { require(token.balanceOf(address(this)) > amount, "Contract doesnt have enough tokens"); // Make sure the tokens have not already been redeemed (uint256 claimedBlock, uint256 claimedMask) = claimed(index); _claimed[index / 256] = claimedBlock | claimedMask; // Compute the merkle leaf from index, recipient and amount bytes32 leaf = keccak256(abi.encodePacked(index, msg.sender, amount)); // verify the proof is valid require(MerkleProof.verify(merkleProof, root, leaf), "Proof is not valid"); // Redeem! token.transfer(msg.sender, amount); emit Claim(msg.sender, amount, block.timestamp); } function _selfDestruct(address payable beneficiary) external onlyOwner { //only callable a year after end time require(block.timestamp > (startTime + 365 days), "Contract can only be selfdestruct after a year"); token.transfer(beneficiary, token.balanceOf(address(this))); selfdestruct(beneficiary); } event Claim(address claimer, uint256 amount, uint timestamp); }
pragma solidity ^0.5.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. Does not include * the optional functions; to access them see `ERC20Detailed`. */ interface IERC20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a `Transfer` event. */ function transfer(address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through `transferFrom`. This is * zero by default. * * This value changes when `approve` or `transferFrom` are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * > Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an `Approval` event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a `Transfer` event. */ function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to `approve`. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); }
pragma solidity ^0.5.16; // https://docs.synthetix.io/contracts/source/contracts/owned contract Owned { address public owner; address public nominatedOwner; constructor(address _owner) public { require(_owner != address(0), "Owner address cannot be 0"); owner = _owner; emit OwnerChanged(address(0), _owner); } function nominateNewOwner(address _owner) external onlyOwner { nominatedOwner = _owner; emit OwnerNominated(_owner); } function acceptOwnership() external { require(msg.sender == nominatedOwner, "You must be nominated before you can accept ownership"); emit OwnerChanged(owner, nominatedOwner); owner = nominatedOwner; nominatedOwner = address(0); } modifier onlyOwner { _onlyOwner(); _; } function _onlyOwner() private view { require(msg.sender == owner, "Only the contract owner may perform this action"); } event OwnerNominated(address newOwner); event OwnerChanged(address oldOwner, address newOwner); }
pragma solidity ^0.5.0; /** * @dev These functions deal with verification of Merkle trees (hash trees), */ library MerkleProof { /** * @dev Returns true if a `leaf` can be proved to be a part of a Merkle tree * defined by `root`. For this, a `proof` must be provided, containing * sibling hashes on the branch from the leaf to the root of the tree. Each * pair of leaves and each pair of pre-images are assumed to be sorted. */ function verify(bytes32[] memory proof, bytes32 root, bytes32 leaf) internal pure returns (bool) { bytes32 computedHash = leaf; for (uint256 i = 0; i < proof.length; i++) { bytes32 proofElement = proof[i]; if (computedHash < proofElement) { // Hash(current computed hash + current element of the proof) computedHash = keccak256(abi.encodePacked(computedHash, proofElement)); } else { // Hash(current element of the proof + current computed hash) computedHash = keccak256(abi.encodePacked(proofElement, computedHash)); } } // Check if the computed hash (root) is equal to the provided root return computedHash == root; } }
pragma solidity ^0.5.16; // Inheritance import "./Owned.sol"; // https://docs.synthetix.io/contracts/source/contracts/pausable contract Pausable is Owned { uint public lastPauseTime; bool public paused; constructor() internal { // This contract is abstract, and thus cannot be instantiated directly require(owner != address(0), "Owner must be set"); // Paused will be false, and lastPauseTime will be 0 upon initialisation } /** * @notice Change the paused state of the contract * @dev Only the contract owner may call this. */ function setPaused(bool _paused) external onlyOwner { // Ensure we're actually changing the state before we do anything if (_paused == paused) { return; } // Set our paused state. paused = _paused; // If applicable, set the last pause time. if (paused) { lastPauseTime = now; } // Let everyone know that our pause state has changed. emit PauseChanged(paused); } event PauseChanged(bool isPaused); modifier notPaused { require(!paused, "This action cannot be performed while the contract is paused"); _; } }
{ "optimizer": { "enabled": true, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"contract IERC20","name":"_token","type":"address"},{"internalType":"bytes32","name":"_root","type":"bytes32"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"claimer","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"Claim","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"isPaused","type":"bool"}],"name":"PauseChanged","type":"event"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"_claimed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address payable","name":"beneficiary","type":"address"}],"name":"_selfDestruct","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"canClaim","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes32[]","name":"merkleProof","type":"bytes32[]"}],"name":"claim","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"claimed","outputs":[{"internalType":"uint256","name":"claimedBlock","type":"uint256"},{"internalType":"uint256","name":"claimedMask","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lastPauseTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"root","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"bool","name":"_paused","type":"bool"}],"name":"setPaused","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"startTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"token","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b50604051610d0f380380610d0f8339818101604052606081101561003357600080fd5b5080516020820151604090920151909190826001600160a01b0381166100a0576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b031661014a576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600380546001600160a01b0390931661010002610100600160a81b0319909316929092179091556004555042600555610b87806101886000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806391b4ded911610097578063dbe7e3bd11610066578063dbe7e3bd146102a5578063ebf0c717146102db578063f4ddedcf146102e3578063fc0c546a14610300576100f5565b806391b4ded9146101ab5780639ea6ec29146101b3578063ae0b51df146101d9578063c95c0d8914610288576100f5565b80635c975abb116100d35780635c975abb1461016557806378e979251461018157806379ba50971461019b5780638da5cb5b146101a3576100f5565b80631627540c146100fa57806316c38b3c1461012257806353a47bb714610141575b600080fd5b6101206004803603602081101561011057600080fd5b50356001600160a01b0316610308565b005b6101206004803603602081101561013857600080fd5b50351515610364565b6101496103de565b604080516001600160a01b039092168252519081900360200190f35b61016d6103ed565b604080519115158252519081900360200190f35b6101896103f6565b60408051918252519081900360200190f35b6101206103fc565b6101496104b8565b6101896104c7565b610120600480360360208110156101c957600080fd5b50356001600160a01b03166104cd565b610120600480360360608110156101ef57600080fd5b81359160208101359181019060608101604082013564010000000081111561021657600080fd5b82018360208201111561022857600080fd5b8035906020019184602083028401116401000000008311171561024a57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610626945050505050565b61016d6004803603602081101561029e57600080fd5b50356108a8565b6102c2600480360360208110156102bb57600080fd5b50356108cc565b6040805192835260208301919091528051918290030190f35b610189610941565b610189600480360360208110156102f957600080fd5b5035610947565b610149610959565b61031061096d565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b61036c61096d565b60035460ff1615158115151415610382576103db565b6003805460ff1916821515179081905560ff161561039f57426002555b6003546040805160ff90921615158252517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec59181900360200190a15b50565b6001546001600160a01b031681565b60035460ff1681565b60055481565b6001546001600160a01b031633146104455760405162461bcd60e51b8152600401808060200182810382526035815260200180610a636035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b60025481565b6104d561096d565b6005546301e1338001421161051b5760405162461bcd60e51b815260040180806020018281038252602e815260200180610a98602e913960400191505060405180910390fd5b600354604080516370a0823160e01b815230600482015290516101009092046001600160a01b03169163a9059cbb91849184916370a08231916024808301926020929190829003018186803b15801561057357600080fd5b505afa158015610587573d6000803e3d6000fd5b505050506040513d602081101561059d57600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b03909316600484015260248301919091525160448083019260209291908290030181600087803b1580156105ee57600080fd5b505af1158015610602573d6000803e3d6000fd5b505050506040513d602081101561061857600080fd5b50506001600160a01b038116ff5b60035460ff16156106685760405162461bcd60e51b815260040180806020018281038252603c815260200180610b17603c913960400191505060405180910390fd5b600354604080516370a0823160e01b81523060048201529051849261010090046001600160a01b0316916370a08231916024808301926020929190829003018186803b1580156106b757600080fd5b505afa1580156106cb573d6000803e3d6000fd5b505050506040513d60208110156106e157600080fd5b50511161071f5760405162461bcd60e51b8152600401808060200182810382526022815260200180610ac66022913960400191505060405180910390fd5b60008061072b856108cc565b9150915080821760066000610100888161074157fe5b04815260208082019290925260409081016000209290925581518082018890523360601b8184015260548082018890528351808303909101815260749091019092528151910120600454610797908590836109b8565b6107dd576040805162461bcd60e51b8152602060048201526012602482015271141c9bdbd9881a5cc81b9bdd081d985b1a5960721b604482015290519081900360640190fd5b6003546040805163a9059cbb60e01b81523360048201526024810188905290516101009092046001600160a01b03169163a9059cbb916044808201926020929091908290030181600087803b15801561083557600080fd5b505af1158015610849573d6000803e3d6000fd5b505050506040513d602081101561085f57600080fd5b50506040805133815260208101879052428183015290517f34fcbac0073d7c3d388e51312faf357774904998eeb8fca628b9e6f65ee1cbf79181900360600190a1505050505050565b6101008104600090815260066020526040902054600160ff9092169190911b161590565b6101008104600090815260066020526040902054600160ff83161b8082161561093c576040805162461bcd60e51b815260206004820181905260248201527f546f6b656e73206861766520616c7265616479206265656e20636c61696d6564604482015290519081900360640190fd5b915091565b60045481565b60066020526000908152604090205481565b60035461010090046001600160a01b031681565b6000546001600160a01b031633146109b65760405162461bcd60e51b815260040180806020018281038252602f815260200180610ae8602f913960400191505060405180910390fd5b565b600081815b8551811015610a575760008682815181106109d457fe5b6020026020010151905080831015610a1c5782816040516020018083815260200182815260200192505050604051602081830303815290604052805190602001209250610a4e565b808360405160200180838152602001828152602001925050506040516020818303038152906040528051906020012092505b506001016109bd565b50909214939250505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e657273686970436f6e74726163742063616e206f6e6c792062652073656c66646573747275637420616674657220612079656172436f6e747261637420646f65736e74206861766520656e6f75676820746f6b656e734f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e5468697320616374696f6e2063616e6e6f7420626520706572666f726d6564207768696c652074686520636f6e747261637420697320706175736564a265627a7a72315820610d052bda5aafd08e1f010735836885ed73a1ddcaf9d1bf7a07e36c060bf7a964736f6c634300051000320000000000000000000000004d03ef005e5f559fc9294a8e1cebba09284b1f8200000000000000000000000003e173ad8d1581a4802d3b532ace27a62c5b81dce212822f56abd96dd8e013f1b70b78b68bbc15d40ce1a5c3d1c4a14ee4a2899a
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100f55760003560e01c806391b4ded911610097578063dbe7e3bd11610066578063dbe7e3bd146102a5578063ebf0c717146102db578063f4ddedcf146102e3578063fc0c546a14610300576100f5565b806391b4ded9146101ab5780639ea6ec29146101b3578063ae0b51df146101d9578063c95c0d8914610288576100f5565b80635c975abb116100d35780635c975abb1461016557806378e979251461018157806379ba50971461019b5780638da5cb5b146101a3576100f5565b80631627540c146100fa57806316c38b3c1461012257806353a47bb714610141575b600080fd5b6101206004803603602081101561011057600080fd5b50356001600160a01b0316610308565b005b6101206004803603602081101561013857600080fd5b50351515610364565b6101496103de565b604080516001600160a01b039092168252519081900360200190f35b61016d6103ed565b604080519115158252519081900360200190f35b6101896103f6565b60408051918252519081900360200190f35b6101206103fc565b6101496104b8565b6101896104c7565b610120600480360360208110156101c957600080fd5b50356001600160a01b03166104cd565b610120600480360360608110156101ef57600080fd5b81359160208101359181019060608101604082013564010000000081111561021657600080fd5b82018360208201111561022857600080fd5b8035906020019184602083028401116401000000008311171561024a57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610626945050505050565b61016d6004803603602081101561029e57600080fd5b50356108a8565b6102c2600480360360208110156102bb57600080fd5b50356108cc565b6040805192835260208301919091528051918290030190f35b610189610941565b610189600480360360208110156102f957600080fd5b5035610947565b610149610959565b61031061096d565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b61036c61096d565b60035460ff1615158115151415610382576103db565b6003805460ff1916821515179081905560ff161561039f57426002555b6003546040805160ff90921615158252517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec59181900360200190a15b50565b6001546001600160a01b031681565b60035460ff1681565b60055481565b6001546001600160a01b031633146104455760405162461bcd60e51b8152600401808060200182810382526035815260200180610a636035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b60025481565b6104d561096d565b6005546301e1338001421161051b5760405162461bcd60e51b815260040180806020018281038252602e815260200180610a98602e913960400191505060405180910390fd5b600354604080516370a0823160e01b815230600482015290516101009092046001600160a01b03169163a9059cbb91849184916370a08231916024808301926020929190829003018186803b15801561057357600080fd5b505afa158015610587573d6000803e3d6000fd5b505050506040513d602081101561059d57600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b03909316600484015260248301919091525160448083019260209291908290030181600087803b1580156105ee57600080fd5b505af1158015610602573d6000803e3d6000fd5b505050506040513d602081101561061857600080fd5b50506001600160a01b038116ff5b60035460ff16156106685760405162461bcd60e51b815260040180806020018281038252603c815260200180610b17603c913960400191505060405180910390fd5b600354604080516370a0823160e01b81523060048201529051849261010090046001600160a01b0316916370a08231916024808301926020929190829003018186803b1580156106b757600080fd5b505afa1580156106cb573d6000803e3d6000fd5b505050506040513d60208110156106e157600080fd5b50511161071f5760405162461bcd60e51b8152600401808060200182810382526022815260200180610ac66022913960400191505060405180910390fd5b60008061072b856108cc565b9150915080821760066000610100888161074157fe5b04815260208082019290925260409081016000209290925581518082018890523360601b8184015260548082018890528351808303909101815260749091019092528151910120600454610797908590836109b8565b6107dd576040805162461bcd60e51b8152602060048201526012602482015271141c9bdbd9881a5cc81b9bdd081d985b1a5960721b604482015290519081900360640190fd5b6003546040805163a9059cbb60e01b81523360048201526024810188905290516101009092046001600160a01b03169163a9059cbb916044808201926020929091908290030181600087803b15801561083557600080fd5b505af1158015610849573d6000803e3d6000fd5b505050506040513d602081101561085f57600080fd5b50506040805133815260208101879052428183015290517f34fcbac0073d7c3d388e51312faf357774904998eeb8fca628b9e6f65ee1cbf79181900360600190a1505050505050565b6101008104600090815260066020526040902054600160ff9092169190911b161590565b6101008104600090815260066020526040902054600160ff83161b8082161561093c576040805162461bcd60e51b815260206004820181905260248201527f546f6b656e73206861766520616c7265616479206265656e20636c61696d6564604482015290519081900360640190fd5b915091565b60045481565b60066020526000908152604090205481565b60035461010090046001600160a01b031681565b6000546001600160a01b031633146109b65760405162461bcd60e51b815260040180806020018281038252602f815260200180610ae8602f913960400191505060405180910390fd5b565b600081815b8551811015610a575760008682815181106109d457fe5b6020026020010151905080831015610a1c5782816040516020018083815260200182815260200192505050604051602081830303815290604052805190602001209250610a4e565b808360405160200180838152602001828152602001925050506040516020818303038152906040528051906020012092505b506001016109bd565b50909214939250505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e657273686970436f6e74726163742063616e206f6e6c792062652073656c66646573747275637420616674657220612079656172436f6e747261637420646f65736e74206861766520656e6f75676820746f6b656e734f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e5468697320616374696f6e2063616e6e6f7420626520706572666f726d6564207768696c652074686520636f6e747261637420697320706175736564a265627a7a72315820610d052bda5aafd08e1f010735836885ed73a1ddcaf9d1bf7a07e36c060bf7a964736f6c63430005100032
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000004d03ef005e5f559fc9294a8e1cebba09284b1f8200000000000000000000000003e173ad8d1581a4802d3b532ace27a62c5b81dce212822f56abd96dd8e013f1b70b78b68bbc15d40ce1a5c3d1c4a14ee4a2899a
-----Decoded View---------------
Arg [0] : _owner (address): 0x4D03eF005e5f559fc9294a8E1CeBbA09284B1F82
Arg [1] : _token (address): 0x03E173Ad8d1581A4802d3B532AcE27a62c5B81dc
Arg [2] : _root (bytes32): 0xe212822f56abd96dd8e013f1b70b78b68bbc15d40ce1a5c3d1c4a14ee4a2899a
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 0000000000000000000000004d03ef005e5f559fc9294a8e1cebba09284b1f82
Arg [1] : 00000000000000000000000003e173ad8d1581a4802d3b532ace27a62c5b81dc
Arg [2] : e212822f56abd96dd8e013f1b70b78b68bbc15d40ce1a5c3d1c4a14ee4a2899a
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.