ETH Price: $1,992.47 (-0.25%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Age:24H
Reset Filter

Transaction Hash
Method
Block
From
To

There are no matching entries

Update your filters to view other transactions

Age:24H
Reset Filter

Advanced mode:
Parent Transaction Hash Method Block
From
To

There are no matching entries

Update your filters to view other transactions

View All Internal Transactions
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Protego

Compiler Version
v0.8.16+commit.07a7930e

Optimization Enabled:
Yes with 200 runs

Other Settings:
london EvmVersion
// SPDX-FileCopyrightText: © 2024 Dai Foundation <www.daifoundation.org>
// SPDX-License-Identifier: AGPL-3.0-or-later
//
// 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.8.16;

import {EmergencyDropSpell} from "./EmergencyDropSpell.sol";

interface DsPauseLike {
    function plans(bytes32) external view returns (bool);
    function drop(address, bytes32, bytes calldata, uint256) external;
}

/// @title Protego: permissionlessly drop any plan in `DsPause`-like contracts.
contract Protego {
    /// @notice A reference to the `DsPause` contract.
    address public immutable pause;

    /**
     * @notice A new `EmergencyDropSpell` instance was deployed.
     * @param dropSpell The new `EmergencyDropSpell` address.
     */
    event Deploy(address dropSpell);

    /**
     * @notice A spell plan was dropped.
     * @param id The ID of the dropped plan.
     */
    event Drop(bytes32 id);

    /// @param _pause A reference to the `DsPause` contract.
    constructor(address _pause) {
        pause = _pause;
    }

    /**
     * @notice Deploys a spell to drop a plan based on attributes.
     * @param _usr The address of the scheduled spell.
     * @param _tag The tag identifying the address.
     * @param _fax The encoded call to be made in `_usr`.
     * @param _eta The earliest execution time.
     * @return _spell The `EmergencyDropSpell` address.
     */
    function deploy(address _usr, bytes32 _tag, bytes memory _fax, uint256 _eta) public returns (address _spell) {
        _spell = address(new EmergencyDropSpell(address(this), _usr, _tag, _fax, _eta));
        emit Deploy(_spell);
    }

    /**
     * @notice Calculates the id for a set of attributes.
     * @param _usr The address of the scheduled spell.
     * @param _tag The tag identifying the address.
     * @param _fax The encoded call to be made in `_usr`.
     * @param _eta The earliest execution time.
     */
    function id(address _usr, bytes32 _tag, bytes memory _fax, uint256 _eta) public pure returns (bytes32) {
        return keccak256(abi.encode(_usr, _tag, _fax, _eta));
    }

    /**
     * @notice Returns whether a plan matching the set of attributes is currently planned.
     * @param _usr The address of the scheduled spell.
     * @param _tag The tag identifying the address.
     * @param _fax The encoded call to be made in `_usr`.
     * @param _eta The earliest execution time.
     */
    function planned(address _usr, bytes32 _tag, bytes memory _fax, uint256 _eta) external view returns (bool) {
        return planned(id(_usr, _tag, _fax, _eta));
    }

    /**
     * @notice Returns whether an id is planned or not.
     * @param _id The id of the plan.
     */
    function planned(bytes32 _id) public view returns (bool) {
        return DsPauseLike(pause).plans(_id);
    }

    /**
     * @notice Permissionlessly drop anything that has been planned on the pause.
     * @dev In some cases, due to a faulty spell being voted, a governance attack or other unforeseen causes, it may be
     *      necessary to block any spell that is entered into the pause proxy.
     *      In this extreme case, the system can be protected during the pause delay by lifting the Protego contract to
     *      the hat role, which will allow any user to permissionlessly drop any id from the pause.
     *      This function is expected to revert if it does not have the authority to perform this function.
     * @param _usr The address of the scheduled spell.
     * @param _tag The tag identifying the address.
     * @param _fax The encoded call to be made in `_usr`.
     * @param _eta The expiration time.
     */
    function drop(address _usr, bytes32 _tag, bytes memory _fax, uint256 _eta) public {
        DsPauseLike(pause).drop(_usr, _tag, _fax, _eta);
        emit Drop(id(_usr, _tag, _fax, _eta));
    }

    /**
     * @notice A struct representing a plan.
     * @param usr The address of the scheduled spell.
     * @param tag The tag identifying the address.
     * @param fax The encoded call to be made in `usr`.
     * @param eta The expiration time.
     */
    struct Plan {
        address usr;
        bytes32 tag;
        bytes fax;
        uint256 eta;
    }

    /**
     * @notice Drop multiple plans in a single call.
     * @dev If an empty array is passed, no spells are dropped and nothing happens as
     *      `DsPauseLike::drop` is not called.
     * @param _plans An array of plans to drop.
     */
    function drop(Plan[] calldata _plans) external {
        for (uint256 i; i < _plans.length;) {
            drop(_plans[i].usr, _plans[i].tag, _plans[i].fax, _plans[i].eta);

            unchecked {
                i++;
            }
        }
    }
}

// SPDX-FileCopyrightText: © 2024 Dai Foundation <www.daifoundation.org>
// SPDX-License-Identifier: AGPL-3.0-or-later
//
// 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.8.16;

interface ProtegoLike {
    function id(address _usr, bytes32 _tag, bytes memory _fax, uint256 _eta) external view returns (bytes32);
    function planned(address _usr, bytes32 _tag, bytes memory _fax, uint256 _eta) external view returns (bool);
    function pause() external view returns (address);
}

interface DsPauseLike {
    function plans(bytes32) external view returns (bool);
    function drop(address, bytes32, bytes calldata, uint256) external;
}

interface EmergencySpellLike {
    function action() external view returns (address);
    function cast() external;
    function description() external view returns (string memory);
    function done() external view returns (bool);
    function eta() external view returns (uint256);
    function expiration() external view returns (uint256);
    function log() external view returns (address);
    function nextCastTime() external view returns (uint256);
    function officeHours() external view returns (bool);
    function pause() external view returns (DsPauseLike);
    function schedule() external;
    function sig() external view returns (bytes memory);
    function tag() external view returns (bytes32);
}

/// @title A spell that drops a plan from `MCD_PAUSE` when is cast.
contract EmergencyDropSpell is EmergencySpellLike {
    /// @notice The Chainlog contract address.
    /// @dev Not used in this contract. Declared to keep compatibility with `DssExec`.
    address public constant log = 0xdA0Ab1e0017DEbCd72Be8599041a2aa3bA7e740F;
    /// @notice By definition, office hours are not applicable to emergency spells.
    bool public constant officeHours = false;
    /// @notice Emergency spells should not expire.
    uint256 public constant expiration = type(uint256).max;

    /// @notice The Protego factory that deployed the spell.
    ProtegoLike public immutable protego;
    /// @notice The MCD_PAUSE instance.
    DsPauseLike public immutable pause;
    /// @notice The original spell action address.
    address public immutable action;
    /// @notice The original spell action tag (i.e.: `extcodehash`).
    bytes32 public immutable tag;
    /// @notice The original spell earliest execution time.
    uint256 public immutable eta;
    /// @notice The original spell encoded call.
    bytes public sig;
    /**
     * @dev An emergency spell does not need to be cast, as all actions happen during the schedule phase.
     *      Notice that cast is usually not supposed to revert, so it is implemented as a no-op.
     */
    uint256 public immutable nextCastTime = type(uint256).max;

    /// @notice Drop have been called.
    event Drop();

    /**
     * @param _protego The Protego factory that deployed the spell.
     * @param _usr The original spell action address.
     * @param _tag The original spell action tag (i.e.: `extcodehash`).
     * @param _fax The original spell encoded call.
     * @param _eta The original spell earliest execution time.
     */
    constructor(address _protego, address _usr, bytes32 _tag, bytes memory _fax, uint256 _eta) {
        protego = ProtegoLike(_protego);
        pause = DsPauseLike(ProtegoLike(_protego).pause());
        action = _usr;
        tag = _tag;
        sig = _fax;
        eta = _eta;
    }

    /**
     * @notice Alias for `drop`.
     * @dev for compatibility with `DssExec`.
     */
    function schedule() external {
        drop();
    }

    /// @notice Drops the original spell.
    function drop() public {
        pause.drop(action, tag, sig, eta);
        emit Drop();
    }

    /// @notice No-op.
    function cast() external {}

    /// @notice Returns the description of the spell in the format "Sky Protocol Drop Spell: <ID>"
    function description() external view returns (string memory) {
        return string(abi.encodePacked("Sky Protocol Drop Spell: ", protego.id(action, tag, sig, eta)));
    }

    /// @notice Returns true if the original spell has been dropped or has never been planned.
    function done() external view returns (bool) {
        return !planned();
    }

    /// @notice Returns whether the original spell is currently planned or not.
    function planned() public view returns (bool) {
        return protego.planned(action, tag, sig, eta);
    }
}

Settings
{
  "remappings": [
    "dss-interfaces/=lib/dss-test/lib/dss-interfaces/src/",
    "dss-test/=lib/dss-test/src/",
    "forge-std/=lib/dss-test/lib/forge-std/src/"
  ],
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "metadata": {
    "useLiteralContent": false,
    "bytecodeHash": "ipfs"
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "evmVersion": "london",
  "viaIR": false,
  "libraries": {}
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"_pause","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"dropSpell","type":"address"}],"name":"Deploy","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"id","type":"bytes32"}],"name":"Drop","type":"event"},{"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":"deploy","outputs":[{"internalType":"address","name":"_spell","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"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":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"usr","type":"address"},{"internalType":"bytes32","name":"tag","type":"bytes32"},{"internalType":"bytes","name":"fax","type":"bytes"},{"internalType":"uint256","name":"eta","type":"uint256"}],"internalType":"struct Protego.Plan[]","name":"_plans","type":"tuple[]"}],"name":"drop","outputs":[],"stateMutability":"nonpayable","type":"function"},{"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":"id","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pause","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"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":"planned","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_id","type":"bytes32"}],"name":"planned","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}]

60a060405234801561001057600080fd5b506040516115ae3803806115ae83398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b608051611515610099600039600081816101140152818161019401526103e301526115156000f3fe60806040523480156200001157600080fd5b5060043610620000875760003560e01c80636f582b9311620000625780636f582b9314620000e65780638456cb59146200010e5780638602b416146200014f578063c62bcdf4146200016657600080fd5b8063162c7de3146200008c57806345a6ec8e14620000a55780636b0fe8f314620000bc575b600080fd5b620000a36200009d3660046200052a565b6200017d565b005b620000a3620000b636600462000609565b6200024b565b620000d3620000cd3660046200052a565b62000372565b6040519081526020015b60405180910390f35b620000fd620000f73660046200052a565b620003ad565b6040519015158152602001620000dd565b620001367f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001620000dd565b620000fd6200016036600462000683565b620003ca565b62000136620001773660046200052a565b6200045f565b60405163162c7de360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063162c7de390620001d1908790879087908790600401620006e5565b600060405180830381600087803b158015620001ec57600080fd5b505af115801562000201573d6000803e3d6000fd5b505050507f10bcdd5949cf454b9fdbaeda48cf6f2850228f0a8d86eb92653fd43822ce5c0a620002348585858562000372565b60405190815260200160405180910390a150505050565b60005b818110156200036d57620003648383838181106200027057620002706200071f565b905060200281019062000284919062000735565b6200029490602081019062000756565b848484818110620002a957620002a96200071f565b9050602002810190620002bd919062000735565b60200135858585818110620002d657620002d66200071f565b9050602002810190620002ea919062000735565b620002fa9060408101906200077b565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508992508891508790508181106200034657620003466200071f565b90506020028101906200035a919062000735565b606001356200017d565b6001016200024e565b505050565b6000848484846040516020016200038d9493929190620006e5565b604051602081830303815290604052805190602001209050949350505050565b6000620003c1620001608686868662000372565b95945050505050565b60405163aa4f265360e01b8152600481018290526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063aa4f265390602401602060405180830381865afa15801562000433573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004599190620007cc565b92915050565b600030858585856040516200047490620004e9565b62000484959493929190620007f0565b604051809103906000f080158015620004a1573d6000803e3d6000fd5b506040516001600160a01b03821681529091507f55ea6c6b31543d8e2ec6a72f71a79c0f4b72ed0d4757172b043d8f4f4cd848489060200160405180910390a1949350505050565b610ca8806200083883390190565b80356001600160a01b03811681146200050f57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600080600080608085870312156200054157600080fd5b6200054c85620004f7565b935060208501359250604085013567ffffffffffffffff808211156200057157600080fd5b818701915087601f8301126200058657600080fd5b8135818111156200059b576200059b62000514565b604051601f8201601f19908116603f01168101908382118183101715620005c657620005c662000514565b816040528281528a6020848701011115620005e057600080fd5b826020860160208301376000928101602001929092525095989497509495606001359450505050565b600080602083850312156200061d57600080fd5b823567ffffffffffffffff808211156200063657600080fd5b818501915085601f8301126200064b57600080fd5b8135818111156200065b57600080fd5b8660208260051b85010111156200067157600080fd5b60209290920196919550909350505050565b6000602082840312156200069657600080fd5b5035919050565b6000815180845260005b81811015620006c557602081850181015186830182015201620006a7565b506000602082860101526020601f19601f83011685010191505092915050565b60018060a01b03851681528360208201526080604082015260006200070e60808301856200069d565b905082606083015295945050505050565b634e487b7160e01b600052603260045260246000fd5b60008235607e198336030181126200074c57600080fd5b9190910192915050565b6000602082840312156200076957600080fd5b6200077482620004f7565b9392505050565b6000808335601e198436030181126200079357600080fd5b83018035915067ffffffffffffffff821115620007af57600080fd5b602001915036819003821315620007c557600080fd5b9250929050565b600060208284031215620007df57600080fd5b815180151581146200077457600080fd5b6001600160a01b038681168252851660208201526040810184905260a06060820181905260009062000825908301856200069d565b9050826080830152969550505050505056fe610140604052600019610120523480156200001957600080fd5b5060405162000ca838038062000ca88339810160408190526200003c9162000116565b6001600160a01b038516608081905260408051638456cb5960e01b81529051638456cb59916004808201926020929091908290030181865afa15801562000087573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000ad919062000224565b6001600160a01b0390811660a052841660c05260e08390526000620000d38382620002d8565b506101005250620003a492505050565b80516001600160a01b0381168114620000fb57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600080600080600060a086880312156200012f57600080fd5b6200013a86620000e3565b945060206200014b818801620000e3565b6040880151606089015191965094506001600160401b03808211156200017057600080fd5b818901915089601f8301126200018557600080fd5b8151818111156200019a576200019a62000100565b604051601f8201601f19908116603f01168101908382118183101715620001c557620001c562000100565b816040528281528c86848701011115620001de57600080fd5b600093505b82841015620002025784840186015181850187015292850192620001e3565b6000868483010152809750505050505050608086015190509295509295909350565b6000602082840312156200023757600080fd5b6200024282620000e3565b9392505050565b600181811c908216806200025e57607f821691505b6020821081036200027f57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620002d357600081815260208120601f850160051c81016020861015620002ae5750805b601f850160051c820191505b81811015620002cf57828155600101620002ba565b5050505b505050565b81516001600160401b03811115620002f457620002f462000100565b6200030c8162000305845462000249565b8462000285565b602080601f8311600181146200034457600084156200032b5750858301515b600019600386901b1c1916600185901b178555620002cf565b600085815260208120601f198616915b82811015620003755788860151825594840194600190910190840162000354565b5085821015620003945787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60805160a05160c05160e051610100516101205161086062000448600039600061027601526000818161024f015281816103b3015281816104af01526106010152600081816101980152818161038f0152818161048a01526105dc0152600081816101270152818161036d0152818161046801526105ba0152600081816101e7015261058d01526000818161022001528181610340015261043b01526108606000f3fe608060405234801561001057600080fd5b50600436106100ff5760003560e01c80638456cb5911610097578063cbab207011610066578063cbab20701461021b578063f751cd8f14610242578063f7992d851461024a578063fe7d47bb1461027157600080fd5b80638456cb59146101e257806396d373e514610209578063ae8421e11461020b578063b0604a261461021357600080fd5b806351f91066116100d357806351f910661461019357806355610ee3146101ba5780636e832f07146101d25780637284e416146101da57600080fd5b8062a7029b146101045780630a7a1c4d146101225780634665096d1461016157806351973ec914610178575b600080fd5b61010c610298565b60405161011991906106cc565b60405180910390f35b6101497f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610119565b61016a60001981565b604051908152602001610119565b61014973da0ab1e0017debcd72be8599041a2aa3ba7e740f81565b61016a7f000000000000000000000000000000000000000000000000000000000000000081565b6101c2610326565b6040519015158152602001610119565b6101c2600081565b61010c610421565b6101497f000000000000000000000000000000000000000000000000000000000000000081565b005b6101c2610562565b610209610572565b6101497f000000000000000000000000000000000000000000000000000000000000000081565b610209610576565b61016a7f000000000000000000000000000000000000000000000000000000000000000081565b61016a7f000000000000000000000000000000000000000000000000000000000000000081565b600080546102a5906106e6565b80601f01602080910402602001604051908101604052809291908181526020018280546102d1906106e6565b801561031e5780601f106102f35761010080835404028352916020019161031e565b820191906000526020600020905b81548152906001019060200180831161030157829003601f168201915b505050505081565b604051636f582b9360e01b81526000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636f582b93906103db907f0000000000000000000000000000000000000000000000000000000000000000907f00000000000000000000000000000000000000000000000000000000000000009086907f000000000000000000000000000000000000000000000000000000000000000090600401610720565b602060405180830381865afa1580156103f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061041c91906107ef565b905090565b604051636b0fe8f360e01b81526060906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636b0fe8f3906104d7907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000906000907f000000000000000000000000000000000000000000000000000000000000000090600401610720565b602060405180830381865afa1580156104f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105189190610811565b6040517f536b792050726f746f636f6c2044726f70205370656c6c3a200000000000000060208201526039810191909152605901604051602081830303815290604052905090565b565b600061056c610326565b15905090565b6105605b60405163162c7de360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063162c7de390610629907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000906000907f000000000000000000000000000000000000000000000000000000000000000090600401610720565b600060405180830381600087803b15801561064357600080fd5b505af1158015610657573d6000803e3d6000fd5b50506040517fe3464b1bfde447df077e433d9784af35a44da4441b454bc2049e20758e227af5925060009150a1565b6000815180845260005b818110156106ac57602081850181015186830182015201610690565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006106df6020830184610686565b9392505050565b600181811c908216806106fa57607f821691505b60208210810361071a57634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160a01b03851681526020808201859052608060408301528354600091908290600181811c908281168061075857607f831692505b858310810361077557634e487b7160e01b85526022600452602485fd5b6080880183905260a0880181801561079457600181146107aa576107d5565b60ff198616825284151560051b820196506107d5565b60008c81526020902060005b868110156107cf578154848201529085019089016107b6565b83019750505b505050505050809250505082606083015295945050505050565b60006020828403121561080157600080fd5b815180151581146106df57600080fd5b60006020828403121561082357600080fd5b505191905056fea2646970667358221220c2b21752f843f019297a9e6f973ea1f51be36e155ee5a302e3183545ad1bfb7e64736f6c63430008100033a264697066735822122057debc900c0d218b64dc32ada8bde04c10a86baa66c78e259a3dd034ded854db64736f6c63430008100033000000000000000000000000be286431454714f511008713973d3b053a2d38f3

Deployed Bytecode

0x60806040523480156200001157600080fd5b5060043610620000875760003560e01c80636f582b9311620000625780636f582b9314620000e65780638456cb59146200010e5780638602b416146200014f578063c62bcdf4146200016657600080fd5b8063162c7de3146200008c57806345a6ec8e14620000a55780636b0fe8f314620000bc575b600080fd5b620000a36200009d3660046200052a565b6200017d565b005b620000a3620000b636600462000609565b6200024b565b620000d3620000cd3660046200052a565b62000372565b6040519081526020015b60405180910390f35b620000fd620000f73660046200052a565b620003ad565b6040519015158152602001620000dd565b620001367f000000000000000000000000be286431454714f511008713973d3b053a2d38f381565b6040516001600160a01b039091168152602001620000dd565b620000fd6200016036600462000683565b620003ca565b62000136620001773660046200052a565b6200045f565b60405163162c7de360e01b81526001600160a01b037f000000000000000000000000be286431454714f511008713973d3b053a2d38f3169063162c7de390620001d1908790879087908790600401620006e5565b600060405180830381600087803b158015620001ec57600080fd5b505af115801562000201573d6000803e3d6000fd5b505050507f10bcdd5949cf454b9fdbaeda48cf6f2850228f0a8d86eb92653fd43822ce5c0a620002348585858562000372565b60405190815260200160405180910390a150505050565b60005b818110156200036d57620003648383838181106200027057620002706200071f565b905060200281019062000284919062000735565b6200029490602081019062000756565b848484818110620002a957620002a96200071f565b9050602002810190620002bd919062000735565b60200135858585818110620002d657620002d66200071f565b9050602002810190620002ea919062000735565b620002fa9060408101906200077b565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508992508891508790508181106200034657620003466200071f565b90506020028101906200035a919062000735565b606001356200017d565b6001016200024e565b505050565b6000848484846040516020016200038d9493929190620006e5565b604051602081830303815290604052805190602001209050949350505050565b6000620003c1620001608686868662000372565b95945050505050565b60405163aa4f265360e01b8152600481018290526000907f000000000000000000000000be286431454714f511008713973d3b053a2d38f36001600160a01b03169063aa4f265390602401602060405180830381865afa15801562000433573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004599190620007cc565b92915050565b600030858585856040516200047490620004e9565b62000484959493929190620007f0565b604051809103906000f080158015620004a1573d6000803e3d6000fd5b506040516001600160a01b03821681529091507f55ea6c6b31543d8e2ec6a72f71a79c0f4b72ed0d4757172b043d8f4f4cd848489060200160405180910390a1949350505050565b610ca8806200083883390190565b80356001600160a01b03811681146200050f57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600080600080608085870312156200054157600080fd5b6200054c85620004f7565b935060208501359250604085013567ffffffffffffffff808211156200057157600080fd5b818701915087601f8301126200058657600080fd5b8135818111156200059b576200059b62000514565b604051601f8201601f19908116603f01168101908382118183101715620005c657620005c662000514565b816040528281528a6020848701011115620005e057600080fd5b826020860160208301376000928101602001929092525095989497509495606001359450505050565b600080602083850312156200061d57600080fd5b823567ffffffffffffffff808211156200063657600080fd5b818501915085601f8301126200064b57600080fd5b8135818111156200065b57600080fd5b8660208260051b85010111156200067157600080fd5b60209290920196919550909350505050565b6000602082840312156200069657600080fd5b5035919050565b6000815180845260005b81811015620006c557602081850181015186830182015201620006a7565b506000602082860101526020601f19601f83011685010191505092915050565b60018060a01b03851681528360208201526080604082015260006200070e60808301856200069d565b905082606083015295945050505050565b634e487b7160e01b600052603260045260246000fd5b60008235607e198336030181126200074c57600080fd5b9190910192915050565b6000602082840312156200076957600080fd5b6200077482620004f7565b9392505050565b6000808335601e198436030181126200079357600080fd5b83018035915067ffffffffffffffff821115620007af57600080fd5b602001915036819003821315620007c557600080fd5b9250929050565b600060208284031215620007df57600080fd5b815180151581146200077457600080fd5b6001600160a01b038681168252851660208201526040810184905260a06060820181905260009062000825908301856200069d565b9050826080830152969550505050505056fe610140604052600019610120523480156200001957600080fd5b5060405162000ca838038062000ca88339810160408190526200003c9162000116565b6001600160a01b038516608081905260408051638456cb5960e01b81529051638456cb59916004808201926020929091908290030181865afa15801562000087573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000ad919062000224565b6001600160a01b0390811660a052841660c05260e08390526000620000d38382620002d8565b506101005250620003a492505050565b80516001600160a01b0381168114620000fb57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600080600080600060a086880312156200012f57600080fd5b6200013a86620000e3565b945060206200014b818801620000e3565b6040880151606089015191965094506001600160401b03808211156200017057600080fd5b818901915089601f8301126200018557600080fd5b8151818111156200019a576200019a62000100565b604051601f8201601f19908116603f01168101908382118183101715620001c557620001c562000100565b816040528281528c86848701011115620001de57600080fd5b600093505b82841015620002025784840186015181850187015292850192620001e3565b6000868483010152809750505050505050608086015190509295509295909350565b6000602082840312156200023757600080fd5b6200024282620000e3565b9392505050565b600181811c908216806200025e57607f821691505b6020821081036200027f57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620002d357600081815260208120601f850160051c81016020861015620002ae5750805b601f850160051c820191505b81811015620002cf57828155600101620002ba565b5050505b505050565b81516001600160401b03811115620002f457620002f462000100565b6200030c8162000305845462000249565b8462000285565b602080601f8311600181146200034457600084156200032b5750858301515b600019600386901b1c1916600185901b178555620002cf565b600085815260208120601f198616915b82811015620003755788860151825594840194600190910190840162000354565b5085821015620003945787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60805160a05160c05160e051610100516101205161086062000448600039600061027601526000818161024f015281816103b3015281816104af01526106010152600081816101980152818161038f0152818161048a01526105dc0152600081816101270152818161036d0152818161046801526105ba0152600081816101e7015261058d01526000818161022001528181610340015261043b01526108606000f3fe608060405234801561001057600080fd5b50600436106100ff5760003560e01c80638456cb5911610097578063cbab207011610066578063cbab20701461021b578063f751cd8f14610242578063f7992d851461024a578063fe7d47bb1461027157600080fd5b80638456cb59146101e257806396d373e514610209578063ae8421e11461020b578063b0604a261461021357600080fd5b806351f91066116100d357806351f910661461019357806355610ee3146101ba5780636e832f07146101d25780637284e416146101da57600080fd5b8062a7029b146101045780630a7a1c4d146101225780634665096d1461016157806351973ec914610178575b600080fd5b61010c610298565b60405161011991906106cc565b60405180910390f35b6101497f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610119565b61016a60001981565b604051908152602001610119565b61014973da0ab1e0017debcd72be8599041a2aa3ba7e740f81565b61016a7f000000000000000000000000000000000000000000000000000000000000000081565b6101c2610326565b6040519015158152602001610119565b6101c2600081565b61010c610421565b6101497f000000000000000000000000000000000000000000000000000000000000000081565b005b6101c2610562565b610209610572565b6101497f000000000000000000000000000000000000000000000000000000000000000081565b610209610576565b61016a7f000000000000000000000000000000000000000000000000000000000000000081565b61016a7f000000000000000000000000000000000000000000000000000000000000000081565b600080546102a5906106e6565b80601f01602080910402602001604051908101604052809291908181526020018280546102d1906106e6565b801561031e5780601f106102f35761010080835404028352916020019161031e565b820191906000526020600020905b81548152906001019060200180831161030157829003601f168201915b505050505081565b604051636f582b9360e01b81526000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636f582b93906103db907f0000000000000000000000000000000000000000000000000000000000000000907f00000000000000000000000000000000000000000000000000000000000000009086907f000000000000000000000000000000000000000000000000000000000000000090600401610720565b602060405180830381865afa1580156103f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061041c91906107ef565b905090565b604051636b0fe8f360e01b81526060906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636b0fe8f3906104d7907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000906000907f000000000000000000000000000000000000000000000000000000000000000090600401610720565b602060405180830381865afa1580156104f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105189190610811565b6040517f536b792050726f746f636f6c2044726f70205370656c6c3a200000000000000060208201526039810191909152605901604051602081830303815290604052905090565b565b600061056c610326565b15905090565b6105605b60405163162c7de360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063162c7de390610629907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000906000907f000000000000000000000000000000000000000000000000000000000000000090600401610720565b600060405180830381600087803b15801561064357600080fd5b505af1158015610657573d6000803e3d6000fd5b50506040517fe3464b1bfde447df077e433d9784af35a44da4441b454bc2049e20758e227af5925060009150a1565b6000815180845260005b818110156106ac57602081850181015186830182015201610690565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006106df6020830184610686565b9392505050565b600181811c908216806106fa57607f821691505b60208210810361071a57634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160a01b03851681526020808201859052608060408301528354600091908290600181811c908281168061075857607f831692505b858310810361077557634e487b7160e01b85526022600452602485fd5b6080880183905260a0880181801561079457600181146107aa576107d5565b60ff198616825284151560051b820196506107d5565b60008c81526020902060005b868110156107cf578154848201529085019089016107b6565b83019750505b505050505050809250505082606083015295945050505050565b60006020828403121561080157600080fd5b815180151581146106df57600080fd5b60006020828403121561082357600080fd5b505191905056fea2646970667358221220c2b21752f843f019297a9e6f973ea1f51be36e155ee5a302e3183545ad1bfb7e64736f6c63430008100033a264697066735822122057debc900c0d218b64dc32ada8bde04c10a86baa66c78e259a3dd034ded854db64736f6c63430008100033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000be286431454714f511008713973d3b053a2d38f3

-----Decoded View---------------
Arg [0] : _pause (address): 0xbE286431454714F511008713973d3B053A2d38f3

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000be286431454714f511008713973d3b053a2d38f3


Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.