More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 572 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Claim | 13516147 | 1168 days ago | IN | 0 ETH | 0.01261106 | ||||
Claim | 13456508 | 1178 days ago | IN | 0 ETH | 0.00915245 | ||||
Claim | 13398363 | 1187 days ago | IN | 0 ETH | 0.01108673 | ||||
Claim | 13383871 | 1189 days ago | IN | 0 ETH | 0.00547089 | ||||
Claim | 13362398 | 1193 days ago | IN | 0 ETH | 0.01120928 | ||||
Claim | 13360661 | 1193 days ago | IN | 0 ETH | 0.01100026 | ||||
Claim | 13360342 | 1193 days ago | IN | 0 ETH | 0.01293927 | ||||
Claim | 13353643 | 1194 days ago | IN | 0 ETH | 0.03566394 | ||||
Claim | 13342359 | 1196 days ago | IN | 0 ETH | 0.00167582 | ||||
Claim | 13313920 | 1200 days ago | IN | 0 ETH | 0.0044302 | ||||
Claim | 13303189 | 1202 days ago | IN | 0 ETH | 0.00425723 | ||||
Claim | 13297962 | 1203 days ago | IN | 0 ETH | 0.00257191 | ||||
Claim | 13295921 | 1203 days ago | IN | 0 ETH | 0.00298105 | ||||
Claim | 13288187 | 1204 days ago | IN | 0 ETH | 0.00493395 | ||||
Claim | 13284791 | 1205 days ago | IN | 0 ETH | 0.00590354 | ||||
Claim | 13272749 | 1207 days ago | IN | 0 ETH | 0.00544933 | ||||
Claim | 13268224 | 1207 days ago | IN | 0 ETH | 0.00366286 | ||||
Claim | 13268167 | 1207 days ago | IN | 0 ETH | 0.00333904 | ||||
Claim | 13268062 | 1207 days ago | IN | 0 ETH | 0.00287215 | ||||
Claim | 13268038 | 1207 days ago | IN | 0 ETH | 0.00324465 | ||||
Claim | 13267994 | 1207 days ago | IN | 0 ETH | 0.00311608 | ||||
Claim | 13259266 | 1209 days ago | IN | 0 ETH | 0.00453882 | ||||
Claim | 13257887 | 1209 days ago | IN | 0 ETH | 0.00391891 | ||||
Claim | 13254302 | 1209 days ago | IN | 0 ETH | 0.00356749 | ||||
Claim | 13253577 | 1209 days ago | IN | 0 ETH | 0.00361878 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Similar Match Source Code This contract matches the deployed Bytecode of the Source Code for Contract 0xF471ea27...F645b945f The constructor portion of the code might be different and could alter the actual behaviour of the contract
Contract Name:
MerkleDistributor
Compiler Version
v0.8.4+commit.c7e474f2
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-09-10 */ // SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.0; interface Token { function transfer(address recipient, uint256 amount) external returns (bool); } // MerkleDistributor for ongoing EPS airdrop to veCRV holders // Based on the EMN refund contract by banteg - https://github.com/banteg/your-eminence contract MerkleDistributor { bytes32[] public merkleRoots; bytes32 public pendingMerkleRoot; uint256 public lastRoot; // admin address which can propose adding a new merkle root address public proposalAuthority; // admin address which approves or rejects a proposed merkle root address public reviewAuthority; event Claimed( uint256 merkleIndex, uint256 index, address account, uint256 amount ); // This is a packed array of booleans. mapping(uint256 => mapping(uint256 => uint256)) private claimedBitMap; Token public tokenContract; constructor(address _authority, Token _tokenContract) { proposalAuthority = _authority; reviewAuthority = _authority; tokenContract = _tokenContract; } function setProposalAuthority(address _account) public { require(msg.sender == proposalAuthority); proposalAuthority = _account; } function setReviewAuthority(address _account) public { require(msg.sender == reviewAuthority); reviewAuthority = _account; } // Each week, the proposal authority calls to submit the merkle root for a new airdrop. function proposewMerkleRoot(bytes32 _merkleRoot) public { require(msg.sender == proposalAuthority); require(pendingMerkleRoot == 0x00); require(merkleRoots.length < 52); // require(block.timestamp > lastRoot + 604800); pendingMerkleRoot = _merkleRoot; } // After validating the correctness of the pending merkle root, the reviewing authority // calls to confirm it and the distribution may begin. function reviewPendingMerkleRoot(bool _approved) public { require(msg.sender == reviewAuthority); require(pendingMerkleRoot != 0x00); if (_approved) { merkleRoots.push(pendingMerkleRoot); lastRoot = block.timestamp / 604800 * 604800; } delete pendingMerkleRoot; } function isClaimed(uint256 merkleIndex, uint256 index) public view returns (bool) { uint256 claimedWordIndex = index / 256; uint256 claimedBitIndex = index % 256; uint256 claimedWord = claimedBitMap[merkleIndex][claimedWordIndex]; uint256 mask = (1 << claimedBitIndex); return claimedWord & mask == mask; } function _setClaimed(uint256 merkleIndex, uint256 index) private { uint256 claimedWordIndex = index / 256; uint256 claimedBitIndex = index % 256; claimedBitMap[merkleIndex][claimedWordIndex] = claimedBitMap[merkleIndex][claimedWordIndex] | (1 << claimedBitIndex); } function claim(uint256 merkleIndex, uint256 index, uint256 amount, bytes32[] calldata merkleProof) external { require(merkleIndex < merkleRoots.length, "MerkleDistributor: Invalid merkleIndex"); require(!isClaimed(merkleIndex, index), 'MerkleDistributor: Drop already claimed.'); // Verify the merkle proof. bytes32 node = keccak256(abi.encodePacked(index, msg.sender, amount)); require(verify(merkleProof, merkleRoots[merkleIndex], node), 'MerkleDistributor: Invalid proof.'); // Mark it claimed and send the token. _setClaimed(merkleIndex, index); tokenContract.transfer(msg.sender, amount * (10**18)); emit Claimed(merkleIndex, index, msg.sender, amount); } function verify(bytes32[] calldata 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; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_authority","type":"address"},{"internalType":"contract Token","name":"_tokenContract","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"merkleIndex","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"index","type":"uint256"},{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Claimed","type":"event"},{"inputs":[{"internalType":"uint256","name":"merkleIndex","type":"uint256"},{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes32[]","name":"merkleProof","type":"bytes32[]"}],"name":"claim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"merkleIndex","type":"uint256"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"isClaimed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastRoot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"merkleRoots","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingMerkleRoot","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proposalAuthority","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_merkleRoot","type":"bytes32"}],"name":"proposewMerkleRoot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"reviewAuthority","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_approved","type":"bool"}],"name":"reviewPendingMerkleRoot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"setProposalAuthority","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"setReviewAuthority","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"tokenContract","outputs":[{"internalType":"contract Token","name":"","type":"address"}],"stateMutability":"view","type":"function"}]
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100b45760003560e01c8063a1622bb011610071578063a1622bb01461017d578063a795e7d314610199578063b58166f2146101b5578063b74a29ce146101d3578063ea25e176146101ef578063f364c90c1461020b576100b4565b806310531aa2146100b957806355a373d6146100d757806371c5ecb1146100f557806371fad23e14610125578063891dfef3146101415780639637f4751461015f575b600080fd5b6100c161023b565b6040516100ce9190610d29565b60405180910390f35b6100df610261565b6040516100ec9190610da3565b60405180910390f35b61010f600480360381019061010a9190610ae2565b610287565b60405161011c9190610d88565b60405180910390f35b61013f600480360381019061013a9190610a3e565b6102ab565b005b610149610349565b6040516101569190610d29565b60405180910390f35b61016761036f565b6040516101749190610d88565b60405180910390f35b61019760048036038101906101929190610a67565b610375565b005b6101b360048036038101906101ae9190610ab9565b61043c565b005b6101bd6104c3565b6040516101ca9190610e1e565b60405180910390f35b6101ed60048036038101906101e89190610a3e565b6104c9565b005b61020960048036038101906102049190610b47565b610567565b005b61022560048036038101906102209190610b0b565b6107c8565b6040516102329190610d6d565b60405180910390f35b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000818154811061029757600080fd5b906000526020600020016000915090505481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461030557600080fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146103cf57600080fd5b6000801b60015414156103e157600080fd5b8015610433576000600154908060018154018082558091505060019003906000526020600020016000909190919091505562093a8080426104229190610e8f565b61042c9190610ec0565b6002819055505b60016000905550565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461049657600080fd5b6000801b600154146104a757600080fd5b6034600080549050106104b957600080fd5b8060018190555050565b60025481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461052357600080fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008054905085106105ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105a590610dfe565b60405180910390fd5b6105b885856107c8565b156105f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105ef90610dbe565b60405180910390fd5b600084338560405160200161060f93929190610cec565b604051602081830303815290604052805190602001209050610677838360008981548110610666577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020015484610830565b6106b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ad90610dde565b60405180910390fd5b6106c0868661090e565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33670de0b6b3a7640000876107139190610ec0565b6040518363ffffffff1660e01b8152600401610730929190610d44565b602060405180830381600087803b15801561074a57600080fd5b505af115801561075e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107829190610a90565b507fb94bf7f9302edf52a596286915a69b4b0685574cffdedd0712e3c62f2550f0ba868633876040516107b89493929190610e39565b60405180910390a1505050505050565b600080610100836107d99190610e8f565b90506000610100846107eb9190611011565b905060006005600087815260200190815260200160002060008481526020019081526020016000205490506000826001901b9050808183161494505050505092915050565b60008082905060005b868690508110156108ff57600087878381811061087f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9050602002013590508083116108bf5782816040516020016108a2929190610cc0565b6040516020818303038152906040528051906020012092506108eb565b80836040516020016108d2929190610cc0565b6040516020818303038152906040528051906020012092505b5080806108f790610f90565b915050610839565b50838114915050949350505050565b60006101008261091e9190610e8f565b90506000610100836109309190611011565b9050806001901b60056000868152602001908152602001600020600084815260200190815260200160002054176005600086815260200190815260200160002060008481526020019081526020016000208190555050505050565b60008135905061099a8161119a565b92915050565b60008083601f8401126109b257600080fd5b8235905067ffffffffffffffff8111156109cb57600080fd5b6020830191508360208202830111156109e357600080fd5b9250929050565b6000813590506109f9816111b1565b92915050565b600081519050610a0e816111b1565b92915050565b600081359050610a23816111c8565b92915050565b600081359050610a38816111df565b92915050565b600060208284031215610a5057600080fd5b6000610a5e8482850161098b565b91505092915050565b600060208284031215610a7957600080fd5b6000610a87848285016109ea565b91505092915050565b600060208284031215610aa257600080fd5b6000610ab0848285016109ff565b91505092915050565b600060208284031215610acb57600080fd5b6000610ad984828501610a14565b91505092915050565b600060208284031215610af457600080fd5b6000610b0284828501610a29565b91505092915050565b60008060408385031215610b1e57600080fd5b6000610b2c85828601610a29565b9250506020610b3d85828601610a29565b9150509250929050565b600080600080600060808688031215610b5f57600080fd5b6000610b6d88828901610a29565b9550506020610b7e88828901610a29565b9450506040610b8f88828901610a29565b935050606086013567ffffffffffffffff811115610bac57600080fd5b610bb8888289016109a0565b92509250509295509295909350565b610bd081610f1a565b82525050565b610be7610be282610f1a565b610fd9565b82525050565b610bf681610f2c565b82525050565b610c0581610f38565b82525050565b610c1c610c1782610f38565b610feb565b82525050565b610c2b81610f6c565b82525050565b6000610c3e602883610e7e565b9150610c49826110ad565b604082019050919050565b6000610c61602183610e7e565b9150610c6c826110fc565b604082019050919050565b6000610c84602683610e7e565b9150610c8f8261114b565b604082019050919050565b610ca381610f62565b82525050565b610cba610cb582610f62565b611007565b82525050565b6000610ccc8285610c0b565b602082019150610cdc8284610c0b565b6020820191508190509392505050565b6000610cf88286610ca9565b602082019150610d088285610bd6565b601482019150610d188284610ca9565b602082019150819050949350505050565b6000602082019050610d3e6000830184610bc7565b92915050565b6000604082019050610d596000830185610bc7565b610d666020830184610c9a565b9392505050565b6000602082019050610d826000830184610bed565b92915050565b6000602082019050610d9d6000830184610bfc565b92915050565b6000602082019050610db86000830184610c22565b92915050565b60006020820190508181036000830152610dd781610c31565b9050919050565b60006020820190508181036000830152610df781610c54565b9050919050565b60006020820190508181036000830152610e1781610c77565b9050919050565b6000602082019050610e336000830184610c9a565b92915050565b6000608082019050610e4e6000830187610c9a565b610e5b6020830186610c9a565b610e686040830185610bc7565b610e756060830184610c9a565b95945050505050565b600082825260208201905092915050565b6000610e9a82610f62565b9150610ea583610f62565b925082610eb557610eb4611071565b5b828204905092915050565b6000610ecb82610f62565b9150610ed683610f62565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615610f0f57610f0e611042565b5b828202905092915050565b6000610f2582610f42565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000610f7782610f7e565b9050919050565b6000610f8982610f42565b9050919050565b6000610f9b82610f62565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415610fce57610fcd611042565b5b600182019050919050565b6000610fe482610ff5565b9050919050565b6000819050919050565b6000611000826110a0565b9050919050565b6000819050919050565b600061101c82610f62565b915061102783610f62565b92508261103757611036611071565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008160601b9050919050565b7f4d65726b6c654469737472696275746f723a2044726f7020616c72656164792060008201527f636c61696d65642e000000000000000000000000000000000000000000000000602082015250565b7f4d65726b6c654469737472696275746f723a20496e76616c69642070726f6f6660008201527f2e00000000000000000000000000000000000000000000000000000000000000602082015250565b7f4d65726b6c654469737472696275746f723a20496e76616c6964206d65726b6c60008201527f65496e6465780000000000000000000000000000000000000000000000000000602082015250565b6111a381610f1a565b81146111ae57600080fd5b50565b6111ba81610f2c565b81146111c557600080fd5b50565b6111d181610f38565b81146111dc57600080fd5b50565b6111e881610f62565b81146111f357600080fd5b5056fea2646970667358221220e8053f489146c69ef1dc902966d91b9e8cacc17d128c399f7ef0f7bfe481b0eb64736f6c63430008040033
Deployed Bytecode Sourcemap
326:4289:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;643:30;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;936:26;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;362:28;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1162:153;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;533:32;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;397;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2035:339;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1571:303;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;436:23;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1323:147;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3051:753;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2382:356;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;643:30;;;;;;;;;;;;;:::o;936:26::-;;;;;;;;;;;;;:::o;362:28::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1162:153::-;1250:17;;;;;;;;;;;1236:31;;:10;:31;;;1228:40;;;;;;1299:8;1279:17;;:28;;;;;;;;;;;;;;;;;;1162:153;:::o;533:32::-;;;;;;;;;;;;;:::o;397:::-;;;;:::o;2035:339::-;2124:15;;;;;;;;;;;2110:29;;:10;:29;;;2102:38;;;;;;2180:4;2159:25;;:17;;:25;;2151:34;;;;;;2200:9;2196:136;;;2226:11;2243:17;;2226:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2314:6;2305;2287:15;:24;;;;:::i;:::-;:33;;;;:::i;:::-;2276:8;:44;;;;2196:136;2349:17;2342:24;;;2035:339;:::o;1571:303::-;1660:17;;;;;;;;;;;1646:31;;:10;:31;;;1638:40;;;;;;1718:4;1697:25;;:17;;:25;1689:34;;;;;;1763:2;1742:11;:18;;;;:23;1734:32;;;;;;1855:11;1835:17;:31;;;;1571:303;:::o;436:23::-;;;;:::o;1323:147::-;1409:15;;;;;;;;;;;1395:29;;:10;:29;;;1387:38;;;;;;1454:8;1436:15;;:26;;;;;;;;;;;;;;;;;;1323:147;:::o;3051:753::-;3192:11;:18;;;;3178:11;:32;3170:83;;;;;;;;;;;;:::i;:::-;;;;;;;;;3273:29;3283:11;3296:5;3273:9;:29::i;:::-;3272:30;3264:83;;;;;;;;;;;;:::i;:::-;;;;;;;;;3397:12;3439:5;3446:10;3458:6;3422:43;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3412:54;;;;;;3397:69;;3485:51;3492:11;;3505;3517;3505:24;;;;;;;;;;;;;;;;;;;;;;;;3531:4;3485:6;:51::i;:::-;3477:97;;;;;;;;;;;;:::i;:::-;;;;;;;;;3635:31;3647:11;3660:5;3635:11;:31::i;:::-;3677:13;;;;;;;;;;;:22;;;3700:10;3723:6;3712;:18;;;;:::i;:::-;3677:54;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3749:47;3757:11;3770:5;3777:10;3789:6;3749:47;;;;;;;;;:::i;:::-;;;;;;;;3051:753;;;;;;:::o;2382:356::-;2458:4;2475:24;2510:3;2502:5;:11;;;;:::i;:::-;2475:38;;2524:23;2558:3;2550:5;:11;;;;:::i;:::-;2524:37;;2572:19;2594:13;:26;2608:11;2594:26;;;;;;;;;;;:44;2621:16;2594:44;;;;;;;;;;;;2572:66;;2649:12;2670:15;2665:1;:20;;2649:37;;2726:4;2718;2704:11;:18;:26;2697:33;;;;;;2382:356;;;;:::o;3812:798::-;3905:4;3922:20;3945:4;3922:27;;3967:9;3962:525;3986:5;;:12;;3982:1;:16;3962:525;;;4020:20;4043:5;;4049:1;4043:8;;;;;;;;;;;;;;;;;;;;;4020:31;;4088:12;4072;:28;4068:408;;4242:12;4256;4225:44;;;;;;;;;:::i;:::-;;;;;;;;;;;;;4215:55;;;;;;4200:70;;4068:408;;;4432:12;4446;4415:44;;;;;;;;;:::i;:::-;;;;;;;;;;;;;4405:55;;;;;;4390:70;;4068:408;3962:525;4000:3;;;;;:::i;:::-;;;;3962:525;;;;4598:4;4582:12;:20;4575:27;;;3812:798;;;;;;:::o;2746:297::-;2822:24;2857:3;2849:5;:11;;;;:::i;:::-;2822:38;;2871:23;2905:3;2897:5;:11;;;;:::i;:::-;2871:37;;3019:15;3014:1;:20;;2966:13;:26;2980:11;2966:26;;;;;;;;;;;:44;2993:16;2966:44;;;;;;;;;;;;:69;2919:13;:26;2933:11;2919:26;;;;;;;;;;;:44;2946:16;2919:44;;;;;;;;;;;:116;;;;2746:297;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;169:367::-;242:8;252:6;302:3;295:4;287:6;283:17;279:27;269:2;;320:1;317;310:12;269:2;356:6;343:20;333:30;;386:18;378:6;375:30;372:2;;;418:1;415;408:12;372:2;455:4;447:6;443:17;431:29;;509:3;501:4;493:6;489:17;479:8;475:32;472:41;469:2;;;526:1;523;516:12;469:2;259:277;;;;;:::o;542:133::-;585:5;623:6;610:20;601:29;;639:30;663:5;639:30;:::i;:::-;591:84;;;;:::o;681:137::-;735:5;766:6;760:13;751:22;;782:30;806:5;782:30;:::i;:::-;741:77;;;;:::o;824:139::-;870:5;908:6;895:20;886:29;;924:33;951:5;924:33;:::i;:::-;876:87;;;;:::o;969:139::-;1015:5;1053:6;1040:20;1031:29;;1069:33;1096:5;1069:33;:::i;:::-;1021:87;;;;:::o;1114:262::-;1173:6;1222:2;1210:9;1201:7;1197:23;1193:32;1190:2;;;1238:1;1235;1228:12;1190:2;1281:1;1306:53;1351:7;1342:6;1331:9;1327:22;1306:53;:::i;:::-;1296:63;;1252:117;1180:196;;;;:::o;1382:256::-;1438:6;1487:2;1475:9;1466:7;1462:23;1458:32;1455:2;;;1503:1;1500;1493:12;1455:2;1546:1;1571:50;1613:7;1604:6;1593:9;1589:22;1571:50;:::i;:::-;1561:60;;1517:114;1445:193;;;;:::o;1644:278::-;1711:6;1760:2;1748:9;1739:7;1735:23;1731:32;1728:2;;;1776:1;1773;1766:12;1728:2;1819:1;1844:61;1897:7;1888:6;1877:9;1873:22;1844:61;:::i;:::-;1834:71;;1790:125;1718:204;;;;:::o;1928:262::-;1987:6;2036:2;2024:9;2015:7;2011:23;2007:32;2004:2;;;2052:1;2049;2042:12;2004:2;2095:1;2120:53;2165:7;2156:6;2145:9;2141:22;2120:53;:::i;:::-;2110:63;;2066:117;1994:196;;;;:::o;2196:262::-;2255:6;2304:2;2292:9;2283:7;2279:23;2275:32;2272:2;;;2320:1;2317;2310:12;2272:2;2363:1;2388:53;2433:7;2424:6;2413:9;2409:22;2388:53;:::i;:::-;2378:63;;2334:117;2262:196;;;;:::o;2464:407::-;2532:6;2540;2589:2;2577:9;2568:7;2564:23;2560:32;2557:2;;;2605:1;2602;2595:12;2557:2;2648:1;2673:53;2718:7;2709:6;2698:9;2694:22;2673:53;:::i;:::-;2663:63;;2619:117;2775:2;2801:53;2846:7;2837:6;2826:9;2822:22;2801:53;:::i;:::-;2791:63;;2746:118;2547:324;;;;;:::o;2877:861::-;2990:6;2998;3006;3014;3022;3071:3;3059:9;3050:7;3046:23;3042:33;3039:2;;;3088:1;3085;3078:12;3039:2;3131:1;3156:53;3201:7;3192:6;3181:9;3177:22;3156:53;:::i;:::-;3146:63;;3102:117;3258:2;3284:53;3329:7;3320:6;3309:9;3305:22;3284:53;:::i;:::-;3274:63;;3229:118;3386:2;3412:53;3457:7;3448:6;3437:9;3433:22;3412:53;:::i;:::-;3402:63;;3357:118;3542:2;3531:9;3527:18;3514:32;3573:18;3565:6;3562:30;3559:2;;;3605:1;3602;3595:12;3559:2;3641:80;3713:7;3704:6;3693:9;3689:22;3641:80;:::i;:::-;3623:98;;;;3485:246;3029:709;;;;;;;;:::o;3744:118::-;3831:24;3849:5;3831:24;:::i;:::-;3826:3;3819:37;3809:53;;:::o;3868:157::-;3973:45;3993:24;4011:5;3993:24;:::i;:::-;3973:45;:::i;:::-;3968:3;3961:58;3951:74;;:::o;4031:109::-;4112:21;4127:5;4112:21;:::i;:::-;4107:3;4100:34;4090:50;;:::o;4146:118::-;4233:24;4251:5;4233:24;:::i;:::-;4228:3;4221:37;4211:53;;:::o;4270:157::-;4375:45;4395:24;4413:5;4395:24;:::i;:::-;4375:45;:::i;:::-;4370:3;4363:58;4353:74;;:::o;4433:155::-;4532:49;4575:5;4532:49;:::i;:::-;4527:3;4520:62;4510:78;;:::o;4594:366::-;4736:3;4757:67;4821:2;4816:3;4757:67;:::i;:::-;4750:74;;4833:93;4922:3;4833:93;:::i;:::-;4951:2;4946:3;4942:12;4935:19;;4740:220;;;:::o;4966:366::-;5108:3;5129:67;5193:2;5188:3;5129:67;:::i;:::-;5122:74;;5205:93;5294:3;5205:93;:::i;:::-;5323:2;5318:3;5314:12;5307:19;;5112:220;;;:::o;5338:366::-;5480:3;5501:67;5565:2;5560:3;5501:67;:::i;:::-;5494:74;;5577:93;5666:3;5577:93;:::i;:::-;5695:2;5690:3;5686:12;5679:19;;5484:220;;;:::o;5710:118::-;5797:24;5815:5;5797:24;:::i;:::-;5792:3;5785:37;5775:53;;:::o;5834:157::-;5939:45;5959:24;5977:5;5959:24;:::i;:::-;5939:45;:::i;:::-;5934:3;5927:58;5917:74;;:::o;5997:397::-;6137:3;6152:75;6223:3;6214:6;6152:75;:::i;:::-;6252:2;6247:3;6243:12;6236:19;;6265:75;6336:3;6327:6;6265:75;:::i;:::-;6365:2;6360:3;6356:12;6349:19;;6385:3;6378:10;;6141:253;;;;;:::o;6400:538::-;6568:3;6583:75;6654:3;6645:6;6583:75;:::i;:::-;6683:2;6678:3;6674:12;6667:19;;6696:75;6767:3;6758:6;6696:75;:::i;:::-;6796:2;6791:3;6787:12;6780:19;;6809:75;6880:3;6871:6;6809:75;:::i;:::-;6909:2;6904:3;6900:12;6893:19;;6929:3;6922:10;;6572:366;;;;;;:::o;6944:222::-;7037:4;7075:2;7064:9;7060:18;7052:26;;7088:71;7156:1;7145:9;7141:17;7132:6;7088:71;:::i;:::-;7042:124;;;;:::o;7172:332::-;7293:4;7331:2;7320:9;7316:18;7308:26;;7344:71;7412:1;7401:9;7397:17;7388:6;7344:71;:::i;:::-;7425:72;7493:2;7482:9;7478:18;7469:6;7425:72;:::i;:::-;7298:206;;;;;:::o;7510:210::-;7597:4;7635:2;7624:9;7620:18;7612:26;;7648:65;7710:1;7699:9;7695:17;7686:6;7648:65;:::i;:::-;7602:118;;;;:::o;7726:222::-;7819:4;7857:2;7846:9;7842:18;7834:26;;7870:71;7938:1;7927:9;7923:17;7914:6;7870:71;:::i;:::-;7824:124;;;;:::o;7954:246::-;8059:4;8097:2;8086:9;8082:18;8074:26;;8110:83;8190:1;8179:9;8175:17;8166:6;8110:83;:::i;:::-;8064:136;;;;:::o;8206:419::-;8372:4;8410:2;8399:9;8395:18;8387:26;;8459:9;8453:4;8449:20;8445:1;8434:9;8430:17;8423:47;8487:131;8613:4;8487:131;:::i;:::-;8479:139;;8377:248;;;:::o;8631:419::-;8797:4;8835:2;8824:9;8820:18;8812:26;;8884:9;8878:4;8874:20;8870:1;8859:9;8855:17;8848:47;8912:131;9038:4;8912:131;:::i;:::-;8904:139;;8802:248;;;:::o;9056:419::-;9222:4;9260:2;9249:9;9245:18;9237:26;;9309:9;9303:4;9299:20;9295:1;9284:9;9280:17;9273:47;9337:131;9463:4;9337:131;:::i;:::-;9329:139;;9227:248;;;:::o;9481:222::-;9574:4;9612:2;9601:9;9597:18;9589:26;;9625:71;9693:1;9682:9;9678:17;9669:6;9625:71;:::i;:::-;9579:124;;;;:::o;9709:553::-;9886:4;9924:3;9913:9;9909:19;9901:27;;9938:71;10006:1;9995:9;9991:17;9982:6;9938:71;:::i;:::-;10019:72;10087:2;10076:9;10072:18;10063:6;10019:72;:::i;:::-;10101;10169:2;10158:9;10154:18;10145:6;10101:72;:::i;:::-;10183;10251:2;10240:9;10236:18;10227:6;10183:72;:::i;:::-;9891:371;;;;;;;:::o;10268:169::-;10352:11;10386:6;10381:3;10374:19;10426:4;10421:3;10417:14;10402:29;;10364:73;;;;:::o;10443:185::-;10483:1;10500:20;10518:1;10500:20;:::i;:::-;10495:25;;10534:20;10552:1;10534:20;:::i;:::-;10529:25;;10573:1;10563:2;;10578:18;;:::i;:::-;10563:2;10620:1;10617;10613:9;10608:14;;10485:143;;;;:::o;10634:348::-;10674:7;10697:20;10715:1;10697:20;:::i;:::-;10692:25;;10731:20;10749:1;10731:20;:::i;:::-;10726:25;;10919:1;10851:66;10847:74;10844:1;10841:81;10836:1;10829:9;10822:17;10818:105;10815:2;;;10926:18;;:::i;:::-;10815:2;10974:1;10971;10967:9;10956:20;;10682:300;;;;:::o;10988:96::-;11025:7;11054:24;11072:5;11054:24;:::i;:::-;11043:35;;11033:51;;;:::o;11090:90::-;11124:7;11167:5;11160:13;11153:21;11142:32;;11132:48;;;:::o;11186:77::-;11223:7;11252:5;11241:16;;11231:32;;;:::o;11269:126::-;11306:7;11346:42;11339:5;11335:54;11324:65;;11314:81;;;:::o;11401:77::-;11438:7;11467:5;11456:16;;11446:32;;;:::o;11484:150::-;11546:9;11579:49;11622:5;11579:49;:::i;:::-;11566:62;;11556:78;;;:::o;11640:125::-;11702:9;11735:24;11753:5;11735:24;:::i;:::-;11722:37;;11712:53;;;:::o;11771:233::-;11810:3;11833:24;11851:5;11833:24;:::i;:::-;11824:33;;11879:66;11872:5;11869:77;11866:2;;;11949:18;;:::i;:::-;11866:2;11996:1;11989:5;11985:13;11978:20;;11814:190;;;:::o;12010:100::-;12049:7;12078:26;12098:5;12078:26;:::i;:::-;12067:37;;12057:53;;;:::o;12116:79::-;12155:7;12184:5;12173:16;;12163:32;;;:::o;12201:94::-;12240:7;12269:20;12283:5;12269:20;:::i;:::-;12258:31;;12248:47;;;:::o;12301:79::-;12340:7;12369:5;12358:16;;12348:32;;;:::o;12386:176::-;12418:1;12435:20;12453:1;12435:20;:::i;:::-;12430:25;;12469:20;12487:1;12469:20;:::i;:::-;12464:25;;12508:1;12498:2;;12513:18;;:::i;:::-;12498:2;12554:1;12551;12547:9;12542:14;;12420:142;;;;:::o;12568:180::-;12616:77;12613:1;12606:88;12713:4;12710:1;12703:15;12737:4;12734:1;12727:15;12754:180;12802:77;12799:1;12792:88;12899:4;12896:1;12889:15;12923:4;12920:1;12913:15;12940:94;12973:8;13021:5;13017:2;13013:14;12992:35;;12982:52;;;:::o;13040:227::-;13180:34;13176:1;13168:6;13164:14;13157:58;13249:10;13244:2;13236:6;13232:15;13225:35;13146:121;:::o;13273:220::-;13413:34;13409:1;13401:6;13397:14;13390:58;13482:3;13477:2;13469:6;13465:15;13458:28;13379:114;:::o;13499:225::-;13639:34;13635:1;13627:6;13623:14;13616:58;13708:8;13703:2;13695:6;13691:15;13684:33;13605:119;:::o;13730:122::-;13803:24;13821:5;13803:24;:::i;:::-;13796:5;13793:35;13783:2;;13842:1;13839;13832:12;13783:2;13773:79;:::o;13858:116::-;13928:21;13943:5;13928:21;:::i;:::-;13921:5;13918:32;13908:2;;13964:1;13961;13954:12;13908:2;13898:76;:::o;13980:122::-;14053:24;14071:5;14053:24;:::i;:::-;14046:5;14043:35;14033:2;;14092:1;14089;14082:12;14033:2;14023:79;:::o;14108:122::-;14181:24;14199:5;14181:24;:::i;:::-;14174:5;14171:35;14161:2;;14220:1;14217;14210:12;14161:2;14151:79;:::o
Swarm Source
ipfs://e8053f489146c69ef1dc902966d91b9e8cacc17d128c399f7ef0f7bfe481b0eb
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.