ETH Price: $3,570.97 (+1.36%)
Gas: 60 Gwei

Contract

0xA2652eb43674bc9cfC517a6FA4CEcE391e29c2d3
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
Cast113390652020-11-27 6:57:351217 days ago1606460255IN
0xA2652eb4...91e29c2d3
0 ETH0.0019688330.24
Transfer113229492020-11-24 19:38:151219 days ago1606246695IN
0xA2652eb4...91e29c2d3
0.02 ETH0.00060929
Schedule113195162020-11-24 6:56:111220 days ago1606200971IN
0xA2652eb4...91e29c2d3
0 ETH0.00957929110.99999999
0x60806040113157812020-11-23 17:20:541220 days ago1606152054IN
 Create: DssSpell
0 ETH0.0546930660

Latest 1 internal transaction

Advanced mode:
Parent Txn Hash Block From To Value
113157812020-11-23 17:20:541220 days ago1606152054
0xA2652eb4...91e29c2d3
 Contract Creation0 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
DssSpell

Compiler Version
v0.5.12+commit.7709ece9

Optimization Enabled:
Yes with 1 runs

Other Settings:
default evmVersion, GNU AGPLv3 license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2020-11-23
*/

// hevm: flattened sources of src/DssSpell.sol
pragma solidity =0.5.12 >=0.5.12;

////// lib/dss-interfaces/src/dapp/DSPauseAbstract.sol
/* pragma solidity >=0.5.12; */

// https://github.com/dapphub/ds-pause
interface DSPauseAbstract {
    function setOwner(address) external;
    function setAuthority(address) external;
    function setDelay(uint256) external;
    function plans(bytes32) external view returns (bool);
    function proxy() external view returns (address);
    function delay() external view returns (uint256);
    function plot(address, bytes32, bytes calldata, uint256) external;
    function drop(address, bytes32, bytes calldata, uint256) external;
    function exec(address, bytes32, bytes calldata, uint256) external returns (bytes memory);
}

////// lib/dss-interfaces/src/dss/ChainlogAbstract.sol
/* pragma solidity >=0.5.12; */

// https://github.com/makerdao/dss-chain-log
interface ChainlogAbstract {
    function wards(address) external view returns (uint256);
    function rely(address) external;
    function deny(address) external;
    function keys() external view returns (bytes32[] memory);
    function version() external view returns (string memory);
    function ipfs() external view returns (string memory);
    function setVersion(string calldata) external;
    function setSha256sum(string calldata) external;
    function setIPFS(string calldata) external;
    function setAddress(bytes32,address) external;
    function removeAddress(bytes32) external;
    function count() external view returns (uint256);
    function get(uint256) external view returns (bytes32,address);
    function list() external view returns (bytes32[] memory);
    function getAddress(bytes32) external view returns (address);
}

////// lib/dss-interfaces/src/dss/VatAbstract.sol
/* pragma solidity >=0.5.12; */

// https://github.com/makerdao/dss/blob/master/src/vat.sol
interface VatAbstract {
    function wards(address) external view returns (uint256);
    function rely(address) external;
    function deny(address) external;
    function can(address, address) external view returns (uint256);
    function hope(address) external;
    function nope(address) external;
    function ilks(bytes32) external view returns (uint256, uint256, uint256, uint256, uint256);
    function urns(bytes32, address) external view returns (uint256, uint256);
    function gem(bytes32, address) external view returns (uint256);
    function dai(address) external view returns (uint256);
    function sin(address) external view returns (uint256);
    function debt() external view returns (uint256);
    function vice() external view returns (uint256);
    function Line() external view returns (uint256);
    function live() external view returns (uint256);
    function init(bytes32) external;
    function file(bytes32, uint256) external;
    function file(bytes32, bytes32, uint256) external;
    function cage() external;
    function slip(bytes32, address, int256) external;
    function flux(bytes32, address, address, uint256) external;
    function move(address, address, uint256) external;
    function frob(bytes32, address, address, address, int256, int256) external;
    function fork(bytes32, address, address, int256, int256) external;
    function grab(bytes32, address, address, address, int256, int256) external;
    function heal(uint256) external;
    function suck(address, address, uint256) external;
    function fold(bytes32, address, int256) external;
}

////// src/DssSpell.sol
// Copyright (C) 2020 Maker Ecosystem Growth Holdings, INC.
//
// 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.5.12; */

/* import "lib/dss-interfaces/src/dapp/DSPauseAbstract.sol"; */
/* import "lib/dss-interfaces/src/dss/VatAbstract.sol"; */
/* import "lib/dss-interfaces/src/dss/ChainlogAbstract.sol"; */

contract SpellAction {
    // MAINNET ADDRESSES
    //
    // The contracts in this list should correspond to MCD core contracts, verify
    //  against the current release list at:
    //     https://changelog.makerdao.com/releases/mainnet/1.1.5/contracts.json
    ChainlogAbstract constant CHANGELOG = ChainlogAbstract(0xdA0Ab1e0017DEbCd72Be8599041a2aa3bA7e740F);

    // Decimals & precision
    uint256 constant THOUSAND = 10 ** 3;
    uint256 constant MILLION  = 10 ** 6;
    uint256 constant WAD      = 10 ** 18;
    uint256 constant RAY      = 10 ** 27;
    uint256 constant RAD      = 10 ** 45;

    // Many of the settings that change weekly rely on the rate accumulator
    // described at https://docs.makerdao.com/smart-contract-modules/rates-module
    // To check this yourself, use the following rate calculation (example 8%):
    //
    // $ bc -l <<< 'scale=27; e( l(1.08)/(60 * 60 * 24 * 365) )'
    //
    // A table of rates can be found at
    //    https://ipfs.io/ipfs/QmefQMseb3AiTapiAKKexdKHig8wroKuZbmLtPLv4u2YwW

    function execute() external {
        // Proving the Pause Proxy has access to the MCD core system at the execution time
        address MCD_VAT = CHANGELOG.getAddress("MCD_VAT");
        require(VatAbstract(MCD_VAT).wards(address(this)) == 1, "no-access");
    }
}

contract DssSpell {
    ChainlogAbstract constant CHANGELOG = ChainlogAbstract(0xdA0Ab1e0017DEbCd72Be8599041a2aa3bA7e740F);
    address MCD_PAUSE = CHANGELOG.getAddress("MCD_PAUSE");

    DSPauseAbstract public pause = DSPauseAbstract(MCD_PAUSE);
    address         public action;
    bytes32         public tag;
    uint256         public eta;
    bytes           public sig;
    uint256         public expiration;
    bool            public done;

    // Office hours enabled if true
    bool   constant public officeHours = false;

    // Provides a descriptive tag for bot consumption
    // This should be modified weekly to provide a summary of the actions
    // Hash: seth keccak -- "$(wget https://raw.githubusercontent.com/makerdao/community/a7c8ddb3f8d8ea71cb123b9aa45d9d7eaed8d6f0/governance/votes/Executive%20vote%20-%20November%2023%2C%202020.md -q -O - 2>/dev/null)"
    string constant public description =
        "2020-11-23 MakerDAO Executive Spell | Hash: 0x3567e2282249022428233fe24a48a25ebc34468f2183869109f2bd590f48ef28";

    // MIP24: Emergency Voting System
    // Hash: seth keccak -- "$(wget https://raw.githubusercontent.com/makerdao/mips/7ab8f2bbde3f0ec6f8ddb150596454fe2a869454/MIP24/mip24.md -q -O - 2>/dev/null)"
    string constant public MIP24 = "0x6d39f78a3343fb030da792962abdd12ca1b0c9384b92f496e8a070e97cf3c1c6";

    // MIP25: Flash Mint Module
    // Hash: seth keccak -- "$(wget https://raw.githubusercontent.com/makerdao/mips/7ab8f2bbde3f0ec6f8ddb150596454fe2a869454/MIP25/mip25.md -q -O - 2>/dev/null)"
    string constant public MIP25 = "0xd2550d2b15464b6bf3e49bc424a85e6411abf27e72247c4325f6d9b2ba4d9100";

    // MIP27: Debt Ceiling Instant Access Module
    // Hash: seth keccak -- "$(wget https://raw.githubusercontent.com/makerdao/mips/7ab8f2bbde3f0ec6f8ddb150596454fe2a869454/MIP27/mip27.md -q -O - 2>/dev/null)"
    string constant public MIP27 = "0x2848c1ef785a2182d9ccd7171e90eba847330f3da2106500f0f3e097a3bf5553";

    // MIP28: Operational Support Domain Definition
    // Hash: seth keccak -- "$(wget https://raw.githubusercontent.com/makerdao/mips/7ab8f2bbde3f0ec6f8ddb150596454fe2a869454/MIP28/mip28.md -q -O - 2>/dev/null)"
    string constant public MIP28 = "0x63aa04048b723e496190b080d9d25e1ba90c7d8eeb9060404ca50d665506e915";

    // MIP4c2-SP6: Calendar Exceptions
    // Hash: seth keccak -- "$(wget https://raw.githubusercontent.com/makerdao/mips/7ab8f2bbde3f0ec6f8ddb150596454fe2a869454/MIP4/MIP4c2-Subproposals/MIP4c2-SP6.md -q -O - 2>/dev/null)"
    string constant public MIP4c2SP6 = "0xab503375dd94caebafadf3a7eed7809cca49441877cc22056645d6cc94ba4105";

    // MIP13c3-SP6: SourceCred Funding
    // Hash: seth keccak -- "$(wget https://raw.githubusercontent.com/makerdao/mips/7ab8f2bbde3f0ec6f8ddb150596454fe2a869454/MIP13/MIP13c3-Subproposals/MIP13c3-SP6.md -q -O - 2>/dev/null)"
    string constant public MIP13c3SP6 = "0xe76bd18dfb2eb9aa893e81d4bfa6703e71f17954e4c4800937c672aa6d8b84f6";

    // MIP28c7-SP1: Subproposal for Operational Support Domain Facilitator Onboarding
    // Hash: seth keccak -- "$(wget https://raw.githubusercontent.com/makerdao/mips/7ab8f2bbde3f0ec6f8ddb150596454fe2a869454/MIP28/MIP28c7-Subproposals/MIP28c7-SP1.md -q -O - 2>/dev/null)"
    string constant public MIP28c7SP1 = "0x685efd19c76135ad5f3313b28c556e5c918ad5e121b11ddd9a60c793ad78cc94";

    constructor() public {
        sig = abi.encodeWithSignature("execute()");
        action = address(new SpellAction());
        bytes32 _tag;
        address _action = action;
        assembly { _tag := extcodehash(_action) }
        tag = _tag;
        expiration = now + 4 days + 2 hours;
    }

    modifier limited {
        if (officeHours) {
            uint day = (now / 1 days + 3) % 7;
            require(day < 5, "Can only be cast on a weekday");
            uint hour = now / 1 hours % 24;
            require(hour >= 14 && hour < 21, "Outside office hours");
        }
        _;
    }

    function schedule() public {
        require(now <= expiration, "This contract has expired");
        require(eta == 0, "This spell has already been scheduled");
        eta = now + DSPauseAbstract(pause).delay();
        pause.plot(action, tag, sig, eta);
    }

    function cast() public limited {
        require(!done, "spell-already-cast");
        done = true;
        pause.exec(action, tag, sig, eta);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"constant":true,"inputs":[],"name":"MIP13c3SP6","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MIP24","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MIP25","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MIP27","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MIP28","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MIP28c7SP1","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MIP4c2SP6","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"action","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"cast","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"description","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"done","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"eta","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"expiration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"officeHours","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"pause","outputs":[{"internalType":"contract DSPauseAbstract","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"schedule","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"sig","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tag","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"}]

608060408190527f21f8a7210000000000000000000000000000000000000000000000000000000081527f4d43445f5041555345000000000000000000000000000000000000000000000060845273da0ab1e0017debcd72be8599041a2aa3ba7e740f906321f8a7219060a49060209060248186803b15801561008157600080fd5b505afa158015610095573d6000803e3d6000fd5b505050506040513d60208110156100ab57600080fd5b5051600080546001600160a01b03199081166001600160a01b039384161791829055600180549290931691161790553480156100e657600080fd5b506040805160048152602481019091526020810180516001600160e01b03167f6146195400000000000000000000000000000000000000000000000000000000178152905161013791600591610192565b5060405161014490610210565b604051809103906000f080158015610160573d6000803e3d6000fd5b50600280546001600160a01b0319166001600160a01b039283161790819055163f60035542620562200160065561023a565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106101d357805160ff1916838001178555610200565b82800160010185558215610200579182015b828111156102005782518255916020019190600101906101e5565b5061020c92915061021d565b5090565b6101d880610d0f83390190565b61023791905b8082111561020c5760008155600101610223565b90565b610ac6806102496000396000f3fe608060405234801561001057600080fd5b50600436106100e55760003560e01c8062a7029b146100ea5780630a7a1c4d14610167578063429dc3bd1461018b5780634665096d1461019357806351f91066146101ad5780636e832f07146101b55780637284e416146101d15780638456cb59146101d95780638c5ae359146101e15780638e44a836146101e957806391ff0626146101f157806396d373e5146101f9578063a84947f014610203578063add693791461020b578063ae8421e114610213578063b0604a261461021b578063b719440414610223578063f7992d851461022b575b600080fd5b6100f2610233565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561012c578181015183820152602001610114565b50505050905090810190601f1680156101595780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61016f6102c1565b604080516001600160a01b039092168252519081900360200190f35b6100f26102d0565b61019b6102ec565b60408051918252519081900360200190f35b61019b6102f2565b6101bd6102f8565b604080519115158252519081900360200190f35b6100f26102fd565b61016f610319565b6100f2610328565b6100f2610344565b6100f2610360565b61020161037c565b005b6100f26105b5565b6100f26105d1565b6101bd6105ed565b6102016105f6565b6100f261080e565b61019b61082a565b6005805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156102b95780601f1061028e576101008083540402835291602001916102b9565b820191906000526020600020905b81548152906001019060200180831161029c57829003601f168201915b505050505081565b6002546001600160a01b031681565b60405180608001604052806042815260200161098a6042913981565b60065481565b60035481565b600081565b6040518060a00160405280606e815260200161091c606e913981565b6001546001600160a01b031681565b604051806080016040528060428152602001610a0e6042913981565b6040518060800160405280604281526020016108da6042913981565b6040518060800160405280604281526020016108316042913981565b60075460ff16156103c9576040805162461bcd60e51b81526020600482015260126024820152711cdc195b1b0b585b1c9958591e4b58d85cdd60721b604482015290519081900360640190fd5b6007805460ff191660019081179091558054600280546003546004805460405163168ccd6760e01b81526001600160a01b039485169281018381526024820185905260648201839052608060448301908152600580546000199b811615610100029b909b01909a169790970460848301819052959097169763168ccd67979396949590949293929160a40190859080156104a45780601f10610479576101008083540402835291602001916104a4565b820191906000526020600020905b81548152906001019060200180831161048757829003601f168201915b505095505050505050600060405180830381600087803b1580156104c757600080fd5b505af11580156104db573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561050457600080fd5b8101908080516040519392919084600160201b82111561052357600080fd5b90830190602082018581111561053857600080fd5b8251600160201b81118282018810171561055157600080fd5b82525081516020918201929091019080838360005b8381101561057e578181015183820152602001610566565b50505050905090810190601f1680156105ab5780820380516001836020036101000a031916815260200191505b5060405250505050565b6040518060800160405280604281526020016109cc6042913981565b6040518060800160405280604281526020016108736042913981565b60075460ff1681565b600654421115610649576040805162461bcd60e51b8152602060048201526019602482015278151a1a5cc818dbdb9d1c9858dd081a185cc8195e1c1a5c9959603a1b604482015290519081900360640190fd5b600454156106885760405162461bcd60e51b81526004018080602001828103825260258152602001806108b56025913960400191505060405180910390fd5b600160009054906101000a90046001600160a01b03166001600160a01b0316636a42b8f86040518163ffffffff1660e01b815260040160206040518083038186803b1580156106d657600080fd5b505afa1580156106ea573d6000803e3d6000fd5b505050506040513d602081101561070057600080fd5b50514201600481815560018054600280546003546040516346d2fbbb60e01b81526001600160a01b03928316968101878152602482018390526064820189905260806044830190815260058054600019998116156101000299909901909816959095046084830181905293909516976346d2fbbb9796929592949093909160a40190859080156107d15780601f106107a6576101008083540402835291602001916107d1565b820191906000526020600020905b8154815290600101906020018083116107b457829003601f168201915b505095505050505050600060405180830381600087803b1580156107f457600080fd5b505af1158015610808573d6000803e3d6000fd5b50505050565b604051806080016040528060428152602001610a506042913981565b6004548156fe30786432353530643262313534363462366266336534396263343234613835653634313161626632376537323234376334333235663664396232626134643931303030783664333966373861333334336662303330646137393239363261626464313263613162306339333834623932663439366538613037306539376366336331633654686973207370656c6c2068617320616c7265616479206265656e207363686564756c6564307836383565666431396337363133356164356633333133623238633535366535633931386164356531323162313164646439613630633739336164373863633934323032302d31312d3233204d616b657244414f20457865637574697665205370656c6c207c20486173683a20307833353637653232383232343930323234323832333366653234613438613235656263333434363866323138333836393130396632626435393066343865663238307832383438633165663738356132313832643963636437313731653930656261383437333330663364613231303635303066306633653039376133626635353533307836336161303430343862373233653439363139306230383064396432356531626139306337643865656239303630343034636135306436363535303665393135307865373662643138646662326562396161383933653831643462666136373033653731663137393534653463343830303933376336373261613664386238346636307861623530333337356464393463616562616661646633613765656437383039636361343934343138373763633232303536363435643663633934626134313035a265627a7a72315820459ead000d2a4e47f1f419ab2204e49c7ba83a8b3e96dfee25c1972a6348e95064736f6c634300050c0032608060405234801561001057600080fd5b506101b8806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80636146195414610030575b600080fd5b61003861003a565b005b600073da0ab1e0017debcd72be8599041a2aa3ba7e740f6001600160a01b03166321f8a7216040518163ffffffff1660e01b81526004018080661350d117d5905560ca1b815250602001905060206040518083038186803b15801561009e57600080fd5b505afa1580156100b2573d6000803e3d6000fd5b505050506040513d60208110156100c857600080fd5b50516040805163bf353dbb60e01b815230600482015290519192506001600160a01b0383169163bf353dbb91602480820192602092909190829003018186803b15801561011457600080fd5b505afa158015610128573d6000803e3d6000fd5b505050506040513d602081101561013e57600080fd5b5051600114610180576040805162461bcd60e51b81526020600482015260096024820152686e6f2d61636365737360b81b604482015290519081900360640190fd5b5056fea265627a7a72315820246243372bdaa1ccc1a70ed21a9d63c05da01442e5dd60add90654c70be2c6b864736f6c634300050c0032

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100e55760003560e01c8062a7029b146100ea5780630a7a1c4d14610167578063429dc3bd1461018b5780634665096d1461019357806351f91066146101ad5780636e832f07146101b55780637284e416146101d15780638456cb59146101d95780638c5ae359146101e15780638e44a836146101e957806391ff0626146101f157806396d373e5146101f9578063a84947f014610203578063add693791461020b578063ae8421e114610213578063b0604a261461021b578063b719440414610223578063f7992d851461022b575b600080fd5b6100f2610233565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561012c578181015183820152602001610114565b50505050905090810190601f1680156101595780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61016f6102c1565b604080516001600160a01b039092168252519081900360200190f35b6100f26102d0565b61019b6102ec565b60408051918252519081900360200190f35b61019b6102f2565b6101bd6102f8565b604080519115158252519081900360200190f35b6100f26102fd565b61016f610319565b6100f2610328565b6100f2610344565b6100f2610360565b61020161037c565b005b6100f26105b5565b6100f26105d1565b6101bd6105ed565b6102016105f6565b6100f261080e565b61019b61082a565b6005805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156102b95780601f1061028e576101008083540402835291602001916102b9565b820191906000526020600020905b81548152906001019060200180831161029c57829003601f168201915b505050505081565b6002546001600160a01b031681565b60405180608001604052806042815260200161098a6042913981565b60065481565b60035481565b600081565b6040518060a00160405280606e815260200161091c606e913981565b6001546001600160a01b031681565b604051806080016040528060428152602001610a0e6042913981565b6040518060800160405280604281526020016108da6042913981565b6040518060800160405280604281526020016108316042913981565b60075460ff16156103c9576040805162461bcd60e51b81526020600482015260126024820152711cdc195b1b0b585b1c9958591e4b58d85cdd60721b604482015290519081900360640190fd5b6007805460ff191660019081179091558054600280546003546004805460405163168ccd6760e01b81526001600160a01b039485169281018381526024820185905260648201839052608060448301908152600580546000199b811615610100029b909b01909a169790970460848301819052959097169763168ccd67979396949590949293929160a40190859080156104a45780601f10610479576101008083540402835291602001916104a4565b820191906000526020600020905b81548152906001019060200180831161048757829003601f168201915b505095505050505050600060405180830381600087803b1580156104c757600080fd5b505af11580156104db573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561050457600080fd5b8101908080516040519392919084600160201b82111561052357600080fd5b90830190602082018581111561053857600080fd5b8251600160201b81118282018810171561055157600080fd5b82525081516020918201929091019080838360005b8381101561057e578181015183820152602001610566565b50505050905090810190601f1680156105ab5780820380516001836020036101000a031916815260200191505b5060405250505050565b6040518060800160405280604281526020016109cc6042913981565b6040518060800160405280604281526020016108736042913981565b60075460ff1681565b600654421115610649576040805162461bcd60e51b8152602060048201526019602482015278151a1a5cc818dbdb9d1c9858dd081a185cc8195e1c1a5c9959603a1b604482015290519081900360640190fd5b600454156106885760405162461bcd60e51b81526004018080602001828103825260258152602001806108b56025913960400191505060405180910390fd5b600160009054906101000a90046001600160a01b03166001600160a01b0316636a42b8f86040518163ffffffff1660e01b815260040160206040518083038186803b1580156106d657600080fd5b505afa1580156106ea573d6000803e3d6000fd5b505050506040513d602081101561070057600080fd5b50514201600481815560018054600280546003546040516346d2fbbb60e01b81526001600160a01b03928316968101878152602482018390526064820189905260806044830190815260058054600019998116156101000299909901909816959095046084830181905293909516976346d2fbbb9796929592949093909160a40190859080156107d15780601f106107a6576101008083540402835291602001916107d1565b820191906000526020600020905b8154815290600101906020018083116107b457829003601f168201915b505095505050505050600060405180830381600087803b1580156107f457600080fd5b505af1158015610808573d6000803e3d6000fd5b50505050565b604051806080016040528060428152602001610a506042913981565b6004548156fe30786432353530643262313534363462366266336534396263343234613835653634313161626632376537323234376334333235663664396232626134643931303030783664333966373861333334336662303330646137393239363261626464313263613162306339333834623932663439366538613037306539376366336331633654686973207370656c6c2068617320616c7265616479206265656e207363686564756c6564307836383565666431396337363133356164356633333133623238633535366535633931386164356531323162313164646439613630633739336164373863633934323032302d31312d3233204d616b657244414f20457865637574697665205370656c6c207c20486173683a20307833353637653232383232343930323234323832333366653234613438613235656263333434363866323138333836393130396632626435393066343865663238307832383438633165663738356132313832643963636437313731653930656261383437333330663364613231303635303066306633653039376133626635353533307836336161303430343862373233653439363139306230383064396432356531626139306337643865656239303630343034636135306436363535303665393135307865373662643138646662326562396161383933653831643462666136373033653731663137393534653463343830303933376336373261613664386238346636307861623530333337356464393463616562616661646633613765656437383039636361343934343138373763633232303536363435643663633934626134313035a265627a7a72315820459ead000d2a4e47f1f419ab2204e49c7ba83a8b3e96dfee25c1972a6348e95064736f6c634300050c0032

Deployed Bytecode Sourcemap

5901:4457:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5901:4457:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6259:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;6259:26:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6157:29;;;:::i;:::-;;;;-1:-1:-1;;;;;6157:29:0;;;;;;;;;;;;;;7800:99;;;:::i;6292:33::-;;;:::i;:::-;;;;;;;;;;;;;;;;6193:26;;;:::i;6405:42::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;6806:158;;;:::i;6093:57::-;;;:::i;8801:104::-;;;:::i;9191:::-;;;:::i;7479:99::-;;;:::i;10203:152::-;;;:::i;:::-;;8124:99;;;:::i;7175:::-;;;:::i;6332:27::-;;;:::i;9928:267::-;;;:::i;8459:103::-;;;:::i;6226:26::-;;;:::i;6259:::-;;;;;;;;;;;;;;;-1:-1:-1;;6259:26:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6157:29::-;;;-1:-1:-1;;;;;6157:29:0;;:::o;7800:99::-;;;;;;;;;;;;;;;;;;;:::o;6292:33::-;;;;:::o;6193:26::-;;;;:::o;6405:42::-;6442:5;6405:42;:::o;6806:158::-;;;;;;;;;;;;;;;;;;;:::o;6093:57::-;;;-1:-1:-1;;;;;6093:57:0;;:::o;8801:104::-;;;;;;;;;;;;;;;;;;;:::o;9191:::-;;;;;;;;;;;;;;;;;;;:::o;7479:99::-;;;;;;;;;;;;;;;;;;;:::o;10203:152::-;10254:4;;;;10253:5;10245:36;;;;;-1:-1:-1;;;10245:36:0;;;;;;;;;;;;-1:-1:-1;;;10245:36:0;;;;;;;;;;;;;;;10292:4;:11;;-1:-1:-1;;10292:11:0;10299:4;10292:11;;;;;;10314:5;;10325:6;;;10333:3;;10343;;;10314:33;;-1:-1:-1;;;10314:33:0;;-1:-1:-1;;;;;10325:6:0;;;10314:33;;;;;;;;;;;;;;;;;;;;;;;;;10338:3;10314:33;;-1:-1:-1;;10314:33:0;;;;10292:11;10314:33;;;;;;;;;;;;;;;;;;:5;;;;;:10;;10325:6;;10333:3;;10338;;10343;;10314:33;;;;;10338:3;;10314:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10314:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10314:33:0;;;;;;39:16:-1;36:1;17:17;2:54;101:4;10314:33:0;80:15:-1;;;-1:-1;;76:31;65:43;;120:4;113:20;13:2;5:11;;2:2;;;29:1;26;19:12;2:2;10314:33:0;;;;;;;;;;;;;-1:-1:-1;;;14:3;11:20;8:2;;;44:1;41;34:12;8:2;62:21;;;;123:4;114:14;;138:31;;;135:2;;;182:1;179;172:12;135:2;213:10;;-1:-1;;;244:29;;285:43;;;282:58;-1:-1;233:115;230:2;;;361:1;358;351:12;230:2;372:25;;-1:-1;10314:33:0;;420:4:-1;411:14;;;;10314:33:0;;;;;411:14:-1;10314:33:0;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;10314:33:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10203:152::o;8124:99::-;;;;;;;;;;;;;;;;;;;:::o;7175:::-;;;;;;;;;;;;;;;;;;;:::o;6332:27::-;;;;;;:::o;9928:267::-;9981:10;;9974:3;:17;;9966:55;;;;;-1:-1:-1;;;9966:55:0;;;;;;;;;;;;-1:-1:-1;;;9966:55:0;;;;;;;;;;;;;;;10040:3;;:8;10032:58;;;;-1:-1:-1;;;10032:58:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10129:5;;;;;;;;;-1:-1:-1;;;;;10129:5:0;-1:-1:-1;;;;;10113:28:0;;:30;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10113:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10113:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10113:30:0;10107:3;:36;10101:3;:42;;;10154:5;;;10165:6;;;10173:3;;10154:33;;-1:-1:-1;;;10154:33:0;;-1:-1:-1;;;;;10165:6:0;;;10154:33;;;;;;;;;;;;;;;;;;;;;;;;;10178:3;10154:33;;-1:-1:-1;;10154:33:0;;;;:5;:33;;;;;;;;;;;;;;;;;;:5;;;;;:10;;10165:6;10173:3;;10178;;10107:36;;10154:33;;;;;10178:3;;10154:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10154:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10154:33:0;;;;9928:267::o;8459:103::-;;;;;;;;;;;;;;;;;;;:::o;6226:26::-;;;;:::o

Swarm Source

bzzr://246243372bdaa1ccc1a70ed21a9d63c05da01442e5dd60add90654c70be2c6b8

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

Txn Hash Block Value Eth2 PubKey Valid
View All Deposits
[ 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.