{"file_path":"DSPause.sol","creation_status":"success","source_code":"// hevm: flattened sources of /nix/store/b2bvh9ljr3yljrdz6lm764hdyj7nk4iy-ds-pause-f43edc1/src/pause.sol\r\npragma solidity >=0.4.23 >=0.5.0 <0.6.0;\r\n\r\n////// /nix/store/6qq1ps6wrikrl6ha3q33739dbs2wg2hb-ds-note/dapp/ds-note/src/note.sol\r\n/// note.sol -- the `note' modifier, for logging calls as events\r\n\r\n// This program is free software: you can redistribute it and/or modify\r\n// it under the terms of the GNU General Public License as published by\r\n// the Free Software Foundation, either version 3 of the License, or\r\n// (at your option) any later version.\r\n\r\n// This program is distributed in the hope that it will be useful,\r\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n// GNU General Public License for more details.\r\n\r\n// You should have received a copy of the GNU General Public License\r\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\r\n\r\n/* pragma solidity >=0.4.23; */\r\n\r\ncontract DSNote {\r\n    event LogNote(\r\n        bytes4   indexed  sig,\r\n        address  indexed  guy,\r\n        bytes32  indexed  foo,\r\n        bytes32  indexed  bar,\r\n        uint256           wad,\r\n        bytes             fax\r\n    ) anonymous;\r\n\r\n    modifier note {\r\n        bytes32 foo;\r\n        bytes32 bar;\r\n        uint256 wad;\r\n\r\n        assembly {\r\n            foo := calldataload(4)\r\n            bar := calldataload(36)\r\n            wad := callvalue\r\n        }\r\n\r\n        emit LogNote(msg.sig, msg.sender, foo, bar, wad, msg.data);\r\n\r\n        _;\r\n    }\r\n}\r\n\r\n////// /nix/store/r1w3fgb8wh0c2qn0i8jg95sv99l5nh7j-ds-auth/dapp/ds-auth/src/auth.sol\r\n// This program is free software: you can redistribute it and/or modify\r\n// it under the terms of the GNU General Public License as published by\r\n// the Free Software Foundation, either version 3 of the License, or\r\n// (at your option) any later version.\r\n\r\n// This program is distributed in the hope that it will be useful,\r\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n// GNU General Public License for more details.\r\n\r\n// You should have received a copy of the GNU General Public License\r\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\r\n\r\n/* pragma solidity >=0.4.23; */\r\n\r\ncontract DSAuthority {\r\n    function canCall(\r\n        address src, address dst, bytes4 sig\r\n    ) public view returns (bool);\r\n}\r\n\r\ncontract DSAuthEvents {\r\n    event LogSetAuthority (address indexed authority);\r\n    event LogSetOwner     (address indexed owner);\r\n}\r\n\r\ncontract DSAuth is DSAuthEvents {\r\n    DSAuthority  public  authority;\r\n    address      public  owner;\r\n\r\n    constructor() public {\r\n        owner = msg.sender;\r\n        emit LogSetOwner(msg.sender);\r\n    }\r\n\r\n    function setOwner(address owner_)\r\n        public\r\n        auth\r\n    {\r\n        owner = owner_;\r\n        emit LogSetOwner(owner);\r\n    }\r\n\r\n    function setAuthority(DSAuthority authority_)\r\n        public\r\n        auth\r\n    {\r\n        authority = authority_;\r\n        emit LogSetAuthority(address(authority));\r\n    }\r\n\r\n    modifier auth {\r\n        require(isAuthorized(msg.sender, msg.sig), \"ds-auth-unauthorized\");\r\n        _;\r\n    }\r\n\r\n    function isAuthorized(address src, bytes4 sig) internal view returns (bool) {\r\n        if (src == address(this)) {\r\n            return true;\r\n        } else if (src == owner) {\r\n            return true;\r\n        } else if (authority == DSAuthority(0)) {\r\n            return false;\r\n        } else {\r\n            return authority.canCall(src, address(this), sig);\r\n        }\r\n    }\r\n}\r\n\r\n////// /nix/store/b2bvh9ljr3yljrdz6lm764hdyj7nk4iy-ds-pause-f43edc1/src/pause.sol\r\n// Copyright (C) 2019 David Terry <me@xwvvvvwx.com>\r\n//\r\n// This program is free software: you can redistribute it and/or modify\r\n// it under the terms of the GNU Affero General Public License as published by\r\n// the Free Software Foundation, either version 3 of the License, or\r\n// (at your option) any later version.\r\n//\r\n// This program is distributed in the hope that it will be useful,\r\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n// GNU Affero General Public License for more details.\r\n//\r\n// You should have received a copy of the GNU Affero General Public License\r\n// along with this program.  If not, see <https://www.gnu.org/licenses/>.\r\n\r\n/* pragma solidity >=0.5.0 <0.6.0; */\r\n\r\n/* import {DSNote} from \"ds-note/note.sol\"; */\r\n/* import {DSAuth, DSAuthority} from \"ds-auth/auth.sol\"; */\r\n\r\ncontract DSPause is DSAuth, DSNote {\r\n\r\n    // --- admin ---\r\n\r\n    modifier wait { require(msg.sender == address(proxy), \"ds-pause-undelayed-call\"); _; }\r\n\r\n    function setOwner(address owner_) public wait {\r\n        owner = owner_;\r\n        emit LogSetOwner(owner);\r\n    }\r\n    function setAuthority(DSAuthority authority_) public wait {\r\n        authority = authority_;\r\n        emit LogSetAuthority(address(authority));\r\n    }\r\n    function setDelay(uint delay_) public note wait {\r\n        delay = delay_;\r\n    }\r\n\r\n    // --- math ---\r\n\r\n    function add(uint x, uint y) internal pure returns (uint z) {\r\n        z = x + y;\r\n        require(z >= x, \"ds-pause-addition-overflow\");\r\n    }\r\n\r\n    // --- data ---\r\n\r\n    mapping (bytes32 => bool) public plans;\r\n    DSPauseProxy public proxy;\r\n    uint         public delay;\r\n\r\n    // --- init ---\r\n\r\n    constructor(uint delay_, address owner_, DSAuthority authority_) public {\r\n        delay = delay_;\r\n        owner = owner_;\r\n        authority = authority_;\r\n        proxy = new DSPauseProxy();\r\n    }\r\n\r\n    // --- util ---\r\n\r\n    function hash(address usr, bytes32 tag, bytes memory fax, uint eta)\r\n        internal pure\r\n        returns (bytes32)\r\n    {\r\n        return keccak256(abi.encode(usr, tag, fax, eta));\r\n    }\r\n\r\n    function soul(address usr)\r\n        internal view\r\n        returns (bytes32 tag)\r\n    {\r\n        assembly { tag := extcodehash(usr) }\r\n    }\r\n\r\n    // --- operations ---\r\n\r\n    function plot(address usr, bytes32 tag, bytes memory fax, uint eta)\r\n        public note auth\r\n    {\r\n        require(eta >= add(now, delay), \"ds-pause-delay-not-respected\");\r\n        plans[hash(usr, tag, fax, eta)] = true;\r\n    }\r\n\r\n    function drop(address usr, bytes32 tag, bytes memory fax, uint eta)\r\n        public note auth\r\n    {\r\n        plans[hash(usr, tag, fax, eta)] = false;\r\n    }\r\n\r\n    function exec(address usr, bytes32 tag, bytes memory fax, uint eta)\r\n        public note\r\n        returns (bytes memory out)\r\n    {\r\n        require(plans[hash(usr, tag, fax, eta)], \"ds-pause-unplotted-plan\");\r\n        require(soul(usr) == tag,                \"ds-pause-wrong-codehash\");\r\n        require(now >= eta,                      \"ds-pause-premature-exec\");\r\n\r\n        plans[hash(usr, tag, fax, eta)] = false;\r\n\r\n        out = proxy.exec(usr, fax);\r\n        require(proxy.owner() == address(this), \"ds-pause-illegal-storage-change\");\r\n    }\r\n}\r\n\r\n// plans are executed in an isolated storage context to protect the pause from\r\n// malicious storage modification during plan execution\r\ncontract DSPauseProxy {\r\n    address public owner;\r\n    modifier auth { require(msg.sender == owner, \"ds-pause-proxy-unauthorized\"); _; }\r\n    constructor() public { owner = msg.sender; }\r\n\r\n    function exec(address usr, bytes memory fax)\r\n        public auth\r\n        returns (bytes memory out)\r\n    {\r\n        bool ok;\r\n        (ok, out) = usr.delegatecall(fax);\r\n        require(ok, \"ds-pause-delegatecall-error\");\r\n    }\r\n}","deployed_bytecode":"0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80637a9e5e4b116100715780637a9e5e4b146104565780638da5cb5b1461049a578063aa4f2653146104e4578063bf7e214f1461052a578063e177246e14610574578063ec556889146105a2576100a9565b806313af4035146100ae578063162c7de3146100f2578063168ccd67146101e157806346d2fbbb146103495780636a42b8f814610438575b600080fd5b6100f0600480360360208110156100c457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105ec565b005b6101df6004803603608081101561010857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561014f57600080fd5b82018360208201111561016157600080fd5b8035906020019184600183028401116401000000008311171561018357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190505050610758565b005b6102ce600480360360808110156101f757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561023e57600080fd5b82018360208201111561025057600080fd5b8035906020019184600183028401116401000000008311171561027257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803590602001909291905050506108f2565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561030e5780820151818401526020810190506102f3565b50505050905090810190601f16801561033b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6104366004803603608081101561035f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156103a657600080fd5b8201836020820111156103b857600080fd5b803590602001918460018302840111640100000000831117156103da57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190505050610ecd565b005b6104406110e8565b6040518082815260200191505060405180910390f35b6104986004803603602081101561046c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110ee565b005b6104a2611258565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610510600480360360208110156104fa57600080fd5b810190808035906020019092919050505061127e565b604051808215151515815260200191505060405180910390f35b61053261129e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105a06004803603602081101561058a57600080fd5b81019080803590602001909291905050506112c3565b005b6105aa61144d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f64732d70617573652d756e64656c617965642d63616c6c00000000000000000081525060200191505060405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9460405160405180910390a250565b60008060006004359250602435915034905081833373ffffffffffffffffffffffffffffffffffffffff166000357fffffffff00000000000000000000000000000000000000000000000000000000167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168460003660405180848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505094505050505060405180910390a4610840336000357fffffffff0000000000000000000000000000000000000000000000000000000016611473565b6108b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f64732d617574682d756e617574686f72697a656400000000000000000000000081525060200191505060405180910390fd5b6000600260006108c48a8a8a8a6116cc565b815260200190815260200160002060006101000a81548160ff02191690831515021790555050505050505050565b606060008060006004359250602435915034905081833373ffffffffffffffffffffffffffffffffffffffff166000357fffffffff00000000000000000000000000000000000000000000000000000000167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168460003660405180848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505094505050505060405180910390a4600260006109be8a8a8a8a6116cc565b815260200190815260200160002060009054906101000a900460ff16610a4c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f64732d70617573652d756e706c6f747465642d706c616e00000000000000000081525060200191505060405180910390fd5b86610a56896117a8565b14610ac9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f64732d70617573652d77726f6e672d636f64656861736800000000000000000081525060200191505060405180910390fd5b84421015610b3f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f64732d70617573652d7072656d61747572652d6578656300000000000000000081525060200191505060405180910390fd5b600060026000610b518b8b8b8b6116cc565b815260200190815260200160002060006101000a81548160ff021916908315150217905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663be6002c289886040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610c37578082015181840152602081019050610c1c565b50505050905090810190601f168015610c645780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b158015610c8457600080fd5b505af1158015610c98573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506020811015610cc257600080fd5b8101908080516040519392919084640100000000821115610ce257600080fd5b83820191506020820185811115610cf857600080fd5b8251866001820283011164010000000082111715610d1557600080fd5b8083526020830192505050908051906020019080838360005b83811015610d49578082015181840152602081019050610d2e565b50505050905090810190601f168015610d765780820380516001836020036101000a031916815260200191505b5060405250505093503073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610dfe57600080fd5b505afa158015610e12573d6000803e3d6000fd5b505050506040513d6020811015610e2857600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1614610ec2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f64732d70617573652d696c6c6567616c2d73746f726167652d6368616e67650081525060200191505060405180910390fd5b505050949350505050565b60008060006004359250602435915034905081833373ffffffffffffffffffffffffffffffffffffffff166000357fffffffff00000000000000000000000000000000000000000000000000000000167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168460003660405180848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505094505050505060405180910390a4610fb5336000357fffffffff0000000000000000000000000000000000000000000000000000000016611473565b611027576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f64732d617574682d756e617574686f72697a656400000000000000000000000081525060200191505060405180910390fd5b611033426004546117b3565b8410156110a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f64732d70617573652d64656c61792d6e6f742d7265737065637465640000000081525060200191505060405180910390fd5b6001600260006110ba8a8a8a8a6116cc565b815260200190815260200160002060006101000a81548160ff02191690831515021790555050505050505050565b60045481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146111b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f64732d70617573652d756e64656c617965642d63616c6c00000000000000000081525060200191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada460405160405180910390a250565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60026020528060005260406000206000915054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060006004359250602435915034905081833373ffffffffffffffffffffffffffffffffffffffff166000357fffffffff00000000000000000000000000000000000000000000000000000000167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168460003660405180848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505094505050505060405180910390a4600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611440576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f64732d70617573652d756e64656c617965642d63616c6c00000000000000000081525060200191505060405180910390fd5b8360048190555050505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60003073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156114b257600190506116c6565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561151157600190506116c6565b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561157057600090506116c6565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b70096138430856040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001935050505060206040518083038186803b15801561168857600080fd5b505afa15801561169c573d6000803e3d6000fd5b505050506040513d60208110156116b257600080fd5b810190808051906020019092919050505090505b92915050565b600084848484604051602001808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200180602001838152602001828103825284818151815260200191508051906020019080838360005b83811015611753578082015181840152602081019050611738565b50505050905090810190601f1680156117805780820380516001836020036101000a031916815260200191505b5095505050505050604051602081830303815290604052805190602001209050949350505050565b6000813f9050919050565b6000818301905082811015611830576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f64732d70617573652d6164646974696f6e2d6f766572666c6f7700000000000081525060200191505060405180910390fd5b9291505056fea265627a7a72315820b7b98b39952702f353312501ea16cddbc3854ea63e1ca03029122908885538ea64736f6c634300050c0032","optimization_enabled":false,"verified_twin_address_hash":null,"is_verified":true,"compiler_settings":{"evmVersion":"petersburg","libraries":{},"optimizer":{"enabled":false,"runs":200},"remappings":[]},"optimization_runs":null,"sourcify_repo_url":"https://repo.sourcify.dev/contracts/partial_match/1/0xbE286431454714F511008713973d3B053A2d38f3/","decoded_constructor_args":[["43648854190028290368124427828690944273759143466702530770764704781573215748095",{"internalType":"uint256","name":"delay_","type":"uint256"}],["0xffffFFfFfFff021916908373fffFFffFfFffFfFF",{"internalType":"address","name":"owner_","type":"address"}],["0x16021790555061042C806100606000396000f3Fe",{"internalType":"contract DSAuthority","name":"authority_","type":"address"}]],"compiler_version":"0.5.12+commit.7709ece9","is_verified_via_verifier_alliance":false,"verified_at":"2024-02-26T15:27:20.412006Z","implementations":[],"proxy_type":null,"external_libraries":[],"creation_bytecode":"0x608060405234801561001057600080fd5b50604051611ee8380380611ee88339818101604052606081101561003357600080fd5b8101908080519060200190929190805190602001909291908051906020019092919050505033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff167fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9460405160405180910390a28260048190555081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604051610170906101d5565b604051809103906000f08015801561018c573d6000803e3d6000fd5b50600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050506101e2565b61048c80611a5c83390190565b61186b806101f16000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80637a9e5e4b116100715780637a9e5e4b146104565780638da5cb5b1461049a578063aa4f2653146104e4578063bf7e214f1461052a578063e177246e14610574578063ec556889146105a2576100a9565b806313af4035146100ae578063162c7de3146100f2578063168ccd67146101e157806346d2fbbb146103495780636a42b8f814610438575b600080fd5b6100f0600480360360208110156100c457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105ec565b005b6101df6004803603608081101561010857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561014f57600080fd5b82018360208201111561016157600080fd5b8035906020019184600183028401116401000000008311171561018357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190505050610758565b005b6102ce600480360360808110156101f757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561023e57600080fd5b82018360208201111561025057600080fd5b8035906020019184600183028401116401000000008311171561027257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803590602001909291905050506108f2565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561030e5780820151818401526020810190506102f3565b50505050905090810190601f16801561033b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6104366004803603608081101561035f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156103a657600080fd5b8201836020820111156103b857600080fd5b803590602001918460018302840111640100000000831117156103da57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190505050610ecd565b005b6104406110e8565b6040518082815260200191505060405180910390f35b6104986004803603602081101561046c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110ee565b005b6104a2611258565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610510600480360360208110156104fa57600080fd5b810190808035906020019092919050505061127e565b604051808215151515815260200191505060405180910390f35b61053261129e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105a06004803603602081101561058a57600080fd5b81019080803590602001909291905050506112c3565b005b6105aa61144d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f64732d70617573652d756e64656c617965642d63616c6c00000000000000000081525060200191505060405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9460405160405180910390a250565b60008060006004359250602435915034905081833373ffffffffffffffffffffffffffffffffffffffff166000357fffffffff00000000000000000000000000000000000000000000000000000000167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168460003660405180848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505094505050505060405180910390a4610840336000357fffffffff0000000000000000000000000000000000000000000000000000000016611473565b6108b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f64732d617574682d756e617574686f72697a656400000000000000000000000081525060200191505060405180910390fd5b6000600260006108c48a8a8a8a6116cc565b815260200190815260200160002060006101000a81548160ff02191690831515021790555050505050505050565b606060008060006004359250602435915034905081833373ffffffffffffffffffffffffffffffffffffffff166000357fffffffff00000000000000000000000000000000000000000000000000000000167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168460003660405180848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505094505050505060405180910390a4600260006109be8a8a8a8a6116cc565b815260200190815260200160002060009054906101000a900460ff16610a4c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f64732d70617573652d756e706c6f747465642d706c616e00000000000000000081525060200191505060405180910390fd5b86610a56896117a8565b14610ac9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f64732d70617573652d77726f6e672d636f64656861736800000000000000000081525060200191505060405180910390fd5b84421015610b3f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f64732d70617573652d7072656d61747572652d6578656300000000000000000081525060200191505060405180910390fd5b600060026000610b518b8b8b8b6116cc565b815260200190815260200160002060006101000a81548160ff021916908315150217905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663be6002c289886040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610c37578082015181840152602081019050610c1c565b50505050905090810190601f168015610c645780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b158015610c8457600080fd5b505af1158015610c98573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506020811015610cc257600080fd5b8101908080516040519392919084640100000000821115610ce257600080fd5b83820191506020820185811115610cf857600080fd5b8251866001820283011164010000000082111715610d1557600080fd5b8083526020830192505050908051906020019080838360005b83811015610d49578082015181840152602081019050610d2e565b50505050905090810190601f168015610d765780820380516001836020036101000a031916815260200191505b5060405250505093503073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610dfe57600080fd5b505afa158015610e12573d6000803e3d6000fd5b505050506040513d6020811015610e2857600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1614610ec2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f64732d70617573652d696c6c6567616c2d73746f726167652d6368616e67650081525060200191505060405180910390fd5b505050949350505050565b60008060006004359250602435915034905081833373ffffffffffffffffffffffffffffffffffffffff166000357fffffffff00000000000000000000000000000000000000000000000000000000167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168460003660405180848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505094505050505060405180910390a4610fb5336000357fffffffff0000000000000000000000000000000000000000000000000000000016611473565b611027576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f64732d617574682d756e617574686f72697a656400000000000000000000000081525060200191505060405180910390fd5b611033426004546117b3565b8410156110a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f64732d70617573652d64656c61792d6e6f742d7265737065637465640000000081525060200191505060405180910390fd5b6001600260006110ba8a8a8a8a6116cc565b815260200190815260200160002060006101000a81548160ff02191690831515021790555050505050505050565b60045481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146111b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f64732d70617573652d756e64656c617965642d63616c6c00000000000000000081525060200191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada460405160405180910390a250565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60026020528060005260406000206000915054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060006004359250602435915034905081833373ffffffffffffffffffffffffffffffffffffffff166000357fffffffff00000000000000000000000000000000000000000000000000000000167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168460003660405180848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505094505050505060405180910390a4600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611440576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f64732d70617573652d756e64656c617965642d63616c6c00000000000000000081525060200191505060405180910390fd5b8360048190555050505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60003073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156114b257600190506116c6565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561151157600190506116c6565b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561157057600090506116c6565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b70096138430856040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001935050505060206040518083038186803b15801561168857600080fd5b505afa15801561169c573d6000803e3d6000fd5b505050506040513d60208110156116b257600080fd5b810190808051906020019092919050505090505b92915050565b600084848484604051602001808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200180602001838152602001828103825284818151815260200191508051906020019080838360005b83811015611753578082015181840152602081019050611738565b50505050905090810190601f1680156117805780820380516001836020036101000a031916815260200191505b5095505050505050604051602081830303815290604052805190602001209050949350505050565b6000813f9050919050565b6000818301905082811015611830576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f64732d70617573652d6164646974696f6e2d6f766572666c6f7700000000000081525060200191505060405180910390fd5b9291505056fea265627a7a72315820b7b98b39952702f353312501ea16cddbc3854ea63e1ca03029122908885538ea64736f6c634300050c0032608060405234801561001057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061042c806100606000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80638da5cb5b1461003b578063be6002c214610085575b600080fd5b6100436101d9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61015e6004803603604081101561009b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156100d857600080fd5b8201836020820111156100ea57600080fd5b8035906020019184600183028401116401000000008311171561010c57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506101fe565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561019e578082015181840152602081019050610183565b50505050905090810190601f1680156101cb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146102c2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f64732d70617573652d70726f78792d756e617574686f72697a6564000000000081525060200191505060405180910390fd5b60008373ffffffffffffffffffffffffffffffffffffffff16836040518082805190602001908083835b6020831061030f57805182526020820191506020810190506020830392506102ec565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d806000811461036f576040519150601f19603f3d011682016040523d82523d6000602084013e610374565b606091505b508093508192505050806103f0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f64732d70617573652d64656c656761746563616c6c2d6572726f72000000000081525060200191505060405180910390fd5b509291505056fea265627a7a723158201aaf44b09961e5d78dcb89db50ece2cf99b6310af3657880f30921c1a292db5364736f6c634300050c0032000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000560328fdbf78edeba4ea13cfb1467e1fb44d2ed","name":"DSPause","is_blueprint":false,"license_type":"none","is_fully_verified":false,"is_verified_via_eth_bytecode_db":true,"language":"solidity","evm_version":"petersburg","can_be_visualized_via_sol2uml":true,"is_verified_via_sourcify":true,"additional_sources":[],"certified":false,"conflicting_implementations":null,"abi":[{"inputs":[{"internalType":"uint256","name":"delay_","type":"uint256"},{"internalType":"address","name":"owner_","type":"address"},{"internalType":"contract DSAuthority","name":"authority_","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":true,"inputs":[{"indexed":true,"internalType":"bytes4","name":"sig","type":"bytes4"},{"indexed":true,"internalType":"address","name":"guy","type":"address"},{"indexed":true,"internalType":"bytes32","name":"foo","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"bar","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"wad","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"fax","type":"bytes"}],"name":"LogNote","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"},{"constant":true,"inputs":[],"name":"authority","outputs":[{"internalType":"contract DSAuthority","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"delay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"usr","type":"address"},{"internalType":"bytes32","name":"tag","type":"bytes32"},{"internalType":"bytes","name":"fax","type":"bytes"},{"internalType":"uint256","name":"eta","type":"uint256"}],"name":"drop","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"usr","type":"address"},{"internalType":"bytes32","name":"tag","type":"bytes32"},{"internalType":"bytes","name":"fax","type":"bytes"},{"internalType":"uint256","name":"eta","type":"uint256"}],"name":"exec","outputs":[{"internalType":"bytes","name":"out","type":"bytes"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"plans","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"usr","type":"address"},{"internalType":"bytes32","name":"tag","type":"bytes32"},{"internalType":"bytes","name":"fax","type":"bytes"},{"internalType":"uint256","name":"eta","type":"uint256"}],"name":"plot","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"proxy","outputs":[{"internalType":"contract DSPauseProxy","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"contract DSAuthority","name":"authority_","type":"address"}],"name":"setAuthority","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"delay_","type":"uint256"}],"name":"setDelay","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"owner_","type":"address"}],"name":"setOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}],"is_changed_bytecode":false,"is_partially_verified":true,"constructor_args":"608060405234801561001057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061042c806100606000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80638da5cb5b1461003b578063be6002c214610085575b600080fd5b6100436101d9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61015e6004803603604081101561009b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156100d857600080fd5b8201836020820111156100ea57600080fd5b8035906020019184600183028401116401000000008311171561010c57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506101fe565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561019e578082015181840152602081019050610183565b50505050905090810190601f1680156101cb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146102c2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f64732d70617573652d70726f78792d756e617574686f72697a6564000000000081525060200191505060405180910390fd5b60008373ffffffffffffffffffffffffffffffffffffffff16836040518082805190602001908083835b6020831061030f57805182526020820191506020810190506020830392506102ec565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d806000811461036f576040519150601f19603f3d011682016040523d82523d6000602084013e610374565b606091505b508093508192505050806103f0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f64732d70617573652d64656c656761746563616c6c2d6572726f72000000000081525060200191505060405180910390fd5b509291505056fea265627a7a723158201aaf44b09961e5d78dcb89db50ece2cf99b6310af3657880f30921c1a292db5364736f6c634300050c0032000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000560328fdbf78edeba4ea13cfb1467e1fb44d2ed"}