Source Code
Latest 25 from a total of 51 transactions
| Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
| Claim | 20649940 | 540 days ago | IN | 0 ETH | 0.0000986 | ||||
| Claim | 19440084 | 709 days ago | IN | 0 ETH | 0.00245245 | ||||
| Claim | 18688589 | 815 days ago | IN | 0 ETH | 0.00245233 | ||||
| Claim | 16939100 | 1061 days ago | IN | 0 ETH | 0.00169574 | ||||
| Claim | 16654648 | 1101 days ago | IN | 0 ETH | 0.00142273 | ||||
| Claim | 16504900 | 1121 days ago | IN | 0 ETH | 0.00085442 | ||||
| Claim | 16481137 | 1125 days ago | IN | 0 ETH | 0.00110392 | ||||
| Claim | 16411012 | 1135 days ago | IN | 0 ETH | 0.00092126 | ||||
| Claim | 15927629 | 1202 days ago | IN | 0 ETH | 0.00984784 | ||||
| Claim | 15784579 | 1222 days ago | IN | 0 ETH | 0.00276256 | ||||
| Claim | 15407651 | 1278 days ago | IN | 0 ETH | 0.00039679 | ||||
| Claim | 15389746 | 1281 days ago | IN | 0 ETH | 0.00083882 | ||||
| Claim | 15316490 | 1292 days ago | IN | 0 ETH | 0.00115267 | ||||
| Claim | 15262781 | 1300 days ago | IN | 0 ETH | 0.00047688 | ||||
| Claim | 15076482 | 1329 days ago | IN | 0 ETH | 0.00337956 | ||||
| Claim | 15074186 | 1330 days ago | IN | 0 ETH | 0.00087094 | ||||
| Claim | 15045501 | 1334 days ago | IN | 0 ETH | 0.00195329 | ||||
| Claim | 15028934 | 1337 days ago | IN | 0 ETH | 0.00318225 | ||||
| Claim | 14951677 | 1351 days ago | IN | 0 ETH | 0.00881167 | ||||
| Claim | 14896602 | 1361 days ago | IN | 0 ETH | 0.00197883 | ||||
| Claim | 14885151 | 1362 days ago | IN | 0 ETH | 0.00363561 | ||||
| Claim | 14884416 | 1362 days ago | IN | 0 ETH | 0.00249351 | ||||
| Claim | 14867085 | 1365 days ago | IN | 0 ETH | 0.00141343 | ||||
| Claim | 14866998 | 1365 days ago | IN | 0 ETH | 0.00176381 | ||||
| Claim | 14866585 | 1365 days ago | IN | 0 ETH | 0.0016394 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
MerkleDistributor
Compiler Version
v0.7.6+commit.7338295f
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2022-05-13
*/
// SPDX-License-Identifier: UNLICENSED
pragma solidity 0.7.6;
interface IERC20 {
/**
* @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);
}
// MerkleDistributor for distributing SDT to veCRV holders
contract MerkleDistributor {
bytes32[] public merkleRoots;
bytes32 public pendingMerkleRoot;
uint256 public lastRoot;
// reward token 3CRV on mainnet
address public constant rewardToken = 0x6c3F90f043a72FA612cbac8115EE7e52BDe6E490;
// 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;
constructor(address _proposalAuthority, address _reviewAuthority) public {
proposalAuthority = _proposalAuthority;
reviewAuthority = _reviewAuthority;
}
function setProposalAuthority(address _account) public {
require(msg.sender == proposalAuthority);
proposalAuthority = _account;
}
function setReviewAuthority(address _account) public {
require(msg.sender == reviewAuthority);
reviewAuthority = _account;
}
// we modify time between two merkle to10hrs
function proposeMerkleRoot(bytes32 _merkleRoot) public {
require(msg.sender == proposalAuthority);
require(pendingMerkleRoot == 0x00);
require(block.timestamp > lastRoot + 36000);
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;
}
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);
IERC20(rewardToken).transfer(msg.sender, amount);
emit Claimed(merkleIndex, index, msg.sender, amount);
}
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;
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_proposalAuthority","type":"address"},{"internalType":"address","name":"_reviewAuthority","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":"proposeMerkleRoot","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":[],"name":"rewardToken","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","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"}]Contract Creation Code
608060405234801561001057600080fd5b5060405161083c38038061083c8339818101604052604081101561003357600080fd5b508051602090910151600380546001600160a01b039384166001600160a01b031991821617909155600480549390921692169190911790556107c28061007a6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c8063a1622bb011610071578063a1622bb014610161578063b58166f214610180578063b74a29ce14610188578063ea25e176146101ae578063f364c90c14610231578063f7c618c114610268576100b4565b806310531aa2146100b95780631afd7fe9146100dd57806371c5ecb1146100fc57806371fad23e1461012b578063891dfef3146101515780639637f47514610159575b600080fd5b6100c1610270565b604080516001600160a01b039092168252519081900360200190f35b6100fa600480360360208110156100f357600080fd5b503561027f565b005b6101196004803603602081101561011257600080fd5b50356102ba565b60408051918252519081900360200190f35b6100fa6004803603602081101561014157600080fd5b50356001600160a01b03166102db565b6100c1610314565b610119610323565b6100fa6004803603602081101561017757600080fd5b50351515610329565b610119610393565b6100fa6004803603602081101561019e57600080fd5b50356001600160a01b0316610399565b6100fa600480360360808110156101c457600080fd5b813591602081013591604082013591908101906080810160608201356401000000008111156101f257600080fd5b82018360208201111561020457600080fd5b8035906020019184602083028401116401000000008311171561022657600080fd5b5090925090506103d2565b6102546004803603604081101561024757600080fd5b50803590602001356105f9565b604080519115158252519081900360200190f35b6100c161062a565b6004546001600160a01b031681565b6003546001600160a01b0316331461029657600080fd5b600154156102a357600080fd5b600254618ca00142116102b557600080fd5b600155565b600081815481106102ca57600080fd5b600091825260209091200154905081565b6003546001600160a01b031633146102f257600080fd5b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6003546001600160a01b031681565b60015481565b6004546001600160a01b0316331461034057600080fd5b60015461034c57600080fd5b801561038b576001805460008054928301815580527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56390910155426002555b506000600155565b60025481565b6004546001600160a01b031633146103b057600080fd5b600480546001600160a01b0319166001600160a01b0392909216919091179055565b60005485106104125760405162461bcd60e51b81526004018080602001828103825260268152602001806107676026913960400191505060405180910390fd5b61041c85856105f9565b156104585760405162461bcd60e51b815260040180806020018281038252602881526020018061071e6028913960400191505060405180910390fd5b6040805160208082018790523360601b828401526054808301879052835180840390910181526074830180855281519183019190912060949286028085018401909552858252936104e093919287928792839290910190849080828437600092018290525080549093508b9250821090506104cf57fe5b906000526020600020015483610642565b61051b5760405162461bcd60e51b81526004018080602001828103825260218152602001806107466021913960400191505060405180910390fd5b61052586866106eb565b6040805163a9059cbb60e01b8152336004820152602481018690529051736c3f90f043a72fa612cbac8115ee7e52bde6e4909163a9059cbb9160448083019260209291908290030181600087803b15801561057f57600080fd5b505af1158015610593573d6000803e3d6000fd5b505050506040513d60208110156105a957600080fd5b5050604080518781526020810187905233818301526060810186905290517fb94bf7f9302edf52a596286915a69b4b0685574cffdedd0712e3c62f2550f0ba9181900360800190a1505050505050565b60009182526005602090815260408084206101008404855290915290912054600160ff9092169190911b9081161490565b736c3f90f043a72fa612cbac8115ee7e52bde6e49081565b600081815b85518110156106e057600086828151811061065e57fe5b602002602001015190508083116106a557828160405160200180838152602001828152602001925050506040516020818303038152906040528051906020012092506106d7565b808360405160200180838152602001828152602001925050506040516020818303038152906040528051906020012092505b50600101610647565b509092149392505050565b6000918252600560209081526040808420610100840485529091529091208054600160ff9093169290921b909117905556fe4d65726b6c654469737472696275746f723a2044726f7020616c726561647920636c61696d65642e4d65726b6c654469737472696275746f723a20496e76616c69642070726f6f662e4d65726b6c654469737472696275746f723a20496e76616c6964206d65726b6c65496e646578a2646970667358221220a1cd27beeb90f311707c83ebbb8887e9a9e85b653df8d6b986bf14ba773d16f564736f6c63430007060033000000000000000000000000b36a0671b3d49587236d7833b01e79798175875f000000000000000000000000b36a0671b3d49587236d7833b01e79798175875f
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100b45760003560e01c8063a1622bb011610071578063a1622bb014610161578063b58166f214610180578063b74a29ce14610188578063ea25e176146101ae578063f364c90c14610231578063f7c618c114610268576100b4565b806310531aa2146100b95780631afd7fe9146100dd57806371c5ecb1146100fc57806371fad23e1461012b578063891dfef3146101515780639637f47514610159575b600080fd5b6100c1610270565b604080516001600160a01b039092168252519081900360200190f35b6100fa600480360360208110156100f357600080fd5b503561027f565b005b6101196004803603602081101561011257600080fd5b50356102ba565b60408051918252519081900360200190f35b6100fa6004803603602081101561014157600080fd5b50356001600160a01b03166102db565b6100c1610314565b610119610323565b6100fa6004803603602081101561017757600080fd5b50351515610329565b610119610393565b6100fa6004803603602081101561019e57600080fd5b50356001600160a01b0316610399565b6100fa600480360360808110156101c457600080fd5b813591602081013591604082013591908101906080810160608201356401000000008111156101f257600080fd5b82018360208201111561020457600080fd5b8035906020019184602083028401116401000000008311171561022657600080fd5b5090925090506103d2565b6102546004803603604081101561024757600080fd5b50803590602001356105f9565b604080519115158252519081900360200190f35b6100c161062a565b6004546001600160a01b031681565b6003546001600160a01b0316331461029657600080fd5b600154156102a357600080fd5b600254618ca00142116102b557600080fd5b600155565b600081815481106102ca57600080fd5b600091825260209091200154905081565b6003546001600160a01b031633146102f257600080fd5b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6003546001600160a01b031681565b60015481565b6004546001600160a01b0316331461034057600080fd5b60015461034c57600080fd5b801561038b576001805460008054928301815580527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56390910155426002555b506000600155565b60025481565b6004546001600160a01b031633146103b057600080fd5b600480546001600160a01b0319166001600160a01b0392909216919091179055565b60005485106104125760405162461bcd60e51b81526004018080602001828103825260268152602001806107676026913960400191505060405180910390fd5b61041c85856105f9565b156104585760405162461bcd60e51b815260040180806020018281038252602881526020018061071e6028913960400191505060405180910390fd5b6040805160208082018790523360601b828401526054808301879052835180840390910181526074830180855281519183019190912060949286028085018401909552858252936104e093919287928792839290910190849080828437600092018290525080549093508b9250821090506104cf57fe5b906000526020600020015483610642565b61051b5760405162461bcd60e51b81526004018080602001828103825260218152602001806107466021913960400191505060405180910390fd5b61052586866106eb565b6040805163a9059cbb60e01b8152336004820152602481018690529051736c3f90f043a72fa612cbac8115ee7e52bde6e4909163a9059cbb9160448083019260209291908290030181600087803b15801561057f57600080fd5b505af1158015610593573d6000803e3d6000fd5b505050506040513d60208110156105a957600080fd5b5050604080518781526020810187905233818301526060810186905290517fb94bf7f9302edf52a596286915a69b4b0685574cffdedd0712e3c62f2550f0ba9181900360800190a1505050505050565b60009182526005602090815260408084206101008404855290915290912054600160ff9092169190911b9081161490565b736c3f90f043a72fa612cbac8115ee7e52bde6e49081565b600081815b85518110156106e057600086828151811061065e57fe5b602002602001015190508083116106a557828160405160200180838152602001828152602001925050506040516020818303038152906040528051906020012092506106d7565b808360405160200180838152602001828152602001925050506040516020818303038152906040528051906020012092505b50600101610647565b509092149392505050565b6000918252600560209081526040808420610100840485529091529091208054600160ff9093169290921b909117905556fe4d65726b6c654469737472696275746f723a2044726f7020616c726561647920636c61696d65642e4d65726b6c654469737472696275746f723a20496e76616c69642070726f6f662e4d65726b6c654469737472696275746f723a20496e76616c6964206d65726b6c65496e646578a2646970667358221220a1cd27beeb90f311707c83ebbb8887e9a9e85b653df8d6b986bf14ba773d16f564736f6c63430007060033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000b36a0671b3d49587236d7833b01e79798175875f000000000000000000000000b36a0671b3d49587236d7833b01e79798175875f
-----Decoded View---------------
Arg [0] : _proposalAuthority (address): 0xb36a0671B3D49587236d7833B01E79798175875f
Arg [1] : _reviewAuthority (address): 0xb36a0671B3D49587236d7833B01E79798175875f
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000b36a0671b3d49587236d7833b01e79798175875f
Arg [1] : 000000000000000000000000b36a0671b3d49587236d7833b01e79798175875f
Deployed Bytecode Sourcemap
441:4091:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;862:30;;;:::i;:::-;;;;-1:-1:-1;;;;;862:30:0;;;;;;;;;;;;;;1642:237;;;;;;;;;;;;;;;;-1:-1:-1;1642:237:0;;:::i;:::-;;473:28;;;;;;;;;;;;;;;;-1:-1:-1;473:28:0;;:::i;:::-;;;;;;;;;;;;;;;;1302:143;;;;;;;;;;;;;;;;-1:-1:-1;1302:143:0;-1:-1:-1;;;;;1302:143:0;;:::i;756:32::-;;;:::i;506:::-;;;:::i;2034:287::-;;;;;;;;;;;;;;;;-1:-1:-1;2034:287:0;;;;:::i;543:23::-;;;:::i;1451:137::-;;;;;;;;;;;;;;;;-1:-1:-1;1451:137:0;-1:-1:-1;;;;;1451:137:0;;:::i;2988:797::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2988:797:0;;-1:-1:-1;2988:797:0;-1:-1:-1;2988:797:0;:::i;2327:352::-;;;;;;;;;;;;;;;;-1:-1:-1;2327:352:0;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;608:80;;;:::i;862:30::-;;;-1:-1:-1;;;;;862:30:0;;:::o;1642:237::-;1726:17;;-1:-1:-1;;;;;1726:17:0;1712:10;:31;1704:40;;;;;;1759:17;;:25;1751:34;;;;;;1818:8;;1829:5;1818:16;1800:15;:34;1792:43;;;;;;1842:17;:31;1642:237::o;473:28::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;473:28:0;:::o;1302:143::-;1386:17;;-1:-1:-1;;;;;1386:17:0;1372:10;:31;1364:40;;;;;;1411:17;:28;;-1:-1:-1;;;;;;1411:28:0;-1:-1:-1;;;;;1411:28:0;;;;;;;;;;1302:143::o;756:32::-;;;-1:-1:-1;;;;;756:32:0;;:::o;506:::-;;;;:::o;2034:287::-;2119:15;;-1:-1:-1;;;;;2119:15:0;2105:10;:29;2097:38;;;;;;2150:17;;2142:34;;;;;;2187:9;2183:102;;;2224:17;;;2207:11;:35;;;;;;;;;;;;;;2262:15;2251:8;:26;2183:102;-1:-1:-1;2291:24:0;2298:17;2291:24;2034:287::o;543:23::-;;;;:::o;1451:137::-;1533:15;;-1:-1:-1;;;;;1533:15:0;1519:10;:29;1511:38;;;;;;1556:15;:26;;-1:-1:-1;;;;;;1556:26:0;-1:-1:-1;;;;;1556:26:0;;;;;;;;;;1451:137::o;2988:797::-;3158:11;:18;3144:32;;3128:104;;;;-1:-1:-1;;;3128:104:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3256:29;3266:11;3279:5;3256:9;:29::i;:::-;3255:30;3239:104;;;;-1:-1:-1;;;3239:104:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3410:43;;;;;;;;;;3434:10;3410:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3400:54;;;;;;;;;3477:51;;;;;;;;;;;;;;;3400:54;3477:51;;3410:43;;3484:11;;;;;;3477:51;;;;3484:11;;3477:51;3484:11;3477:51;;;;;;;;-1:-1:-1;3497:24:0;;3477:51;;-1:-1:-1;3509:11:0;;-1:-1:-1;3497:24:0;;;-1:-1:-1;3497:24:0;;;;;;;;;;;;3523:4;3477:6;:51::i;:::-;3461:118;;;;-1:-1:-1;;;3461:118:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3632:31;3644:11;3657:5;3632:11;:31::i;:::-;3670:48;;;-1:-1:-1;;;3670:48:0;;3699:10;3670:48;;;;;;;;;;;;646:42;;3670:28;;:48;;;;;;;;;;;;;;-1:-1:-1;646:42:0;3670:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3732:47:0;;;;;;3670:48;3732:47;;;;;3760:10;3732:47;;;;;;;;;;;;;;;;;;;;;2988:797;;;;;;:::o;2327:352::-;2418:4;2545:26;;;:13;:26;;;;;;;;2469:3;2461:11;;2545:44;;;;;;;;;2612:1;2505:11;;;;2612:20;;;;2647:18;;;:26;;2327:352::o;608:80::-;646:42;608:80;:::o;3791:738::-;3902:4;3938;3902;3951:465;3975:5;:12;3971:1;:16;3951:465;;;4003:20;4026:5;4032:1;4026:8;;;;;;;;;;;;;;4003:31;;4065:12;4049;:28;4045:364;;4203:12;4217;4186:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4176:55;;;;;;4161:70;;4045:364;;;4371:12;4385;4354:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4344:55;;;;;;4329:70;;4045:364;-1:-1:-1;3989:3:0;;3951:465;;;-1:-1:-1;4503:20:0;;;;3791:738;-1:-1:-1;;;3791:738:0:o;2685:297::-;2757:24;2900:26;;;:13;:26;;;;;;;;2792:3;2784:11;;2900:44;;;;;;;;;;2955:1;2828:11;;;;2955:20;;;;2900:76;;;2846:130;;2685:297::o
Swarm Source
ipfs://a1cd27beeb90f311707c83ebbb8887e9a9e85b653df8d6b986bf14ba773d16f5
Loading...
Loading
Loading...
Loading
Net Worth in USD
$8,644.18
Net Worth in ETH
4.516211
Token Allocations
3CRV
100.00%
Multichain Portfolio | 34 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|---|---|---|---|---|
| ETH | 100.00% | $1.04 | 8,311.7118 | $8,644.18 |
Loading...
Loading
Loading...
Loading
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.