Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 39 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Set Delegation | 21693574 | 11 days ago | IN | 0 ETH | 0.01660374 | ||||
Set Delegation | 21691622 | 11 days ago | IN | 0 ETH | 0.00058706 | ||||
Set Delegation | 21463799 | 43 days ago | IN | 0 ETH | 0.00328382 | ||||
Set Delegation | 21397891 | 52 days ago | IN | 0 ETH | 0.00115428 | ||||
Set Delegation | 21387115 | 53 days ago | IN | 0 ETH | 0.00357044 | ||||
Set Delegation | 21345070 | 59 days ago | IN | 0 ETH | 0.00361907 | ||||
Set Delegation | 21341157 | 60 days ago | IN | 0 ETH | 0.00144843 | ||||
Set Delegation | 21338672 | 60 days ago | IN | 0 ETH | 0.00379096 | ||||
Set Delegation | 21337516 | 60 days ago | IN | 0 ETH | 0.00318329 | ||||
Set Delegation | 21335290 | 61 days ago | IN | 0 ETH | 0.00388878 | ||||
Set Delegation | 21331231 | 61 days ago | IN | 0 ETH | 0.00126888 | ||||
Set Delegation | 21331181 | 61 days ago | IN | 0 ETH | 0.00493023 | ||||
Set Delegation | 21330174 | 61 days ago | IN | 0 ETH | 0.0083292 | ||||
Set Delegation | 21322785 | 62 days ago | IN | 0 ETH | 0.00801467 | ||||
Set Delegation | 21322079 | 62 days ago | IN | 0 ETH | 0.0030989 | ||||
Set Delegation | 21321367 | 63 days ago | IN | 0 ETH | 0.00208649 | ||||
Set Delegation | 21310217 | 64 days ago | IN | 0 ETH | 0.00224042 | ||||
Set Delegation | 21306239 | 65 days ago | IN | 0 ETH | 0.00229115 | ||||
Set Delegation | 21292114 | 67 days ago | IN | 0 ETH | 0.00028411 | ||||
Set Delegation | 21287059 | 67 days ago | IN | 0 ETH | 0.00160402 | ||||
Set Delegation | 21278326 | 69 days ago | IN | 0 ETH | 0.00104907 | ||||
Set Delegation | 21244999 | 73 days ago | IN | 0 ETH | 0.00174836 | ||||
Set Delegation | 21239073 | 74 days ago | IN | 0 ETH | 0.00143535 | ||||
Set Delegation | 21228770 | 75 days ago | IN | 0 ETH | 0.0013276 | ||||
Set Delegation | 21227749 | 76 days ago | IN | 0 ETH | 0.0015601 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
DelegateRegistry
Compiler Version
v0.8.17+commit.8df45f5f
Optimization Enabled:
Yes with 10000 runs
Other Settings:
london EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: LGPL-3.0-only /* ____ _ _ | _ \ ___| | ___ __ _ __ _| |_ ___ | | | |/ _ \ |/ _ \/ _` |/ _` | __/ _ \ | |_| | __/ | __/ (_| | (_| | || __/ |____/ \___|_|\___|\__, |\__,_|\__\___| ____ _ |___/ | _ \ ___ __ _(_)___| |_ _ __ _ _ | |_) / _ \/ _` | / __| __| '__| | | | | _ < __/ (_| | \__ \ |_| | | |_| | |_| \_\___|\__, |_|___/\__|_| \__, | |___/ |___/ Made with ❤️ by Gnosis Guild */ pragma solidity ^0.8.17; struct Delegation { bytes32 delegate; uint256 ratio; } contract DelegateRegistry { // Mapping from account address => context => array of user-defined delegations. mapping(address => mapping(string => Delegation[])) private delegations; // Mapping from account address => context => user-defined delegation expiration dates. mapping(address => mapping(string => uint256)) private expirationTimestamps; // Mapping from delegate address => context => opt-out status mapping(address => mapping(string => bool)) public optouts; event ExpirationUpdated( address indexed account, string context, Delegation[] delegation, uint256 expirationTimestamp ); event DelegationUpdated( address indexed account, string context, Delegation[] previousDelegation, Delegation[] delegation, uint256 expirationTimestamp ); event DelegationCleared( address indexed account, string context, Delegation[] delegatesCleared ); event OptOutStatusSet( address indexed delegate, string context, bool optout ); /// @dev Delegation is already set to this value. error DuplicateDelegation(address emitter, Delegation[] delegation); /// @dev Duplicate expiration timestamp. error DuplicateTimestamp(address emitter, uint256 expirationTimestamp); /// @dev Given delegate is 0 or a duplicate. error InvalidDelegateID(address emiter, bytes32 delegate); /// @dev Duplicate opt-out status error DuplicateOptoutStatus(address emitter, string context, bool optout); /// @dev Sets a delegate for the msg.sender and a specific context. /// @param context ID of the context in which delegation should be set. /// @param delegation Array of delegations. Must be sorted in numerical order, from smallest to largets. /// @param expirationTimestamp Unix timestamp for at which this delegation should expire. /// @notice setDelegation() will overrite the user's previous delegation for the given context. function setDelegation( string memory context, Delegation[] memory delegation, uint256 expirationTimestamp ) public { bytes32 currentDelegationHash = keccak256( abi.encode(delegations[msg.sender][context]) ); bytes32 delegationHash = keccak256(abi.encode(delegation)); if ( currentDelegationHash == delegationHash && expirationTimestamps[msg.sender][context] == expirationTimestamp ) revert DuplicateDelegation(address(this), delegation); emit DelegationUpdated( msg.sender, context, delegations[msg.sender][context], delegation, expirationTimestamp ); delete delegations[msg.sender][context]; // Update delegation mapping bytes32 previous; for (uint i = 0; i < delegation.length; i++) { if (delegation[i].delegate <= previous) revert InvalidDelegateID(address(this), delegation[i].delegate); delegations[msg.sender][context].push(delegation[i]); previous = delegation[i].delegate; } // set delegation expiration expirationTimestamps[msg.sender][context] = expirationTimestamp; } /// @dev Clears msg.sender's delegation in a given context. /// @param context ID of the context in which delegation should be cleared. function clearDelegation(string memory context) public { emit DelegationCleared( msg.sender, context, delegations[msg.sender][context] ); delete delegations[msg.sender][context]; delete expirationTimestamps[msg.sender][context]; } /// @dev Sets msg.senders expiration timestamp for a given context. /// @param context ID of the context in which the timestamp should be set. /// @param expirationTimestamp Unix timestamp at which the delegations in this context should expire. function setExpiration( string memory context, uint256 expirationTimestamp ) public { if (expirationTimestamps[msg.sender][context] == expirationTimestamp) revert DuplicateTimestamp(address(this), expirationTimestamp); expirationTimestamps[msg.sender][context] = expirationTimestamp; emit ExpirationUpdated( msg.sender, context, delegations[msg.sender][context], expirationTimestamp ); } /// @dev Sets an "opt-out" status, allowing users to signal a desire to opt-out of receiving delegations. /// @param context Context in which the user wishes to set their opt-out status. /// @param _optout opt-out status. function optout(string memory context, bool _optout) public { if (optouts[msg.sender][context] == _optout) revert DuplicateOptoutStatus(address(this), context, _optout); optouts[msg.sender][context] = _optout; emit OptOutStatusSet(msg.sender, context, _optout); } /// @dev Returns the delegation details for a given account in a given context. /// @param context ID of the context to query. /// @param account Address of the account to query. /// @return delegation Array of delegations. /// @return expirationTimestamp Unix timestamp at which this delegation will expire. function getDelegation( string memory context, address account ) public view returns (Delegation[] memory delegation, uint256 expirationTimestamp) { delegation = delegations[account][context]; expirationTimestamp = expirationTimestamps[account][context]; } }
{ "remappings": [ "forge-std/=lib/forge-std/src/" ], "optimizer": { "enabled": true, "runs": 10000 }, "metadata": { "useLiteralContent": false, "bytecodeHash": "none" }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "evmVersion": "london", "viaIR": false, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"emitter","type":"address"},{"components":[{"internalType":"bytes32","name":"delegate","type":"bytes32"},{"internalType":"uint256","name":"ratio","type":"uint256"}],"internalType":"struct Delegation[]","name":"delegation","type":"tuple[]"}],"name":"DuplicateDelegation","type":"error"},{"inputs":[{"internalType":"address","name":"emitter","type":"address"},{"internalType":"string","name":"context","type":"string"},{"internalType":"bool","name":"optout","type":"bool"}],"name":"DuplicateOptoutStatus","type":"error"},{"inputs":[{"internalType":"address","name":"emitter","type":"address"},{"internalType":"uint256","name":"expirationTimestamp","type":"uint256"}],"name":"DuplicateTimestamp","type":"error"},{"inputs":[{"internalType":"address","name":"emiter","type":"address"},{"internalType":"bytes32","name":"delegate","type":"bytes32"}],"name":"InvalidDelegateID","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"string","name":"context","type":"string"},{"components":[{"internalType":"bytes32","name":"delegate","type":"bytes32"},{"internalType":"uint256","name":"ratio","type":"uint256"}],"indexed":false,"internalType":"struct Delegation[]","name":"delegatesCleared","type":"tuple[]"}],"name":"DelegationCleared","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"string","name":"context","type":"string"},{"components":[{"internalType":"bytes32","name":"delegate","type":"bytes32"},{"internalType":"uint256","name":"ratio","type":"uint256"}],"indexed":false,"internalType":"struct Delegation[]","name":"previousDelegation","type":"tuple[]"},{"components":[{"internalType":"bytes32","name":"delegate","type":"bytes32"},{"internalType":"uint256","name":"ratio","type":"uint256"}],"indexed":false,"internalType":"struct Delegation[]","name":"delegation","type":"tuple[]"},{"indexed":false,"internalType":"uint256","name":"expirationTimestamp","type":"uint256"}],"name":"DelegationUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"string","name":"context","type":"string"},{"components":[{"internalType":"bytes32","name":"delegate","type":"bytes32"},{"internalType":"uint256","name":"ratio","type":"uint256"}],"indexed":false,"internalType":"struct Delegation[]","name":"delegation","type":"tuple[]"},{"indexed":false,"internalType":"uint256","name":"expirationTimestamp","type":"uint256"}],"name":"ExpirationUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"delegate","type":"address"},{"indexed":false,"internalType":"string","name":"context","type":"string"},{"indexed":false,"internalType":"bool","name":"optout","type":"bool"}],"name":"OptOutStatusSet","type":"event"},{"inputs":[{"internalType":"string","name":"context","type":"string"}],"name":"clearDelegation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"context","type":"string"},{"internalType":"address","name":"account","type":"address"}],"name":"getDelegation","outputs":[{"components":[{"internalType":"bytes32","name":"delegate","type":"bytes32"},{"internalType":"uint256","name":"ratio","type":"uint256"}],"internalType":"struct Delegation[]","name":"delegation","type":"tuple[]"},{"internalType":"uint256","name":"expirationTimestamp","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"context","type":"string"},{"internalType":"bool","name":"_optout","type":"bool"}],"name":"optout","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"string","name":"","type":"string"}],"name":"optouts","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"context","type":"string"},{"components":[{"internalType":"bytes32","name":"delegate","type":"bytes32"},{"internalType":"uint256","name":"ratio","type":"uint256"}],"internalType":"struct Delegation[]","name":"delegation","type":"tuple[]"},{"internalType":"uint256","name":"expirationTimestamp","type":"uint256"}],"name":"setDelegation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"context","type":"string"},{"internalType":"uint256","name":"expirationTimestamp","type":"uint256"}],"name":"setExpiration","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b50610f82806100206000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c80634cd443b9116100505780634cd443b9146100c9578063ce2f6ef5146100dc578063e0653453146100ef57600080fd5b80631e61206a1461007757806332aeba931461008c57806343953e911461009f575b600080fd5b61008a6100853660046109ad565b61013e565b005b61008a61009a366004610aa6565b610457565b6100b26100ad366004610b14565b610561565b6040516100c0929190610ba8565b60405180910390f35b61008a6100d7366004610bca565b610661565b61008a6100ea366004610c07565b61072f565b61012e6100fd366004610c5e565b6002602090815260009283526040909220815180830184018051928152908401929093019190912091525460ff1681565b60405190151581526020016100c0565b33600090815260208190526040808220905161015b908690610cd0565b90815260200160405180910390206040516020016101799190610d2d565b6040516020818303038152906040528051906020012090506000836040516020016101a49190610d47565b60405160208183030381529060405280519060200120905080821480156101f85750336000908152600160205260409081902090518491906101e7908890610cd0565b908152602001604051809103902054145b1561023c5730846040517f1dd0547d000000000000000000000000000000000000000000000000000000008152600401610233929190610d5a565b60405180910390fd5b336000818152602081905260409081902090517fbbfaebc0e35c81daa40cc3d21316def67a6456e2b1c91d5f8ad1de9b721de37b91889161027e908390610cd0565b90815260405190819003602001812061029b929189908990610dd3565b60405180910390a2336000908152602081905260409081902090516102c1908790610cd0565b908152602001604051809103902060006102db9190610835565b6000805b855181101561041d57818682815181106102fb576102fb610e1e565b6020026020010151600001511161037b573086828151811061031f5761031f610e1e565b6020908102919091010151516040517ff3458b1700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90921660048301526024820152604401610233565b33600090815260208190526040908190209051610399908990610cd0565b90815260200160405180910390208682815181106103b9576103b9610e1e565b602090810291909101810151825460018181018555600094855293839020825160029092020190815591015191015585518690829081106103fc576103fc610e1e565b6020026020010151600001519150808061041590610e4d565b9150506102df565b503360009081526001602052604090819020905185919061043f908990610cd0565b90815260405190819003602001902055505050505050565b33600090815260016020526040908190209051829190610478908590610cd0565b908152602001604051809103902054036104c7576040517f5fd7432600000000000000000000000000000000000000000000000000000000815230600482015260248101829052604401610233565b336000908152600160205260409081902090518291906104e8908590610cd0565b908152604080519182900360209081018320939093553360008181529384905292207fa32227b2030924096f77f3098d1a4bd08f954c5c03672df745323d1c782b959b9185919061053a908390610cd0565b90815260405190819003602001812061055592918690610eac565b60405180910390a25050565b73ffffffffffffffffffffffffffffffffffffffff811660009081526020819052604080822090516060929190610599908690610cd0565b9081526020016040518091039020805480602002602001604051908101604052809291908181526020016000905b8282101561060d578382906000526020600020906002020160405180604001604052908160008201548152602001600182015481525050815260200190600101906105c7565b50505073ffffffffffffffffffffffffffffffffffffffff85166000908152600160205260409081902090519294509161064991508690610cd0565b90815260200160405180910390205490509250929050565b336000818152602081905260409081902090517fbd98d3f04eeb1303945395a3f2e81f61bd3850805868eb03afa6f491295ed8d49184916106a3908390610cd0565b9081526040519081900360200181206106bc9291610ee2565b60405180910390a2336000908152602081905260409081902090516106e2908390610cd0565b908152602001604051809103902060006106fc9190610835565b3360009081526001602052604090819020905161071a908390610cd0565b90815260200160405180910390206000905550565b336000908152600260205260409081902090518215159190610752908590610cd0565b9081526040519081900360200190205460ff161515036107a4573082826040517f61224be100000000000000000000000000000000000000000000000000000000815260040161023393929190610f10565b336000908152600260205260409081902090518291906107c5908590610cd0565b90815260405190819003602001812080549215157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff009093169290921790915533907f7e87855f33013e8d674833df5eab0f65055b248901ff9059f5482da853f76347906105559085908590610f51565b50805460008255600202906000526020600020908101906108569190610859565b50565b5b80821115610874576000808255600182015560020161085a565b5090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156108ca576108ca610878565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561091757610917610878565b604052919050565b600082601f83011261093057600080fd5b813567ffffffffffffffff81111561094a5761094a610878565b61097b60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016108d0565b81815284602083860101111561099057600080fd5b816020850160208301376000918101602001919091529392505050565b6000806000606084860312156109c257600080fd5b833567ffffffffffffffff808211156109da57600080fd5b6109e68783880161091f565b94506020915081860135818111156109fd57600080fd5b8601601f81018813610a0e57600080fd5b803582811115610a2057610a20610878565b610a2e848260051b016108d0565b818152848101935060069190911b820184019089821115610a4e57600080fd5b918401915b81831015610a91576040838b031215610a6c5760008081fd5b610a746108a7565b833581528584013586820152845292840192604090920191610a53565b96999698505050506040949094013593505050565b60008060408385031215610ab957600080fd5b823567ffffffffffffffff811115610ad057600080fd5b610adc8582860161091f565b95602094909401359450505050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610b0f57600080fd5b919050565b60008060408385031215610b2757600080fd5b823567ffffffffffffffff811115610b3e57600080fd5b610b4a8582860161091f565b925050610b5960208401610aeb565b90509250929050565b600081518084526020808501945080840160005b83811015610b9d578151805188528301518388015260409096019590820190600101610b76565b509495945050505050565b604081526000610bbb6040830185610b62565b90508260208301529392505050565b600060208284031215610bdc57600080fd5b813567ffffffffffffffff811115610bf357600080fd5b610bff8482850161091f565b949350505050565b60008060408385031215610c1a57600080fd5b823567ffffffffffffffff811115610c3157600080fd5b610c3d8582860161091f565b92505060208301358015158114610c5357600080fd5b809150509250929050565b60008060408385031215610c7157600080fd5b610c7a83610aeb565b9150602083013567ffffffffffffffff811115610c9657600080fd5b610ca28582860161091f565b9150509250929050565b60005b83811015610cc7578181015183820152602001610caf565b50506000910152565b60008251610ce2818460208701610cac565b9190910192915050565b6000815480845260208085019450836000528060002060005b83811015610b9d57815487526001808301548489015260409097019660029092019101610d05565b602081526000610d406020830184610cec565b9392505050565b602081526000610d406020830184610b62565b73ffffffffffffffffffffffffffffffffffffffff83168152604060208201526000610bff6040830184610b62565b60008151808452610da1816020860160208601610cac565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b608081526000610de66080830187610d89565b8281036020840152610df88187610cec565b90508281036040840152610e0c8186610b62565b91505082606083015295945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610ea5577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b606081526000610ebf6060830186610d89565b8281036020840152610ed18186610cec565b915050826040830152949350505050565b604081526000610ef56040830185610d89565b8281036020840152610f078185610cec565b95945050505050565b73ffffffffffffffffffffffffffffffffffffffff84168152606060208201526000610f3f6060830185610d89565b90508215156040830152949350505050565b604081526000610f646040830185610d89565b90508215156020830152939250505056fea164736f6c6343000811000a
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100725760003560e01c80634cd443b9116100505780634cd443b9146100c9578063ce2f6ef5146100dc578063e0653453146100ef57600080fd5b80631e61206a1461007757806332aeba931461008c57806343953e911461009f575b600080fd5b61008a6100853660046109ad565b61013e565b005b61008a61009a366004610aa6565b610457565b6100b26100ad366004610b14565b610561565b6040516100c0929190610ba8565b60405180910390f35b61008a6100d7366004610bca565b610661565b61008a6100ea366004610c07565b61072f565b61012e6100fd366004610c5e565b6002602090815260009283526040909220815180830184018051928152908401929093019190912091525460ff1681565b60405190151581526020016100c0565b33600090815260208190526040808220905161015b908690610cd0565b90815260200160405180910390206040516020016101799190610d2d565b6040516020818303038152906040528051906020012090506000836040516020016101a49190610d47565b60405160208183030381529060405280519060200120905080821480156101f85750336000908152600160205260409081902090518491906101e7908890610cd0565b908152602001604051809103902054145b1561023c5730846040517f1dd0547d000000000000000000000000000000000000000000000000000000008152600401610233929190610d5a565b60405180910390fd5b336000818152602081905260409081902090517fbbfaebc0e35c81daa40cc3d21316def67a6456e2b1c91d5f8ad1de9b721de37b91889161027e908390610cd0565b90815260405190819003602001812061029b929189908990610dd3565b60405180910390a2336000908152602081905260409081902090516102c1908790610cd0565b908152602001604051809103902060006102db9190610835565b6000805b855181101561041d57818682815181106102fb576102fb610e1e565b6020026020010151600001511161037b573086828151811061031f5761031f610e1e565b6020908102919091010151516040517ff3458b1700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90921660048301526024820152604401610233565b33600090815260208190526040908190209051610399908990610cd0565b90815260200160405180910390208682815181106103b9576103b9610e1e565b602090810291909101810151825460018181018555600094855293839020825160029092020190815591015191015585518690829081106103fc576103fc610e1e565b6020026020010151600001519150808061041590610e4d565b9150506102df565b503360009081526001602052604090819020905185919061043f908990610cd0565b90815260405190819003602001902055505050505050565b33600090815260016020526040908190209051829190610478908590610cd0565b908152602001604051809103902054036104c7576040517f5fd7432600000000000000000000000000000000000000000000000000000000815230600482015260248101829052604401610233565b336000908152600160205260409081902090518291906104e8908590610cd0565b908152604080519182900360209081018320939093553360008181529384905292207fa32227b2030924096f77f3098d1a4bd08f954c5c03672df745323d1c782b959b9185919061053a908390610cd0565b90815260405190819003602001812061055592918690610eac565b60405180910390a25050565b73ffffffffffffffffffffffffffffffffffffffff811660009081526020819052604080822090516060929190610599908690610cd0565b9081526020016040518091039020805480602002602001604051908101604052809291908181526020016000905b8282101561060d578382906000526020600020906002020160405180604001604052908160008201548152602001600182015481525050815260200190600101906105c7565b50505073ffffffffffffffffffffffffffffffffffffffff85166000908152600160205260409081902090519294509161064991508690610cd0565b90815260200160405180910390205490509250929050565b336000818152602081905260409081902090517fbd98d3f04eeb1303945395a3f2e81f61bd3850805868eb03afa6f491295ed8d49184916106a3908390610cd0565b9081526040519081900360200181206106bc9291610ee2565b60405180910390a2336000908152602081905260409081902090516106e2908390610cd0565b908152602001604051809103902060006106fc9190610835565b3360009081526001602052604090819020905161071a908390610cd0565b90815260200160405180910390206000905550565b336000908152600260205260409081902090518215159190610752908590610cd0565b9081526040519081900360200190205460ff161515036107a4573082826040517f61224be100000000000000000000000000000000000000000000000000000000815260040161023393929190610f10565b336000908152600260205260409081902090518291906107c5908590610cd0565b90815260405190819003602001812080549215157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff009093169290921790915533907f7e87855f33013e8d674833df5eab0f65055b248901ff9059f5482da853f76347906105559085908590610f51565b50805460008255600202906000526020600020908101906108569190610859565b50565b5b80821115610874576000808255600182015560020161085a565b5090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156108ca576108ca610878565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561091757610917610878565b604052919050565b600082601f83011261093057600080fd5b813567ffffffffffffffff81111561094a5761094a610878565b61097b60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016108d0565b81815284602083860101111561099057600080fd5b816020850160208301376000918101602001919091529392505050565b6000806000606084860312156109c257600080fd5b833567ffffffffffffffff808211156109da57600080fd5b6109e68783880161091f565b94506020915081860135818111156109fd57600080fd5b8601601f81018813610a0e57600080fd5b803582811115610a2057610a20610878565b610a2e848260051b016108d0565b818152848101935060069190911b820184019089821115610a4e57600080fd5b918401915b81831015610a91576040838b031215610a6c5760008081fd5b610a746108a7565b833581528584013586820152845292840192604090920191610a53565b96999698505050506040949094013593505050565b60008060408385031215610ab957600080fd5b823567ffffffffffffffff811115610ad057600080fd5b610adc8582860161091f565b95602094909401359450505050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610b0f57600080fd5b919050565b60008060408385031215610b2757600080fd5b823567ffffffffffffffff811115610b3e57600080fd5b610b4a8582860161091f565b925050610b5960208401610aeb565b90509250929050565b600081518084526020808501945080840160005b83811015610b9d578151805188528301518388015260409096019590820190600101610b76565b509495945050505050565b604081526000610bbb6040830185610b62565b90508260208301529392505050565b600060208284031215610bdc57600080fd5b813567ffffffffffffffff811115610bf357600080fd5b610bff8482850161091f565b949350505050565b60008060408385031215610c1a57600080fd5b823567ffffffffffffffff811115610c3157600080fd5b610c3d8582860161091f565b92505060208301358015158114610c5357600080fd5b809150509250929050565b60008060408385031215610c7157600080fd5b610c7a83610aeb565b9150602083013567ffffffffffffffff811115610c9657600080fd5b610ca28582860161091f565b9150509250929050565b60005b83811015610cc7578181015183820152602001610caf565b50506000910152565b60008251610ce2818460208701610cac565b9190910192915050565b6000815480845260208085019450836000528060002060005b83811015610b9d57815487526001808301548489015260409097019660029092019101610d05565b602081526000610d406020830184610cec565b9392505050565b602081526000610d406020830184610b62565b73ffffffffffffffffffffffffffffffffffffffff83168152604060208201526000610bff6040830184610b62565b60008151808452610da1816020860160208601610cac565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b608081526000610de66080830187610d89565b8281036020840152610df88187610cec565b90508281036040840152610e0c8186610b62565b91505082606083015295945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610ea5577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b606081526000610ebf6060830186610d89565b8281036020840152610ed18186610cec565b915050826040830152949350505050565b604081526000610ef56040830185610d89565b8281036020840152610f078185610cec565b95945050505050565b73ffffffffffffffffffffffffffffffffffffffff84168152606060208201526000610f3f6060830185610d89565b90508215156040830152949350505050565b604081526000610f646040830185610d89565b90508215156020830152939250505056fea164736f6c6343000811000a
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.