Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 23 from a total of 23 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Execute Transact... | 18838505 | 406 days ago | IN | 0 ETH | 0.01975536 | ||||
Execute Transact... | 18758131 | 418 days ago | IN | 0 ETH | 0.00475928 | ||||
Execute Transact... | 18341586 | 476 days ago | IN | 0 ETH | 0.00135136 | ||||
Execute Transact... | 18044172 | 518 days ago | IN | 0 ETH | 0.00113422 | ||||
Execute Transact... | 18019885 | 521 days ago | IN | 0 ETH | 0.00106619 | ||||
Execute Transact... | 17923489 | 535 days ago | IN | 0 ETH | 0.00157928 | ||||
Execute Transact... | 17894360 | 539 days ago | IN | 0 ETH | 0.00649973 | ||||
Execute Transact... | 17801102 | 552 days ago | IN | 0 ETH | 0.00368346 | ||||
Execute Transact... | 17614003 | 578 days ago | IN | 0 ETH | 0.00380931 | ||||
Execute Transact... | 17613997 | 578 days ago | IN | 0 ETH | 0.00349846 | ||||
Execute Transact... | 17573089 | 584 days ago | IN | 0 ETH | 0.00126442 | ||||
Execute Transact... | 17571146 | 584 days ago | IN | 0 ETH | 0.00113306 | ||||
Execute Transact... | 17466544 | 599 days ago | IN | 0 ETH | 0.00188079 | ||||
Execute Transact... | 17466543 | 599 days ago | IN | 0 ETH | 0.00202906 | ||||
Execute Transact... | 17466540 | 599 days ago | IN | 0 ETH | 0.00214285 | ||||
Execute Transact... | 17466538 | 599 days ago | IN | 0 ETH | 0.00218744 | ||||
Execute Transact... | 17466535 | 599 days ago | IN | 0 ETH | 0.00229833 | ||||
Execute Transact... | 17437414 | 603 days ago | IN | 0 ETH | 0.0017764 | ||||
Execute Transact... | 17437412 | 603 days ago | IN | 0 ETH | 0.00200107 | ||||
Execute Transact... | 17437406 | 603 days ago | IN | 0 ETH | 0.00217233 | ||||
Execute Transact... | 17437398 | 603 days ago | IN | 0 ETH | 0.00224833 | ||||
Execute Transact... | 17394365 | 609 days ago | IN | 0 ETH | 0.00860128 | ||||
Execute Transact... | 17388522 | 610 days ago | IN | 0 ETH | 0.01664638 |
Latest 1 internal transaction
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
17248519 | 629 days ago | Contract Creation | 0 ETH |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
DSPause
Compiler Version
v0.6.7+commit.b8d736ae
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// Copyright (C) 2019 David Terry <[email protected]> // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU Affero General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU Affero General Public License for more details. // // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see <https://www.gnu.org/licenses/>. pragma solidity 0.6.7; import {DSAuth, DSAuthority} from "ds-auth/auth.sol"; contract DSPause is DSAuth { // --- Admin --- modifier isDelayed { require(msg.sender == address(proxy), "ds-pause-undelayed-call"); _; } function setOwner(address owner_) override public isDelayed { owner = owner_; emit LogSetOwner(owner); } function setAuthority(DSAuthority authority_) override public isDelayed { authority = authority_; emit LogSetAuthority(address(authority)); } function setDelay(uint delay_) public isDelayed { require(delay_ <= MAX_DELAY, "ds-pause-delay-not-within-bounds"); delay = delay_; emit SetDelay(delay_); } // --- Math --- function addition(uint x, uint y) internal pure returns (uint z) { z = x + y; require(z >= x, "ds-pause-add-overflow"); } function subtract(uint x, uint y) internal pure returns (uint z) { require((z = x - y) <= x, "ds-pause-sub-underflow"); } // --- Data --- mapping (bytes32 => bool) public scheduledTransactions; mapping (bytes32 => bool) public scheduledTransactionsDataHashes; DSPauseProxy public proxy; uint public delay; uint public currentlyScheduledTransactions; uint256 public constant EXEC_TIME = 3 days; uint256 public constant maxScheduledTransactions = 10; uint256 public constant MAX_DELAY = 28 days; bytes32 public constant DS_PAUSE_TYPE = bytes32("BASIC"); // --- Events --- event SetDelay(uint256 delay); event ScheduleTransaction(address sender, address usr, bytes32 codeHash, bytes parameters, uint earliestExecutionTime); event AbandonTransaction(address sender, address usr, bytes32 codeHash, bytes parameters, uint earliestExecutionTime); event ExecuteTransaction(address sender, address usr, bytes32 codeHash, bytes parameters, uint earliestExecutionTime); event AttachTransactionDescription(address sender, address usr, bytes32 codeHash, bytes parameters, uint earliestExecutionTime, string description); // --- Init --- constructor(uint delay_, address owner_, DSAuthority authority_) public { require(delay_ <= MAX_DELAY, "ds-pause-delay-not-within-bounds"); delay = delay_; owner = owner_; authority = authority_; proxy = new DSPauseProxy(); } // --- Util --- function getTransactionDataHash(address usr, bytes32 codeHash, bytes memory parameters, uint earliestExecutionTime) public pure returns (bytes32) { return keccak256(abi.encode(usr, codeHash, parameters, earliestExecutionTime)); } function getTransactionDataHash(address usr, bytes32 codeHash, bytes memory parameters) public pure returns (bytes32) { return keccak256(abi.encode(usr, codeHash, parameters)); } function getExtCodeHash(address usr) internal view returns (bytes32 codeHash) { assembly { codeHash := extcodehash(usr) } } // --- Operations --- function scheduleTransaction(address usr, bytes32 codeHash, bytes memory parameters, uint earliestExecutionTime) public auth { schedule(usr, codeHash, parameters, earliestExecutionTime); } function scheduleTransaction(address usr, bytes32 codeHash, bytes memory parameters, uint earliestExecutionTime, string memory description) public auth { schedule(usr, codeHash, parameters, earliestExecutionTime); emit AttachTransactionDescription(msg.sender, usr, codeHash, parameters, earliestExecutionTime, description); } function schedule(address usr, bytes32 codeHash, bytes memory parameters, uint earliestExecutionTime) internal { require(!scheduledTransactions[getTransactionDataHash(usr, codeHash, parameters, earliestExecutionTime)], "ds-pause-already-scheduled"); require(subtract(earliestExecutionTime, now) <= MAX_DELAY, "ds-pause-delay-not-within-bounds"); require(earliestExecutionTime >= addition(now, delay), "ds-pause-delay-not-respected"); require(currentlyScheduledTransactions < maxScheduledTransactions, "ds-pause-too-many-scheduled"); bytes32 dataHash = getTransactionDataHash(usr, codeHash, parameters); require(!scheduledTransactionsDataHashes[dataHash], "ds-pause-cannot-schedule-same-tx-twice"); currentlyScheduledTransactions = addition(currentlyScheduledTransactions, 1); scheduledTransactions[getTransactionDataHash(usr, codeHash, parameters, earliestExecutionTime)] = true; scheduledTransactionsDataHashes[dataHash] = true; emit ScheduleTransaction(msg.sender, usr, codeHash, parameters, earliestExecutionTime); } function attachTransactionDescription(address usr, bytes32 codeHash, bytes memory parameters, uint earliestExecutionTime, string memory description) public auth { require(scheduledTransactions[getTransactionDataHash(usr, codeHash, parameters, earliestExecutionTime)], "ds-pause-unplotted-plan"); emit AttachTransactionDescription(msg.sender, usr, codeHash, parameters, earliestExecutionTime, description); } function abandonTransaction(address usr, bytes32 codeHash, bytes memory parameters, uint earliestExecutionTime) public auth { require(scheduledTransactions[getTransactionDataHash(usr, codeHash, parameters, earliestExecutionTime)], "ds-pause-unplotted-plan"); scheduledTransactions[getTransactionDataHash(usr, codeHash, parameters, earliestExecutionTime)] = false; scheduledTransactionsDataHashes[getTransactionDataHash(usr, codeHash, parameters)] = false; currentlyScheduledTransactions = subtract(currentlyScheduledTransactions, 1); emit AbandonTransaction(msg.sender, usr, codeHash, parameters, earliestExecutionTime); } function executeTransaction(address usr, bytes32 codeHash, bytes memory parameters, uint earliestExecutionTime) public returns (bytes memory out) { require(scheduledTransactions[getTransactionDataHash(usr, codeHash, parameters, earliestExecutionTime)], "ds-pause-unplotted-plan"); require(getExtCodeHash(usr) == codeHash, "ds-pause-wrong-codehash"); require(now >= earliestExecutionTime, "ds-pause-premature-exec"); require(now < addition(earliestExecutionTime, EXEC_TIME), "ds-pause-expired-tx"); scheduledTransactions[getTransactionDataHash(usr, codeHash, parameters, earliestExecutionTime)] = false; scheduledTransactionsDataHashes[getTransactionDataHash(usr, codeHash, parameters)] = false; currentlyScheduledTransactions = subtract(currentlyScheduledTransactions, 1); emit ExecuteTransaction(msg.sender, usr, codeHash, parameters, earliestExecutionTime); out = proxy.executeTransaction(usr, parameters); require(proxy.owner() == address(this), "ds-pause-illegal-storage-change"); } } // scheduled txs are executed in an isolated storage context to protect the pause from // malicious storage modification during plan execution contract DSPauseProxy { address public owner; modifier isAuthorized { require(msg.sender == owner, "ds-pause-proxy-unauthorized"); _; } constructor() public { owner = msg.sender; } function executeTransaction(address usr, bytes memory parameters) public isAuthorized returns (bytes memory out) { bool ok; (ok, out) = usr.delegatecall(parameters); require(ok, "ds-pause-delegatecall-error"); } }
// This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program. If not, see <http://www.gnu.org/licenses/>. pragma solidity >=0.6.7; interface DSAuthority { function canCall( address src, address dst, bytes4 sig ) external view returns (bool); } abstract contract DSAuthEvents { event LogSetAuthority (address indexed authority); event LogSetOwner (address indexed owner); } contract DSAuth is DSAuthEvents { DSAuthority public authority; address public owner; constructor() public { owner = msg.sender; emit LogSetOwner(msg.sender); } function setOwner(address owner_) virtual public auth { owner = owner_; emit LogSetOwner(owner); } function setAuthority(DSAuthority authority_) virtual public auth { authority = authority_; emit LogSetAuthority(address(authority)); } modifier auth { require(isAuthorized(msg.sender, msg.sig), "ds-auth-unauthorized"); _; } function isAuthorized(address src, bytes4 sig) virtual internal view returns (bool) { if (src == address(this)) { return true; } else if (src == owner) { return true; } else if (authority == DSAuthority(0)) { return false; } else { return authority.canCall(src, address(this), sig); } } }
{ "remappings": [ "ds-auth/=lib/ds-proxy/lib/ds-auth/src/", "ds-exec/=lib/ds-pause/lib/ds-spell/lib/ds-exec/src/", "ds-guard/=lib/geb-deploy/lib/ds-guard/src/", "ds-math/=lib/esm/lib/ds-token/lib/ds-math/src/", "ds-note/=lib/ds-proxy/lib/ds-note/src/", "ds-pause/=lib/ds-pause/src/", "ds-proxy/=lib/ds-proxy/src/", "ds-roles/=lib/ds-pause/lib/ds-vote-quorum/lib/ds-roles/src/", "ds-spell/=lib/ds-pause/lib/ds-spell/src/", "ds-stop/=lib/geb-fsm/lib/ds-stop/src/", "ds-test/=lib/forge-std/lib/ds-test/src/", "ds-thing/=lib/ds-value/lib/ds-thing/src/", "ds-token/=lib/esm/lib/ds-token/src/", "ds-value/=lib/ds-value/src/", "ds-vote-quorum/=lib/ds-pause/lib/ds-vote-quorum/src/", "ds-weth/=lib/ds-weth/", "erc20/=lib/ds-weth/lib/erc20/src/", "esm/=lib/esm/src/", "forge-std/=lib/forge-std/src/", "geb-basic-multisig/=lib/ds-pause/lib/geb-basic-multisig/src/", "geb-chainlink-median/=lib/geb-chainlink-median/src/", "geb-debt-popper-rewards/=lib/geb-debt-popper-rewards/src/", "geb-deploy/=lib/geb-deploy/src/", "geb-esm-threshold-setter/=lib/geb-esm-threshold-setter/src/", "geb-fsm/=lib/geb-fsm/src/", "geb-incentives/=lib/geb-proxy-actions/lib/geb-incentives/src/", "geb-lender-first-resort/=lib/geb-lender-first-resort/src/", "geb-pit/=lib/geb-pit/src/", "geb-protocol-token-authority/=lib/geb-protocol-token-authority/src/", "geb-proxy-actions/=lib/geb-proxy-actions/src/", "geb-proxy-registry/=lib/geb-proxy-registry/src/", "geb-rrfm-calculators/=lib/geb-rrfm-calculators/src/", "geb-rrfm-rate-setter/=lib/geb-rrfm-rate-setter/src/", "geb-safe-manager/=lib/geb-safe-manager/src/", "geb-safe-saviours/=lib/geb-proxy-actions/lib/geb-safe-saviours/src/", "geb-treasury-reimbursement/=lib/geb-debt-popper-rewards/lib/geb-treasury-reimbursement/src/", "geb-uniswap-median/=lib/geb-uniswap-median/src/", "geb/=lib/geb/src/", "mgl-debt-minter-rewards/=lib/mgl-debt-minter-rewards/", "mgl-emitter/=lib/mgl-emitter/src/", "multicall/=lib/multicall/src/" ], "optimizer": { "enabled": false, "runs": 200 }, "metadata": { "bytecodeHash": "ipfs" }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "evmVersion": "istanbul", "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"uint256","name":"delay_","type":"uint256"},{"internalType":"address","name":"owner_","type":"address"},{"internalType":"contract DSAuthority","name":"authority_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"address","name":"usr","type":"address"},{"indexed":false,"internalType":"bytes32","name":"codeHash","type":"bytes32"},{"indexed":false,"internalType":"bytes","name":"parameters","type":"bytes"},{"indexed":false,"internalType":"uint256","name":"earliestExecutionTime","type":"uint256"}],"name":"AbandonTransaction","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"address","name":"usr","type":"address"},{"indexed":false,"internalType":"bytes32","name":"codeHash","type":"bytes32"},{"indexed":false,"internalType":"bytes","name":"parameters","type":"bytes"},{"indexed":false,"internalType":"uint256","name":"earliestExecutionTime","type":"uint256"},{"indexed":false,"internalType":"string","name":"description","type":"string"}],"name":"AttachTransactionDescription","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"address","name":"usr","type":"address"},{"indexed":false,"internalType":"bytes32","name":"codeHash","type":"bytes32"},{"indexed":false,"internalType":"bytes","name":"parameters","type":"bytes"},{"indexed":false,"internalType":"uint256","name":"earliestExecutionTime","type":"uint256"}],"name":"ExecuteTransaction","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"authority","type":"address"}],"name":"LogSetAuthority","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"}],"name":"LogSetOwner","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"address","name":"usr","type":"address"},{"indexed":false,"internalType":"bytes32","name":"codeHash","type":"bytes32"},{"indexed":false,"internalType":"bytes","name":"parameters","type":"bytes"},{"indexed":false,"internalType":"uint256","name":"earliestExecutionTime","type":"uint256"}],"name":"ScheduleTransaction","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"delay","type":"uint256"}],"name":"SetDelay","type":"event"},{"inputs":[],"name":"DS_PAUSE_TYPE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"EXEC_TIME","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_DELAY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"usr","type":"address"},{"internalType":"bytes32","name":"codeHash","type":"bytes32"},{"internalType":"bytes","name":"parameters","type":"bytes"},{"internalType":"uint256","name":"earliestExecutionTime","type":"uint256"}],"name":"abandonTransaction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"usr","type":"address"},{"internalType":"bytes32","name":"codeHash","type":"bytes32"},{"internalType":"bytes","name":"parameters","type":"bytes"},{"internalType":"uint256","name":"earliestExecutionTime","type":"uint256"},{"internalType":"string","name":"description","type":"string"}],"name":"attachTransactionDescription","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"authority","outputs":[{"internalType":"contract DSAuthority","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentlyScheduledTransactions","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"delay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"usr","type":"address"},{"internalType":"bytes32","name":"codeHash","type":"bytes32"},{"internalType":"bytes","name":"parameters","type":"bytes"},{"internalType":"uint256","name":"earliestExecutionTime","type":"uint256"}],"name":"executeTransaction","outputs":[{"internalType":"bytes","name":"out","type":"bytes"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"usr","type":"address"},{"internalType":"bytes32","name":"codeHash","type":"bytes32"},{"internalType":"bytes","name":"parameters","type":"bytes"}],"name":"getTransactionDataHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"usr","type":"address"},{"internalType":"bytes32","name":"codeHash","type":"bytes32"},{"internalType":"bytes","name":"parameters","type":"bytes"},{"internalType":"uint256","name":"earliestExecutionTime","type":"uint256"}],"name":"getTransactionDataHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"maxScheduledTransactions","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxy","outputs":[{"internalType":"contract DSPauseProxy","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"usr","type":"address"},{"internalType":"bytes32","name":"codeHash","type":"bytes32"},{"internalType":"bytes","name":"parameters","type":"bytes"},{"internalType":"uint256","name":"earliestExecutionTime","type":"uint256"}],"name":"scheduleTransaction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"usr","type":"address"},{"internalType":"bytes32","name":"codeHash","type":"bytes32"},{"internalType":"bytes","name":"parameters","type":"bytes"},{"internalType":"uint256","name":"earliestExecutionTime","type":"uint256"},{"internalType":"string","name":"description","type":"string"}],"name":"scheduleTransaction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"scheduledTransactions","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"scheduledTransactionsDataHashes","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract DSAuthority","name":"authority_","type":"address"}],"name":"setAuthority","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"delay_","type":"uint256"}],"name":"setDelay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner_","type":"address"}],"name":"setOwner","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040523480156200001157600080fd5b50604051620031cd380380620031cd833981810160405260608110156200003757600080fd5b8101908080519060200190929190805190602001909291908051906020019092919050505033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff167fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9460405160405180910390a26224ea008311156200015a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f64732d70617573652d64656c61792d6e6f742d77697468696e2d626f756e647381525060200191505060405180910390fd5b8260058190555081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604051620001f09062000257565b604051809103906000f0801580156200020d573d6000803e3d6000fd5b50600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505062000265565b61048d8062002d4083390190565b612acb80620002756000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c80637a9e5e4b116100b85780638e67cedf1161007c5780638e67cedf1461078d578063a48659cc14610913578063bf7e214f14610a16578063e177246e14610a60578063ec55688914610a8e578063f29a207414610ad857610137565b80637a9e5e4b146104805780637ca0030c146104c45780638176292f146104e257806388197c811461064a5780638da5cb5b1461074357610137565b806346d421cd116100ff57806346d421cd14610220578063576b48aa1461023e5780635c8bb90a146102845780636a42b8f8146103735780637a0c53b21461039157610137565b8063038728a31461013c57806313af40351461015a57806313c90b251461019e57806335a27e05146101bc5780634125ff9014610202575b600080fd5b610144610c5e565b6040518082815260200191505060405180910390f35b61019c6004803603602081101561017057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c63565b005b6101a6610dcf565b6040518082815260200191505060405180910390f35b6101e8600480360360208110156101d257600080fd5b8101908080359060200190929190505050610df3565b604051808215151515815260200191505060405180910390f35b61020a610e13565b6040518082815260200191505060405180910390f35b610228610e1a565b6040518082815260200191505060405180910390f35b61026a6004803603602081101561025457600080fd5b8101908080359060200190929190505050610e21565b604051808215151515815260200191505060405180910390f35b6103716004803603608081101561029a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156102e157600080fd5b8201836020820111156102f357600080fd5b8035906020019184600183028401116401000000008311171561031557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190505050610e41565b005b61037b611119565b6040518082815260200191505060405180910390f35b61047e600480360360808110156103a757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156103ee57600080fd5b82018360208201111561040057600080fd5b8035906020019184600183028401116401000000008311171561042257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019092919050505061111f565b005b6104c26004803603602081101561049657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506111d1565b005b6104cc61133b565b6040518082815260200191505060405180910390f35b6105cf600480360360808110156104f857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561053f57600080fd5b82018360208201111561055157600080fd5b8035906020019184600183028401116401000000008311171561057357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190505050611341565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561060f5780820151818401526020810190506105f4565b50505050905090810190601f16801561063c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61072d6004803603606081101561066057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156106a757600080fd5b8201836020820111156106b957600080fd5b803590602001918460018302840111640100000000831117156106db57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611a3d565b6040518082815260200191505060405180910390f35b61074b611b10565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610911600480360360a08110156107a357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156107ea57600080fd5b8201836020820111156107fc57600080fd5b8035906020019184600183028401116401000000008311171561081e57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803590602001909291908035906020019064010000000081111561088b57600080fd5b82018360208201111561089d57600080fd5b803590602001918460018302840111640100000000831117156108bf57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611b36565b005b610a006004803603608081101561092957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561097057600080fd5b82018360208201111561098257600080fd5b803590602001918460018302840111640100000000831117156109a457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190505050611dfc565b6040518082815260200191505060405180910390f35b610a1e611ed8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610a8c60048036036020811015610a7657600080fd5b8101908080359060200190929190505050611efd565b005b610a9661207a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610c5c600480360360a0811015610aee57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190640100000000811115610b3557600080fd5b820183602082011115610b4757600080fd5b80359060200191846001830284011164010000000083111715610b6957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019092919080359060200190640100000000811115610bd657600080fd5b820183602082011115610be857600080fd5b80359060200191846001830284011164010000000083111715610c0a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506120a0565b005b600a81565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d26576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f64732d70617573652d756e64656c617965642d63616c6c00000000000000000081525060200191505060405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9460405160405180910390a250565b7f424153494300000000000000000000000000000000000000000000000000000081565b60026020528060005260406000206000915054906101000a900460ff1681565b6224ea0081565b6203f48081565b60036020528060005260406000206000915054906101000a900460ff1681565b610e6f336000357fffffffff00000000000000000000000000000000000000000000000000000000166122d4565b610ee1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f64732d617574682d756e617574686f72697a656400000000000000000000000081525060200191505060405180910390fd5b60026000610ef186868686611dfc565b815260200190815260200160002060009054906101000a900460ff16610f7f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f64732d70617573652d756e706c6f747465642d706c616e00000000000000000081525060200191505060405180910390fd5b600060026000610f9187878787611dfc565b815260200190815260200160002060006101000a81548160ff021916908315150217905550600060036000610fc7878787611a3d565b815260200190815260200160002060006101000a81548160ff021916908315150217905550610ff9600654600161252d565b6006819055507f19f670e9f64960f182a1e1ef9658b459f5e6524967a782976873982493d51dcc3385858585604051808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200180602001838152602001828103825284818151815260200191508051906020019080838360005b838110156110d55780820151818401526020810190506110ba565b50505050905090810190601f1680156111025780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a150505050565b60055481565b61114d336000357fffffffff00000000000000000000000000000000000000000000000000000000166122d4565b6111bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f64732d617574682d756e617574686f72697a656400000000000000000000000081525060200191505060405180910390fd5b6111cb848484846125b0565b50505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611294576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f64732d70617573652d756e64656c617965642d63616c6c00000000000000000081525060200191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada460405160405180910390a250565b60065481565b60606002600061135387878787611dfc565b815260200190815260200160002060009054906101000a900460ff166113e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f64732d70617573652d756e706c6f747465642d706c616e00000000000000000081525060200191505060405180910390fd5b836113eb866129e1565b1461145e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f64732d70617573652d77726f6e672d636f64656861736800000000000000000081525060200191505060405180910390fd5b814210156114d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f64732d70617573652d7072656d61747572652d6578656300000000000000000081525060200191505060405180910390fd5b6114e1826203f4806129ec565b4210611555576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f64732d70617573652d657870697265642d74780000000000000000000000000081525060200191505060405180910390fd5b60006002600061156788888888611dfc565b815260200190815260200160002060006101000a81548160ff02191690831515021790555060006003600061159d888888611a3d565b815260200190815260200160002060006101000a81548160ff0219169083151502179055506115cf600654600161252d565b6006819055507fbae5be3f949c87c0bd7e9621bca029342a17cb7d1df869ca8200e1bc1a530a033386868686604051808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200180602001838152602001828103825284818151815260200191508051906020019080838360005b838110156116ab578082015181840152602081019050611690565b50505050905090810190601f1680156116d85780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a1600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636ca0f81486856040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b838110156117aa57808201518184015260208101905061178f565b50505050905090810190601f1680156117d75780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b1580156117f757600080fd5b505af115801561180b573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250602081101561183557600080fd5b810190808051604051939291908464010000000082111561185557600080fd5b8382019150602082018581111561186b57600080fd5b825186600182028301116401000000008211171561188857600080fd5b8083526020830192505050908051906020019080838360005b838110156118bc5780820151818401526020810190506118a1565b50505050905090810190601f1680156118e95780820380516001836020036101000a031916815260200191505b5060405250505090503073ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561197157600080fd5b505afa158015611985573d6000803e3d6000fd5b505050506040513d602081101561199b57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1614611a35576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f64732d70617573652d696c6c6567616c2d73746f726167652d6368616e67650081525060200191505060405180910390fd5b949350505050565b6000838383604051602001808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611abd578082015181840152602081019050611aa2565b50505050905090810190601f168015611aea5780820380516001836020036101000a031916815260200191505b509450505050506040516020818303038152906040528051906020012090509392505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611b64336000357fffffffff00000000000000000000000000000000000000000000000000000000166122d4565b611bd6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f64732d617574682d756e617574686f72697a656400000000000000000000000081525060200191505060405180910390fd5b60026000611be687878787611dfc565b815260200190815260200160002060009054906101000a900460ff16611c74576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f64732d70617573652d756e706c6f747465642d706c616e00000000000000000081525060200191505060405180910390fd5b7f505c1eb27378c37a41d53c8aec2f093887260868fb644b4258275232318c8285338686868686604051808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018581526020018060200184815260200180602001838103835286818151815260200191508051906020019080838360005b83811015611d4f578082015181840152602081019050611d34565b50505050905090810190601f168015611d7c5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015611db5578082015181840152602081019050611d9a565b50505050905090810190601f168015611de25780820380516001836020036101000a031916815260200191505b509850505050505050505060405180910390a15050505050565b600084848484604051602001808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200180602001838152602001828103825284818151815260200191508051906020019080838360005b83811015611e83578082015181840152602081019050611e68565b50505050905090810190601f168015611eb05780820380516001836020036101000a031916815260200191505b5095505050505050604051602081830303815290604052805190602001209050949350505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611fc0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f64732d70617573652d756e64656c617965642d63616c6c00000000000000000081525060200191505060405180910390fd5b6224ea00811115612039576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f64732d70617573652d64656c61792d6e6f742d77697468696e2d626f756e647381525060200191505060405180910390fd5b806005819055507fcf57d2e955986c39a021abcc2ff70c02efcd0a4dd6ce2255a84612dd7b65ea29816040518082815260200191505060405180910390a150565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6120ce336000357fffffffff00000000000000000000000000000000000000000000000000000000166122d4565b612140576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f64732d617574682d756e617574686f72697a656400000000000000000000000081525060200191505060405180910390fd5b61214c858585856125b0565b7f505c1eb27378c37a41d53c8aec2f093887260868fb644b4258275232318c8285338686868686604051808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018581526020018060200184815260200180602001838103835286818151815260200191508051906020019080838360005b8381101561222757808201518184015260208101905061220c565b50505050905090810190601f1680156122545780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b8381101561228d578082015181840152602081019050612272565b50505050905090810190601f1680156122ba5780820380516001836020036101000a031916815260200191505b509850505050505050505060405180910390a15050505050565b60003073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156123135760019050612527565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156123725760019050612527565b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156123d15760009050612527565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b70096138430856040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001935050505060206040518083038186803b1580156124e957600080fd5b505afa1580156124fd573d6000803e3d6000fd5b505050506040513d602081101561251357600080fd5b810190808051906020019092919050505090505b92915050565b60008282840391508111156125aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f64732d70617573652d7375622d756e646572666c6f770000000000000000000081525060200191505060405180910390fd5b92915050565b600260006125c086868686611dfc565b815260200190815260200160002060009054906101000a900460ff161561264f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f64732d70617573652d616c72656164792d7363686564756c656400000000000081525060200191505060405180910390fd5b6224ea0061265d824261252d565b11156126d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f64732d70617573652d64656c61792d6e6f742d77697468696e2d626f756e647381525060200191505060405180910390fd5b6126dd426005546129ec565b811015612752576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f64732d70617573652d64656c61792d6e6f742d7265737065637465640000000081525060200191505060405180910390fd5b600a600654106127ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f64732d70617573652d746f6f2d6d616e792d7363686564756c6564000000000081525060200191505060405180910390fd5b60006127d7858585611a3d565b90506003600082815260200190815260200160002060009054906101000a900460ff1615612850576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180612a706026913960400191505060405180910390fd5b61285d60065460016129ec565b60068190555060016002600061287588888888611dfc565b815260200190815260200160002060006101000a81548160ff02191690831515021790555060016003600083815260200190815260200160002060006101000a81548160ff0219169083151502179055507fd99627fa179d953420bfbb83759e2db161c59aecb8259d7b3675aea985c95e053386868686604051808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200180602001838152602001828103825284818151815260200191508051906020019080838360005b8381101561299c578082015181840152602081019050612981565b50505050905090810190601f1680156129c95780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a15050505050565b6000813f9050919050565b6000818301905082811015612a69576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f64732d70617573652d6164642d6f766572666c6f77000000000000000000000081525060200191505060405180910390fd5b9291505056fe64732d70617573652d63616e6e6f742d7363686564756c652d73616d652d74782d7477696365a26469706673582212202fcff7f94706a48e37f9dfd10aa19150bae85019fac51b0463f5046dee48652664736f6c63430006070033608060405234801561001057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061042d806100606000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80636ca0f8141461003b5780638da5cb5b1461018f575b600080fd5b6101146004803603604081101561005157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561008e57600080fd5b8201836020820111156100a057600080fd5b803590602001918460018302840111640100000000831117156100c257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506101d9565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610154578082015181840152602081019050610139565b50505050905090810190601f1680156101815780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101976103d2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60606000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461029d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f64732d70617573652d70726f78792d756e617574686f72697a6564000000000081525060200191505060405180910390fd5b60008373ffffffffffffffffffffffffffffffffffffffff16836040518082805190602001908083835b602083106102ea57805182526020820191506020810190506020830392506102c7565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d806000811461034a576040519150601f19603f3d011682016040523d82523d6000602084013e61034f565b606091505b508093508192505050806103cb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f64732d70617573652d64656c656761746563616c6c2d6572726f72000000000081525060200191505060405180910390fd5b5092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff168156fea2646970667358221220ac01f51fea45399aaed8171001dfb1c353a64e591ca056d2f90c7e2d94c0d6a064736f6c6343000607003300000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b73c5498c1e3b4dba84de0f1833c4a029d90519000000000000000000000000d1a88a9ddf43a07e67e4183f6de3ca1709a10e93
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101375760003560e01c80637a9e5e4b116100b85780638e67cedf1161007c5780638e67cedf1461078d578063a48659cc14610913578063bf7e214f14610a16578063e177246e14610a60578063ec55688914610a8e578063f29a207414610ad857610137565b80637a9e5e4b146104805780637ca0030c146104c45780638176292f146104e257806388197c811461064a5780638da5cb5b1461074357610137565b806346d421cd116100ff57806346d421cd14610220578063576b48aa1461023e5780635c8bb90a146102845780636a42b8f8146103735780637a0c53b21461039157610137565b8063038728a31461013c57806313af40351461015a57806313c90b251461019e57806335a27e05146101bc5780634125ff9014610202575b600080fd5b610144610c5e565b6040518082815260200191505060405180910390f35b61019c6004803603602081101561017057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c63565b005b6101a6610dcf565b6040518082815260200191505060405180910390f35b6101e8600480360360208110156101d257600080fd5b8101908080359060200190929190505050610df3565b604051808215151515815260200191505060405180910390f35b61020a610e13565b6040518082815260200191505060405180910390f35b610228610e1a565b6040518082815260200191505060405180910390f35b61026a6004803603602081101561025457600080fd5b8101908080359060200190929190505050610e21565b604051808215151515815260200191505060405180910390f35b6103716004803603608081101561029a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156102e157600080fd5b8201836020820111156102f357600080fd5b8035906020019184600183028401116401000000008311171561031557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190505050610e41565b005b61037b611119565b6040518082815260200191505060405180910390f35b61047e600480360360808110156103a757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156103ee57600080fd5b82018360208201111561040057600080fd5b8035906020019184600183028401116401000000008311171561042257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019092919050505061111f565b005b6104c26004803603602081101561049657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506111d1565b005b6104cc61133b565b6040518082815260200191505060405180910390f35b6105cf600480360360808110156104f857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561053f57600080fd5b82018360208201111561055157600080fd5b8035906020019184600183028401116401000000008311171561057357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190505050611341565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561060f5780820151818401526020810190506105f4565b50505050905090810190601f16801561063c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61072d6004803603606081101561066057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156106a757600080fd5b8201836020820111156106b957600080fd5b803590602001918460018302840111640100000000831117156106db57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611a3d565b6040518082815260200191505060405180910390f35b61074b611b10565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610911600480360360a08110156107a357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156107ea57600080fd5b8201836020820111156107fc57600080fd5b8035906020019184600183028401116401000000008311171561081e57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803590602001909291908035906020019064010000000081111561088b57600080fd5b82018360208201111561089d57600080fd5b803590602001918460018302840111640100000000831117156108bf57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611b36565b005b610a006004803603608081101561092957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561097057600080fd5b82018360208201111561098257600080fd5b803590602001918460018302840111640100000000831117156109a457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190505050611dfc565b6040518082815260200191505060405180910390f35b610a1e611ed8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610a8c60048036036020811015610a7657600080fd5b8101908080359060200190929190505050611efd565b005b610a9661207a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610c5c600480360360a0811015610aee57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190640100000000811115610b3557600080fd5b820183602082011115610b4757600080fd5b80359060200191846001830284011164010000000083111715610b6957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019092919080359060200190640100000000811115610bd657600080fd5b820183602082011115610be857600080fd5b80359060200191846001830284011164010000000083111715610c0a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506120a0565b005b600a81565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d26576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f64732d70617573652d756e64656c617965642d63616c6c00000000000000000081525060200191505060405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9460405160405180910390a250565b7f424153494300000000000000000000000000000000000000000000000000000081565b60026020528060005260406000206000915054906101000a900460ff1681565b6224ea0081565b6203f48081565b60036020528060005260406000206000915054906101000a900460ff1681565b610e6f336000357fffffffff00000000000000000000000000000000000000000000000000000000166122d4565b610ee1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f64732d617574682d756e617574686f72697a656400000000000000000000000081525060200191505060405180910390fd5b60026000610ef186868686611dfc565b815260200190815260200160002060009054906101000a900460ff16610f7f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f64732d70617573652d756e706c6f747465642d706c616e00000000000000000081525060200191505060405180910390fd5b600060026000610f9187878787611dfc565b815260200190815260200160002060006101000a81548160ff021916908315150217905550600060036000610fc7878787611a3d565b815260200190815260200160002060006101000a81548160ff021916908315150217905550610ff9600654600161252d565b6006819055507f19f670e9f64960f182a1e1ef9658b459f5e6524967a782976873982493d51dcc3385858585604051808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200180602001838152602001828103825284818151815260200191508051906020019080838360005b838110156110d55780820151818401526020810190506110ba565b50505050905090810190601f1680156111025780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a150505050565b60055481565b61114d336000357fffffffff00000000000000000000000000000000000000000000000000000000166122d4565b6111bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f64732d617574682d756e617574686f72697a656400000000000000000000000081525060200191505060405180910390fd5b6111cb848484846125b0565b50505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611294576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f64732d70617573652d756e64656c617965642d63616c6c00000000000000000081525060200191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada460405160405180910390a250565b60065481565b60606002600061135387878787611dfc565b815260200190815260200160002060009054906101000a900460ff166113e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f64732d70617573652d756e706c6f747465642d706c616e00000000000000000081525060200191505060405180910390fd5b836113eb866129e1565b1461145e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f64732d70617573652d77726f6e672d636f64656861736800000000000000000081525060200191505060405180910390fd5b814210156114d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f64732d70617573652d7072656d61747572652d6578656300000000000000000081525060200191505060405180910390fd5b6114e1826203f4806129ec565b4210611555576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f64732d70617573652d657870697265642d74780000000000000000000000000081525060200191505060405180910390fd5b60006002600061156788888888611dfc565b815260200190815260200160002060006101000a81548160ff02191690831515021790555060006003600061159d888888611a3d565b815260200190815260200160002060006101000a81548160ff0219169083151502179055506115cf600654600161252d565b6006819055507fbae5be3f949c87c0bd7e9621bca029342a17cb7d1df869ca8200e1bc1a530a033386868686604051808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200180602001838152602001828103825284818151815260200191508051906020019080838360005b838110156116ab578082015181840152602081019050611690565b50505050905090810190601f1680156116d85780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a1600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636ca0f81486856040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b838110156117aa57808201518184015260208101905061178f565b50505050905090810190601f1680156117d75780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b1580156117f757600080fd5b505af115801561180b573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250602081101561183557600080fd5b810190808051604051939291908464010000000082111561185557600080fd5b8382019150602082018581111561186b57600080fd5b825186600182028301116401000000008211171561188857600080fd5b8083526020830192505050908051906020019080838360005b838110156118bc5780820151818401526020810190506118a1565b50505050905090810190601f1680156118e95780820380516001836020036101000a031916815260200191505b5060405250505090503073ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561197157600080fd5b505afa158015611985573d6000803e3d6000fd5b505050506040513d602081101561199b57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1614611a35576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f64732d70617573652d696c6c6567616c2d73746f726167652d6368616e67650081525060200191505060405180910390fd5b949350505050565b6000838383604051602001808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611abd578082015181840152602081019050611aa2565b50505050905090810190601f168015611aea5780820380516001836020036101000a031916815260200191505b509450505050506040516020818303038152906040528051906020012090509392505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611b64336000357fffffffff00000000000000000000000000000000000000000000000000000000166122d4565b611bd6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f64732d617574682d756e617574686f72697a656400000000000000000000000081525060200191505060405180910390fd5b60026000611be687878787611dfc565b815260200190815260200160002060009054906101000a900460ff16611c74576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f64732d70617573652d756e706c6f747465642d706c616e00000000000000000081525060200191505060405180910390fd5b7f505c1eb27378c37a41d53c8aec2f093887260868fb644b4258275232318c8285338686868686604051808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018581526020018060200184815260200180602001838103835286818151815260200191508051906020019080838360005b83811015611d4f578082015181840152602081019050611d34565b50505050905090810190601f168015611d7c5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015611db5578082015181840152602081019050611d9a565b50505050905090810190601f168015611de25780820380516001836020036101000a031916815260200191505b509850505050505050505060405180910390a15050505050565b600084848484604051602001808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200180602001838152602001828103825284818151815260200191508051906020019080838360005b83811015611e83578082015181840152602081019050611e68565b50505050905090810190601f168015611eb05780820380516001836020036101000a031916815260200191505b5095505050505050604051602081830303815290604052805190602001209050949350505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611fc0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f64732d70617573652d756e64656c617965642d63616c6c00000000000000000081525060200191505060405180910390fd5b6224ea00811115612039576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f64732d70617573652d64656c61792d6e6f742d77697468696e2d626f756e647381525060200191505060405180910390fd5b806005819055507fcf57d2e955986c39a021abcc2ff70c02efcd0a4dd6ce2255a84612dd7b65ea29816040518082815260200191505060405180910390a150565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6120ce336000357fffffffff00000000000000000000000000000000000000000000000000000000166122d4565b612140576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f64732d617574682d756e617574686f72697a656400000000000000000000000081525060200191505060405180910390fd5b61214c858585856125b0565b7f505c1eb27378c37a41d53c8aec2f093887260868fb644b4258275232318c8285338686868686604051808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018581526020018060200184815260200180602001838103835286818151815260200191508051906020019080838360005b8381101561222757808201518184015260208101905061220c565b50505050905090810190601f1680156122545780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b8381101561228d578082015181840152602081019050612272565b50505050905090810190601f1680156122ba5780820380516001836020036101000a031916815260200191505b509850505050505050505060405180910390a15050505050565b60003073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156123135760019050612527565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156123725760019050612527565b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156123d15760009050612527565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b70096138430856040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001935050505060206040518083038186803b1580156124e957600080fd5b505afa1580156124fd573d6000803e3d6000fd5b505050506040513d602081101561251357600080fd5b810190808051906020019092919050505090505b92915050565b60008282840391508111156125aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f64732d70617573652d7375622d756e646572666c6f770000000000000000000081525060200191505060405180910390fd5b92915050565b600260006125c086868686611dfc565b815260200190815260200160002060009054906101000a900460ff161561264f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f64732d70617573652d616c72656164792d7363686564756c656400000000000081525060200191505060405180910390fd5b6224ea0061265d824261252d565b11156126d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f64732d70617573652d64656c61792d6e6f742d77697468696e2d626f756e647381525060200191505060405180910390fd5b6126dd426005546129ec565b811015612752576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f64732d70617573652d64656c61792d6e6f742d7265737065637465640000000081525060200191505060405180910390fd5b600a600654106127ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f64732d70617573652d746f6f2d6d616e792d7363686564756c6564000000000081525060200191505060405180910390fd5b60006127d7858585611a3d565b90506003600082815260200190815260200160002060009054906101000a900460ff1615612850576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180612a706026913960400191505060405180910390fd5b61285d60065460016129ec565b60068190555060016002600061287588888888611dfc565b815260200190815260200160002060006101000a81548160ff02191690831515021790555060016003600083815260200190815260200160002060006101000a81548160ff0219169083151502179055507fd99627fa179d953420bfbb83759e2db161c59aecb8259d7b3675aea985c95e053386868686604051808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200180602001838152602001828103825284818151815260200191508051906020019080838360005b8381101561299c578082015181840152602081019050612981565b50505050905090810190601f1680156129c95780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a15050505050565b6000813f9050919050565b6000818301905082811015612a69576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f64732d70617573652d6164642d6f766572666c6f77000000000000000000000081525060200191505060405180910390fd5b9291505056fe64732d70617573652d63616e6e6f742d7363686564756c652d73616d652d74782d7477696365a26469706673582212202fcff7f94706a48e37f9dfd10aa19150bae85019fac51b0463f5046dee48652664736f6c63430006070033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b73c5498c1e3b4dba84de0f1833c4a029d90519000000000000000000000000d1a88a9ddf43a07e67e4183f6de3ca1709a10e93
-----Decoded View---------------
Arg [0] : delay_ (uint256): 0
Arg [1] : owner_ (address): 0x5b73C5498c1E3b4dbA84de0F1833c4a029d90519
Arg [2] : authority_ (address): 0xd1A88A9DDf43a07e67E4183F6dE3ca1709a10E93
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [1] : 0000000000000000000000005b73c5498c1e3b4dba84de0f1833c4a029d90519
Arg [2] : 000000000000000000000000d1a88a9ddf43a07e67e4183f6de3ca1709a10e93
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.