Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
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 0x9f713BAD...0bf752956 The constructor portion of the code might be different and could alter the actual behaviour of the contract
Contract Name:
dotApeRegistry
Compiler Version
v0.8.7+commit.e28d00a7
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-06-08 */ // File: dotApe/implementations/addressesImplementation.sol pragma solidity ^0.8.7; interface IApeAddreses { function owner() external view returns (address); function getDotApeAddress(string memory _label) external view returns (address); } pragma solidity ^0.8.7; abstract contract apeAddressesImpl { address dotApeAddresses; constructor(address addresses_) { dotApeAddresses = addresses_; } function setAddressesImpl(address addresses_) public onlyOwner { dotApeAddresses = addresses_; } function owner() public view returns (address) { return IApeAddreses(dotApeAddresses).owner(); } function getDotApeAddress(string memory _label) public view returns (address) { return IApeAddreses(dotApeAddresses).getDotApeAddress(_label); } modifier onlyOwner() { require(owner() == msg.sender, "Ownable: caller is not the owner"); _; } modifier onlyRegistrar() { require(msg.sender == getDotApeAddress("registrar"), "Ownable: caller is not the registrar"); _; } modifier onlyErc721() { require(msg.sender == getDotApeAddress("erc721"), "Ownable: caller is not erc721"); _; } modifier onlyTeam() { require(msg.sender == getDotApeAddress("team"), "Ownable: caller is not team"); _; } } // File: @openzeppelin/contracts/utils/Counters.sol // OpenZeppelin Contracts v4.4.1 (utils/Counters.sol) pragma solidity ^0.8.0; /** * @title Counters * @author Matt Condon (@shrugs) * @dev Provides counters that can only be incremented, decremented or reset. This can be used e.g. to track the number * of elements in a mapping, issuing ERC721 ids, or counting request ids. * * Include with `using Counters for Counters.Counter;` */ library Counters { struct Counter { // This variable should never be directly accessed by users of the library: interactions must be restricted to // the library's function. As of Solidity v0.5.2, this cannot be enforced, though there is a proposal to add // this feature: see https://github.com/ethereum/solidity/issues/4637 uint256 _value; // default: 0 } function current(Counter storage counter) internal view returns (uint256) { return counter._value; } function increment(Counter storage counter) internal { unchecked { counter._value += 1; } } function decrement(Counter storage counter) internal { uint256 value = counter._value; require(value > 0, "Counter: decrement overflow"); unchecked { counter._value = value - 1; } } function reset(Counter storage counter) internal { counter._value = 0; } } // File: dotApe/registry.sol pragma solidity ^0.8.7; contract dotApeRegistry is apeAddressesImpl { using Counters for Counters.Counter; constructor(address _address) apeAddressesImpl(_address) {} mapping(bytes32 => uint256) private hashToTokenId; mapping(uint256 => string) private tokenIdToName; mapping(uint256 => uint256) private tokenIdToExpiration; mapping(uint256 => address) private tokenIdToOwners; mapping(address => uint256) private primaryNames; mapping(uint256 => mapping(string => string)) private txtRecords; Counters.Counter private tokenIdCounter; function setRecord(bytes32 _hash, uint256 _tokenId, string memory _name, uint256 expiration_) public onlyRegistrar { hashToTokenId[_hash] = _tokenId; tokenIdToName[_tokenId] = _name; tokenIdToExpiration[_tokenId] = expiration_; } function addOwner(address address_) public onlyErc721 { tokenIdToOwners[nextTokenId()] = address_; tokenIdCounter.increment(); } function changeOwner(address address_, uint256 tokenId_) public onlyErc721 { tokenIdToOwners[tokenId_] = address_; } function changeExpiration(uint256 tokenId, uint256 expiration_) public onlyRegistrar { tokenIdToExpiration[tokenId] = expiration_; } function getTokenId(bytes32 _hash) public view returns (uint256) { return hashToTokenId[_hash]; } function getName(uint256 _tokenId) public view returns (string memory) { return tokenIdToName[_tokenId]; } function currentSupply() public view returns (uint256) { return tokenIdCounter.current(); } function nextTokenId() public view returns (uint256) { return tokenIdCounter.current() + 1; } function getOwner(uint256 tokenId) public view returns (address) { if(tokenIdToExpiration[tokenId] < block.timestamp && tokenId <= currentSupply() && tokenId != 0) { return getDotApeAddress("expiredVault"); } else { return tokenIdToOwners[tokenId]; } } function getExpiration(uint256 tokenId) public view returns (uint256) { return tokenIdToExpiration[tokenId]; } function setPrimaryName(address address_, uint256 tokenId) public onlyRegistrar { require(getOwner(tokenId) == address_, "Primaty Name: Not owned by address"); primaryNames[address_] = tokenId; } function getPrimaryNameTokenId(address address_) public view returns (uint256) { uint256 tokenId = primaryNames[address_]; if(getOwner(tokenId) == address_) { return tokenId; } else { return 0; } } function getPrimaryName(address address_) public view returns (string memory) { uint256 tokenId = getPrimaryNameTokenId(address_); return string(abi.encodePacked(getName(tokenId), ".ape")); } function setTxtRecord(uint256 tokenId, string memory label, string memory record) public onlyRegistrar { txtRecords[tokenId][label] = record; } function getTxtRecord(uint256 tokenId, string memory label) public view returns (string memory) { return txtRecords[tokenId][label]; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"address_","type":"address"}],"name":"addOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"expiration_","type":"uint256"}],"name":"changeExpiration","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"address_","type":"address"},{"internalType":"uint256","name":"tokenId_","type":"uint256"}],"name":"changeOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"currentSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_label","type":"string"}],"name":"getDotApeAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getExpiration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"getName","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"address_","type":"address"}],"name":"getPrimaryName","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"address_","type":"address"}],"name":"getPrimaryNameTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_hash","type":"bytes32"}],"name":"getTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"string","name":"label","type":"string"}],"name":"getTxtRecord","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nextTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addresses_","type":"address"}],"name":"setAddressesImpl","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"address_","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"setPrimaryName","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_hash","type":"bytes32"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"string","name":"_name","type":"string"},{"internalType":"uint256","name":"expiration_","type":"uint256"}],"name":"setRecord","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"string","name":"label","type":"string"},{"internalType":"string","name":"record","type":"string"}],"name":"setTxtRecord","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101165760003560e01c80638da5cb5b116100a2578063c72de7d811610071578063c72de7d8146102f1578063c9cb65e114610321578063e67427f614610351578063e92aafc314610381578063f76c563b1461039d57610116565b80638da5cb5b146102575780638fd4345b14610275578063a05b775f14610291578063c41a360a146102c157610116565b80636b8ff574116100e95780636b8ff5741461019f5780637065cb48146101cf57806375794a3c146101eb578063771282f614610209578063833118681461022757610116565b80631886b3eb1461011b57806336796122146101375780634c16a74e1461015357806356df3db114610183575b600080fd5b61013560048036038101906101309190611311565b6103b9565b005b610151600480360381019061014c919061114f565b6104ad565b005b61016d600480360381019061016891906110f5565b610616565b60405161017a9190611567565b60405180910390f35b61019d6004803603810190610198919061114f565b610655565b005b6101b960048036038101906101b49190611288565b610756565b6040516101c69190611567565b60405180910390f35b6101e960048036038101906101e491906110f5565b6107fb565b005b6101f361090c565b6040516102009190611609565b60405180910390f35b610211610929565b60405161021e9190611609565b60405180910390f35b610241600480360381019061023c919061123f565b61093a565b60405161024e919061154c565b60405180910390f35b61025f6109ed565b60405161026c919061154c565b60405180910390f35b61028f600480360381019061028a91906110f5565b610a93565b005b6102ab60048036038101906102a69190611288565b610b4b565b6040516102b89190611609565b60405180910390f35b6102db60048036038101906102d69190611288565b610b68565b6040516102e8919061154c565b60405180910390f35b61030b600480360381019061030691906112b5565b610c26565b6040516103189190611567565b60405180910390f35b61033b6004803603810190610336919061118f565b610ce8565b6040516103489190611609565b60405180910390f35b61036b600480360381019061036691906110f5565b610d05565b6040516103789190611609565b60405180910390f35b61039b600480360381019061039691906111bc565b610d9a565b005b6103b760048036038101906103b2919061139c565b610ea3565b005b6103f76040518060400160405280600981526020017f726567697374726172000000000000000000000000000000000000000000000081525061093a565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610464576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161045b906115e9565b60405180910390fd5b8060066000858152602001908152602001600020836040516104869190611513565b908152602001604051809103902090805190602001906104a7929190610f8e565b50505050565b6104eb6040518060400160405280600981526020017f726567697374726172000000000000000000000000000000000000000000000081525061093a565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610558576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161054f906115e9565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1661057882610b68565b73ffffffffffffffffffffffffffffffffffffffff16146105ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c5906115a9565b60405180910390fd5b80600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b6060600061062383610d05565b905061062e81610756565b60405160200161063e919061152a565b604051602081830303815290604052915050919050565b6106936040518060400160405280600681526020017f657263373231000000000000000000000000000000000000000000000000000081525061093a565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610700576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f790611589565b60405180910390fd5b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b60606002600083815260200190815260200160002080546107769061177f565b80601f01602080910402602001604051908101604052809291908181526020018280546107a29061177f565b80156107ef5780601f106107c4576101008083540402835291602001916107ef565b820191906000526020600020905b8154815290600101906020018083116107d257829003601f168201915b50505050509050919050565b6108396040518060400160405280600681526020017f657263373231000000000000000000000000000000000000000000000000000081525061093a565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089d90611589565b60405180910390fd5b80600460006108b361090c565b815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506109096007610f6a565b50565b6000600161091a6007610f80565b61092491906116a1565b905090565b60006109356007610f80565b905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166383311868836040518263ffffffff1660e01b81526004016109969190611567565b60206040518083038186803b1580156109ae57600080fd5b505afa1580156109c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e69190611122565b9050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610a5657600080fd5b505afa158015610a6a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a8e9190611122565b905090565b3373ffffffffffffffffffffffffffffffffffffffff16610ab26109ed565b73ffffffffffffffffffffffffffffffffffffffff1614610b08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aff906115c9565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600060036000838152602001908152602001600020549050919050565b6000426003600084815260200190815260200160002054108015610b935750610b8f610929565b8211155b8015610ba0575060008214155b15610bea57610be36040518060400160405280600c81526020017f657870697265645661756c74000000000000000000000000000000000000000081525061093a565b9050610c21565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b919050565b60606006600084815260200190815260200160002082604051610c499190611513565b90815260200160405180910390208054610c629061177f565b80601f0160208091040260200160405190810160405280929190818152602001828054610c8e9061177f565b8015610cdb5780601f10610cb057610100808354040283529160200191610cdb565b820191906000526020600020905b815481529060010190602001808311610cbe57829003601f168201915b5050505050905092915050565b600060016000838152602001908152602001600020549050919050565b600080600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508273ffffffffffffffffffffffffffffffffffffffff16610d6a82610b68565b73ffffffffffffffffffffffffffffffffffffffff161415610d8f5780915050610d95565b60009150505b919050565b610dd86040518060400160405280600981526020017f726567697374726172000000000000000000000000000000000000000000000081525061093a565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3c906115e9565b60405180910390fd5b82600160008681526020019081526020016000208190555081600260008581526020019081526020016000209080519060200190610e84929190610f8e565b5080600360008581526020019081526020016000208190555050505050565b610ee16040518060400160405280600981526020017f726567697374726172000000000000000000000000000000000000000000000081525061093a565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f45906115e9565b60405180910390fd5b8060036000848152602001908152602001600020819055505050565b6001816000016000828254019250508190555050565b600081600001549050919050565b828054610f9a9061177f565b90600052602060002090601f016020900481019282610fbc5760008555611003565b82601f10610fd557805160ff1916838001178555611003565b82800160010185558215611003579182015b82811115611002578251825591602001919060010190610fe7565b5b5090506110109190611014565b5090565b5b8082111561102d576000816000905550600101611015565b5090565b600061104461103f84611649565b611624565b9050828152602081018484840111156110605761105f611874565b5b61106b84828561173d565b509392505050565b600081359050611082816119ad565b92915050565b600081519050611097816119ad565b92915050565b6000813590506110ac816119c4565b92915050565b600082601f8301126110c7576110c661186f565b5b81356110d7848260208601611031565b91505092915050565b6000813590506110ef816119db565b92915050565b60006020828403121561110b5761110a61187e565b5b600061111984828501611073565b91505092915050565b6000602082840312156111385761113761187e565b5b600061114684828501611088565b91505092915050565b600080604083850312156111665761116561187e565b5b600061117485828601611073565b9250506020611185858286016110e0565b9150509250929050565b6000602082840312156111a5576111a461187e565b5b60006111b38482850161109d565b91505092915050565b600080600080608085870312156111d6576111d561187e565b5b60006111e48782880161109d565b94505060206111f5878288016110e0565b935050604085013567ffffffffffffffff81111561121657611215611879565b5b611222878288016110b2565b9250506060611233878288016110e0565b91505092959194509250565b6000602082840312156112555761125461187e565b5b600082013567ffffffffffffffff81111561127357611272611879565b5b61127f848285016110b2565b91505092915050565b60006020828403121561129e5761129d61187e565b5b60006112ac848285016110e0565b91505092915050565b600080604083850312156112cc576112cb61187e565b5b60006112da858286016110e0565b925050602083013567ffffffffffffffff8111156112fb576112fa611879565b5b611307858286016110b2565b9150509250929050565b60008060006060848603121561132a5761132961187e565b5b6000611338868287016110e0565b935050602084013567ffffffffffffffff81111561135957611358611879565b5b611365868287016110b2565b925050604084013567ffffffffffffffff81111561138657611385611879565b5b611392868287016110b2565b9150509250925092565b600080604083850312156113b3576113b261187e565b5b60006113c1858286016110e0565b92505060206113d2858286016110e0565b9150509250929050565b6113e5816116f7565b82525050565b60006113f68261167a565b6114008185611685565b935061141081856020860161174c565b61141981611883565b840191505092915050565b600061142f8261167a565b6114398185611696565b935061144981856020860161174c565b80840191505092915050565b6000611462600483611696565b915061146d82611894565b600482019050919050565b6000611485601d83611685565b9150611490826118bd565b602082019050919050565b60006114a8602283611685565b91506114b3826118e6565b604082019050919050565b60006114cb602083611685565b91506114d682611935565b602082019050919050565b60006114ee602483611685565b91506114f98261195e565b604082019050919050565b61150d81611733565b82525050565b600061151f8284611424565b915081905092915050565b60006115368284611424565b915061154182611455565b915081905092915050565b600060208201905061156160008301846113dc565b92915050565b6000602082019050818103600083015261158181846113eb565b905092915050565b600060208201905081810360008301526115a281611478565b9050919050565b600060208201905081810360008301526115c28161149b565b9050919050565b600060208201905081810360008301526115e2816114be565b9050919050565b60006020820190508181036000830152611602816114e1565b9050919050565b600060208201905061161e6000830184611504565b92915050565b600061162e61163f565b905061163a82826117b1565b919050565b6000604051905090565b600067ffffffffffffffff82111561166457611663611840565b5b61166d82611883565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b60006116ac82611733565b91506116b783611733565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156116ec576116eb6117e2565b5b828201905092915050565b600061170282611713565b9050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b8381101561176a57808201518184015260208101905061174f565b83811115611779576000848401525b50505050565b6000600282049050600182168061179757607f821691505b602082108114156117ab576117aa611811565b5b50919050565b6117ba82611883565b810181811067ffffffffffffffff821117156117d9576117d8611840565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f2e61706500000000000000000000000000000000000000000000000000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420657263373231000000600082015250565b7f5072696d617479204e616d653a204e6f74206f776e656420627920616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f742074686520726567697360008201527f7472617200000000000000000000000000000000000000000000000000000000602082015250565b6119b6816116f7565b81146119c157600080fd5b50565b6119cd81611709565b81146119d857600080fd5b50565b6119e481611733565b81146119ef57600080fd5b5056fea264697066735822122001c695f56949414e7529e7902b7db323fdd870ae0799bd5e7944ad94828e8bfc64736f6c63430008070033
Deployed Bytecode Sourcemap
2945:3261:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5886:157;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5166:218;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5664:214;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3940:130;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4351:128;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3781:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4600:107;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4487:105;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;688:158;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;570:110;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;452;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5034:124;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4715:311;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6055:148;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4232:111;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5392:264;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3512:261;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4078:146;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5886:157;1038:29;;;;;;;;;;;;;;;;;;:16;:29::i;:::-;1024:43;;:10;:43;;;1016:92;;;;;;;;;;;;:::i;:::-;;;;;;;;;6029:6:::1;6000:10;:19;6011:7;6000:19;;;;;;;;;;;6020:5;6000:26;;;;;;:::i;:::-;;;;;;;;;;;;;:35;;;;;;;;;;;;:::i;:::-;;5886:157:::0;;;:::o;5166:218::-;1038:29;;;;;;;;;;;;;;;;;;:16;:29::i;:::-;1024:43;;:10;:43;;;1016:92;;;;;;;;;;;;:::i;:::-;;;;;;;;;5286:8:::1;5265:29;;:17;5274:7;5265:8;:17::i;:::-;:29;;;5257:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;5369:7;5344:12;:22;5357:8;5344:22;;;;;;;;;;;;;;;:32;;;;5166:218:::0;;:::o;5664:214::-;5727:13;5753:15;5771:31;5793:8;5771:21;:31::i;:::-;5753:49;;5844:16;5852:7;5844;:16::i;:::-;5827:42;;;;;;;;:::i;:::-;;;;;;;;;;;;;5813:57;;;5664:214;;;:::o;3940:130::-;1191:26;;;;;;;;;;;;;;;;;;:16;:26::i;:::-;1177:40;;:10;:40;;;1169:82;;;;;;;;;;;;:::i;:::-;;;;;;;;;4054:8:::1;4026:15;:25;4042:8;4026:25;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;3940:130:::0;;:::o;4351:128::-;4407:13;4440;:23;4454:8;4440:23;;;;;;;;;;;4433:30;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4351:128;;;:::o;3781:151::-;1191:26;;;;;;;;;;;;;;;;;;:16;:26::i;:::-;1177:40;;:10;:40;;;1169:82;;;;;;;;;;;;:::i;:::-;;;;;;;;;3879:8:::1;3846:15;:30;3862:13;:11;:13::i;:::-;3846:30;;;;;;;;;;;;:41;;;;;;;;;;;;;;;;;;3898:26;:14;:24;:26::i;:::-;3781:151:::0;:::o;4600:107::-;4644:7;4698:1;4671:24;:14;:22;:24::i;:::-;:28;;;;:::i;:::-;4664:35;;4600:107;:::o;4487:105::-;4533:7;4560:24;:14;:22;:24::i;:::-;4553:31;;4487:105;:::o;688:158::-;757:7;797:15;;;;;;;;;;;784:46;;;831:6;784:54;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;777:61;;688:158;;;:::o;570:110::-;608:7;648:15;;;;;;;;;;;635:35;;;:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;628:44;;570:110;:::o;452:::-;905:10;894:21;;:7;:5;:7::i;:::-;:21;;;886:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;544:10:::1;526:15;::::0;:28:::1;;;;;;;;;;;;;;;;;;452:110:::0;:::o;5034:124::-;5095:7;5122:19;:28;5142:7;5122:28;;;;;;;;;;;;5115:35;;5034:124;;;:::o;4715:311::-;4771:7;4825:15;4794:19;:28;4814:7;4794:28;;;;;;;;;;;;:46;:76;;;;;4855:15;:13;:15::i;:::-;4844:7;:26;;4794:76;:92;;;;;4885:1;4874:7;:12;;4794:92;4791:228;;;4911:32;;;;;;;;;;;;;;;;;;:16;:32::i;:::-;4904:39;;;;4791:228;4983:15;:24;4999:7;4983:24;;;;;;;;;;;;;;;;;;;;;4976:31;;4715:311;;;;:::o;6055:148::-;6136:13;6169:10;:19;6180:7;6169:19;;;;;;;;;;;6189:5;6169:26;;;;;;:::i;:::-;;;;;;;;;;;;;6162:33;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6055:148;;;;:::o;4232:111::-;4288:7;4315:13;:20;4329:5;4315:20;;;;;;;;;;;;4308:27;;4232:111;;;:::o;5392:264::-;5462:7;5482:15;5500:12;:22;5513:8;5500:22;;;;;;;;;;;;;;;;5482:40;;5557:8;5536:29;;:17;5545:7;5536:8;:17::i;:::-;:29;;;5533:116;;;5589:7;5582:14;;;;;5533:116;5636:1;5629:8;;;5392:264;;;;:::o;3512:261::-;1038:29;;;;;;;;;;;;;;;;;;:16;:29::i;:::-;1024:43;;:10;:43;;;1016:92;;;;;;;;;;;;:::i;:::-;;;;;;;;;3661:8:::1;3638:13;:20;3652:5;3638:20;;;;;;;;;;;:31;;;;3706:5;3680:13;:23;3694:8;3680:23;;;;;;;;;;;:31;;;;;;;;;;;;:::i;:::-;;3754:11;3722:19;:29;3742:8;3722:29;;;;;;;;;;;:43;;;;3512:261:::0;;;;:::o;4078:146::-;1038:29;;;;;;;;;;;;;;;;;;:16;:29::i;:::-;1024:43;;:10;:43;;;1016:92;;;;;;;;;;;;:::i;:::-;;;;;;;;;4205:11:::1;4174:19;:28;4194:7;4174:28;;;;;;;;;;;:42;;;;4078:146:::0;;:::o;2409:127::-;2516:1;2498:7;:14;;;:19;;;;;;;;;;;2409:127;:::o;2287:114::-;2352:7;2379;:14;;;2372:21;;2287:114;;;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:412:1:-;85:5;110:66;126:49;168:6;126:49;:::i;:::-;110:66;:::i;:::-;101:75;;199:6;192:5;185:21;237:4;230:5;226:16;275:3;266:6;261:3;257:16;254:25;251:112;;;282:79;;:::i;:::-;251:112;372:41;406:6;401:3;396;372:41;:::i;:::-;91:328;7:412;;;;;:::o;425:139::-;471:5;509:6;496:20;487:29;;525:33;552:5;525:33;:::i;:::-;425:139;;;;:::o;570:143::-;627:5;658:6;652:13;643:22;;674:33;701:5;674:33;:::i;:::-;570:143;;;;:::o;719:139::-;765:5;803:6;790:20;781:29;;819:33;846:5;819:33;:::i;:::-;719:139;;;;:::o;878:340::-;934:5;983:3;976:4;968:6;964:17;960:27;950:122;;991:79;;:::i;:::-;950:122;1108:6;1095:20;1133:79;1208:3;1200:6;1193:4;1185:6;1181:17;1133:79;:::i;:::-;1124:88;;940:278;878:340;;;;:::o;1224:139::-;1270:5;1308:6;1295:20;1286:29;;1324:33;1351:5;1324:33;:::i;:::-;1224:139;;;;:::o;1369:329::-;1428:6;1477:2;1465:9;1456:7;1452:23;1448:32;1445:119;;;1483:79;;:::i;:::-;1445:119;1603:1;1628:53;1673:7;1664:6;1653:9;1649:22;1628:53;:::i;:::-;1618:63;;1574:117;1369:329;;;;:::o;1704:351::-;1774:6;1823:2;1811:9;1802:7;1798:23;1794:32;1791:119;;;1829:79;;:::i;:::-;1791:119;1949:1;1974:64;2030:7;2021:6;2010:9;2006:22;1974:64;:::i;:::-;1964:74;;1920:128;1704:351;;;;:::o;2061:474::-;2129:6;2137;2186:2;2174:9;2165:7;2161:23;2157:32;2154:119;;;2192:79;;:::i;:::-;2154:119;2312:1;2337:53;2382:7;2373:6;2362:9;2358:22;2337:53;:::i;:::-;2327:63;;2283:117;2439:2;2465:53;2510:7;2501:6;2490:9;2486:22;2465:53;:::i;:::-;2455:63;;2410:118;2061:474;;;;;:::o;2541:329::-;2600:6;2649:2;2637:9;2628:7;2624:23;2620:32;2617:119;;;2655:79;;:::i;:::-;2617:119;2775:1;2800:53;2845:7;2836:6;2825:9;2821:22;2800:53;:::i;:::-;2790:63;;2746:117;2541:329;;;;:::o;2876:945::-;2972:6;2980;2988;2996;3045:3;3033:9;3024:7;3020:23;3016:33;3013:120;;;3052:79;;:::i;:::-;3013:120;3172:1;3197:53;3242:7;3233:6;3222:9;3218:22;3197:53;:::i;:::-;3187:63;;3143:117;3299:2;3325:53;3370:7;3361:6;3350:9;3346:22;3325:53;:::i;:::-;3315:63;;3270:118;3455:2;3444:9;3440:18;3427:32;3486:18;3478:6;3475:30;3472:117;;;3508:79;;:::i;:::-;3472:117;3613:63;3668:7;3659:6;3648:9;3644:22;3613:63;:::i;:::-;3603:73;;3398:288;3725:2;3751:53;3796:7;3787:6;3776:9;3772:22;3751:53;:::i;:::-;3741:63;;3696:118;2876:945;;;;;;;:::o;3827:509::-;3896:6;3945:2;3933:9;3924:7;3920:23;3916:32;3913:119;;;3951:79;;:::i;:::-;3913:119;4099:1;4088:9;4084:17;4071:31;4129:18;4121:6;4118:30;4115:117;;;4151:79;;:::i;:::-;4115:117;4256:63;4311:7;4302:6;4291:9;4287:22;4256:63;:::i;:::-;4246:73;;4042:287;3827:509;;;;:::o;4342:329::-;4401:6;4450:2;4438:9;4429:7;4425:23;4421:32;4418:119;;;4456:79;;:::i;:::-;4418:119;4576:1;4601:53;4646:7;4637:6;4626:9;4622:22;4601:53;:::i;:::-;4591:63;;4547:117;4342:329;;;;:::o;4677:654::-;4755:6;4763;4812:2;4800:9;4791:7;4787:23;4783:32;4780:119;;;4818:79;;:::i;:::-;4780:119;4938:1;4963:53;5008:7;4999:6;4988:9;4984:22;4963:53;:::i;:::-;4953:63;;4909:117;5093:2;5082:9;5078:18;5065:32;5124:18;5116:6;5113:30;5110:117;;;5146:79;;:::i;:::-;5110:117;5251:63;5306:7;5297:6;5286:9;5282:22;5251:63;:::i;:::-;5241:73;;5036:288;4677:654;;;;;:::o;5337:979::-;5434:6;5442;5450;5499:2;5487:9;5478:7;5474:23;5470:32;5467:119;;;5505:79;;:::i;:::-;5467:119;5625:1;5650:53;5695:7;5686:6;5675:9;5671:22;5650:53;:::i;:::-;5640:63;;5596:117;5780:2;5769:9;5765:18;5752:32;5811:18;5803:6;5800:30;5797:117;;;5833:79;;:::i;:::-;5797:117;5938:63;5993:7;5984:6;5973:9;5969:22;5938:63;:::i;:::-;5928:73;;5723:288;6078:2;6067:9;6063:18;6050:32;6109:18;6101:6;6098:30;6095:117;;;6131:79;;:::i;:::-;6095:117;6236:63;6291:7;6282:6;6271:9;6267:22;6236:63;:::i;:::-;6226:73;;6021:288;5337:979;;;;;:::o;6322:474::-;6390:6;6398;6447:2;6435:9;6426:7;6422:23;6418:32;6415:119;;;6453:79;;:::i;:::-;6415:119;6573:1;6598:53;6643:7;6634:6;6623:9;6619:22;6598:53;:::i;:::-;6588:63;;6544:117;6700:2;6726:53;6771:7;6762:6;6751:9;6747:22;6726:53;:::i;:::-;6716:63;;6671:118;6322:474;;;;;:::o;6802:118::-;6889:24;6907:5;6889:24;:::i;:::-;6884:3;6877:37;6802:118;;:::o;6926:364::-;7014:3;7042:39;7075:5;7042:39;:::i;:::-;7097:71;7161:6;7156:3;7097:71;:::i;:::-;7090:78;;7177:52;7222:6;7217:3;7210:4;7203:5;7199:16;7177:52;:::i;:::-;7254:29;7276:6;7254:29;:::i;:::-;7249:3;7245:39;7238:46;;7018:272;6926:364;;;;:::o;7296:377::-;7402:3;7430:39;7463:5;7430:39;:::i;:::-;7485:89;7567:6;7562:3;7485:89;:::i;:::-;7478:96;;7583:52;7628:6;7623:3;7616:4;7609:5;7605:16;7583:52;:::i;:::-;7660:6;7655:3;7651:16;7644:23;;7406:267;7296:377;;;;:::o;7679:400::-;7839:3;7860:84;7942:1;7937:3;7860:84;:::i;:::-;7853:91;;7953:93;8042:3;7953:93;:::i;:::-;8071:1;8066:3;8062:11;8055:18;;7679:400;;;:::o;8085:366::-;8227:3;8248:67;8312:2;8307:3;8248:67;:::i;:::-;8241:74;;8324:93;8413:3;8324:93;:::i;:::-;8442:2;8437:3;8433:12;8426:19;;8085:366;;;:::o;8457:::-;8599:3;8620:67;8684:2;8679:3;8620:67;:::i;:::-;8613:74;;8696:93;8785:3;8696:93;:::i;:::-;8814:2;8809:3;8805:12;8798:19;;8457:366;;;:::o;8829:::-;8971:3;8992:67;9056:2;9051:3;8992:67;:::i;:::-;8985:74;;9068:93;9157:3;9068:93;:::i;:::-;9186:2;9181:3;9177:12;9170:19;;8829:366;;;:::o;9201:::-;9343:3;9364:67;9428:2;9423:3;9364:67;:::i;:::-;9357:74;;9440:93;9529:3;9440:93;:::i;:::-;9558:2;9553:3;9549:12;9542:19;;9201:366;;;:::o;9573:118::-;9660:24;9678:5;9660:24;:::i;:::-;9655:3;9648:37;9573:118;;:::o;9697:275::-;9829:3;9851:95;9942:3;9933:6;9851:95;:::i;:::-;9844:102;;9963:3;9956:10;;9697:275;;;;:::o;9978:541::-;10211:3;10233:95;10324:3;10315:6;10233:95;:::i;:::-;10226:102;;10345:148;10489:3;10345:148;:::i;:::-;10338:155;;10510:3;10503:10;;9978:541;;;;:::o;10525:222::-;10618:4;10656:2;10645:9;10641:18;10633:26;;10669:71;10737:1;10726:9;10722:17;10713:6;10669:71;:::i;:::-;10525:222;;;;:::o;10753:313::-;10866:4;10904:2;10893:9;10889:18;10881:26;;10953:9;10947:4;10943:20;10939:1;10928:9;10924:17;10917:47;10981:78;11054:4;11045:6;10981:78;:::i;:::-;10973:86;;10753:313;;;;:::o;11072:419::-;11238:4;11276:2;11265:9;11261:18;11253:26;;11325:9;11319:4;11315:20;11311:1;11300:9;11296:17;11289:47;11353:131;11479:4;11353:131;:::i;:::-;11345:139;;11072:419;;;:::o;11497:::-;11663:4;11701:2;11690:9;11686:18;11678:26;;11750:9;11744:4;11740:20;11736:1;11725:9;11721:17;11714:47;11778:131;11904:4;11778:131;:::i;:::-;11770:139;;11497:419;;;:::o;11922:::-;12088:4;12126:2;12115:9;12111:18;12103:26;;12175:9;12169:4;12165:20;12161:1;12150:9;12146:17;12139:47;12203:131;12329:4;12203:131;:::i;:::-;12195:139;;11922:419;;;:::o;12347:::-;12513:4;12551:2;12540:9;12536:18;12528:26;;12600:9;12594:4;12590:20;12586:1;12575:9;12571:17;12564:47;12628:131;12754:4;12628:131;:::i;:::-;12620:139;;12347:419;;;:::o;12772:222::-;12865:4;12903:2;12892:9;12888:18;12880:26;;12916:71;12984:1;12973:9;12969:17;12960:6;12916:71;:::i;:::-;12772:222;;;;:::o;13000:129::-;13034:6;13061:20;;:::i;:::-;13051:30;;13090:33;13118:4;13110:6;13090:33;:::i;:::-;13000:129;;;:::o;13135:75::-;13168:6;13201:2;13195:9;13185:19;;13135:75;:::o;13216:308::-;13278:4;13368:18;13360:6;13357:30;13354:56;;;13390:18;;:::i;:::-;13354:56;13428:29;13450:6;13428:29;:::i;:::-;13420:37;;13512:4;13506;13502:15;13494:23;;13216:308;;;:::o;13530:99::-;13582:6;13616:5;13610:12;13600:22;;13530:99;;;:::o;13635:169::-;13719:11;13753:6;13748:3;13741:19;13793:4;13788:3;13784:14;13769:29;;13635:169;;;;:::o;13810:148::-;13912:11;13949:3;13934:18;;13810:148;;;;:::o;13964:305::-;14004:3;14023:20;14041:1;14023:20;:::i;:::-;14018:25;;14057:20;14075:1;14057:20;:::i;:::-;14052:25;;14211:1;14143:66;14139:74;14136:1;14133:81;14130:107;;;14217:18;;:::i;:::-;14130:107;14261:1;14258;14254:9;14247:16;;13964:305;;;;:::o;14275:96::-;14312:7;14341:24;14359:5;14341:24;:::i;:::-;14330:35;;14275:96;;;:::o;14377:77::-;14414:7;14443:5;14432:16;;14377:77;;;:::o;14460:126::-;14497:7;14537:42;14530:5;14526:54;14515:65;;14460:126;;;:::o;14592:77::-;14629:7;14658:5;14647:16;;14592:77;;;:::o;14675:154::-;14759:6;14754:3;14749;14736:30;14821:1;14812:6;14807:3;14803:16;14796:27;14675:154;;;:::o;14835:307::-;14903:1;14913:113;14927:6;14924:1;14921:13;14913:113;;;15012:1;15007:3;15003:11;14997:18;14993:1;14988:3;14984:11;14977:39;14949:2;14946:1;14942:10;14937:15;;14913:113;;;15044:6;15041:1;15038:13;15035:101;;;15124:1;15115:6;15110:3;15106:16;15099:27;15035:101;14884:258;14835:307;;;:::o;15148:320::-;15192:6;15229:1;15223:4;15219:12;15209:22;;15276:1;15270:4;15266:12;15297:18;15287:81;;15353:4;15345:6;15341:17;15331:27;;15287:81;15415:2;15407:6;15404:14;15384:18;15381:38;15378:84;;;15434:18;;:::i;:::-;15378:84;15199:269;15148:320;;;:::o;15474:281::-;15557:27;15579:4;15557:27;:::i;:::-;15549:6;15545:40;15687:6;15675:10;15672:22;15651:18;15639:10;15636:34;15633:62;15630:88;;;15698:18;;:::i;:::-;15630:88;15738:10;15734:2;15727:22;15517:238;15474:281;;:::o;15761:180::-;15809:77;15806:1;15799:88;15906:4;15903:1;15896:15;15930:4;15927:1;15920:15;15947:180;15995:77;15992:1;15985:88;16092:4;16089:1;16082:15;16116:4;16113:1;16106:15;16133:180;16181:77;16178:1;16171:88;16278:4;16275:1;16268:15;16302:4;16299:1;16292:15;16319:117;16428:1;16425;16418:12;16442:117;16551:1;16548;16541:12;16565:117;16674:1;16671;16664:12;16688:117;16797:1;16794;16787:12;16811:102;16852:6;16903:2;16899:7;16894:2;16887:5;16883:14;16879:28;16869:38;;16811:102;;;:::o;16919:154::-;17059:6;17055:1;17047:6;17043:14;17036:30;16919:154;:::o;17079:179::-;17219:31;17215:1;17207:6;17203:14;17196:55;17079:179;:::o;17264:221::-;17404:34;17400:1;17392:6;17388:14;17381:58;17473:4;17468:2;17460:6;17456:15;17449:29;17264:221;:::o;17491:182::-;17631:34;17627:1;17619:6;17615:14;17608:58;17491:182;:::o;17679:223::-;17819:34;17815:1;17807:6;17803:14;17796:58;17888:6;17883:2;17875:6;17871:15;17864:31;17679:223;:::o;17908:122::-;17981:24;17999:5;17981:24;:::i;:::-;17974:5;17971:35;17961:63;;18020:1;18017;18010:12;17961:63;17908:122;:::o;18036:::-;18109:24;18127:5;18109:24;:::i;:::-;18102:5;18099:35;18089:63;;18148:1;18145;18138:12;18089:63;18036:122;:::o;18164:::-;18237:24;18255:5;18237:24;:::i;:::-;18230:5;18227:35;18217:63;;18276:1;18273;18266:12;18217:63;18164:122;:::o
Swarm Source
ipfs://01c695f56949414e7529e7902b7db323fdd870ae0799bd5e7944ad94828e8bfc
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
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.