Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 2,155 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
Value | ||||
---|---|---|---|---|---|---|---|---|---|
Claim | 13294486 | 1013 days ago | IN | 0 ETH | 0.0020111 | ||||
Claim | 13258719 | 1019 days ago | IN | 0 ETH | 0.0051877 | ||||
Claim | 13256633 | 1019 days ago | IN | 0 ETH | 0.00254269 | ||||
Claim | 13253502 | 1020 days ago | IN | 0 ETH | 0.00356234 | ||||
Claim | 13253356 | 1020 days ago | IN | 0 ETH | 0.00350087 | ||||
Claim | 13251246 | 1020 days ago | IN | 0 ETH | 0.0037314 | ||||
Claim | 13249663 | 1020 days ago | IN | 0 ETH | 0.00428544 | ||||
Claim | 13249541 | 1020 days ago | IN | 0 ETH | 0.00327059 | ||||
Claim | 13249417 | 1020 days ago | IN | 0 ETH | 0.00414577 | ||||
Claim | 13249410 | 1020 days ago | IN | 0 ETH | 0.00437983 | ||||
Claim | 13249110 | 1020 days ago | IN | 0 ETH | 0.00267849 | ||||
Claim | 13247539 | 1021 days ago | IN | 0 ETH | 0.00388481 | ||||
Claim | 13246070 | 1021 days ago | IN | 0 ETH | 0.00438932 | ||||
Claim | 13244788 | 1021 days ago | IN | 0 ETH | 0.00864869 | ||||
Claim | 13243356 | 1021 days ago | IN | 0 ETH | 0.00448559 | ||||
Claim | 13240753 | 1022 days ago | IN | 0 ETH | 0.00563342 | ||||
Claim | 13238124 | 1022 days ago | IN | 0 ETH | 0.00468648 | ||||
Claim | 13229635 | 1023 days ago | IN | 0 ETH | 0.00374653 | ||||
Claim | 13228217 | 1023 days ago | IN | 0 ETH | 0.00356536 | ||||
Claim | 13228066 | 1024 days ago | IN | 0 ETH | 0.00391155 | ||||
Claim | 13228034 | 1024 days ago | IN | 0 ETH | 0.00424628 | ||||
Claim | 13221291 | 1025 days ago | IN | 0 ETH | 0.00302957 | ||||
Claim | 13217436 | 1025 days ago | IN | 0 ETH | 0.00342405 | ||||
Claim | 13211740 | 1026 days ago | IN | 0 ETH | 0.00393159 | ||||
Claim | 13211376 | 1026 days ago | IN | 0 ETH | 0.00423016 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
Airdrop
Compiler Version
v0.8.0+commit.c7dfd78e
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
pragma solidity ^0.8.0; /* |>(|)<| .-'^'-. '/"'"^"\' :( * * ): ::) ,| (:: '( )' _. '\ --- /' / / .-' '-. .__D ," | \ / : (=| : Y | \ \ / : (=| | |o__/ \__o: \/ " \ \ | | \ ' "-. | `. ___ \:._.' ".__ "-" __ \ \ .|''---''------| _ / -. _""-.--. C ) ' '/.___.--' '._ : | | --_ ^"--...__ ''-.' | | ''---.o) ""._ | ^'--.._ |o) '`-..._./ '--.._|o) 'O) */ /* proof is: 0x63b8398f3ebcf782015a0019a4300bc20e74cf94e6626e4b18f93dd85d150f34 */ interface IERC20 { function mint(address to, uint256 amount) external; } library MerkleProof { 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) { computedHash = keccak256( abi.encodePacked(computedHash, proofElement) ); } else { computedHash = keccak256( abi.encodePacked(proofElement, computedHash) ); } } return computedHash == root; } } contract Airdrop { IERC20 public immutable token; bytes32 public immutable merkleRoot; mapping(uint256 => uint256) private claimedBitMap; constructor(IERC20 token_, bytes32 merkleRoot_) { token = token_; merkleRoot = merkleRoot_; } function isClaimed(uint256 index) public view returns (bool) { uint256 claimedWordIndex = index / 256; uint256 claimedBitIndex = index % 256; uint256 claimedWord = claimedBitMap[claimedWordIndex]; uint256 mask = (1 << claimedBitIndex); return claimedWord & mask == mask; } function _setClaimed(uint256 index) private { uint256 claimedWordIndex = index / 256; uint256 claimedBitIndex = index % 256; claimedBitMap[claimedWordIndex] = claimedBitMap[claimedWordIndex] | (1 << claimedBitIndex); } function claim(bytes calldata node, bytes32[] calldata merkleProof) external { uint256 index; uint256 amount; address recipient; (index, recipient, amount) = abi.decode( node, (uint256, address, uint256) ); require(recipient == msg.sender); require(!isClaimed(index), "MerkleDistributor: Drop already claimed."); require( MerkleProof.verify(merkleProof, merkleRoot, keccak256(node)), "MerkleDistributor: Invalid proof." ); _setClaimed(index); token.mint(msg.sender, amount * 10 * 1 ether); } }
{ "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":"contract IERC20","name":"token_","type":"address"},{"internalType":"bytes32","name":"merkleRoot_","type":"bytes32"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"bytes","name":"node","type":"bytes"},{"internalType":"bytes32[]","name":"merkleProof","type":"bytes32[]"}],"name":"claim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"isClaimed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"merkleRoot","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
60c060405234801561001057600080fd5b5060405161075238038061075283398101604081905261002f9161004a565b60609190911b6001600160601b03191660805260a052610082565b6000806040838503121561005c578182fd5b82516001600160a01b0381168114610072578283fd5b6020939093015192949293505050565b60805160601c60a05161069b6100b76000396000818160bb01526101720152600081816101dd01526102bb015261069b6000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80632eb4a7ab146100515780638923586d1461006f5780639e34070f14610084578063fc0c546a146100a4575b600080fd5b6100596100b9565b6040516100669190610531565b60405180910390f35b61008261007d3660046103d6565b6100dd565b005b610097610092366004610495565b610278565b6040516100669190610526565b6100ac6102b9565b604051610066919061053a565b7f000000000000000000000000000000000000000000000000000000000000000081565b600080806100ed868801886104ad565b91945090925090506001600160a01b038116331461010a57600080fd5b61011383610278565b156101395760405162461bcd60e51b81526004016101309061054e565b60405180910390fd5b6101ae858580806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250506040517f000000000000000000000000000000000000000000000000000000000000000092506101a191508b908b906104fd565b60405180910390206102dd565b6101ca5760405162461bcd60e51b815260040161013090610596565b6101d383610398565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166340c10f193361020e85600a6105eb565b61022090670de0b6b3a76400006105eb565b6040518363ffffffff1660e01b815260040161023d92919061050d565b600060405180830381600087803b15801561025757600080fd5b505af115801561026b573d6000803e3d6000fd5b5050505050505050505050565b600080610287610100846105d7565b9050600061029761010085610625565b60009283526020839052604090922054600190921b9182169091149392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600081815b855181101561038d57600086828151811061030d57634e487b7160e01b600052603260045260246000fd5b6020026020010151905080831161034e5782816040516020016103319291906104ef565b60405160208183030381529060405280519060200120925061037a565b80836040516020016103619291906104ef565b6040516020818303038152906040528051906020012092505b50806103858161060a565b9150506102e2565b509092149392505050565b60006103a6610100836105d7565b905060006103b661010084610625565b6000928352602083905260409092208054600190931b9092179091555050565b600080600080604085870312156103eb578384fd5b843567ffffffffffffffff80821115610402578586fd5b818701915087601f830112610415578586fd5b813581811115610423578687fd5b60208981838601011115610435578788fd5b80840197508196508089013593508284111561044f578586fd5b838901935089601f850112610462578586fd5b8335915082821115610472578586fd5b89818284028601011115610484578586fd5b969995985091909501955093505050565b6000602082840312156104a6578081fd5b5035919050565b6000806000606084860312156104c1578283fd5b8335925060208401356001600160a01b03811681146104de578283fd5b929592945050506040919091013590565b918252602082015260400190565b6000828483379101908152919050565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b90815260200190565b6001600160a01b0391909116815260200190565b60208082526028908201527f4d65726b6c654469737472696275746f723a2044726f7020616c72656164792060408201526731b630b4b6b2b21760c11b606082015260800190565b60208082526021908201527f4d65726b6c654469737472696275746f723a20496e76616c69642070726f6f666040820152601760f91b606082015260800190565b6000826105e6576105e661064f565b500490565b600081600019048311821515161561060557610605610639565b500290565b600060001982141561061e5761061e610639565b5060010190565b6000826106345761063461064f565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fdfea2646970667358221220e51b93a190662cca23a3f4cc36dca6bb08f92d08d7330014dbb3054a05071c2d64736f6c63430008000033000000000000000000000000c0844fdf1bcbde59a3af0859455d964d350a2cb663b8398f3ebcf782015a0019a4300bc20e74cf94e6626e4b18f93dd85d150f34
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80632eb4a7ab146100515780638923586d1461006f5780639e34070f14610084578063fc0c546a146100a4575b600080fd5b6100596100b9565b6040516100669190610531565b60405180910390f35b61008261007d3660046103d6565b6100dd565b005b610097610092366004610495565b610278565b6040516100669190610526565b6100ac6102b9565b604051610066919061053a565b7f63b8398f3ebcf782015a0019a4300bc20e74cf94e6626e4b18f93dd85d150f3481565b600080806100ed868801886104ad565b91945090925090506001600160a01b038116331461010a57600080fd5b61011383610278565b156101395760405162461bcd60e51b81526004016101309061054e565b60405180910390fd5b6101ae858580806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250506040517f63b8398f3ebcf782015a0019a4300bc20e74cf94e6626e4b18f93dd85d150f3492506101a191508b908b906104fd565b60405180910390206102dd565b6101ca5760405162461bcd60e51b815260040161013090610596565b6101d383610398565b6001600160a01b037f000000000000000000000000c0844fdf1bcbde59a3af0859455d964d350a2cb6166340c10f193361020e85600a6105eb565b61022090670de0b6b3a76400006105eb565b6040518363ffffffff1660e01b815260040161023d92919061050d565b600060405180830381600087803b15801561025757600080fd5b505af115801561026b573d6000803e3d6000fd5b5050505050505050505050565b600080610287610100846105d7565b9050600061029761010085610625565b60009283526020839052604090922054600190921b9182169091149392505050565b7f000000000000000000000000c0844fdf1bcbde59a3af0859455d964d350a2cb681565b600081815b855181101561038d57600086828151811061030d57634e487b7160e01b600052603260045260246000fd5b6020026020010151905080831161034e5782816040516020016103319291906104ef565b60405160208183030381529060405280519060200120925061037a565b80836040516020016103619291906104ef565b6040516020818303038152906040528051906020012092505b50806103858161060a565b9150506102e2565b509092149392505050565b60006103a6610100836105d7565b905060006103b661010084610625565b6000928352602083905260409092208054600190931b9092179091555050565b600080600080604085870312156103eb578384fd5b843567ffffffffffffffff80821115610402578586fd5b818701915087601f830112610415578586fd5b813581811115610423578687fd5b60208981838601011115610435578788fd5b80840197508196508089013593508284111561044f578586fd5b838901935089601f850112610462578586fd5b8335915082821115610472578586fd5b89818284028601011115610484578586fd5b969995985091909501955093505050565b6000602082840312156104a6578081fd5b5035919050565b6000806000606084860312156104c1578283fd5b8335925060208401356001600160a01b03811681146104de578283fd5b929592945050506040919091013590565b918252602082015260400190565b6000828483379101908152919050565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b90815260200190565b6001600160a01b0391909116815260200190565b60208082526028908201527f4d65726b6c654469737472696275746f723a2044726f7020616c72656164792060408201526731b630b4b6b2b21760c11b606082015260800190565b60208082526021908201527f4d65726b6c654469737472696275746f723a20496e76616c69642070726f6f666040820152601760f91b606082015260800190565b6000826105e6576105e661064f565b500490565b600081600019048311821515161561060557610605610639565b500290565b600060001982141561061e5761061e610639565b5060010190565b6000826106345761063461064f565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fdfea2646970667358221220e51b93a190662cca23a3f4cc36dca6bb08f92d08d7330014dbb3054a05071c2d64736f6c63430008000033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000c0844fdf1bcbde59a3af0859455d964d350a2cb663b8398f3ebcf782015a0019a4300bc20e74cf94e6626e4b18f93dd85d150f34
-----Decoded View---------------
Arg [0] : token_ (address): 0xC0844FDF1bcbDE59a3AF0859455D964D350A2cb6
Arg [1] : merkleRoot_ (bytes32): 0x63b8398f3ebcf782015a0019a4300bc20e74cf94e6626e4b18f93dd85d150f34
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000c0844fdf1bcbde59a3af0859455d964d350a2cb6
Arg [1] : 63b8398f3ebcf782015a0019a4300bc20e74cf94e6626e4b18f93dd85d150f34
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 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.