Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 29 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer Ownersh... | 12412765 | 1298 days ago | IN | 0 ETH | 0.00719943 | ||||
Register | 12412758 | 1298 days ago | IN | 0 ETH | 0.00348273 | ||||
Register | 12412754 | 1298 days ago | IN | 0 ETH | 0.00348273 | ||||
Register | 12412738 | 1298 days ago | IN | 0 ETH | 0.01158318 | ||||
Register | 12412711 | 1298 days ago | IN | 0 ETH | 0.0120608 | ||||
Register | 12412400 | 1298 days ago | IN | 0 ETH | 0.01276241 | ||||
Register | 12412376 | 1298 days ago | IN | 0 ETH | 0.01279752 | ||||
Register | 12412373 | 1298 days ago | IN | 0 ETH | 0.01278156 | ||||
Register Caller | 12412197 | 1299 days ago | IN | 0 ETH | 0.01206155 | ||||
Register | 12412182 | 1299 days ago | IN | 0 ETH | 0.01205778 | ||||
Register | 12412172 | 1299 days ago | IN | 0 ETH | 0.01206381 | ||||
Register | 12412160 | 1299 days ago | IN | 0 ETH | 0.01204272 | ||||
Register | 12412149 | 1299 days ago | IN | 0 ETH | 0.01206381 | ||||
Register | 12412121 | 1299 days ago | IN | 0 ETH | 0.01204272 | ||||
Register | 12412115 | 1299 days ago | IN | 0 ETH | 0.01203369 | ||||
Register | 12412110 | 1299 days ago | IN | 0 ETH | 0.01203971 | ||||
Register | 12412100 | 1299 days ago | IN | 0 ETH | 0.01202766 | ||||
Register | 12412074 | 1299 days ago | IN | 0 ETH | 0.01203971 | ||||
Register | 12411841 | 1299 days ago | IN | 0 ETH | 0.00963171 | ||||
Register | 12411687 | 1299 days ago | IN | 0 ETH | 0.00963413 | ||||
Register | 12411679 | 1299 days ago | IN | 0 ETH | 0.0096486 | ||||
Register | 12411518 | 1299 days ago | IN | 0 ETH | 0.01106928 | ||||
Register | 12411490 | 1299 days ago | IN | 0 ETH | 0.01108314 | ||||
Register | 12411012 | 1299 days ago | IN | 0 ETH | 0.00965101 | ||||
Register | 12410982 | 1299 days ago | IN | 0 ETH | 0.00965342 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
Registry
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-05-11 */ // File: @openzeppelin/contracts/GSN/Context.sol // SPDX-License-Identifier: MIT pragma solidity >=0.6.0 <0.8.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. */ abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return msg.sender; } function _msgData() internal view virtual returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } // File: @openzeppelin/contracts/access/Ownable.sol pragma solidity >=0.6.0 <0.8.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. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * 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. */ abstract 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(_owner == _msgSender(), "Ownable: caller is not the 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 virtual 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 virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } // File: contracts/interface/IRegistry.sol pragma solidity ^0.6.0; interface IRegistry { function handlers(address) external view returns (bytes32); function callers(address) external view returns (bytes32); function bannedAgents(address) external view returns (uint256); function fHalt() external view returns (bool); function isValidHandler(address handler) external view returns (bool); function isValidCaller(address handler) external view returns (bool); } // File: contracts/Registry.sol pragma solidity ^0.6.0; /// @notice The registry database for Furucombo contract Registry is IRegistry, Ownable { mapping(address => bytes32) public override handlers; mapping(address => bytes32) public override callers; mapping(address => uint256) public override bannedAgents; bool public override fHalt; bytes32 public constant DEPRECATED = bytes10(0x64657072656361746564); event Registered(address indexed registration, bytes32 info); event Unregistered(address indexed registration); event CallerRegistered(address indexed registration, bytes32 info); event CallerUnregistered(address indexed registration); event Banned(address indexed agent); event Unbanned(address indexed agent); event Halted(); event Unhalted(); modifier isNotHalted() { require(fHalt == false, "Halted"); _; } modifier isHalted() { require(fHalt, "Not halted"); _; } modifier isNotBanned(address agent) { require(bannedAgents[agent] == 0, "Banned"); _; } modifier isBanned(address agent) { require(bannedAgents[agent] != 0, "Not banned"); _; } /** * @notice Register a handler with a bytes32 information. * @param registration Handler address. * @param info Info string. */ function register(address registration, bytes32 info) external onlyOwner { require(registration != address(0), "zero address"); require(info != DEPRECATED, "unregistered info"); require(handlers[registration] != DEPRECATED, "unregistered"); handlers[registration] = info; emit Registered(registration, info); } /** * @notice Unregister a handler. The handler will be deprecated. * @param registration The handler to be unregistered. */ function unregister(address registration) external onlyOwner { require(registration != address(0), "zero address"); require(handlers[registration] != bytes32(0), "no registration"); require(handlers[registration] != DEPRECATED, "unregistered"); handlers[registration] = DEPRECATED; emit Unregistered(registration); } /** * @notice Register a caller with a bytes32 information. * @param registration Caller address. * @param info Info string. * @dev Dapps that triggers callback function should be registered. * In this case, registration is the Dapp address and the leading 20 bytes * of info is the handler address. */ function registerCaller(address registration, bytes32 info) external onlyOwner { require(registration != address(0), "zero address"); require(info != DEPRECATED, "unregistered info"); require(callers[registration] != DEPRECATED, "unregistered"); callers[registration] = info; emit CallerRegistered(registration, info); } /** * @notice Unregister a caller. The caller will be deprecated. * @param registration The caller to be unregistered. */ function unregisterCaller(address registration) external onlyOwner { require(registration != address(0), "zero address"); require(callers[registration] != bytes32(0), "no registration"); require(callers[registration] != DEPRECATED, "unregistered"); callers[registration] = DEPRECATED; emit CallerUnregistered(registration); } /** * @notice Ban agent from query * */ function ban(address agent) external isNotBanned(agent) onlyOwner { bannedAgents[agent] = 1; emit Banned(agent); } /** * @notice Unban agent from query */ function unban(address agent) external isBanned(agent) onlyOwner { bannedAgents[agent] = 0; emit Unbanned(agent); } /** * @notice Check if the handler is valid. * @param handler The handler to be verified. */ function isValidHandler(address handler) external view override returns (bool) { return handlers[handler] != 0 && handlers[handler] != DEPRECATED; } /** * @notice Check if the caller is valid. * @param caller The caller to be verified. */ function isValidCaller(address caller) external view override returns (bool) { return callers[caller] != 0 && callers[caller] != DEPRECATED; } function halt() external isNotHalted onlyOwner { fHalt = true; emit Halted(); } function unhalt() external isHalted onlyOwner { fHalt = false; emit Unhalted(); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"agent","type":"address"}],"name":"Banned","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"registration","type":"address"},{"indexed":false,"internalType":"bytes32","name":"info","type":"bytes32"}],"name":"CallerRegistered","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"registration","type":"address"}],"name":"CallerUnregistered","type":"event"},{"anonymous":false,"inputs":[],"name":"Halted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"registration","type":"address"},{"indexed":false,"internalType":"bytes32","name":"info","type":"bytes32"}],"name":"Registered","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"agent","type":"address"}],"name":"Unbanned","type":"event"},{"anonymous":false,"inputs":[],"name":"Unhalted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"registration","type":"address"}],"name":"Unregistered","type":"event"},{"inputs":[],"name":"DEPRECATED","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"agent","type":"address"}],"name":"ban","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bannedAgents","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"callers","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"fHalt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"halt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"handlers","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"caller","type":"address"}],"name":"isValidCaller","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"handler","type":"address"}],"name":"isValidHandler","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"registration","type":"address"},{"internalType":"bytes32","name":"info","type":"bytes32"}],"name":"register","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"registration","type":"address"},{"internalType":"bytes32","name":"info","type":"bytes32"}],"name":"registerCaller","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"agent","type":"address"}],"name":"unban","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unhalt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"registration","type":"address"}],"name":"unregister","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"registration","type":"address"}],"name":"unregisterCaller","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b50600061001b61006a565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35061006e565b3390565b6110e28061007d6000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c80638da5cb5b116100a2578063bb1010e911610071578063bb1010e9146102cd578063cb3e64fd14610307578063d4c683481461030f578063ea750af614610335578063f2fde38b1461033d57610116565b80638da5cb5b1461023757806397c3ccd81461025b578063afb4bfbd14610281578063b9f14557146102a757610116565b806356ea919f116100e957806356ea919f146101cd5780635ed7ca5b146101f9578063715018a6146102015780637bbf4a3f14610209578063818b47a71461022f57610116565b80631903dcaa1461011b5780631a21c0bc146101535780631e7a505f146101795780632ec2c246146101a7575b600080fd5b6101416004803603602081101561013157600080fd5b50356001600160a01b0316610363565b60408051918252519081900360200190f35b6101416004803603602081101561016957600080fd5b50356001600160a01b0316610375565b6101a56004803603604081101561018f57600080fd5b506001600160a01b038135169060200135610387565b005b6101a5600480360360208110156101bd57600080fd5b50356001600160a01b031661053c565b6101a5600480360360408110156101e357600080fd5b506001600160a01b0381351690602001356106f4565b6101a56108a9565b6101a561097a565b6101416004803603602081101561021f57600080fd5b50356001600160a01b0316610a1c565b610141610a2e565b61023f610a3f565b604080516001600160a01b039092168252519081900360200190f35b6101a56004803603602081101561027157600080fd5b50356001600160a01b0316610a4e565b6101a56004803603602081101561029757600080fd5b50356001600160a01b0316610b42565b6101a5600480360360208110156102bd57600080fd5b50356001600160a01b0316610cfa565b6102f3600480360360208110156102e357600080fd5b50356001600160a01b0316610df0565b604080519115158252519081900360200190f35b6101a5610e42565b6102f36004803603602081101561032557600080fd5b50356001600160a01b0316610f13565b6102f3610f61565b6101a56004803603602081101561035357600080fd5b50356001600160a01b0316610f6a565b60036020526000908152604090205481565b60016020526000908152604090205481565b61038f611062565b6000546001600160a01b039081169116146103df576040805162461bcd60e51b8152602060048201819052602482015260008051602061108d833981519152604482015290519081900360640190fd5b6001600160a01b038216610429576040805162461bcd60e51b815260206004820152600c60248201526b7a65726f206164647265737360a01b604482015290519081900360640190fd5b6919195c1c9958d85d195960b21b81141561047f576040805162461bcd60e51b8152602060048201526011602482015270756e7265676973746572656420696e666f60781b604482015290519081900360640190fd5b6001600160a01b0382166000908152600160205260409020546919195c1c9958d85d195960b21b14156104e8576040805162461bcd60e51b815260206004820152600c60248201526b1d5b9c9959da5cdd195c995960a21b604482015290519081900360640190fd5b6001600160a01b038216600081815260016020908152604091829020849055815184815291517fb8142d42f05d95abf0a6570799774d59276e49ea32a04d9a4ec316ea4a6886bc9281900390910190a25050565b610544611062565b6000546001600160a01b03908116911614610594576040805162461bcd60e51b8152602060048201819052602482015260008051602061108d833981519152604482015290519081900360640190fd5b6001600160a01b0381166105de576040805162461bcd60e51b815260206004820152600c60248201526b7a65726f206164647265737360a01b604482015290519081900360640190fd5b6001600160a01b03811660009081526001602052604090205461063a576040805162461bcd60e51b815260206004820152600f60248201526e3737903932b3b4b9ba3930ba34b7b760891b604482015290519081900360640190fd5b6001600160a01b0381166000908152600160205260409020546919195c1c9958d85d195960b21b14156106a3576040805162461bcd60e51b815260206004820152600c60248201526b1d5b9c9959da5cdd195c995960a21b604482015290519081900360640190fd5b6001600160a01b0381166000818152600160205260408082206919195c1c9958d85d195960b21b9055517f75cd6de711483e11488a1cd9b66172abccb9e5c19572f92015a7880f0c8c0edc9190a250565b6106fc611062565b6000546001600160a01b0390811691161461074c576040805162461bcd60e51b8152602060048201819052602482015260008051602061108d833981519152604482015290519081900360640190fd5b6001600160a01b038216610796576040805162461bcd60e51b815260206004820152600c60248201526b7a65726f206164647265737360a01b604482015290519081900360640190fd5b6919195c1c9958d85d195960b21b8114156107ec576040805162461bcd60e51b8152602060048201526011602482015270756e7265676973746572656420696e666f60781b604482015290519081900360640190fd5b6001600160a01b0382166000908152600260205260409020546919195c1c9958d85d195960b21b1415610855576040805162461bcd60e51b815260206004820152600c60248201526b1d5b9c9959da5cdd195c995960a21b604482015290519081900360640190fd5b6001600160a01b038216600081815260026020908152604091829020849055815184815291517fbcf9675eb3fde058129f75f75f8b7a48bf7bcc37ec73dfd9b45218d551ce483b9281900390910190a25050565b60045460ff16156108ea576040805162461bcd60e51b815260206004820152600660248201526512185b1d195960d21b604482015290519081900360640190fd5b6108f2611062565b6000546001600160a01b03908116911614610942576040805162461bcd60e51b8152602060048201819052602482015260008051602061108d833981519152604482015290519081900360640190fd5b6004805460ff191660011790556040517f1ee9080f6b55ca44ce58681c8162e6c1ac1c47e1da791a4a1c1ec6186d8af1f390600090a1565b610982611062565b6000546001600160a01b039081169116146109d2576040805162461bcd60e51b8152602060048201819052602482015260008051602061108d833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60026020526000908152604090205481565b6919195c1c9958d85d195960b21b81565b6000546001600160a01b031690565b6001600160a01b038116600090815260036020526040902054819015610aa4576040805162461bcd60e51b815260206004820152600660248201526510985b9b995960d21b604482015290519081900360640190fd5b610aac611062565b6000546001600160a01b03908116911614610afc576040805162461bcd60e51b8152602060048201819052602482015260008051602061108d833981519152604482015290519081900360640190fd5b6001600160a01b03821660008181526003602052604080822060019055517f30d1df1214d91553408ca5384ce29e10e5866af8423c628be22860e41fb810059190a25050565b610b4a611062565b6000546001600160a01b03908116911614610b9a576040805162461bcd60e51b8152602060048201819052602482015260008051602061108d833981519152604482015290519081900360640190fd5b6001600160a01b038116610be4576040805162461bcd60e51b815260206004820152600c60248201526b7a65726f206164647265737360a01b604482015290519081900360640190fd5b6001600160a01b038116600090815260026020526040902054610c40576040805162461bcd60e51b815260206004820152600f60248201526e3737903932b3b4b9ba3930ba34b7b760891b604482015290519081900360640190fd5b6001600160a01b0381166000908152600260205260409020546919195c1c9958d85d195960b21b1415610ca9576040805162461bcd60e51b815260206004820152600c60248201526b1d5b9c9959da5cdd195c995960a21b604482015290519081900360640190fd5b6001600160a01b0381166000818152600260205260408082206919195c1c9958d85d195960b21b9055517f5b357470d4ba3884887ef785883313bfabff1620ba84b4a140ddc4536cb2e0b69190a250565b6001600160a01b0381166000908152600360205260409020548190610d53576040805162461bcd60e51b815260206004820152600a602482015269139bdd0818985b9b995960b21b604482015290519081900360640190fd5b610d5b611062565b6000546001600160a01b03908116911614610dab576040805162461bcd60e51b8152602060048201819052602482015260008051602061108d833981519152604482015290519081900360640190fd5b6001600160a01b038216600081815260036020526040808220829055517f2ab91b53354938415bb6962c4322231cd4cb2c84930f1a4b9abbedc2fe8abe729190a25050565b6001600160a01b03811660009081526002602052604081205415801590610e3c57506001600160a01b0382166000908152600260205260409020546919195c1c9958d85d195960b21b14155b92915050565b60045460ff16610e86576040805162461bcd60e51b815260206004820152600a602482015269139bdd081a185b1d195960b21b604482015290519081900360640190fd5b610e8e611062565b6000546001600160a01b03908116911614610ede576040805162461bcd60e51b8152602060048201819052602482015260008051602061108d833981519152604482015290519081900360640190fd5b6004805460ff191690556040517f7c46a5e7a10434913e987d799d659758880ce8e790692e13e66ddfae4cc9afca90600090a1565b6001600160a01b03811660009081526001602052604081205415801590610e3c5750506001600160a01b03166000908152600160205260409020546919195c1c9958d85d195960b21b141590565b60045460ff1681565b610f72611062565b6000546001600160a01b03908116911614610fc2576040805162461bcd60e51b8152602060048201819052602482015260008051602061108d833981519152604482015290519081900360640190fd5b6001600160a01b0381166110075760405162461bcd60e51b81526004018080602001828103825260268152602001806110676026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b339056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a2646970667358221220415b118bb96fb4fd11824f99a5d7c0a76d5898c49536e555a331be6aa4051eed64736f6c634300060c0033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101165760003560e01c80638da5cb5b116100a2578063bb1010e911610071578063bb1010e9146102cd578063cb3e64fd14610307578063d4c683481461030f578063ea750af614610335578063f2fde38b1461033d57610116565b80638da5cb5b1461023757806397c3ccd81461025b578063afb4bfbd14610281578063b9f14557146102a757610116565b806356ea919f116100e957806356ea919f146101cd5780635ed7ca5b146101f9578063715018a6146102015780637bbf4a3f14610209578063818b47a71461022f57610116565b80631903dcaa1461011b5780631a21c0bc146101535780631e7a505f146101795780632ec2c246146101a7575b600080fd5b6101416004803603602081101561013157600080fd5b50356001600160a01b0316610363565b60408051918252519081900360200190f35b6101416004803603602081101561016957600080fd5b50356001600160a01b0316610375565b6101a56004803603604081101561018f57600080fd5b506001600160a01b038135169060200135610387565b005b6101a5600480360360208110156101bd57600080fd5b50356001600160a01b031661053c565b6101a5600480360360408110156101e357600080fd5b506001600160a01b0381351690602001356106f4565b6101a56108a9565b6101a561097a565b6101416004803603602081101561021f57600080fd5b50356001600160a01b0316610a1c565b610141610a2e565b61023f610a3f565b604080516001600160a01b039092168252519081900360200190f35b6101a56004803603602081101561027157600080fd5b50356001600160a01b0316610a4e565b6101a56004803603602081101561029757600080fd5b50356001600160a01b0316610b42565b6101a5600480360360208110156102bd57600080fd5b50356001600160a01b0316610cfa565b6102f3600480360360208110156102e357600080fd5b50356001600160a01b0316610df0565b604080519115158252519081900360200190f35b6101a5610e42565b6102f36004803603602081101561032557600080fd5b50356001600160a01b0316610f13565b6102f3610f61565b6101a56004803603602081101561035357600080fd5b50356001600160a01b0316610f6a565b60036020526000908152604090205481565b60016020526000908152604090205481565b61038f611062565b6000546001600160a01b039081169116146103df576040805162461bcd60e51b8152602060048201819052602482015260008051602061108d833981519152604482015290519081900360640190fd5b6001600160a01b038216610429576040805162461bcd60e51b815260206004820152600c60248201526b7a65726f206164647265737360a01b604482015290519081900360640190fd5b6919195c1c9958d85d195960b21b81141561047f576040805162461bcd60e51b8152602060048201526011602482015270756e7265676973746572656420696e666f60781b604482015290519081900360640190fd5b6001600160a01b0382166000908152600160205260409020546919195c1c9958d85d195960b21b14156104e8576040805162461bcd60e51b815260206004820152600c60248201526b1d5b9c9959da5cdd195c995960a21b604482015290519081900360640190fd5b6001600160a01b038216600081815260016020908152604091829020849055815184815291517fb8142d42f05d95abf0a6570799774d59276e49ea32a04d9a4ec316ea4a6886bc9281900390910190a25050565b610544611062565b6000546001600160a01b03908116911614610594576040805162461bcd60e51b8152602060048201819052602482015260008051602061108d833981519152604482015290519081900360640190fd5b6001600160a01b0381166105de576040805162461bcd60e51b815260206004820152600c60248201526b7a65726f206164647265737360a01b604482015290519081900360640190fd5b6001600160a01b03811660009081526001602052604090205461063a576040805162461bcd60e51b815260206004820152600f60248201526e3737903932b3b4b9ba3930ba34b7b760891b604482015290519081900360640190fd5b6001600160a01b0381166000908152600160205260409020546919195c1c9958d85d195960b21b14156106a3576040805162461bcd60e51b815260206004820152600c60248201526b1d5b9c9959da5cdd195c995960a21b604482015290519081900360640190fd5b6001600160a01b0381166000818152600160205260408082206919195c1c9958d85d195960b21b9055517f75cd6de711483e11488a1cd9b66172abccb9e5c19572f92015a7880f0c8c0edc9190a250565b6106fc611062565b6000546001600160a01b0390811691161461074c576040805162461bcd60e51b8152602060048201819052602482015260008051602061108d833981519152604482015290519081900360640190fd5b6001600160a01b038216610796576040805162461bcd60e51b815260206004820152600c60248201526b7a65726f206164647265737360a01b604482015290519081900360640190fd5b6919195c1c9958d85d195960b21b8114156107ec576040805162461bcd60e51b8152602060048201526011602482015270756e7265676973746572656420696e666f60781b604482015290519081900360640190fd5b6001600160a01b0382166000908152600260205260409020546919195c1c9958d85d195960b21b1415610855576040805162461bcd60e51b815260206004820152600c60248201526b1d5b9c9959da5cdd195c995960a21b604482015290519081900360640190fd5b6001600160a01b038216600081815260026020908152604091829020849055815184815291517fbcf9675eb3fde058129f75f75f8b7a48bf7bcc37ec73dfd9b45218d551ce483b9281900390910190a25050565b60045460ff16156108ea576040805162461bcd60e51b815260206004820152600660248201526512185b1d195960d21b604482015290519081900360640190fd5b6108f2611062565b6000546001600160a01b03908116911614610942576040805162461bcd60e51b8152602060048201819052602482015260008051602061108d833981519152604482015290519081900360640190fd5b6004805460ff191660011790556040517f1ee9080f6b55ca44ce58681c8162e6c1ac1c47e1da791a4a1c1ec6186d8af1f390600090a1565b610982611062565b6000546001600160a01b039081169116146109d2576040805162461bcd60e51b8152602060048201819052602482015260008051602061108d833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60026020526000908152604090205481565b6919195c1c9958d85d195960b21b81565b6000546001600160a01b031690565b6001600160a01b038116600090815260036020526040902054819015610aa4576040805162461bcd60e51b815260206004820152600660248201526510985b9b995960d21b604482015290519081900360640190fd5b610aac611062565b6000546001600160a01b03908116911614610afc576040805162461bcd60e51b8152602060048201819052602482015260008051602061108d833981519152604482015290519081900360640190fd5b6001600160a01b03821660008181526003602052604080822060019055517f30d1df1214d91553408ca5384ce29e10e5866af8423c628be22860e41fb810059190a25050565b610b4a611062565b6000546001600160a01b03908116911614610b9a576040805162461bcd60e51b8152602060048201819052602482015260008051602061108d833981519152604482015290519081900360640190fd5b6001600160a01b038116610be4576040805162461bcd60e51b815260206004820152600c60248201526b7a65726f206164647265737360a01b604482015290519081900360640190fd5b6001600160a01b038116600090815260026020526040902054610c40576040805162461bcd60e51b815260206004820152600f60248201526e3737903932b3b4b9ba3930ba34b7b760891b604482015290519081900360640190fd5b6001600160a01b0381166000908152600260205260409020546919195c1c9958d85d195960b21b1415610ca9576040805162461bcd60e51b815260206004820152600c60248201526b1d5b9c9959da5cdd195c995960a21b604482015290519081900360640190fd5b6001600160a01b0381166000818152600260205260408082206919195c1c9958d85d195960b21b9055517f5b357470d4ba3884887ef785883313bfabff1620ba84b4a140ddc4536cb2e0b69190a250565b6001600160a01b0381166000908152600360205260409020548190610d53576040805162461bcd60e51b815260206004820152600a602482015269139bdd0818985b9b995960b21b604482015290519081900360640190fd5b610d5b611062565b6000546001600160a01b03908116911614610dab576040805162461bcd60e51b8152602060048201819052602482015260008051602061108d833981519152604482015290519081900360640190fd5b6001600160a01b038216600081815260036020526040808220829055517f2ab91b53354938415bb6962c4322231cd4cb2c84930f1a4b9abbedc2fe8abe729190a25050565b6001600160a01b03811660009081526002602052604081205415801590610e3c57506001600160a01b0382166000908152600260205260409020546919195c1c9958d85d195960b21b14155b92915050565b60045460ff16610e86576040805162461bcd60e51b815260206004820152600a602482015269139bdd081a185b1d195960b21b604482015290519081900360640190fd5b610e8e611062565b6000546001600160a01b03908116911614610ede576040805162461bcd60e51b8152602060048201819052602482015260008051602061108d833981519152604482015290519081900360640190fd5b6004805460ff191690556040517f7c46a5e7a10434913e987d799d659758880ce8e790692e13e66ddfae4cc9afca90600090a1565b6001600160a01b03811660009081526001602052604081205415801590610e3c5750506001600160a01b03166000908152600160205260409020546919195c1c9958d85d195960b21b141590565b60045460ff1681565b610f72611062565b6000546001600160a01b03908116911614610fc2576040805162461bcd60e51b8152602060048201819052602482015260008051602061108d833981519152604482015290519081900360640190fd5b6001600160a01b0381166110075760405162461bcd60e51b81526004018080602001828103825260268152602001806110676026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b339056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a2646970667358221220415b118bb96fb4fd11824f99a5d7c0a76d5898c49536e555a331be6aa4051eed64736f6c634300060c0033
Deployed Bytecode Sourcemap
3941:4747:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4105:56;;;;;;;;;;;;;;;;-1:-1:-1;4105:56:0;-1:-1:-1;;;;;4105:56:0;;:::i;:::-;;;;;;;;;;;;;;;;3988:52;;;;;;;;;;;;;;;;-1:-1:-1;3988:52:0;-1:-1:-1;;;;;3988:52:0;;:::i;5246:360::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;5246:360:0;;;;;;;;:::i;:::-;;5762:366;;;;;;;;;;;;;;;;-1:-1:-1;5762:366:0;-1:-1:-1;;;;;5762:366:0;;:::i;6486:393::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6486:393:0;;;;;;;;:::i;8471:102::-;;;:::i;2770:148::-;;;:::i;4047:51::-;;;;;;;;;;;;;;;;-1:-1:-1;4047:51:0;-1:-1:-1;;;;;4047:51:0;;:::i;4203:68::-;;;:::i;2128:79::-;;;:::i;:::-;;;;-1:-1:-1;;;;;2128:79:0;;;;;;;;;;;;;;7478:137;;;;;;;;;;;;;;;;-1:-1:-1;7478:137:0;-1:-1:-1;;;;;7478:137:0;;:::i;7032:375::-;;;;;;;;;;;;;;;;-1:-1:-1;7032:375:0;-1:-1:-1;;;;;7032:375:0;;:::i;7680:138::-;;;;;;;;;;;;;;;;-1:-1:-1;7680:138:0;-1:-1:-1;;;;;7680:138:0;;:::i;8266:197::-;;;;;;;;;;;;;;;;-1:-1:-1;8266:197:0;-1:-1:-1;;;;;8266:197:0;;:::i;:::-;;;;;;;;;;;;;;;;;;8581:104;;;:::i;7942:203::-;;;;;;;;;;;;;;;;-1:-1:-1;7942:203:0;-1:-1:-1;;;;;7942:203:0;;:::i;4168:26::-;;;:::i;3073:244::-;;;;;;;;;;;;;;;;-1:-1:-1;3073:244:0;-1:-1:-1;;;;;3073:244:0;;:::i;4105:56::-;;;;;;;;;;;;;:::o;3988:52::-;;;;;;;;;;;;;:::o;5246:360::-;2350:12;:10;:12::i;:::-;2340:6;;-1:-1:-1;;;;;2340:6:0;;;:22;;;2332:67;;;;;-1:-1:-1;;;2332:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2332:67:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;5338:26:0;::::1;5330:51;;;::::0;;-1:-1:-1;;;5330:51:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;5330:51:0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;5400:18:0;::::1;;5392:48;;;::::0;;-1:-1:-1;;;5392:48:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;5392:48:0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;;;5459:22:0;::::1;;::::0;;;:8:::1;:22;::::0;;;;;-1:-1:-1;;;5459:36:0::1;;5451:61;;;::::0;;-1:-1:-1;;;5451:61:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;5451:61:0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;;;5523:22:0;::::1;;::::0;;;:8:::1;:22;::::0;;;;;;;;:29;;;5568:30;;;;;;;::::1;::::0;;;;;;;;::::1;5246:360:::0;;:::o;5762:366::-;2350:12;:10;:12::i;:::-;2340:6;;-1:-1:-1;;;;;2340:6:0;;;:22;;;2332:67;;;;;-1:-1:-1;;;2332:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2332:67:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;5842:26:0;::::1;5834:51;;;::::0;;-1:-1:-1;;;5834:51:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;5834:51:0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;;;5904:22:0;::::1;5938:1;5904:22:::0;;;:8:::1;:22;::::0;;;;;5896:64:::1;;;::::0;;-1:-1:-1;;;5896:64:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;5896:64:0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;;;5979:22:0;::::1;;::::0;;;:8:::1;:22;::::0;;;;;-1:-1:-1;;;5979:36:0::1;;5971:61;;;::::0;;-1:-1:-1;;;5971:61:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;5971:61:0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;;;6043:22:0;::::1;;::::0;;;:8:::1;:22;::::0;;;;;-1:-1:-1;;;6043:35:0;;6094:26;::::1;::::0;6043:22;6094:26:::1;5762:366:::0;:::o;6486:393::-;2350:12;:10;:12::i;:::-;2340:6;;-1:-1:-1;;;;;2340:6:0;;;:22;;;2332:67;;;;;-1:-1:-1;;;2332:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2332:67:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;6607:26:0;::::1;6599:51;;;::::0;;-1:-1:-1;;;6599:51:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;6599:51:0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;6669:18:0;::::1;;6661:48;;;::::0;;-1:-1:-1;;;6661:48:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;6661:48:0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;;;6728:21:0;::::1;;::::0;;;:7:::1;:21;::::0;;;;;-1:-1:-1;;;6728:35:0::1;;6720:60;;;::::0;;-1:-1:-1;;;6720:60:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;6720:60:0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;;;6791:21:0;::::1;;::::0;;;:7:::1;:21;::::0;;;;;;;;:28;;;6835:36;;;;;;;::::1;::::0;;;;;;;;::::1;6486:393:::0;;:::o;8471:102::-;4710:5;;;;:14;4702:33;;;;;-1:-1:-1;;;4702:33:0;;;;;;;;;;;;-1:-1:-1;;;4702:33:0;;;;;;;;;;;;;;;2350:12:::1;:10;:12::i;:::-;2340:6;::::0;-1:-1:-1;;;;;2340:6:0;;::::1;:22:::0;::::1;;2332:67;;;::::0;;-1:-1:-1;;;2332:67:0;;::::1;;::::0;::::1;::::0;;;;;;;-1:-1:-1;;;;;;;;;;;2332:67:0;;;;;;;;;;;;;::::1;;8529:5:::2;:12:::0;;-1:-1:-1;;8529:12:0::2;8537:4;8529:12;::::0;;8557:8:::2;::::0;::::2;::::0;8529:5:::2;::::0;8557:8:::2;8471:102::o:0;2770:148::-;2350:12;:10;:12::i;:::-;2340:6;;-1:-1:-1;;;;;2340:6:0;;;:22;;;2332:67;;;;;-1:-1:-1;;;2332:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2332:67:0;;;;;;;;;;;;;;;2877:1:::1;2861:6:::0;;2840:40:::1;::::0;-1:-1:-1;;;;;2861:6:0;;::::1;::::0;2840:40:::1;::::0;2877:1;;2840:40:::1;2908:1;2891:19:::0;;-1:-1:-1;;;;;;2891:19:0::1;::::0;;2770:148::o;4047:51::-;;;;;;;;;;;;;:::o;4203:68::-;-1:-1:-1;;;4203:68:0;:::o;2128:79::-;2166:7;2193:6;-1:-1:-1;;;;;2193:6:0;2128:79;:::o;7478:137::-;-1:-1:-1;;;;;4905:19:0;;;;;;:12;:19;;;;;;7527:5;;4905:24;4897:43;;;;;-1:-1:-1;;;4897:43:0;;;;;;;;;;;;-1:-1:-1;;;4897:43:0;;;;;;;;;;;;;;;2350:12:::1;:10;:12::i;:::-;2340:6;::::0;-1:-1:-1;;;;;2340:6:0;;::::1;:22:::0;::::1;;2332:67;;;::::0;;-1:-1:-1;;;2332:67:0;;::::1;;::::0;::::1;::::0;;;;;;;-1:-1:-1;;;;;;;;;;;2332:67:0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;;;7555:19:0;::::2;;::::0;;;:12:::2;:19;::::0;;;;;7577:1:::2;7555:23:::0;;7594:13;::::2;::::0;7555:19;7594:13:::2;7478:137:::0;;:::o;7032:375::-;2350:12;:10;:12::i;:::-;2340:6;;-1:-1:-1;;;;;2340:6:0;;;:22;;;2332:67;;;;;-1:-1:-1;;;2332:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2332:67:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;7118:26:0;::::1;7110:51;;;::::0;;-1:-1:-1;;;7110:51:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;7110:51:0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;;;7180:21:0;::::1;7213:1;7180:21:::0;;;:7:::1;:21;::::0;;;;;7172:63:::1;;;::::0;;-1:-1:-1;;;7172:63:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;7172:63:0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;;;7254:21:0;::::1;;::::0;;;:7:::1;:21;::::0;;;;;-1:-1:-1;;;7254:35:0::1;;7246:60;;;::::0;;-1:-1:-1;;;7246:60:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;7246:60:0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;;;7317:21:0;::::1;;::::0;;;:7:::1;:21;::::0;;;;;-1:-1:-1;;;7317:34:0;;7367:32;::::1;::::0;7317:21;7367:32:::1;7032:375:::0;:::o;7680:138::-;-1:-1:-1;;;;;5020:19:0;;;;;;:12;:19;;;;;;7728:5;;5012:47;;;;;-1:-1:-1;;;5012:47:0;;;;;;;;;;;;-1:-1:-1;;;5012:47:0;;;;;;;;;;;;;;;2350:12:::1;:10;:12::i;:::-;2340:6;::::0;-1:-1:-1;;;;;2340:6:0;;::::1;:22:::0;::::1;;2332:67;;;::::0;;-1:-1:-1;;;2332:67:0;;::::1;;::::0;::::1;::::0;;;;;;;-1:-1:-1;;;;;;;;;;;2332:67:0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;;;7756:19:0;::::2;7778:1;7756:19:::0;;;:12:::2;:19;::::0;;;;;:23;;;7795:15;::::2;::::0;7778:1;7795:15:::2;7680:138:::0;;:::o;8266:197::-;-1:-1:-1;;;;;8402:15:0;;8373:4;8402:15;;;:7;:15;;;;;;:20;;;;:53;;-1:-1:-1;;;;;;8426:15:0;;;;;;:7;:15;;;;;;-1:-1:-1;;;8426:29:0;;8402:53;8395:60;8266:197;-1:-1:-1;;8266:197:0:o;8581:104::-;4802:5;;;;4794:28;;;;;-1:-1:-1;;;4794:28:0;;;;;;;;;;;;-1:-1:-1;;;4794:28:0;;;;;;;;;;;;;;;2350:12:::1;:10;:12::i;:::-;2340:6;::::0;-1:-1:-1;;;;;2340:6:0;;::::1;:22:::0;::::1;;2332:67;;;::::0;;-1:-1:-1;;;2332:67:0;;::::1;;::::0;::::1;::::0;;;;;;;-1:-1:-1;;;;;;;;;;;2332:67:0;;;;;;;;;;;;;::::1;;8638:5:::2;:13:::0;;-1:-1:-1;;8638:13:0::2;::::0;;8667:10:::2;::::0;::::2;::::0;8646:5:::2;::::0;8667:10:::2;8581:104::o:0;7942:203::-;-1:-1:-1;;;;;8080:17:0;;8051:4;8080:17;;;:8;:17;;;;;;:22;;;;:57;;-1:-1:-1;;;;;;;8106:17:0;;;;;:8;:17;;;;;;-1:-1:-1;;;8106:31:0;;;7942:203::o;4168:26::-;;;;;;:::o;3073:244::-;2350:12;:10;:12::i;:::-;2340:6;;-1:-1:-1;;;;;2340:6:0;;;:22;;;2332:67;;;;;-1:-1:-1;;;2332:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2332:67:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;3162:22:0;::::1;3154:73;;;;-1:-1:-1::0;;;3154:73:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3264:6;::::0;;3243:38:::1;::::0;-1:-1:-1;;;;;3243:38:0;;::::1;::::0;3264:6;::::1;::::0;3243:38:::1;::::0;::::1;3292:6;:17:::0;;-1:-1:-1;;;;;;3292:17:0::1;-1:-1:-1::0;;;;;3292:17:0;;;::::1;::::0;;;::::1;::::0;;3073:244::o;665:106::-;753:10;665:106;:::o
Swarm Source
ipfs://415b118bb96fb4fd11824f99a5d7c0a76d5898c49536e555a331be6aa4051eed
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.