Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 6 from a total of 6 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer Ownersh... | 12008858 | 1432 days ago | IN | 0 ETH | 0.00284767 | ||||
Register And Dep... | 11973879 | 1437 days ago | IN | 0 ETH | 0.15985574 | ||||
Register And Dep... | 11826883 | 1460 days ago | IN | 0 ETH | 0.33424382 | ||||
Register And Dep... | 11373040 | 1530 days ago | IN | 0 ETH | 0.04214378 | ||||
Register And Dep... | 10867008 | 1608 days ago | IN | 0 ETH | 0.24704978 | ||||
Register And Dep... | 10837815 | 1612 days ago | IN | 0 ETH | 0.2198034 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
Layer2Registry
Compiler Version
v0.5.12+commit.7709ece9
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-09-11 */ // File: openzeppelin-solidity/contracts/GSN/Context.sol pragma solidity ^0.5.0; /* * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with GSN meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ contract Context { // Empty internal constructor, to prevent people from mistakenly deploying // an instance of this contract, which should be used via inheritance. constructor () internal { } // solhint-disable-previous-line no-empty-blocks function _msgSender() internal view returns (address payable) { return msg.sender; } function _msgData() internal view returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } // File: openzeppelin-solidity/contracts/ownership/Ownable.sol pragma solidity ^0.5.0; /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor () internal { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } /** * @dev Returns the address of the current owner. */ function owner() public view returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(isOwner(), "Ownable: caller is not the owner"); _; } /** * @dev Returns true if the caller is the current owner. */ function isOwner() public view returns (bool) { return _msgSender() == _owner; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public onlyOwner { _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). */ function _transferOwnership(address newOwner) internal { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } // File: contracts/Layer2I.sol pragma solidity ^0.5.12; interface Layer2I { function operator() external view returns (address); function isLayer2() external view returns (bool); function currentFork() external view returns (uint); function lastEpoch(uint forkNumber) external view returns (uint); function changeOperator(address _operator) external; } // File: contracts/stake/interfaces/SeigManagerI.sol pragma solidity ^0.5.12; interface SeigManagerI { function registry() external view returns (address); function depositManager() external view returns (address); function ton() external view returns (address); function wton() external view returns (address); function powerton() external view returns (address); function tot() external view returns (address); function coinages(address layer2) external view returns (address); function commissionRates(address layer2) external view returns (uint256); function lastCommitBlock(address layer2) external view returns (uint256); function seigPerBlock() external view returns (uint256); function lastSeigBlock() external view returns (uint256); function pausedBlock() external view returns (uint256); function unpausedBlock() external view returns (uint256); function DEFAULT_FACTOR() external view returns (uint256); function deployCoinage(address layer2) external returns (bool); function setCommissionRate(address layer2, uint256 commission, bool isCommissionRateNegative) external returns (bool); function uncomittedStakeOf(address layer2, address account) external view returns (uint256); function stakeOf(address layer2, address account) external view returns (uint256); function additionalTotBurnAmount(address layer2, address account, uint256 amount) external view returns (uint256 totAmount); function onTransfer(address sender, address recipient, uint256 amount) external returns (bool); function updateSeigniorage() external returns (bool); function onDeposit(address layer2, address account, uint256 amount) external returns (bool); function onWithdraw(address layer2, address account, uint256 amount) external returns (bool); } // File: contracts/stake/interfaces/Layer2RegistryI.sol pragma solidity ^0.5.12; interface Layer2RegistryI { function layer2s(address layer2) external view returns (bool); function register(address layer2) external returns (bool); function numLayer2s() external view returns (uint256); function layer2ByIndex(uint256 index) external view returns (address); function deployCoinage(address layer2, address seigManager) external returns (bool); function registerAndDeployCoinage(address layer2, address seigManager) external returns (bool); function unregister(address layer2) external returns (bool); } // File: contracts/stake/Layer2Registry.sol pragma solidity ^0.5.12; // TODO: transfer coinages ownership to seig manager contract Layer2Registry is Layer2RegistryI, Ownable { // check whether the address is layer2 contract or not mapping (address => bool) internal _layer2s; // array-like storages // NOTE: unregistered layer2s could exists in that array. so, should check by layer2s(address) uint256 internal _numLayer2s; mapping (uint256 => address) internal _layer2ByIndex; modifier onlyOwnerOrOperator(address layer2) { require(isOwner() || Layer2I(layer2).operator() == msg.sender, "sender is neither operator nor operator"); _; } function layer2s(address layer2) external view returns (bool) { return _layer2s[layer2]; } function numLayer2s() external view returns (uint256) { return _numLayer2s; } function layer2ByIndex(uint256 index) external view returns (address) { return _layer2ByIndex[index]; } function register(address layer2) external onlyOwnerOrOperator(layer2) returns (bool) { return _register(layer2); } function _register(address layer2) internal returns (bool) { require(!_layer2s[layer2]); require(Layer2I(layer2).isLayer2()); _layer2s[layer2] = true; _layer2ByIndex[_numLayer2s] = layer2; _numLayer2s += 1; return true; } function deployCoinage( address layer2, address seigManager ) external onlyOwnerOrOperator(layer2) returns (bool) { return _deployCoinage(layer2, seigManager); } function _deployCoinage( address layer2, address seigManager ) internal returns (bool) { return SeigManagerI(seigManager).deployCoinage(layer2); } function registerAndDeployCoinage( address layer2, address seigManager ) external onlyOwnerOrOperator(layer2) returns (bool) { require(_register(layer2)); require(_deployCoinage(layer2, seigManager)); return true; } function registerAndDeployCoinageAndSetCommissionRate( address layer2, address seigManager, uint256 commissionRate, bool isCommissionRateNegative ) external onlyOwnerOrOperator(layer2) returns (bool) { require(_register(layer2)); require(_deployCoinage(layer2, seigManager)); require(_setCommissionRate(layer2, seigManager, commissionRate, isCommissionRateNegative)); return true; } function _setCommissionRate( address layer2, address seigManager, uint256 commissionRate, bool isCommissionRateNegative ) internal returns (bool) { return SeigManagerI(seigManager).setCommissionRate(layer2, commissionRate, isCommissionRateNegative); } function unregister(address layer2) external onlyOwner returns (bool) { require(_layer2s[layer2]); _layer2s[layer2] = false; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"constant":false,"inputs":[{"internalType":"address","name":"layer2","type":"address"},{"internalType":"address","name":"seigManager","type":"address"}],"name":"deployCoinage","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"layer2ByIndex","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"layer2","type":"address"}],"name":"layer2s","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"numLayer2s","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"layer2","type":"address"}],"name":"register","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"layer2","type":"address"},{"internalType":"address","name":"seigManager","type":"address"}],"name":"registerAndDeployCoinage","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"layer2","type":"address"},{"internalType":"address","name":"seigManager","type":"address"},{"internalType":"uint256","name":"commissionRate","type":"uint256"},{"internalType":"bool","name":"isCommissionRateNegative","type":"bool"}],"name":"registerAndDeployCoinageAndSetCommissionRate","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"layer2","type":"address"}],"name":"unregister","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405260006100176001600160e01b0361006616565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35061006a565b3390565b610b5e806100796000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c8063851086041161007157806385108604146101a15780638da5cb5b146101cf5780638f32d59b146101f3578063b7ffb179146101fb578063bcb1a71e14610218578063f2fde38b14610246576100b4565b80630d42d497146100b95780632ec2c246146100d35780633eb2a66c1461010d5780634420e4861461014b57806361cdc5b814610171578063715018a614610197575b600080fd5b6100c161026c565b60408051918252519081900360200190f35b6100f9600480360360208110156100e957600080fd5b50356001600160a01b0316610272565b604080519115158252519081900360200190f35b6100f96004803603608081101561012357600080fd5b506001600160a01b038135811691602081013590911690604081013590606001351515610316565b6100f96004803603602081101561016157600080fd5b50356001600160a01b0316610422565b6100f96004803603602081101561018757600080fd5b50356001600160a01b03166104f8565b61019f610516565b005b6100f9600480360360408110156101b757600080fd5b506001600160a01b03813581169160200135166105b9565b6101d7610691565b604080516001600160a01b039092168252519081900360200190f35b6100f96106a0565b6101d76004803603602081101561021157600080fd5b50356106c4565b6100f96004803603604081101561022e57600080fd5b506001600160a01b03813581169160200135166106df565b61019f6004803603602081101561025c57600080fd5b50356001600160a01b03166107d4565b60025490565b600061027c6106a0565b6102cd576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b03821660009081526001602052604090205460ff166102f257600080fd5b6001600160a01b039091166000908152600160205260409020805460ff1916905590565b6000846103216106a0565b806103a15750336001600160a01b0316816001600160a01b031663570ca7356040518163ffffffff1660e01b815260040160206040518083038186803b15801561036a57600080fd5b505afa15801561037e573d6000803e3d6000fd5b505050506040513d602081101561039457600080fd5b50516001600160a01b0316145b6103dc5760405162461bcd60e51b8152600401808060200182810382526027815260200180610b036027913960400191505060405180910390fd5b6103e586610839565b6103ee57600080fd5b6103f8868661091b565b61040157600080fd5b61040d868686866109a8565b61041657600080fd5b50600195945050505050565b60008161042d6106a0565b806104ad5750336001600160a01b0316816001600160a01b031663570ca7356040518163ffffffff1660e01b815260040160206040518083038186803b15801561047657600080fd5b505afa15801561048a573d6000803e3d6000fd5b505050506040513d60208110156104a057600080fd5b50516001600160a01b0316145b6104e85760405162461bcd60e51b8152600401808060200182810382526027815260200180610b036027913960400191505060405180910390fd5b6104f183610839565b9392505050565b6001600160a01b031660009081526001602052604090205460ff1690565b61051e6106a0565b61056f576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000826105c46106a0565b806106445750336001600160a01b0316816001600160a01b031663570ca7356040518163ffffffff1660e01b815260040160206040518083038186803b15801561060d57600080fd5b505afa158015610621573d6000803e3d6000fd5b505050506040513d602081101561063757600080fd5b50516001600160a01b0316145b61067f5760405162461bcd60e51b8152600401808060200182810382526027815260200180610b036027913960400191505060405180910390fd5b610689848461091b565b949350505050565b6000546001600160a01b031690565b600080546001600160a01b03166106b5610a38565b6001600160a01b031614905090565b6000908152600360205260409020546001600160a01b031690565b6000826106ea6106a0565b8061076a5750336001600160a01b0316816001600160a01b031663570ca7356040518163ffffffff1660e01b815260040160206040518083038186803b15801561073357600080fd5b505afa158015610747573d6000803e3d6000fd5b505050506040513d602081101561075d57600080fd5b50516001600160a01b0316145b6107a55760405162461bcd60e51b8152600401808060200182810382526027815260200180610b036027913960400191505060405180910390fd5b6107ae84610839565b6107b757600080fd5b6107c1848461091b565b6107ca57600080fd5b5060019392505050565b6107dc6106a0565b61082d576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61083681610a3c565b50565b6001600160a01b03811660009081526001602052604081205460ff161561085f57600080fd5b816001600160a01b031663882eed2c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561089857600080fd5b505afa1580156108ac573d6000803e3d6000fd5b505050506040513d60208110156108c257600080fd5b50516108cd57600080fd5b506001600160a01b03166000818152600160208181526040808420805460ff191684179055600280548552600390925290922080546001600160a01b03191690931790925580548201905590565b6000816001600160a01b031663833a774f846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050602060405180830381600087803b15801561097557600080fd5b505af1158015610989573d6000803e3d6000fd5b505050506040513d602081101561099f57600080fd5b50519392505050565b6040805163211276b360e11b81526001600160a01b0386811660048301526024820185905283151560448301529151600092861691634224ed6691606480830192602092919082900301818787803b158015610a0357600080fd5b505af1158015610a17573d6000803e3d6000fd5b505050506040513d6020811015610a2d57600080fd5b505195945050505050565b3390565b6001600160a01b038116610a815760405162461bcd60e51b8152600401808060200182810382526026815260200180610add6026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b039290921691909117905556fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737373656e646572206973206e656974686572206f70657261746f72206e6f72206f70657261746f72a265627a7a723158208f181ceffbe2eff8826943f81c10780f2ef816485d44e9ce49233a978e2a66ee64736f6c634300050c0032
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100b45760003560e01c8063851086041161007157806385108604146101a15780638da5cb5b146101cf5780638f32d59b146101f3578063b7ffb179146101fb578063bcb1a71e14610218578063f2fde38b14610246576100b4565b80630d42d497146100b95780632ec2c246146100d35780633eb2a66c1461010d5780634420e4861461014b57806361cdc5b814610171578063715018a614610197575b600080fd5b6100c161026c565b60408051918252519081900360200190f35b6100f9600480360360208110156100e957600080fd5b50356001600160a01b0316610272565b604080519115158252519081900360200190f35b6100f96004803603608081101561012357600080fd5b506001600160a01b038135811691602081013590911690604081013590606001351515610316565b6100f96004803603602081101561016157600080fd5b50356001600160a01b0316610422565b6100f96004803603602081101561018757600080fd5b50356001600160a01b03166104f8565b61019f610516565b005b6100f9600480360360408110156101b757600080fd5b506001600160a01b03813581169160200135166105b9565b6101d7610691565b604080516001600160a01b039092168252519081900360200190f35b6100f96106a0565b6101d76004803603602081101561021157600080fd5b50356106c4565b6100f96004803603604081101561022e57600080fd5b506001600160a01b03813581169160200135166106df565b61019f6004803603602081101561025c57600080fd5b50356001600160a01b03166107d4565b60025490565b600061027c6106a0565b6102cd576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b03821660009081526001602052604090205460ff166102f257600080fd5b6001600160a01b039091166000908152600160205260409020805460ff1916905590565b6000846103216106a0565b806103a15750336001600160a01b0316816001600160a01b031663570ca7356040518163ffffffff1660e01b815260040160206040518083038186803b15801561036a57600080fd5b505afa15801561037e573d6000803e3d6000fd5b505050506040513d602081101561039457600080fd5b50516001600160a01b0316145b6103dc5760405162461bcd60e51b8152600401808060200182810382526027815260200180610b036027913960400191505060405180910390fd5b6103e586610839565b6103ee57600080fd5b6103f8868661091b565b61040157600080fd5b61040d868686866109a8565b61041657600080fd5b50600195945050505050565b60008161042d6106a0565b806104ad5750336001600160a01b0316816001600160a01b031663570ca7356040518163ffffffff1660e01b815260040160206040518083038186803b15801561047657600080fd5b505afa15801561048a573d6000803e3d6000fd5b505050506040513d60208110156104a057600080fd5b50516001600160a01b0316145b6104e85760405162461bcd60e51b8152600401808060200182810382526027815260200180610b036027913960400191505060405180910390fd5b6104f183610839565b9392505050565b6001600160a01b031660009081526001602052604090205460ff1690565b61051e6106a0565b61056f576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000826105c46106a0565b806106445750336001600160a01b0316816001600160a01b031663570ca7356040518163ffffffff1660e01b815260040160206040518083038186803b15801561060d57600080fd5b505afa158015610621573d6000803e3d6000fd5b505050506040513d602081101561063757600080fd5b50516001600160a01b0316145b61067f5760405162461bcd60e51b8152600401808060200182810382526027815260200180610b036027913960400191505060405180910390fd5b610689848461091b565b949350505050565b6000546001600160a01b031690565b600080546001600160a01b03166106b5610a38565b6001600160a01b031614905090565b6000908152600360205260409020546001600160a01b031690565b6000826106ea6106a0565b8061076a5750336001600160a01b0316816001600160a01b031663570ca7356040518163ffffffff1660e01b815260040160206040518083038186803b15801561073357600080fd5b505afa158015610747573d6000803e3d6000fd5b505050506040513d602081101561075d57600080fd5b50516001600160a01b0316145b6107a55760405162461bcd60e51b8152600401808060200182810382526027815260200180610b036027913960400191505060405180910390fd5b6107ae84610839565b6107b757600080fd5b6107c1848461091b565b6107ca57600080fd5b5060019392505050565b6107dc6106a0565b61082d576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61083681610a3c565b50565b6001600160a01b03811660009081526001602052604081205460ff161561085f57600080fd5b816001600160a01b031663882eed2c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561089857600080fd5b505afa1580156108ac573d6000803e3d6000fd5b505050506040513d60208110156108c257600080fd5b50516108cd57600080fd5b506001600160a01b03166000818152600160208181526040808420805460ff191684179055600280548552600390925290922080546001600160a01b03191690931790925580548201905590565b6000816001600160a01b031663833a774f846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050602060405180830381600087803b15801561097557600080fd5b505af1158015610989573d6000803e3d6000fd5b505050506040513d602081101561099f57600080fd5b50519392505050565b6040805163211276b360e11b81526001600160a01b0386811660048301526024820185905283151560448301529151600092861691634224ed6691606480830192602092919082900301818787803b158015610a0357600080fd5b505af1158015610a17573d6000803e3d6000fd5b505050506040513d6020811015610a2d57600080fd5b505195945050505050565b3390565b6001600160a01b038116610a815760405162461bcd60e51b8152600401808060200182810382526026815260200180610add6026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b039290921691909117905556fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737373656e646572206973206e656974686572206f70657261746f72206e6f72206f70657261746f72a265627a7a723158208f181ceffbe2eff8826943f81c10780f2ef816485d44e9ce49233a978e2a66ee64736f6c634300050c0032
Deployed Bytecode Sourcemap
6710:2838:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6710:2838:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7372:85;;;:::i;:::-;;;;;;;;;;;;;;;;9404:141;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9404:141:0;-1:-1:-1;;;;;9404:141:0;;:::i;:::-;;;;;;;;;;;;;;;;;;8651:446;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;;8651:446:0;;;;;;;;;;;;;;;;;;;;;;;;:::i;7580:141::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7580:141:0;-1:-1:-1;;;;;7580:141:0;;:::i;7268:98::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7268:98:0;-1:-1:-1;;;;;7268:98:0;;:::i;2979:140::-;;;:::i;:::-;;7991:200;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;7991:200:0;;;;;;;;;;:::i;2168:79::-;;;:::i;:::-;;;;-1:-1:-1;;;;;2168:79:0;;;;;;;;;;;;;;2534:94;;;:::i;7463:111::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7463:111:0;;:::i;8381:264::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;8381:264:0;;;;;;;;;;:::i;3274:109::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3274:109:0;-1:-1:-1;;;;;3274:109:0;;:::i;7372:85::-;7440:11;;7372:85;:::o;9404:141::-;9468:4;2380:9;:7;:9::i;:::-;2372:54;;;;;-1:-1:-1;;;2372:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9489:16:0;;;;;;:8;:16;;;;;;;;9481:25;;;;;;-1:-1:-1;;;;;9515:16:0;;;9534:5;9515:16;;;:8;:16;;;;;:24;;-1:-1:-1;;9515:24:0;;;9404:141;:::o;8651:446::-;8883:4;8861:6;7151:9;:7;:9::i;:::-;:53;;;;7194:10;-1:-1:-1;;;;;7164:40:0;7172:6;-1:-1:-1;;;;;7164:24:0;;:26;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7164:26:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7164:26:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7164:26:0;-1:-1:-1;;;;;7164:40:0;;7151:53;7143:105;;;;-1:-1:-1;;;7143:105:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8907:17;8917:6;8907:9;:17::i;:::-;8899:26;;;;;;8940:35;8955:6;8963:11;8940:14;:35::i;:::-;8932:44;;;;;;8991:81;9010:6;9018:11;9031:14;9047:24;8991:18;:81::i;:::-;8983:90;;;;;;-1:-1:-1;9087:4:0;;8651:446;-1:-1:-1;;;;;8651:446:0:o;7580:141::-;7675:4;7653:6;7151:9;:7;:9::i;:::-;:53;;;;7194:10;-1:-1:-1;;;;;7164:40:0;7172:6;-1:-1:-1;;;;;7164:24:0;;:26;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7164:26:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7164:26:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7164:26:0;-1:-1:-1;;;;;7164:40:0;;7151:53;7143:105;;;;-1:-1:-1;;;7143:105:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7698:17;7708:6;7698:9;:17::i;:::-;7691:24;7580:141;-1:-1:-1;;;7580:141:0:o;7268:98::-;-1:-1:-1;;;;;7344:16:0;7324:4;7344:16;;;:8;:16;;;;;;;;;7268:98::o;2979:140::-;2380:9;:7;:9::i;:::-;2372:54;;;;;-1:-1:-1;;;2372:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3078:1;3062:6;;3041:40;;-1:-1:-1;;;;;3062:6:0;;;;3041:40;;3078:1;;3041:40;3109:1;3092:19;;-1:-1:-1;;;;;;3092:19:0;;;2979:140::o;7991:200::-;8127:4;8105:6;7151:9;:7;:9::i;:::-;:53;;;;7194:10;-1:-1:-1;;;;;7164:40:0;7172:6;-1:-1:-1;;;;;7164:24:0;;:26;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7164:26:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7164:26:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7164:26:0;-1:-1:-1;;;;;7164:40:0;;7151:53;7143:105;;;;-1:-1:-1;;;7143:105:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8150:35;8165:6;8173:11;8150:14;:35::i;:::-;8143:42;7991:200;-1:-1:-1;;;;7991:200:0:o;2168:79::-;2206:7;2233:6;-1:-1:-1;;;;;2233:6:0;2168:79;:::o;2534:94::-;2574:4;2614:6;;-1:-1:-1;;;;;2614:6:0;2598:12;:10;:12::i;:::-;-1:-1:-1;;;;;2598:22:0;;2591:29;;2534:94;:::o;7463:111::-;7524:7;7547:21;;;:14;:21;;;;;;-1:-1:-1;;;;;7547:21:0;;7463:111::o;8381:264::-;8528:4;8506:6;7151:9;:7;:9::i;:::-;:53;;;;7194:10;-1:-1:-1;;;;;7164:40:0;7172:6;-1:-1:-1;;;;;7164:24:0;;:26;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7164:26:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7164:26:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7164:26:0;-1:-1:-1;;;;;7164:40:0;;7151:53;7143:105;;;;-1:-1:-1;;;7143:105:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8552:17;8562:6;8552:9;:17::i;:::-;8544:26;;;;;;8585:35;8600:6;8608:11;8585:14;:35::i;:::-;8577:44;;;;;;-1:-1:-1;8635:4:0;;8381:264;-1:-1:-1;;;8381:264:0:o;3274:109::-;2380:9;:7;:9::i;:::-;2372:54;;;;;-1:-1:-1;;;2372:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3347:28;3366:8;3347:18;:28::i;:::-;3274:109;:::o;7727:258::-;-1:-1:-1;;;;;7802:16:0;;7780:4;7802:16;;;:8;:16;;;;;;;;7801:17;7793:26;;;;;;7842:6;-1:-1:-1;;;;;7834:24:0;;:26;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7834:26:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7834:26:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7834:26:0;7826:35;;;;;;-1:-1:-1;;;;;;7870:16:0;;;;;7889:4;7870:16;;;;;;;;:23;;-1:-1:-1;;7870:23:0;;;;;7915:11;;;7900:27;;:14;:27;;;;;;:36;;-1:-1:-1;;;;;;7900:36:0;;;;;;;7943:16;;;;;;7889:4;7727:258::o;8197:178::-;8299:4;8335:11;-1:-1:-1;;;;;8322:39:0;;8362:6;8322:47;;;;;;;;;;;;;-1:-1:-1;;;;;8322:47:0;-1:-1:-1;;;;;8322:47:0;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8322:47:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8322:47:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8322:47:0;;8197:178;-1:-1:-1;;;8197:178:0:o;9103:295::-;9299:93;;;-1:-1:-1;;;9299:93:0;;-1:-1:-1;;;;;9299:93:0;;;;;;;;;;;;;;;;;;;;;;9276:4;;9299:43;;;;;:93;;;;;;;;;;;;;;9276:4;9299:43;:93;;;5:2:-1;;;;30:1;27;20:12;5:2;9299:93:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9299:93:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9299:93:0;;9103:295;-1:-1:-1;;;;;9103:295:0:o;866:98::-;946:10;866:98;:::o;3489:229::-;-1:-1:-1;;;;;3563:22:0;;3555:73;;;;-1:-1:-1;;;3555:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3665:6;;;3644:38;;-1:-1:-1;;;;;3644:38:0;;;;3665:6;;;3644:38;;;3693:6;:17;;-1:-1:-1;;;;;;3693:17:0;-1:-1:-1;;;;;3693:17:0;;;;;;;;;;3489:229::o
Swarm Source
bzzr://8f181ceffbe2eff8826943f81c10780f2ef816485d44e9ce49233a978e2a66ee
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.