Feature Tip: Add private address tag to any address under My Name Tag !
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
Timelock
Compiler Version
v0.8.10+commit.fc410830
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: BSD-3-Clause pragma solidity =0.8.10; import "./SafeMath.sol"; contract Timelock { using SafeMath for uint; event NewAdmin(address indexed newAdmin); event NewPendingAdmin(address indexed newPendingAdmin); event NewDelay(uint indexed newDelay); event CancelTransaction(bytes32 indexed txHash, address indexed target, uint value, string signature, bytes data, uint eta); event ExecuteTransaction(bytes32 indexed txHash, address indexed target, uint value, string signature, bytes data, uint eta); event QueueTransaction(bytes32 indexed txHash, address indexed target, uint value, string signature, bytes data, uint eta); uint public constant GRACE_PERIOD = 14 days; uint public constant MINIMUM_DELAY = 2 days; uint public constant MAXIMUM_DELAY = 30 days; address public admin; address public pendingAdmin; uint public delay; mapping (bytes32 => bool) public queuedTransactions; constructor(address admin_, uint delay_) public { require(delay_ >= MINIMUM_DELAY, "Timelock::constructor: Delay must exceed minimum delay."); require(delay_ <= MAXIMUM_DELAY, "Timelock::setDelay: Delay must not exceed maximum delay."); admin = admin_; delay = delay_; } fallback() external payable { } function setDelay(uint delay_) public { require(msg.sender == address(this), "Timelock::setDelay: Call must come from Timelock."); require(delay_ >= MINIMUM_DELAY, "Timelock::setDelay: Delay must exceed minimum delay."); require(delay_ <= MAXIMUM_DELAY, "Timelock::setDelay: Delay must not exceed maximum delay."); delay = delay_; emit NewDelay(delay); } function acceptAdmin() public { require(msg.sender == pendingAdmin, "Timelock::acceptAdmin: Call must come from pendingAdmin."); admin = msg.sender; pendingAdmin = address(0); emit NewAdmin(admin); } function setPendingAdmin(address pendingAdmin_) public { require(msg.sender == address(this), "Timelock::setPendingAdmin: Call must come from Timelock."); pendingAdmin = pendingAdmin_; emit NewPendingAdmin(pendingAdmin); } function queueTransaction(address target, uint value, string memory signature, bytes memory data, uint eta) public returns (bytes32) { require(msg.sender == admin, "Timelock::queueTransaction: Call must come from admin."); require(eta >= getBlockTimestamp().add(delay), "Timelock::queueTransaction: Estimated execution block must satisfy delay."); bytes32 txHash = keccak256(abi.encode(target, value, signature, data, eta)); queuedTransactions[txHash] = true; emit QueueTransaction(txHash, target, value, signature, data, eta); return txHash; } function cancelTransaction(address target, uint value, string memory signature, bytes memory data, uint eta) public { require(msg.sender == admin, "Timelock::cancelTransaction: Call must come from admin."); bytes32 txHash = keccak256(abi.encode(target, value, signature, data, eta)); queuedTransactions[txHash] = false; emit CancelTransaction(txHash, target, value, signature, data, eta); } function executeTransaction(address target, uint value, string memory signature, bytes memory data, uint eta) public payable returns (bytes memory) { require(msg.sender == admin, "Timelock::executeTransaction: Call must come from admin."); bytes32 txHash = keccak256(abi.encode(target, value, signature, data, eta)); require(queuedTransactions[txHash], "Timelock::executeTransaction: Transaction hasn't been queued."); require(getBlockTimestamp() >= eta, "Timelock::executeTransaction: Transaction hasn't surpassed time lock."); require(getBlockTimestamp() <= eta.add(GRACE_PERIOD), "Timelock::executeTransaction: Transaction is stale."); queuedTransactions[txHash] = false; bytes memory callData; if (bytes(signature).length == 0) { callData = data; } else { callData = abi.encodePacked(bytes4(keccak256(bytes(signature))), data); } // solium-disable-next-line security/no-call-value (bool success, bytes memory returnData) = target.call{value: value}(callData); require(success, "Timelock::executeTransaction: Transaction execution reverted."); emit ExecuteTransaction(txHash, target, value, signature, data, eta); return returnData; } function getBlockTimestamp() internal view returns (uint) { // solium-disable-next-line security/no-block-members return block.timestamp; } }
// SPDX-License-Identifier: BSD-3-Clause pragma solidity =0.8.10; // From https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/math/Math.sol // Subject to the MIT license. /** * @dev Wrappers over Solidity's arithmetic operations with added overflow * checks. * * Arithmetic operations in Solidity wrap on overflow. This can easily result * in bugs, because programmers usually assume that an overflow raises an * error, which is the standard behavior in high level programming languages. * `SafeMath` restores this intuition by reverting the transaction when an * operation overflows. * * Using this library instead of the unchecked operations eliminates an entire * class of bugs, so it's recommended to use it always. */ library SafeMath { /** * @dev Returns the addition of two unsigned integers, reverting on overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c; unchecked { c = a + b; } require(c >= a, "SafeMath: addition overflow"); return c; } /** * @dev Returns the addition of two unsigned integers, reverting with custom message on overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * - Addition cannot overflow. */ function add(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { uint256 c; unchecked { c = a + b; } require(c >= a, errorMessage); return c; } /** * @dev Returns the subtraction of two unsigned integers, reverting on underflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * - Subtraction cannot underflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction underflow"); } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on underflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * - Subtraction cannot underflow. */ function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } /** * @dev Returns the multiplication of two unsigned integers, reverting on overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) { return 0; } uint256 c; unchecked { c = a * b; } require(c / a == b, "SafeMath: multiplication overflow"); return c; } /** * @dev Returns the multiplication of two unsigned integers, reverting on overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) { return 0; } uint256 c; unchecked { c = a * b; } require(c / a == b, errorMessage); return c; } /** * @dev Returns the integer division of two unsigned integers. * Reverts on division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } /** * @dev Returns the integer division of two unsigned integers. * Reverts with custom message on division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. */ function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { // Solidity only automatically asserts when dividing by 0 require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts with custom message when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } }
{ "optimizer": { "enabled": false, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"admin_","type":"address"},{"internalType":"uint256","name":"delay_","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"txHash","type":"bytes32"},{"indexed":true,"internalType":"address","name":"target","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"},{"indexed":false,"internalType":"string","name":"signature","type":"string"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"},{"indexed":false,"internalType":"uint256","name":"eta","type":"uint256"}],"name":"CancelTransaction","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"txHash","type":"bytes32"},{"indexed":true,"internalType":"address","name":"target","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"},{"indexed":false,"internalType":"string","name":"signature","type":"string"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"},{"indexed":false,"internalType":"uint256","name":"eta","type":"uint256"}],"name":"ExecuteTransaction","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newAdmin","type":"address"}],"name":"NewAdmin","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"newDelay","type":"uint256"}],"name":"NewDelay","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newPendingAdmin","type":"address"}],"name":"NewPendingAdmin","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"txHash","type":"bytes32"},{"indexed":true,"internalType":"address","name":"target","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"},{"indexed":false,"internalType":"string","name":"signature","type":"string"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"},{"indexed":false,"internalType":"uint256","name":"eta","type":"uint256"}],"name":"QueueTransaction","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"GRACE_PERIOD","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAXIMUM_DELAY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MINIMUM_DELAY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"acceptAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"admin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"string","name":"signature","type":"string"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"eta","type":"uint256"}],"name":"cancelTransaction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"delay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"string","name":"signature","type":"string"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"eta","type":"uint256"}],"name":"executeTransaction","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"pendingAdmin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"string","name":"signature","type":"string"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"eta","type":"uint256"}],"name":"queueTransaction","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"queuedTransactions","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"delay_","type":"uint256"}],"name":"setDelay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"pendingAdmin_","type":"address"}],"name":"setPendingAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040523480156200001157600080fd5b50604051620020cc380380620020cc8339818101604052810190620000379190620001bd565b6202a30081101562000080576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000077906200028b565b60405180910390fd5b62278d00811115620000c9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000c09062000323565b60405180910390fd5b816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600281905550505062000345565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200014a826200011d565b9050919050565b6200015c816200013d565b81146200016857600080fd5b50565b6000815190506200017c8162000151565b92915050565b6000819050919050565b620001978162000182565b8114620001a357600080fd5b50565b600081519050620001b7816200018c565b92915050565b60008060408385031215620001d757620001d662000118565b5b6000620001e7858286016200016b565b9250506020620001fa85828601620001a6565b9150509250929050565b600082825260208201905092915050565b7f54696d656c6f636b3a3a636f6e7374727563746f723a2044656c6179206d757360008201527f7420657863656564206d696e696d756d2064656c61792e000000000000000000602082015250565b60006200027360378362000204565b9150620002808262000215565b604082019050919050565b60006020820190508181036000830152620002a68162000264565b9050919050565b7f54696d656c6f636b3a3a73657444656c61793a2044656c6179206d757374206e60008201527f6f7420657863656564206d6178696d756d2064656c61792e0000000000000000602082015250565b60006200030b60388362000204565b91506200031882620002ad565b604082019050919050565b600060208201905081810360008301526200033e81620002fc565b9050919050565b611d7780620003556000396000f3fe6080604052600436106100c65760003560e01c80636a42b8f81161007f578063c1a287e211610059578063c1a287e21461024b578063e177246e14610276578063f2b065371461029f578063f851a440146102dc576100c7565b80636a42b8f8146101ca5780637d645fab146101f5578063b1b43ae514610220576100c7565b80630825f38f146100c95780630e18b681146100f957806326782247146101105780633a66f9011461013b5780634dd18bf514610178578063591fcdfe146101a1576100c7565b5b005b6100e360048036038101906100de9190611080565b610307565b6040516100f091906111bb565b60405180910390f35b34801561010557600080fd5b5061010e610654565b005b34801561011c57600080fd5b506101256107cb565b60405161013291906111ec565b60405180910390f35b34801561014757600080fd5b50610162600480360381019061015d9190611080565b6107f1565b60405161016f9190611220565b60405180910390f35b34801561018457600080fd5b5061019f600480360381019061019a919061123b565b6109a1565b005b3480156101ad57600080fd5b506101c860048036038101906101c39190611080565b610ab8565b005b3480156101d657600080fd5b506101df610c02565b6040516101ec9190611277565b60405180910390f35b34801561020157600080fd5b5061020a610c08565b6040516102179190611277565b60405180910390f35b34801561022c57600080fd5b50610235610c0f565b6040516102429190611277565b60405180910390f35b34801561025757600080fd5b50610260610c16565b60405161026d9190611277565b60405180910390f35b34801561028257600080fd5b5061029d60048036038101906102989190611292565b610c1d565b005b3480156102ab57600080fd5b506102c660048036038101906102c191906112eb565b610d50565b6040516102d39190611333565b60405180910390f35b3480156102e857600080fd5b506102f1610d70565b6040516102fe91906111ec565b60405180910390f35b606060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610397576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161038e906113d1565b60405180910390fd5b600086868686866040516020016103b2959493929190611435565b6040516020818303038152906040528051906020012090506003600082815260200190815260200160002060009054906101000a900460ff1661042a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161042190611508565b60405180910390fd5b82610433610d94565b1015610474576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161046b906115c0565b60405180910390fd5b61048a6212750084610d9c90919063ffffffff16565b610492610d94565b11156104d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ca90611652565b60405180910390fd5b60006003600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060606000865114156105135784905061053f565b85805190602001208560405160200161052d9291906116fb565b60405160208183030381529060405290505b6000808973ffffffffffffffffffffffffffffffffffffffff1689846040516105689190611723565b60006040518083038185875af1925050503d80600081146105a5576040519150601f19603f3d011682016040523d82523d6000602084013e6105aa565b606091505b5091509150816105ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e6906117ac565b60405180910390fd5b8973ffffffffffffffffffffffffffffffffffffffff16847fa560e3198060a2f10670c1ec5b403077ea6ae93ca8de1c32b451dc1a943cd6e78b8b8b8b60405161063c94939291906117cc565b60405180910390a38094505050505095945050505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106db90611891565b60405180910390fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f71614071b88dee5e0b2ae578a9dd7b2ebbe9ae832ba419dc0242cd065a290b6c60405160405180910390a2565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610882576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087990611923565b60405180910390fd5b61089e600254610890610d94565b610d9c90919063ffffffff16565b8210156108e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d7906119db565b60405180910390fd5b600086868686866040516020016108fb959493929190611435565b60405160208183030381529060405280519060200120905060016003600083815260200190815260200160002060006101000a81548160ff0219169083151502179055508673ffffffffffffffffffffffffffffffffffffffff16817f76e2796dc3a81d57b0e8504b647febcbeeb5f4af818e164f11eef8131a6a763f8888888860405161098c94939291906117cc565b60405180910390a38091505095945050505050565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0690611a6d565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f69d78e38a01985fbb1462961809b4b2d65531bc93b2b94037f3334b82ca4a75660405160405180910390a250565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3d90611aff565b60405180910390fd5b60008585858585604051602001610b61959493929190611435565b60405160208183030381529060405280519060200120905060006003600083815260200190815260200160002060006101000a81548160ff0219169083151502179055508573ffffffffffffffffffffffffffffffffffffffff16817f2fffc091a501fd91bfbff27141450d3acb40fb8e6d8382b243ec7a812a3aaf8787878787604051610bf294939291906117cc565b60405180910390a3505050505050565b60025481565b62278d0081565b6202a30081565b6212750081565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c8b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8290611b91565b60405180910390fd5b6202a300811015610cd1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc890611c23565b60405180910390fd5b62278d00811115610d17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0e90611cb5565b60405180910390fd5b806002819055506002547f948b1f6a42ee138b7e34058ba85a37f716d55ff25ff05a763f15bed6a04c8d2c60405160405180910390a250565b60036020528060005260406000206000915054906101000a900460ff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600042905090565b600080828401905083811015610de7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dde90611d21565b60405180910390fd5b8091505092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610e3082610e05565b9050919050565b610e4081610e25565b8114610e4b57600080fd5b50565b600081359050610e5d81610e37565b92915050565b6000819050919050565b610e7681610e63565b8114610e8157600080fd5b50565b600081359050610e9381610e6d565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610eec82610ea3565b810181811067ffffffffffffffff82111715610f0b57610f0a610eb4565b5b80604052505050565b6000610f1e610df1565b9050610f2a8282610ee3565b919050565b600067ffffffffffffffff821115610f4a57610f49610eb4565b5b610f5382610ea3565b9050602081019050919050565b82818337600083830152505050565b6000610f82610f7d84610f2f565b610f14565b905082815260208101848484011115610f9e57610f9d610e9e565b5b610fa9848285610f60565b509392505050565b600082601f830112610fc657610fc5610e99565b5b8135610fd6848260208601610f6f565b91505092915050565b600067ffffffffffffffff821115610ffa57610ff9610eb4565b5b61100382610ea3565b9050602081019050919050565b600061102361101e84610fdf565b610f14565b90508281526020810184848401111561103f5761103e610e9e565b5b61104a848285610f60565b509392505050565b600082601f83011261106757611066610e99565b5b8135611077848260208601611010565b91505092915050565b600080600080600060a0868803121561109c5761109b610dfb565b5b60006110aa88828901610e4e565b95505060206110bb88828901610e84565b945050604086013567ffffffffffffffff8111156110dc576110db610e00565b5b6110e888828901610fb1565b935050606086013567ffffffffffffffff81111561110957611108610e00565b5b61111588828901611052565b925050608061112688828901610e84565b9150509295509295909350565b600081519050919050565b600082825260208201905092915050565b60005b8381101561116d578082015181840152602081019050611152565b8381111561117c576000848401525b50505050565b600061118d82611133565b611197818561113e565b93506111a781856020860161114f565b6111b081610ea3565b840191505092915050565b600060208201905081810360008301526111d58184611182565b905092915050565b6111e681610e25565b82525050565b600060208201905061120160008301846111dd565b92915050565b6000819050919050565b61121a81611207565b82525050565b60006020820190506112356000830184611211565b92915050565b60006020828403121561125157611250610dfb565b5b600061125f84828501610e4e565b91505092915050565b61127181610e63565b82525050565b600060208201905061128c6000830184611268565b92915050565b6000602082840312156112a8576112a7610dfb565b5b60006112b684828501610e84565b91505092915050565b6112c881611207565b81146112d357600080fd5b50565b6000813590506112e5816112bf565b92915050565b60006020828403121561130157611300610dfb565b5b600061130f848285016112d6565b91505092915050565b60008115159050919050565b61132d81611318565b82525050565b60006020820190506113486000830184611324565b92915050565b600082825260208201905092915050565b7f54696d656c6f636b3a3a657865637574655472616e73616374696f6e3a20436160008201527f6c6c206d75737420636f6d652066726f6d2061646d696e2e0000000000000000602082015250565b60006113bb60388361134e565b91506113c68261135f565b604082019050919050565b600060208201905081810360008301526113ea816113ae565b9050919050565b600081519050919050565b6000611407826113f1565b611411818561134e565b935061142181856020860161114f565b61142a81610ea3565b840191505092915050565b600060a08201905061144a60008301886111dd565b6114576020830187611268565b818103604083015261146981866113fc565b9050818103606083015261147d8185611182565b905061148c6080830184611268565b9695505050505050565b7f54696d656c6f636b3a3a657865637574655472616e73616374696f6e3a20547260008201527f616e73616374696f6e206861736e2774206265656e207175657565642e000000602082015250565b60006114f2603d8361134e565b91506114fd82611496565b604082019050919050565b60006020820190508181036000830152611521816114e5565b9050919050565b7f54696d656c6f636b3a3a657865637574655472616e73616374696f6e3a20547260008201527f616e73616374696f6e206861736e2774207375727061737365642074696d652060208201527f6c6f636b2e000000000000000000000000000000000000000000000000000000604082015250565b60006115aa60458361134e565b91506115b582611528565b606082019050919050565b600060208201905081810360008301526115d98161159d565b9050919050565b7f54696d656c6f636b3a3a657865637574655472616e73616374696f6e3a20547260008201527f616e73616374696f6e206973207374616c652e00000000000000000000000000602082015250565b600061163c60338361134e565b9150611647826115e0565b604082019050919050565b6000602082019050818103600083015261166b8161162f565b9050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6000819050919050565b6116b96116b482611672565b61169e565b82525050565b600081905092915050565b60006116d582611133565b6116df81856116bf565b93506116ef81856020860161114f565b80840191505092915050565b600061170782856116a8565b60048201915061171782846116ca565b91508190509392505050565b600061172f82846116ca565b915081905092915050565b7f54696d656c6f636b3a3a657865637574655472616e73616374696f6e3a20547260008201527f616e73616374696f6e20657865637574696f6e2072657665727465642e000000602082015250565b6000611796603d8361134e565b91506117a18261173a565b604082019050919050565b600060208201905081810360008301526117c581611789565b9050919050565b60006080820190506117e16000830187611268565b81810360208301526117f381866113fc565b905081810360408301526118078185611182565b90506118166060830184611268565b95945050505050565b7f54696d656c6f636b3a3a61636365707441646d696e3a2043616c6c206d75737460008201527f20636f6d652066726f6d2070656e64696e6741646d696e2e0000000000000000602082015250565b600061187b60388361134e565b91506118868261181f565b604082019050919050565b600060208201905081810360008301526118aa8161186e565b9050919050565b7f54696d656c6f636b3a3a71756575655472616e73616374696f6e3a2043616c6c60008201527f206d75737420636f6d652066726f6d2061646d696e2e00000000000000000000602082015250565b600061190d60368361134e565b9150611918826118b1565b604082019050919050565b6000602082019050818103600083015261193c81611900565b9050919050565b7f54696d656c6f636b3a3a71756575655472616e73616374696f6e3a204573746960008201527f6d6174656420657865637574696f6e20626c6f636b206d75737420736174697360208201527f66792064656c61792e0000000000000000000000000000000000000000000000604082015250565b60006119c560498361134e565b91506119d082611943565b606082019050919050565b600060208201905081810360008301526119f4816119b8565b9050919050565b7f54696d656c6f636b3a3a73657450656e64696e6741646d696e3a2043616c6c2060008201527f6d75737420636f6d652066726f6d2054696d656c6f636b2e0000000000000000602082015250565b6000611a5760388361134e565b9150611a62826119fb565b604082019050919050565b60006020820190508181036000830152611a8681611a4a565b9050919050565b7f54696d656c6f636b3a3a63616e63656c5472616e73616374696f6e3a2043616c60008201527f6c206d75737420636f6d652066726f6d2061646d696e2e000000000000000000602082015250565b6000611ae960378361134e565b9150611af482611a8d565b604082019050919050565b60006020820190508181036000830152611b1881611adc565b9050919050565b7f54696d656c6f636b3a3a73657444656c61793a2043616c6c206d75737420636f60008201527f6d652066726f6d2054696d656c6f636b2e000000000000000000000000000000602082015250565b6000611b7b60318361134e565b9150611b8682611b1f565b604082019050919050565b60006020820190508181036000830152611baa81611b6e565b9050919050565b7f54696d656c6f636b3a3a73657444656c61793a2044656c6179206d757374206560008201527f7863656564206d696e696d756d2064656c61792e000000000000000000000000602082015250565b6000611c0d60348361134e565b9150611c1882611bb1565b604082019050919050565b60006020820190508181036000830152611c3c81611c00565b9050919050565b7f54696d656c6f636b3a3a73657444656c61793a2044656c6179206d757374206e60008201527f6f7420657863656564206d6178696d756d2064656c61792e0000000000000000602082015250565b6000611c9f60388361134e565b9150611caa82611c43565b604082019050919050565b60006020820190508181036000830152611cce81611c92565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000611d0b601b8361134e565b9150611d1682611cd5565b602082019050919050565b60006020820190508181036000830152611d3a81611cfe565b905091905056fea2646970667358221220cf514a935c267519527cd5a3c0353bc9a6b4bf8a678929991b92751553d4419964736f6c634300080a0033000000000000000000000000609fff64429e2a275a879e5c50e415cec842c6290000000000000000000000000000000000000000000000000000000000069780
Deployed Bytecode
0x6080604052600436106100c65760003560e01c80636a42b8f81161007f578063c1a287e211610059578063c1a287e21461024b578063e177246e14610276578063f2b065371461029f578063f851a440146102dc576100c7565b80636a42b8f8146101ca5780637d645fab146101f5578063b1b43ae514610220576100c7565b80630825f38f146100c95780630e18b681146100f957806326782247146101105780633a66f9011461013b5780634dd18bf514610178578063591fcdfe146101a1576100c7565b5b005b6100e360048036038101906100de9190611080565b610307565b6040516100f091906111bb565b60405180910390f35b34801561010557600080fd5b5061010e610654565b005b34801561011c57600080fd5b506101256107cb565b60405161013291906111ec565b60405180910390f35b34801561014757600080fd5b50610162600480360381019061015d9190611080565b6107f1565b60405161016f9190611220565b60405180910390f35b34801561018457600080fd5b5061019f600480360381019061019a919061123b565b6109a1565b005b3480156101ad57600080fd5b506101c860048036038101906101c39190611080565b610ab8565b005b3480156101d657600080fd5b506101df610c02565b6040516101ec9190611277565b60405180910390f35b34801561020157600080fd5b5061020a610c08565b6040516102179190611277565b60405180910390f35b34801561022c57600080fd5b50610235610c0f565b6040516102429190611277565b60405180910390f35b34801561025757600080fd5b50610260610c16565b60405161026d9190611277565b60405180910390f35b34801561028257600080fd5b5061029d60048036038101906102989190611292565b610c1d565b005b3480156102ab57600080fd5b506102c660048036038101906102c191906112eb565b610d50565b6040516102d39190611333565b60405180910390f35b3480156102e857600080fd5b506102f1610d70565b6040516102fe91906111ec565b60405180910390f35b606060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610397576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161038e906113d1565b60405180910390fd5b600086868686866040516020016103b2959493929190611435565b6040516020818303038152906040528051906020012090506003600082815260200190815260200160002060009054906101000a900460ff1661042a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161042190611508565b60405180910390fd5b82610433610d94565b1015610474576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161046b906115c0565b60405180910390fd5b61048a6212750084610d9c90919063ffffffff16565b610492610d94565b11156104d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ca90611652565b60405180910390fd5b60006003600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060606000865114156105135784905061053f565b85805190602001208560405160200161052d9291906116fb565b60405160208183030381529060405290505b6000808973ffffffffffffffffffffffffffffffffffffffff1689846040516105689190611723565b60006040518083038185875af1925050503d80600081146105a5576040519150601f19603f3d011682016040523d82523d6000602084013e6105aa565b606091505b5091509150816105ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e6906117ac565b60405180910390fd5b8973ffffffffffffffffffffffffffffffffffffffff16847fa560e3198060a2f10670c1ec5b403077ea6ae93ca8de1c32b451dc1a943cd6e78b8b8b8b60405161063c94939291906117cc565b60405180910390a38094505050505095945050505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106db90611891565b60405180910390fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f71614071b88dee5e0b2ae578a9dd7b2ebbe9ae832ba419dc0242cd065a290b6c60405160405180910390a2565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610882576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087990611923565b60405180910390fd5b61089e600254610890610d94565b610d9c90919063ffffffff16565b8210156108e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d7906119db565b60405180910390fd5b600086868686866040516020016108fb959493929190611435565b60405160208183030381529060405280519060200120905060016003600083815260200190815260200160002060006101000a81548160ff0219169083151502179055508673ffffffffffffffffffffffffffffffffffffffff16817f76e2796dc3a81d57b0e8504b647febcbeeb5f4af818e164f11eef8131a6a763f8888888860405161098c94939291906117cc565b60405180910390a38091505095945050505050565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0690611a6d565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f69d78e38a01985fbb1462961809b4b2d65531bc93b2b94037f3334b82ca4a75660405160405180910390a250565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3d90611aff565b60405180910390fd5b60008585858585604051602001610b61959493929190611435565b60405160208183030381529060405280519060200120905060006003600083815260200190815260200160002060006101000a81548160ff0219169083151502179055508573ffffffffffffffffffffffffffffffffffffffff16817f2fffc091a501fd91bfbff27141450d3acb40fb8e6d8382b243ec7a812a3aaf8787878787604051610bf294939291906117cc565b60405180910390a3505050505050565b60025481565b62278d0081565b6202a30081565b6212750081565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c8b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8290611b91565b60405180910390fd5b6202a300811015610cd1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc890611c23565b60405180910390fd5b62278d00811115610d17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0e90611cb5565b60405180910390fd5b806002819055506002547f948b1f6a42ee138b7e34058ba85a37f716d55ff25ff05a763f15bed6a04c8d2c60405160405180910390a250565b60036020528060005260406000206000915054906101000a900460ff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600042905090565b600080828401905083811015610de7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dde90611d21565b60405180910390fd5b8091505092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610e3082610e05565b9050919050565b610e4081610e25565b8114610e4b57600080fd5b50565b600081359050610e5d81610e37565b92915050565b6000819050919050565b610e7681610e63565b8114610e8157600080fd5b50565b600081359050610e9381610e6d565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610eec82610ea3565b810181811067ffffffffffffffff82111715610f0b57610f0a610eb4565b5b80604052505050565b6000610f1e610df1565b9050610f2a8282610ee3565b919050565b600067ffffffffffffffff821115610f4a57610f49610eb4565b5b610f5382610ea3565b9050602081019050919050565b82818337600083830152505050565b6000610f82610f7d84610f2f565b610f14565b905082815260208101848484011115610f9e57610f9d610e9e565b5b610fa9848285610f60565b509392505050565b600082601f830112610fc657610fc5610e99565b5b8135610fd6848260208601610f6f565b91505092915050565b600067ffffffffffffffff821115610ffa57610ff9610eb4565b5b61100382610ea3565b9050602081019050919050565b600061102361101e84610fdf565b610f14565b90508281526020810184848401111561103f5761103e610e9e565b5b61104a848285610f60565b509392505050565b600082601f83011261106757611066610e99565b5b8135611077848260208601611010565b91505092915050565b600080600080600060a0868803121561109c5761109b610dfb565b5b60006110aa88828901610e4e565b95505060206110bb88828901610e84565b945050604086013567ffffffffffffffff8111156110dc576110db610e00565b5b6110e888828901610fb1565b935050606086013567ffffffffffffffff81111561110957611108610e00565b5b61111588828901611052565b925050608061112688828901610e84565b9150509295509295909350565b600081519050919050565b600082825260208201905092915050565b60005b8381101561116d578082015181840152602081019050611152565b8381111561117c576000848401525b50505050565b600061118d82611133565b611197818561113e565b93506111a781856020860161114f565b6111b081610ea3565b840191505092915050565b600060208201905081810360008301526111d58184611182565b905092915050565b6111e681610e25565b82525050565b600060208201905061120160008301846111dd565b92915050565b6000819050919050565b61121a81611207565b82525050565b60006020820190506112356000830184611211565b92915050565b60006020828403121561125157611250610dfb565b5b600061125f84828501610e4e565b91505092915050565b61127181610e63565b82525050565b600060208201905061128c6000830184611268565b92915050565b6000602082840312156112a8576112a7610dfb565b5b60006112b684828501610e84565b91505092915050565b6112c881611207565b81146112d357600080fd5b50565b6000813590506112e5816112bf565b92915050565b60006020828403121561130157611300610dfb565b5b600061130f848285016112d6565b91505092915050565b60008115159050919050565b61132d81611318565b82525050565b60006020820190506113486000830184611324565b92915050565b600082825260208201905092915050565b7f54696d656c6f636b3a3a657865637574655472616e73616374696f6e3a20436160008201527f6c6c206d75737420636f6d652066726f6d2061646d696e2e0000000000000000602082015250565b60006113bb60388361134e565b91506113c68261135f565b604082019050919050565b600060208201905081810360008301526113ea816113ae565b9050919050565b600081519050919050565b6000611407826113f1565b611411818561134e565b935061142181856020860161114f565b61142a81610ea3565b840191505092915050565b600060a08201905061144a60008301886111dd565b6114576020830187611268565b818103604083015261146981866113fc565b9050818103606083015261147d8185611182565b905061148c6080830184611268565b9695505050505050565b7f54696d656c6f636b3a3a657865637574655472616e73616374696f6e3a20547260008201527f616e73616374696f6e206861736e2774206265656e207175657565642e000000602082015250565b60006114f2603d8361134e565b91506114fd82611496565b604082019050919050565b60006020820190508181036000830152611521816114e5565b9050919050565b7f54696d656c6f636b3a3a657865637574655472616e73616374696f6e3a20547260008201527f616e73616374696f6e206861736e2774207375727061737365642074696d652060208201527f6c6f636b2e000000000000000000000000000000000000000000000000000000604082015250565b60006115aa60458361134e565b91506115b582611528565b606082019050919050565b600060208201905081810360008301526115d98161159d565b9050919050565b7f54696d656c6f636b3a3a657865637574655472616e73616374696f6e3a20547260008201527f616e73616374696f6e206973207374616c652e00000000000000000000000000602082015250565b600061163c60338361134e565b9150611647826115e0565b604082019050919050565b6000602082019050818103600083015261166b8161162f565b9050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6000819050919050565b6116b96116b482611672565b61169e565b82525050565b600081905092915050565b60006116d582611133565b6116df81856116bf565b93506116ef81856020860161114f565b80840191505092915050565b600061170782856116a8565b60048201915061171782846116ca565b91508190509392505050565b600061172f82846116ca565b915081905092915050565b7f54696d656c6f636b3a3a657865637574655472616e73616374696f6e3a20547260008201527f616e73616374696f6e20657865637574696f6e2072657665727465642e000000602082015250565b6000611796603d8361134e565b91506117a18261173a565b604082019050919050565b600060208201905081810360008301526117c581611789565b9050919050565b60006080820190506117e16000830187611268565b81810360208301526117f381866113fc565b905081810360408301526118078185611182565b90506118166060830184611268565b95945050505050565b7f54696d656c6f636b3a3a61636365707441646d696e3a2043616c6c206d75737460008201527f20636f6d652066726f6d2070656e64696e6741646d696e2e0000000000000000602082015250565b600061187b60388361134e565b91506118868261181f565b604082019050919050565b600060208201905081810360008301526118aa8161186e565b9050919050565b7f54696d656c6f636b3a3a71756575655472616e73616374696f6e3a2043616c6c60008201527f206d75737420636f6d652066726f6d2061646d696e2e00000000000000000000602082015250565b600061190d60368361134e565b9150611918826118b1565b604082019050919050565b6000602082019050818103600083015261193c81611900565b9050919050565b7f54696d656c6f636b3a3a71756575655472616e73616374696f6e3a204573746960008201527f6d6174656420657865637574696f6e20626c6f636b206d75737420736174697360208201527f66792064656c61792e0000000000000000000000000000000000000000000000604082015250565b60006119c560498361134e565b91506119d082611943565b606082019050919050565b600060208201905081810360008301526119f4816119b8565b9050919050565b7f54696d656c6f636b3a3a73657450656e64696e6741646d696e3a2043616c6c2060008201527f6d75737420636f6d652066726f6d2054696d656c6f636b2e0000000000000000602082015250565b6000611a5760388361134e565b9150611a62826119fb565b604082019050919050565b60006020820190508181036000830152611a8681611a4a565b9050919050565b7f54696d656c6f636b3a3a63616e63656c5472616e73616374696f6e3a2043616c60008201527f6c206d75737420636f6d652066726f6d2061646d696e2e000000000000000000602082015250565b6000611ae960378361134e565b9150611af482611a8d565b604082019050919050565b60006020820190508181036000830152611b1881611adc565b9050919050565b7f54696d656c6f636b3a3a73657444656c61793a2043616c6c206d75737420636f60008201527f6d652066726f6d2054696d656c6f636b2e000000000000000000000000000000602082015250565b6000611b7b60318361134e565b9150611b8682611b1f565b604082019050919050565b60006020820190508181036000830152611baa81611b6e565b9050919050565b7f54696d656c6f636b3a3a73657444656c61793a2044656c6179206d757374206560008201527f7863656564206d696e696d756d2064656c61792e000000000000000000000000602082015250565b6000611c0d60348361134e565b9150611c1882611bb1565b604082019050919050565b60006020820190508181036000830152611c3c81611c00565b9050919050565b7f54696d656c6f636b3a3a73657444656c61793a2044656c6179206d757374206e60008201527f6f7420657863656564206d6178696d756d2064656c61792e0000000000000000602082015250565b6000611c9f60388361134e565b9150611caa82611c43565b604082019050919050565b60006020820190508181036000830152611cce81611c92565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000611d0b601b8361134e565b9150611d1682611cd5565b602082019050919050565b60006020820190508181036000830152611d3a81611cfe565b905091905056fea2646970667358221220cf514a935c267519527cd5a3c0353bc9a6b4bf8a678929991b92751553d4419964736f6c634300080a0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000609fff64429e2a275a879e5c50e415cec842c6290000000000000000000000000000000000000000000000000000000000069780
-----Decoded View---------------
Arg [0] : admin_ (address): 0x609FFF64429e2A275a879e5C50e415cec842c629
Arg [1] : delay_ (uint256): 432000
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000609fff64429e2a275a879e5c50e415cec842c629
Arg [1] : 0000000000000000000000000000000000000000000000000000000000069780
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.