ETH Price: $2,894.83 (-3.14%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Deploy212667422024-11-25 19:05:35421 days ago1732561535IN
0x8BA0f6C4...34587dC69
0 ETH0.0130319416.39605839
Deploy212667412024-11-25 19:05:23421 days ago1732561523IN
0x8BA0f6C4...34587dC69
0 ETH0.0126271415.88843839
Deploy212667402024-11-25 19:05:11421 days ago1732561511IN
0x8BA0f6C4...34587dC69
0 ETH0.0120714615.18717757

Latest 3 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
0x61014060212667422024-11-25 19:05:35421 days ago1732561535
0x8BA0f6C4...34587dC69
 Contract Creation0 ETH
0x61014060212667412024-11-25 19:05:23421 days ago1732561523
0x8BA0f6C4...34587dC69
 Contract Creation0 ETH
0x61014060212667402024-11-25 19:05:11421 days ago1732561511
0x8BA0f6C4...34587dC69
 Contract Creation0 ETH
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:
SingleDdmDisableFactory

Compiler Version
v0.8.16+commit.07a7930e

Optimization Enabled:
No 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 {DssEmergencySpell} from "../DssEmergencySpell.sol";

interface DdmMomLike {
    function disable(address plan) external;
}

interface DdmPlanLike {
    function active() external view returns (bool);
    function wards(address who) external view returns (uint256);
}

interface DdmHubLike {
    function plan(bytes32 ilk) external view returns (address);
}

contract SingleDdmDisableSpell is DssEmergencySpell {
    DdmMomLike public immutable ddmMom = DdmMomLike(_log.getAddress("DIRECT_MOM"));
    DdmHubLike public immutable ddmHub = DdmHubLike(_log.getAddress("DIRECT_HUB"));
    bytes32 public immutable ilk;

    event Disable(address indexed plan);

    constructor(bytes32 _ilk) {
        ilk = _ilk;
    }

    function description() external view returns (string memory) {
        return string(abi.encodePacked("Emergency Spell | Disable DDM Plan: ", ilk));
    }

    function _emergencyActions() internal override {
        address plan = ddmHub.plan(ilk);
        ddmMom.disable(plan);
        emit Disable(plan);
    }

    /**
     * @notice Returns whether the spell is done or not.
     * @dev Checks if the plan.active() = false.
     *      The spell would revert if any of the following conditions holds:
     *          1. DDMMom is not a ward of DDMHub.
     *      In such cases, it returns `true`, meaning no further action can be taken at the moment.
     */
    function done() external view returns (bool) {
        DdmPlanLike plan = DdmPlanLike(ddmHub.plan(ilk));

        if (address(plan) == address(0) || plan.wards(address(ddmMom)) == 0) {
            return true;
        }

        return plan.active() == false;
    }
}

contract SingleDdmDisableFactory {
    event Deploy(bytes32 indexed ilk, address spell);

    function deploy(bytes32 ilk) external returns (address spell) {
        spell = address(new SingleDdmDisableSpell(ilk));
        emit Deploy(ilk, spell);
    }
}

// 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 ChainlogLike {
    function getAddress(bytes32 key) external view returns (address);
}

interface DssExec {
    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 (address);
    function schedule() external;
    function sig() external view returns (bytes memory);
    function tag() external view returns (bytes32);
}

interface DssAction {
    function actions() external;
    function description() external view returns (string memory);
    function execute() external;
    function nextCastTime(uint256 eta) external view returns (uint256);
    function officeHours() external view returns (bool);
}

interface DssEmergencySpellLike is DssExec, DssAction {
    function description() external view override(DssExec, DssAction) returns (string memory);
    function officeHours() external view override(DssExec, DssAction) returns (bool);
}

abstract contract DssEmergencySpell is DssEmergencySpellLike {
    /// @dev The chainlog contract reference.
    ChainlogLike internal constant _log = ChainlogLike(0xdA0Ab1e0017DEbCd72Be8599041a2aa3bA7e740F);

    // @dev The reference to the `pause` contract.
    address public immutable pause = _log.getAddress("MCD_PAUSE");
    /// @dev The chainlog address.
    address public constant log = address(_log);
    /// @dev In regular spells, `eta` is used to enforce the GSM delay.
    ///      For emergency spells, the GSM delay is not applicable.
    uint256 public constant eta = 0;
    /// @dev Keeping the same value as regular spells.
    bytes public constant sig = abi.encodeWithSelector(DssAction.execute.selector);
    /// @dev Emergency spells should not expire.
    uint256 public constant expiration = type(uint256).max;
    // @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 internal immutable _nextCastTime = type(uint256).max;
    // @dev Office Hours is always `false` for emergency spells.
    bool public constant officeHours = false;
    // @dev `action` is expected to return a valid address.
    //      We also implement the `DssAction` interface in this contract.
    address public immutable action = address(this);

    /**
     * @dev In regular spells, `tag` is an immutable variable with the code hash of the spell action.
     *      It specifically uses a separate contract for spell action because `tag` is immutable and the code hash of
     *      the contract being initialized is not accessible in the constructor.
     *      Since we do not have a separate contract for actions in Emergency Spells, `tag` has to be turned into a
     *      getter function instead of an immutable variable.
     * @return The contract codehash.
     */
    function tag() external view returns (bytes32) {
        return address(this).codehash;
    }

    /**
     * @notice Triggers the emergency actions of the spell.
     * @dev Emergency spells are triggered when scheduled.
     *      This function maintains the name for compatibility with regular spells, however nothing is actually being
     *      scheduled. Emergency spells take effect immediately, so there is no need to call `pause.plot()`.
     */
    function schedule() external {
        _emergencyActions();
    }

    /**
     * @notice Implements the emergency actions to be triggered by the spell.
     */
    function _emergencyActions() internal virtual;

    /**
     * @notice Returns `_nextCastTime`.
     * @dev This function exists only to keep interface compatibility with regular spells.
     */
    function nextCastTime() external view returns (uint256 castTime) {
        return _nextCastTime;
    }

    /**
     * @notice No-op.
     * @dev This function exists only to keep interface compatibility with regular spells.
     */
    function cast() external {}

    /**
     * @notice No-op.
     * @dev This function exists only to keep interface compatibility with regular spells.
     */
    function execute() external {}

    /**
     * @notice No-op.
     * @dev This function exists only to keep interface compatibility with regular spells.
     */
    function actions() external {}

    /**
     * @notice Returns `nextCastTime`, regardless of the input parameter.
     * @dev This function exists only to keep interface compatibility with regular spells.
     */
    function nextCastTime(uint256) external view returns (uint256 castTime) {
        return _nextCastTime;
    }
}

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": false,
    "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
[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"ilk","type":"bytes32"},{"indexed":false,"internalType":"address","name":"spell","type":"address"}],"name":"Deploy","type":"event"},{"inputs":[{"internalType":"bytes32","name":"ilk","type":"bytes32"}],"name":"deploy","outputs":[{"internalType":"address","name":"spell","type":"address"}],"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b5061156a806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80632b85ba3814610030575b600080fd5b61004a6004803603810190610045919061011d565b610060565b604051610057919061018b565b60405180910390f35b60008160405161006f906100d5565b61007991906101b5565b604051809103906000f080158015610095573d6000803e3d6000fd5b509050817fa4ec87efbdf333e464825b3a3a757dc501a72b53041a352de91a3fbdcdae6509826040516100c8919061018b565b60405180910390a2919050565b611364806101d183390190565b600080fd5b6000819050919050565b6100fa816100e7565b811461010557600080fd5b50565b600081359050610117816100f1565b92915050565b600060208284031215610133576101326100e2565b5b600061014184828501610108565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006101758261014a565b9050919050565b6101858161016a565b82525050565b60006020820190506101a0600083018461017c565b92915050565b6101af816100e7565b82525050565b60006020820190506101ca60008301846101a6565b9291505056fe61014060405273da0ab1e0017debcd72be8599041a2aa3ba7e740f73ffffffffffffffffffffffffffffffffffffffff166321f8a7216040518163ffffffff1660e01b8152600401620000529062000312565b602060405180830381865afa15801562000070573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000096919062000397565b73ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff168152507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60a0908152503073ffffffffffffffffffffffffffffffffffffffff1660c09073ffffffffffffffffffffffffffffffffffffffff1681525073da0ab1e0017debcd72be8599041a2aa3ba7e740f73ffffffffffffffffffffffffffffffffffffffff166321f8a7216040518163ffffffff1660e01b81526004016200016f90620003ef565b602060405180830381865afa1580156200018d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b3919062000397565b73ffffffffffffffffffffffffffffffffffffffff1660e09073ffffffffffffffffffffffffffffffffffffffff1681525073da0ab1e0017debcd72be8599041a2aa3ba7e740f73ffffffffffffffffffffffffffffffffffffffff166321f8a7216040518163ffffffff1660e01b8152600401620002329062000430565b602060405180830381865afa15801562000250573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000276919062000397565b73ffffffffffffffffffffffffffffffffffffffff166101009073ffffffffffffffffffffffffffffffffffffffff16815250348015620002b657600080fd5b5060405162001364380380620013648339818101604052810190620002dc919062000486565b80610120818152505050620004b8565b7f4d43445f50415553450000000000000000000000000000000000000000000000815250565b60006020820190506200032860008301620002ec565b919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200035f8262000332565b9050919050565b620003718162000352565b81146200037d57600080fd5b50565b600081519050620003918162000366565b92915050565b600060208284031215620003b057620003af6200032d565b5b6000620003c08482850162000380565b91505092915050565b7f4449524543545f4d4f4d00000000000000000000000000000000000000000000815250565b60006020820190506200040560008301620003c9565b919050565b7f4449524543545f48554200000000000000000000000000000000000000000000815250565b600060208201905062000446600083016200040a565b919050565b6000819050919050565b62000460816200044b565b81146200046c57600080fd5b50565b600081519050620004808162000455565b92915050565b6000602082840312156200049f576200049e6200032d565b5b6000620004af848285016200046f565b91505092915050565b60805160a05160c05160e0516101005161012051610e2462000540600039600081816104610152818161050b0152818161071f01526107b00152600081816103b5015281816104cf015261077401526000818161043b015281816105df0152610830015260006103910152600081816106f7015261074c015260006104a60152610e246000f3fe608060405234801561001057600080fd5b50600436106101205760003560e01c80637284e416116100ad578063bf0fbcec11610071578063bf0fbcec1461028d578063c5ce281e146102bd578063f7992d85146102db578063f99e36bc146102f9578063fe7d47bb1461030357610120565b80637284e4161461021f5780638456cb591461023d57806396d373e51461025b578063ae8421e114610265578063b0604a261461028357610120565b806351973ec9116100f457806351973ec91461019d57806351f91066146101bb57806361461954146101d95780636e832f07146101e3578063720637db1461020157610120565b8062a7029b146101255780630a7a1c4d146101435780632a68a57a146101615780634665096d1461017f575b600080fd5b61012d610321565b60405161013a919061098f565b60405180910390f35b61014b61038f565b60405161015891906109f2565b60405180910390f35b6101696103b3565b6040516101769190610a6c565b60405180910390f35b6101876103d7565b6040516101949190610aa0565b60405180910390f35b6101a56103fb565b6040516101b291906109f2565b60405180910390f35b6101c3610413565b6040516101d09190610ad4565b60405180910390f35b6101e1610432565b005b6101eb610434565b6040516101f89190610b0a565b60405180910390f35b610209610439565b6040516102169190610b46565b60405180910390f35b61022761045d565b6040516102349190610bb6565b60405180910390f35b6102456104a4565b60405161025291906109f2565b60405180910390f35b6102636104c8565b005b61026d6104ca565b60405161027a9190610b0a565b60405180910390f35b61028b6106e9565b005b6102a760048036038101906102a29190610c09565b6106f3565b6040516102b49190610aa0565b60405180910390f35b6102c561071d565b6040516102d29190610ad4565b60405180910390f35b6102e3610741565b6040516102f09190610aa0565b60405180910390f35b610301610746565b005b61030b610748565b6040516103189190610aa0565b60405180910390f35b636146195460e01b604051602401604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505081565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b73da0ab1e0017debcd72be8599041a2aa3ba7e740f81565b60003073ffffffffffffffffffffffffffffffffffffffff163f905090565b565b600081565b7f000000000000000000000000000000000000000000000000000000000000000081565b60607f00000000000000000000000000000000000000000000000000000000000000006040516020016104909190610cd4565b604051602081830303815290604052905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a5fe49267f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b81526004016105469190610ad4565b602060405180830381865afa158015610563573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105879190610d26565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16148061065d575060008173ffffffffffffffffffffffffffffffffffffffff1663bf353dbb7f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b815260040161061a91906109f2565b602060405180830381865afa158015610637573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065b9190610d68565b145b1561066c5760019150506106e6565b600015158173ffffffffffffffffffffffffffffffffffffffff166302fb0c5e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106df9190610dc1565b1515149150505b90565b6106f1610770565b565b60007f00000000000000000000000000000000000000000000000000000000000000009050919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600081565b565b60007f0000000000000000000000000000000000000000000000000000000000000000905090565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a5fe49267f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b81526004016107eb9190610ad4565b602060405180830381865afa158015610808573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082c9190610d26565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e6c09edf826040518263ffffffff1660e01b815260040161088791906109f2565b600060405180830381600087803b1580156108a157600080fd5b505af11580156108b5573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff167f1d6f80aff2255e9cb1aee4abaf819aec89a6ae3fce7eb53b852640eb8052609c60405160405180910390a250565b600081519050919050565b600082825260208201905092915050565b60005b8381101561093957808201518184015260208101905061091e565b60008484015250505050565b6000601f19601f8301169050919050565b6000610961826108ff565b61096b818561090a565b935061097b81856020860161091b565b61098481610945565b840191505092915050565b600060208201905081810360008301526109a98184610956565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006109dc826109b1565b9050919050565b6109ec816109d1565b82525050565b6000602082019050610a0760008301846109e3565b92915050565b6000819050919050565b6000610a32610a2d610a28846109b1565b610a0d565b6109b1565b9050919050565b6000610a4482610a17565b9050919050565b6000610a5682610a39565b9050919050565b610a6681610a4b565b82525050565b6000602082019050610a816000830184610a5d565b92915050565b6000819050919050565b610a9a81610a87565b82525050565b6000602082019050610ab56000830184610a91565b92915050565b6000819050919050565b610ace81610abb565b82525050565b6000602082019050610ae96000830184610ac5565b92915050565b60008115159050919050565b610b0481610aef565b82525050565b6000602082019050610b1f6000830184610afb565b92915050565b6000610b3082610a39565b9050919050565b610b4081610b25565b82525050565b6000602082019050610b5b6000830184610b37565b92915050565b600081519050919050565b600082825260208201905092915050565b6000610b8882610b61565b610b928185610b6c565b9350610ba281856020860161091b565b610bab81610945565b840191505092915050565b60006020820190508181036000830152610bd08184610b7d565b905092915050565b600080fd5b610be681610a87565b8114610bf157600080fd5b50565b600081359050610c0381610bdd565b92915050565b600060208284031215610c1f57610c1e610bd8565b5b6000610c2d84828501610bf4565b91505092915050565b600081905092915050565b7f456d657267656e6379205370656c6c207c2044697361626c652044444d20506c60008201527f616e3a2000000000000000000000000000000000000000000000000000000000602082015250565b6000610c9d602483610c36565b9150610ca882610c41565b602482019050919050565b6000819050919050565b610cce610cc982610abb565b610cb3565b82525050565b6000610cdf82610c90565b9150610ceb8284610cbd565b60208201915081905092915050565b610d03816109d1565b8114610d0e57600080fd5b50565b600081519050610d2081610cfa565b92915050565b600060208284031215610d3c57610d3b610bd8565b5b6000610d4a84828501610d11565b91505092915050565b600081519050610d6281610bdd565b92915050565b600060208284031215610d7e57610d7d610bd8565b5b6000610d8c84828501610d53565b91505092915050565b610d9e81610aef565b8114610da957600080fd5b50565b600081519050610dbb81610d95565b92915050565b600060208284031215610dd757610dd6610bd8565b5b6000610de584828501610dac565b9150509291505056fea2646970667358221220d7270d9ec35ef61b0714a54365542f7855bd57cf0f2f1fee329bd92dc7d857c464736f6c63430008100033a2646970667358221220e273773933afa54ae4778d304d5927d4eadcb37ca94445b81a2888baf860cd5d64736f6c63430008100033

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061002b5760003560e01c80632b85ba3814610030575b600080fd5b61004a6004803603810190610045919061011d565b610060565b604051610057919061018b565b60405180910390f35b60008160405161006f906100d5565b61007991906101b5565b604051809103906000f080158015610095573d6000803e3d6000fd5b509050817fa4ec87efbdf333e464825b3a3a757dc501a72b53041a352de91a3fbdcdae6509826040516100c8919061018b565b60405180910390a2919050565b611364806101d183390190565b600080fd5b6000819050919050565b6100fa816100e7565b811461010557600080fd5b50565b600081359050610117816100f1565b92915050565b600060208284031215610133576101326100e2565b5b600061014184828501610108565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006101758261014a565b9050919050565b6101858161016a565b82525050565b60006020820190506101a0600083018461017c565b92915050565b6101af816100e7565b82525050565b60006020820190506101ca60008301846101a6565b9291505056fe61014060405273da0ab1e0017debcd72be8599041a2aa3ba7e740f73ffffffffffffffffffffffffffffffffffffffff166321f8a7216040518163ffffffff1660e01b8152600401620000529062000312565b602060405180830381865afa15801562000070573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000096919062000397565b73ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff168152507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60a0908152503073ffffffffffffffffffffffffffffffffffffffff1660c09073ffffffffffffffffffffffffffffffffffffffff1681525073da0ab1e0017debcd72be8599041a2aa3ba7e740f73ffffffffffffffffffffffffffffffffffffffff166321f8a7216040518163ffffffff1660e01b81526004016200016f90620003ef565b602060405180830381865afa1580156200018d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b3919062000397565b73ffffffffffffffffffffffffffffffffffffffff1660e09073ffffffffffffffffffffffffffffffffffffffff1681525073da0ab1e0017debcd72be8599041a2aa3ba7e740f73ffffffffffffffffffffffffffffffffffffffff166321f8a7216040518163ffffffff1660e01b8152600401620002329062000430565b602060405180830381865afa15801562000250573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000276919062000397565b73ffffffffffffffffffffffffffffffffffffffff166101009073ffffffffffffffffffffffffffffffffffffffff16815250348015620002b657600080fd5b5060405162001364380380620013648339818101604052810190620002dc919062000486565b80610120818152505050620004b8565b7f4d43445f50415553450000000000000000000000000000000000000000000000815250565b60006020820190506200032860008301620002ec565b919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200035f8262000332565b9050919050565b620003718162000352565b81146200037d57600080fd5b50565b600081519050620003918162000366565b92915050565b600060208284031215620003b057620003af6200032d565b5b6000620003c08482850162000380565b91505092915050565b7f4449524543545f4d4f4d00000000000000000000000000000000000000000000815250565b60006020820190506200040560008301620003c9565b919050565b7f4449524543545f48554200000000000000000000000000000000000000000000815250565b600060208201905062000446600083016200040a565b919050565b6000819050919050565b62000460816200044b565b81146200046c57600080fd5b50565b600081519050620004808162000455565b92915050565b6000602082840312156200049f576200049e6200032d565b5b6000620004af848285016200046f565b91505092915050565b60805160a05160c05160e0516101005161012051610e2462000540600039600081816104610152818161050b0152818161071f01526107b00152600081816103b5015281816104cf015261077401526000818161043b015281816105df0152610830015260006103910152600081816106f7015261074c015260006104a60152610e246000f3fe608060405234801561001057600080fd5b50600436106101205760003560e01c80637284e416116100ad578063bf0fbcec11610071578063bf0fbcec1461028d578063c5ce281e146102bd578063f7992d85146102db578063f99e36bc146102f9578063fe7d47bb1461030357610120565b80637284e4161461021f5780638456cb591461023d57806396d373e51461025b578063ae8421e114610265578063b0604a261461028357610120565b806351973ec9116100f457806351973ec91461019d57806351f91066146101bb57806361461954146101d95780636e832f07146101e3578063720637db1461020157610120565b8062a7029b146101255780630a7a1c4d146101435780632a68a57a146101615780634665096d1461017f575b600080fd5b61012d610321565b60405161013a919061098f565b60405180910390f35b61014b61038f565b60405161015891906109f2565b60405180910390f35b6101696103b3565b6040516101769190610a6c565b60405180910390f35b6101876103d7565b6040516101949190610aa0565b60405180910390f35b6101a56103fb565b6040516101b291906109f2565b60405180910390f35b6101c3610413565b6040516101d09190610ad4565b60405180910390f35b6101e1610432565b005b6101eb610434565b6040516101f89190610b0a565b60405180910390f35b610209610439565b6040516102169190610b46565b60405180910390f35b61022761045d565b6040516102349190610bb6565b60405180910390f35b6102456104a4565b60405161025291906109f2565b60405180910390f35b6102636104c8565b005b61026d6104ca565b60405161027a9190610b0a565b60405180910390f35b61028b6106e9565b005b6102a760048036038101906102a29190610c09565b6106f3565b6040516102b49190610aa0565b60405180910390f35b6102c561071d565b6040516102d29190610ad4565b60405180910390f35b6102e3610741565b6040516102f09190610aa0565b60405180910390f35b610301610746565b005b61030b610748565b6040516103189190610aa0565b60405180910390f35b636146195460e01b604051602401604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505081565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b73da0ab1e0017debcd72be8599041a2aa3ba7e740f81565b60003073ffffffffffffffffffffffffffffffffffffffff163f905090565b565b600081565b7f000000000000000000000000000000000000000000000000000000000000000081565b60607f00000000000000000000000000000000000000000000000000000000000000006040516020016104909190610cd4565b604051602081830303815290604052905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a5fe49267f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b81526004016105469190610ad4565b602060405180830381865afa158015610563573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105879190610d26565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16148061065d575060008173ffffffffffffffffffffffffffffffffffffffff1663bf353dbb7f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b815260040161061a91906109f2565b602060405180830381865afa158015610637573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065b9190610d68565b145b1561066c5760019150506106e6565b600015158173ffffffffffffffffffffffffffffffffffffffff166302fb0c5e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106df9190610dc1565b1515149150505b90565b6106f1610770565b565b60007f00000000000000000000000000000000000000000000000000000000000000009050919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600081565b565b60007f0000000000000000000000000000000000000000000000000000000000000000905090565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a5fe49267f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b81526004016107eb9190610ad4565b602060405180830381865afa158015610808573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082c9190610d26565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e6c09edf826040518263ffffffff1660e01b815260040161088791906109f2565b600060405180830381600087803b1580156108a157600080fd5b505af11580156108b5573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff167f1d6f80aff2255e9cb1aee4abaf819aec89a6ae3fce7eb53b852640eb8052609c60405160405180910390a250565b600081519050919050565b600082825260208201905092915050565b60005b8381101561093957808201518184015260208101905061091e565b60008484015250505050565b6000601f19601f8301169050919050565b6000610961826108ff565b61096b818561090a565b935061097b81856020860161091b565b61098481610945565b840191505092915050565b600060208201905081810360008301526109a98184610956565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006109dc826109b1565b9050919050565b6109ec816109d1565b82525050565b6000602082019050610a0760008301846109e3565b92915050565b6000819050919050565b6000610a32610a2d610a28846109b1565b610a0d565b6109b1565b9050919050565b6000610a4482610a17565b9050919050565b6000610a5682610a39565b9050919050565b610a6681610a4b565b82525050565b6000602082019050610a816000830184610a5d565b92915050565b6000819050919050565b610a9a81610a87565b82525050565b6000602082019050610ab56000830184610a91565b92915050565b6000819050919050565b610ace81610abb565b82525050565b6000602082019050610ae96000830184610ac5565b92915050565b60008115159050919050565b610b0481610aef565b82525050565b6000602082019050610b1f6000830184610afb565b92915050565b6000610b3082610a39565b9050919050565b610b4081610b25565b82525050565b6000602082019050610b5b6000830184610b37565b92915050565b600081519050919050565b600082825260208201905092915050565b6000610b8882610b61565b610b928185610b6c565b9350610ba281856020860161091b565b610bab81610945565b840191505092915050565b60006020820190508181036000830152610bd08184610b7d565b905092915050565b600080fd5b610be681610a87565b8114610bf157600080fd5b50565b600081359050610c0381610bdd565b92915050565b600060208284031215610c1f57610c1e610bd8565b5b6000610c2d84828501610bf4565b91505092915050565b600081905092915050565b7f456d657267656e6379205370656c6c207c2044697361626c652044444d20506c60008201527f616e3a2000000000000000000000000000000000000000000000000000000000602082015250565b6000610c9d602483610c36565b9150610ca882610c41565b602482019050919050565b6000819050919050565b610cce610cc982610abb565b610cb3565b82525050565b6000610cdf82610c90565b9150610ceb8284610cbd565b60208201915081905092915050565b610d03816109d1565b8114610d0e57600080fd5b50565b600081519050610d2081610cfa565b92915050565b600060208284031215610d3c57610d3b610bd8565b5b6000610d4a84828501610d11565b91505092915050565b600081519050610d6281610bdd565b92915050565b600060208284031215610d7e57610d7d610bd8565b5b6000610d8c84828501610d53565b91505092915050565b610d9e81610aef565b8114610da957600080fd5b50565b600081519050610dbb81610d95565b92915050565b600060208284031215610dd757610dd6610bd8565b5b6000610de584828501610dac565b9150509291505056fea2646970667358221220d7270d9ec35ef61b0714a54365542f7855bd57cf0f2f1fee329bd92dc7d857c464736f6c63430008100033a2646970667358221220e273773933afa54ae4778d304d5927d4eadcb37ca94445b81a2888baf860cd5d64736f6c63430008100033

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.