Source Code
Overview
S Balance
0 S
More Info
ContractCreator
Latest 14 from a total of 14 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Add Admin | 16409820 | 47 hrs ago | IN | 0 S | 0.00005263 | ||||
Add Admin | 16409803 | 47 hrs ago | IN | 0 S | 0.00005261 | ||||
Sync Contract Co... | 15970288 | 3 days ago | IN | 0 S | 0.00006635 | ||||
Sync Contract Co... | 15970263 | 3 days ago | IN | 0 S | 0.00010421 | ||||
Sync Contract Co... | 15970235 | 3 days ago | IN | 0 S | 0.00012301 | ||||
Sync Contract Co... | 15970206 | 3 days ago | IN | 0 S | 0.00012306 | ||||
Set Contract Add... | 15970176 | 3 days ago | IN | 0 S | 0.00008312 | ||||
Set Contract Add... | 15970161 | 3 days ago | IN | 0 S | 0.00008308 | ||||
Set Contract Add... | 15970149 | 3 days ago | IN | 0 S | 0.00008308 | ||||
Set Contract Add... | 15970134 | 3 days ago | IN | 0 S | 0.00008303 | ||||
Set Contract Add... | 15970119 | 3 days ago | IN | 0 S | 0.00008317 | ||||
Set Contract Add... | 15970106 | 3 days ago | IN | 0 S | 0.00008305 | ||||
Set Contract Add... | 15970090 | 3 days ago | IN | 0 S | 0.00008308 | ||||
Set Contract Add... | 15970075 | 3 days ago | IN | 0 S | 0.00010185 |
Latest 14 internal transactions
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
15970288 | 3 days ago | 0 S | ||||
15970288 | 3 days ago | 0 S | ||||
15970263 | 3 days ago | 0 S | ||||
15970263 | 3 days ago | 0 S | ||||
15970263 | 3 days ago | 0 S | ||||
15970263 | 3 days ago | 0 S | ||||
15970235 | 3 days ago | 0 S | ||||
15970235 | 3 days ago | 0 S | ||||
15970235 | 3 days ago | 0 S | ||||
15970235 | 3 days ago | 0 S | ||||
15970206 | 3 days ago | 0 S | ||||
15970206 | 3 days ago | 0 S | ||||
15970206 | 3 days ago | 0 S | ||||
15970206 | 3 days ago | 0 S |
Loading...
Loading
Contract Name:
PepemonConfig
Compiler Version
v0.8.6+commit.11564f7e
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; import "./AdminRole.sol"; import "../iface/IConfigurable.sol"; /** * @notice This contract stores the addresses of all and any other contracts used by Pepemon * @dev This contract must be added as an Admin on contracts before "syncContractConfig" can be called. */ contract PepemonConfig is AdminRole { struct ContractDisplayData { address contractAddress; string contractName; } string[] private contactsNames; mapping(string => address) public contractAddresses; /** * @dev Actual implementation for both setContractAddress and batchSetContractAddress, making a call to * a common 'internal' function uses less gas than calling a 'public' one */ function setContractAddressInternal(string calldata contractName, address contractAddress, bool callSync) internal { require(contractAddress != address(0)); // If its the first time adding the contract, store its name in the array if (contractAddresses[contractName] == address(0)) { contactsNames.push(contractName); } contractAddresses[contractName] = contractAddress; if (callSync) { IConfigurable(contractAddress).syncConfig(); } } /** * @notice Adds or updates contracts addresses associated by contract names * @param contractName Name of the contract that will be stored * @param contractAddress Address of the contract that will be stored * @param callSync When true, the function "syncConfig" of the contract being stored will be invoked */ function setContractAddress( string calldata contractName, address contractAddress, bool callSync ) external onlyAdmin { setContractAddressInternal(contractName, contractAddress, callSync); } /** * @notice Batch version of `setContractAddress` * @param contractNameList Names of the contracts that will be stored * @param contractAddressesList Addresses of the contracts that will be stored * @param callSyncList When true, the function "syncConfig" of the contracts being stored will be invoked */ function batchSetContractAddress( string[] calldata contractNameList, address[] calldata contractAddressesList, bool[] calldata callSyncList ) external onlyAdmin { uint256 len = contractNameList.length; require(len == contractAddressesList.length && len == callSyncList.length, "Mismatching batch length"); for (uint256 i = 0; i < len; ++i) { setContractAddressInternal(contractNameList[i], contractAddressesList[i], callSyncList[i]); } } /** * @dev Tries to call "syncConfig" from the address of the contract in `contractName`, this might fail if * the target contract does not have this contract (PepemonConfig) added as an Admin, or if `contractName` is not * associated with any contract */ function syncContractConfig(string calldata contractName) external onlyAdmin { require(contractAddresses[contractName] != address(0)); IConfigurable(contractAddresses[contractName]).syncConfig(); } /** * @dev Batch version of syncContractConfig */ function batchSyncContractConfig(string[] calldata contractNames) external onlyAdmin { uint256 len = contractNames.length; for (uint256 i = 0; i < len; ++i) { require(contractAddresses[contractNames[i]] != address(0)); IConfigurable(contractAddresses[contractNames[i]]).syncConfig(); } } /** * @dev Displays contracts names and addresses. */ function getContracts() external view returns (ContractDisplayData[] memory data) { uint256 len = contactsNames.length; data = new ContractDisplayData[](len); for (uint256 i = 0; i < len; ++i) { string memory contractName = contactsNames[i]; data[i].contractName = contractName; data[i].contractAddress = contractAddresses[contractName]; } return data; } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; interface IConfigurable { function syncConfig() external; }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; import "./Roles.sol"; contract AdminRole { using Roles for Roles.Role; event AdminAdded(address indexed account); event AdminRemoved(address indexed account); Roles.Role private admins; constructor() { _addAdmin(msg.sender); } modifier onlyAdmin() { require(isAdmin(msg.sender)); _; } function isAdmin(address account) public view returns (bool) { return admins.has(account); } function addAdmin(address account) public onlyAdmin { _addAdmin(account); } function renounceAdmin() public { _removeAdmin(msg.sender); } function _addAdmin(address account) internal { admins.add(account); emit AdminAdded(account); } function _removeAdmin(address account) internal { admins.remove(account); emit AdminRemoved(account); } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; /** * @title Roles * @dev Library for managing addresses assigned to a Role. */ library Roles { struct Role { mapping (address => bool) bearer; } /** * @dev give an account access to this role */ function add(Role storage role, address account) internal { require(account != address(0)); require(!has(role, account)); role.bearer[account] = true; } /** * @dev remove an account's access to this role */ function remove(Role storage role, address account) internal { require(account != address(0)); require(has(role, account)); role.bearer[account] = false; } /** * @dev check if an account has this role * @return bool */ function has(Role storage role, address account) internal view returns (bool) { require(account != address(0)); return role.bearer[account]; } }
{ "optimizer": { "enabled": true, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "metadata": { "useLiteralContent": true }, "libraries": {} }
[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"AdminAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"AdminRemoved","type":"event"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"addAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string[]","name":"contractNameList","type":"string[]"},{"internalType":"address[]","name":"contractAddressesList","type":"address[]"},{"internalType":"bool[]","name":"callSyncList","type":"bool[]"}],"name":"batchSetContractAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string[]","name":"contractNames","type":"string[]"}],"name":"batchSyncContractConfig","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"","type":"string"}],"name":"contractAddresses","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getContracts","outputs":[{"components":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"string","name":"contractName","type":"string"}],"internalType":"struct PepemonConfig.ContractDisplayData[]","name":"data","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isAdmin","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"contractName","type":"string"},{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"bool","name":"callSync","type":"bool"}],"name":"setContractAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"contractName","type":"string"}],"name":"syncContractConfig","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b5061001a3361001f565b6100ef565b61003781600061006e60201b61069a1790919060201c565b6040516001600160a01b038216907f44d6d25963f097ad14f29f06854a01f575648a1ef82f30e562ccd3889717e33990600090a250565b6001600160a01b03811661008157600080fd5b61008b82826100ba565b1561009557600080fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b60006001600160a01b0382166100cf57600080fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b610ec2806100fe6000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c8063a2ac369c11610066578063a2ac369c146100f0578063c3a2a93a14610103578063def5033f14610118578063ee67cc2a1461012b578063f42567f71461017757600080fd5b806324d7806c1461009857806370480275146100c05780638bad0c0a146100d55780638e6aa4bc146100dd575b600080fd5b6100ab6100a6366004610a5e565b61018a565b60405190151581526020015b60405180910390f35b6100d36100ce366004610a5e565b61019c565b005b6100d36101ba565b6100d36100eb366004610ac2565b6101c5565b6100d36100fe366004610b77565b6102d5565b61010b6103a5565b6040516100b79190610cef565b6100d3610126366004610a80565b610552565b61015f610139366004610c12565b80516020818301810180516002825292820191909301209152546001600160a01b031681565b6040516001600160a01b0390911681526020016100b7565b6100d3610185366004610bad565b61067c565b600061019681836106e6565b92915050565b6101a53361018a565b6101ae57600080fd5b6101b78161071b565b50565b6101c33361075d565b565b6101ce3361018a565b6101d757600080fd5b8483811480156101e657508082145b6102365760405162461bcd60e51b815260206004820152601860248201527f4d69736d61746368696e67206261746368206c656e6774680000000000000000604482015260640160405180910390fd5b60005b818110156102cb576102bb88888381811061025657610256610e60565b90506020028101906102689190610d89565b88888581811061027a5761027a610e60565b905060200201602081019061028f9190610a5e565b8787868181106102a1576102a1610e60565b90506020020160208101906102b69190610b5c565b61079f565b6102c481610e37565b9050610239565b5050505050505050565b6102de3361018a565b6102e757600080fd5b60006001600160a01b031660028383604051610304929190610cc3565b908152604051908190036020019020546001600160a01b0316141561032857600080fd5b6002828260405161033a929190610cc3565b90815260408051918290036020018220546341cfe6a960e11b835290516001600160a01b039091169163839fcd5291600480830192600092919082900301818387803b15801561038957600080fd5b505af115801561039d573d6000803e3d6000fd5b505050505050565b6001546060908067ffffffffffffffff8111156103c4576103c4610e76565b60405190808252806020026020018201604052801561040a57816020015b6040805180820190915260008152606060208201528152602001906001900390816103e25790505b50915060005b8181101561054d5760006001828154811061042d5761042d610e60565b90600052602060002001805461044290610dfc565b80601f016020809104026020016040519081016040528092919081815260200182805461046e90610dfc565b80156104bb5780601f10610490576101008083540402835291602001916104bb565b820191906000526020600020905b81548152906001019060200180831161049e57829003601f168201915b50505050509050808483815181106104d5576104d5610e60565b6020026020010151602001819052506002816040516104f49190610cd3565b9081526040519081900360200190205484516001600160a01b039091169085908490811061052457610524610e60565b60209081029190910101516001600160a01b0390911690525061054681610e37565b9050610410565b505090565b61055b3361018a565b61056457600080fd5b8060005b81811015610676576000600285858481811061058657610586610e60565b90506020028101906105989190610d89565b6040516105a6929190610cc3565b908152604051908190036020019020546001600160a01b031614156105ca57600080fd5b60028484838181106105de576105de610e60565b90506020028101906105f09190610d89565b6040516105fe929190610cc3565b90815260408051918290036020018220546341cfe6a960e11b835290516001600160a01b039091169163839fcd5291600480830192600092919082900301818387803b15801561064d57600080fd5b505af1158015610661573d6000803e3d6000fd5b505050508061066f90610e37565b9050610568565b50505050565b6106853361018a565b61068e57600080fd5b6106768484848461079f565b6001600160a01b0381166106ad57600080fd5b6106b782826106e6565b156106c157600080fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b60006001600160a01b0382166106fb57600080fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b61072660008261069a565b6040516001600160a01b038216907f44d6d25963f097ad14f29f06854a01f575648a1ef82f30e562ccd3889717e33990600090a250565b6107686000826108c3565b6040516001600160a01b038216907fa3b62bc36326052d97ea62d63c3d60308ed4c3ea8ac079dd8499f1e9c4f80c0f90600090a250565b6001600160a01b0382166107b257600080fd5b60006001600160a01b0316600285856040516107cf929190610cc3565b908152604051908190036020019020546001600160a01b0316141561082c5760018054808201825560009190915261082a907fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf601858561090b565b505b816002858560405161083f929190610cc3565b90815260405190819003602001902080546001600160a01b03929092166001600160a01b0319909216919091179055801561067657816001600160a01b031663839fcd526040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156108af57600080fd5b505af11580156102cb573d6000803e3d6000fd5b6001600160a01b0381166108d657600080fd5b6108e082826106e6565b6108e957600080fd5b6001600160a01b0316600090815260209190915260409020805460ff19169055565b82805461091790610dfc565b90600052602060002090601f016020900481019282610939576000855561097f565b82601f106109525782800160ff1982351617855561097f565b8280016001018555821561097f579182015b8281111561097f578235825591602001919060010190610964565b5061098b92915061098f565b5090565b5b8082111561098b5760008155600101610990565b80356001600160a01b03811681146109bb57600080fd5b919050565b60008083601f8401126109d257600080fd5b50813567ffffffffffffffff8111156109ea57600080fd5b6020830191508360208260051b8501011115610a0557600080fd5b9250929050565b803580151581146109bb57600080fd5b60008083601f840112610a2e57600080fd5b50813567ffffffffffffffff811115610a4657600080fd5b602083019150836020828501011115610a0557600080fd5b600060208284031215610a7057600080fd5b610a79826109a4565b9392505050565b60008060208385031215610a9357600080fd5b823567ffffffffffffffff811115610aaa57600080fd5b610ab6858286016109c0565b90969095509350505050565b60008060008060008060608789031215610adb57600080fd5b863567ffffffffffffffff80821115610af357600080fd5b610aff8a838b016109c0565b90985096506020890135915080821115610b1857600080fd5b610b248a838b016109c0565b90965094506040890135915080821115610b3d57600080fd5b50610b4a89828a016109c0565b979a9699509497509295939492505050565b600060208284031215610b6e57600080fd5b610a7982610a0c565b60008060208385031215610b8a57600080fd5b823567ffffffffffffffff811115610ba157600080fd5b610ab685828601610a1c565b60008060008060608587031215610bc357600080fd5b843567ffffffffffffffff811115610bda57600080fd5b610be687828801610a1c565b9095509350610bf99050602086016109a4565b9150610c0760408601610a0c565b905092959194509250565b600060208284031215610c2457600080fd5b813567ffffffffffffffff80821115610c3c57600080fd5b818401915084601f830112610c5057600080fd5b813581811115610c6257610c62610e76565b604051601f8201601f19908116603f01168101908382118183101715610c8a57610c8a610e76565b81604052828152876020848701011115610ca357600080fd5b826020860160208301376000928101602001929092525095945050505050565b8183823760009101908152919050565b60008251610ce5818460208701610dd0565b9190910192915050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015610d7b57888303603f19018552815180516001600160a01b0316845287015187840187905280518785018190526060610d5882828801858d01610dd0565b96890196601f91909101601f191694909401909301925090860190600101610d16565b509098975050505050505050565b6000808335601e19843603018112610da057600080fd5b83018035915067ffffffffffffffff821115610dbb57600080fd5b602001915036819003821315610a0557600080fd5b60005b83811015610deb578181015183820152602001610dd3565b838111156106765750506000910152565b600181811c90821680610e1057607f821691505b60208210811415610e3157634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415610e5957634e487b7160e01b600052601160045260246000fd5b5060010190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fdfea2646970667358221220f431f2b47202a0e269569c088557d7d115a170c2f0c86662c72f3c11b1bfa13b64736f6c63430008060033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100935760003560e01c8063a2ac369c11610066578063a2ac369c146100f0578063c3a2a93a14610103578063def5033f14610118578063ee67cc2a1461012b578063f42567f71461017757600080fd5b806324d7806c1461009857806370480275146100c05780638bad0c0a146100d55780638e6aa4bc146100dd575b600080fd5b6100ab6100a6366004610a5e565b61018a565b60405190151581526020015b60405180910390f35b6100d36100ce366004610a5e565b61019c565b005b6100d36101ba565b6100d36100eb366004610ac2565b6101c5565b6100d36100fe366004610b77565b6102d5565b61010b6103a5565b6040516100b79190610cef565b6100d3610126366004610a80565b610552565b61015f610139366004610c12565b80516020818301810180516002825292820191909301209152546001600160a01b031681565b6040516001600160a01b0390911681526020016100b7565b6100d3610185366004610bad565b61067c565b600061019681836106e6565b92915050565b6101a53361018a565b6101ae57600080fd5b6101b78161071b565b50565b6101c33361075d565b565b6101ce3361018a565b6101d757600080fd5b8483811480156101e657508082145b6102365760405162461bcd60e51b815260206004820152601860248201527f4d69736d61746368696e67206261746368206c656e6774680000000000000000604482015260640160405180910390fd5b60005b818110156102cb576102bb88888381811061025657610256610e60565b90506020028101906102689190610d89565b88888581811061027a5761027a610e60565b905060200201602081019061028f9190610a5e565b8787868181106102a1576102a1610e60565b90506020020160208101906102b69190610b5c565b61079f565b6102c481610e37565b9050610239565b5050505050505050565b6102de3361018a565b6102e757600080fd5b60006001600160a01b031660028383604051610304929190610cc3565b908152604051908190036020019020546001600160a01b0316141561032857600080fd5b6002828260405161033a929190610cc3565b90815260408051918290036020018220546341cfe6a960e11b835290516001600160a01b039091169163839fcd5291600480830192600092919082900301818387803b15801561038957600080fd5b505af115801561039d573d6000803e3d6000fd5b505050505050565b6001546060908067ffffffffffffffff8111156103c4576103c4610e76565b60405190808252806020026020018201604052801561040a57816020015b6040805180820190915260008152606060208201528152602001906001900390816103e25790505b50915060005b8181101561054d5760006001828154811061042d5761042d610e60565b90600052602060002001805461044290610dfc565b80601f016020809104026020016040519081016040528092919081815260200182805461046e90610dfc565b80156104bb5780601f10610490576101008083540402835291602001916104bb565b820191906000526020600020905b81548152906001019060200180831161049e57829003601f168201915b50505050509050808483815181106104d5576104d5610e60565b6020026020010151602001819052506002816040516104f49190610cd3565b9081526040519081900360200190205484516001600160a01b039091169085908490811061052457610524610e60565b60209081029190910101516001600160a01b0390911690525061054681610e37565b9050610410565b505090565b61055b3361018a565b61056457600080fd5b8060005b81811015610676576000600285858481811061058657610586610e60565b90506020028101906105989190610d89565b6040516105a6929190610cc3565b908152604051908190036020019020546001600160a01b031614156105ca57600080fd5b60028484838181106105de576105de610e60565b90506020028101906105f09190610d89565b6040516105fe929190610cc3565b90815260408051918290036020018220546341cfe6a960e11b835290516001600160a01b039091169163839fcd5291600480830192600092919082900301818387803b15801561064d57600080fd5b505af1158015610661573d6000803e3d6000fd5b505050508061066f90610e37565b9050610568565b50505050565b6106853361018a565b61068e57600080fd5b6106768484848461079f565b6001600160a01b0381166106ad57600080fd5b6106b782826106e6565b156106c157600080fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b60006001600160a01b0382166106fb57600080fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b61072660008261069a565b6040516001600160a01b038216907f44d6d25963f097ad14f29f06854a01f575648a1ef82f30e562ccd3889717e33990600090a250565b6107686000826108c3565b6040516001600160a01b038216907fa3b62bc36326052d97ea62d63c3d60308ed4c3ea8ac079dd8499f1e9c4f80c0f90600090a250565b6001600160a01b0382166107b257600080fd5b60006001600160a01b0316600285856040516107cf929190610cc3565b908152604051908190036020019020546001600160a01b0316141561082c5760018054808201825560009190915261082a907fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf601858561090b565b505b816002858560405161083f929190610cc3565b90815260405190819003602001902080546001600160a01b03929092166001600160a01b0319909216919091179055801561067657816001600160a01b031663839fcd526040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156108af57600080fd5b505af11580156102cb573d6000803e3d6000fd5b6001600160a01b0381166108d657600080fd5b6108e082826106e6565b6108e957600080fd5b6001600160a01b0316600090815260209190915260409020805460ff19169055565b82805461091790610dfc565b90600052602060002090601f016020900481019282610939576000855561097f565b82601f106109525782800160ff1982351617855561097f565b8280016001018555821561097f579182015b8281111561097f578235825591602001919060010190610964565b5061098b92915061098f565b5090565b5b8082111561098b5760008155600101610990565b80356001600160a01b03811681146109bb57600080fd5b919050565b60008083601f8401126109d257600080fd5b50813567ffffffffffffffff8111156109ea57600080fd5b6020830191508360208260051b8501011115610a0557600080fd5b9250929050565b803580151581146109bb57600080fd5b60008083601f840112610a2e57600080fd5b50813567ffffffffffffffff811115610a4657600080fd5b602083019150836020828501011115610a0557600080fd5b600060208284031215610a7057600080fd5b610a79826109a4565b9392505050565b60008060208385031215610a9357600080fd5b823567ffffffffffffffff811115610aaa57600080fd5b610ab6858286016109c0565b90969095509350505050565b60008060008060008060608789031215610adb57600080fd5b863567ffffffffffffffff80821115610af357600080fd5b610aff8a838b016109c0565b90985096506020890135915080821115610b1857600080fd5b610b248a838b016109c0565b90965094506040890135915080821115610b3d57600080fd5b50610b4a89828a016109c0565b979a9699509497509295939492505050565b600060208284031215610b6e57600080fd5b610a7982610a0c565b60008060208385031215610b8a57600080fd5b823567ffffffffffffffff811115610ba157600080fd5b610ab685828601610a1c565b60008060008060608587031215610bc357600080fd5b843567ffffffffffffffff811115610bda57600080fd5b610be687828801610a1c565b9095509350610bf99050602086016109a4565b9150610c0760408601610a0c565b905092959194509250565b600060208284031215610c2457600080fd5b813567ffffffffffffffff80821115610c3c57600080fd5b818401915084601f830112610c5057600080fd5b813581811115610c6257610c62610e76565b604051601f8201601f19908116603f01168101908382118183101715610c8a57610c8a610e76565b81604052828152876020848701011115610ca357600080fd5b826020860160208301376000928101602001929092525095945050505050565b8183823760009101908152919050565b60008251610ce5818460208701610dd0565b9190910192915050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015610d7b57888303603f19018552815180516001600160a01b0316845287015187840187905280518785018190526060610d5882828801858d01610dd0565b96890196601f91909101601f191694909401909301925090860190600101610d16565b509098975050505050505050565b6000808335601e19843603018112610da057600080fd5b83018035915067ffffffffffffffff821115610dbb57600080fd5b602001915036819003821315610a0557600080fd5b60005b83811015610deb578181015183820152602001610dd3565b838111156106765750506000910152565b600181811c90821680610e1057607f821691505b60208210811415610e3157634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415610e5957634e487b7160e01b600052601160045260246000fd5b5060010190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fdfea2646970667358221220f431f2b47202a0e269569c088557d7d115a170c2f0c86662c72f3c11b1bfa13b64736f6c63430008060033
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
[ Download: CSV Export ]
[ 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.