ETH Price: $1,930.69 (-4.51%)
 

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
Cast113148932020-11-23 14:00:121922 days ago1606140012IN
0xa2431144...ecbfBC7A9
0 ETH0.14210337113
Schedule112789222020-11-18 1:19:291927 days ago1605662369IN
0xa2431144...ecbfBC7A9
0 ETH0.0068928880

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Method Block
From
To
-112503482020-11-13 16:11:061932 days ago1605283866
0xa2431144...ecbfBC7A9
 Contract Creation0 ETH
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:
DssSpell

Compiler Version
v0.5.12+commit.7709ece9

Optimization Enabled:
Yes with 1 runs

Other Settings:
default evmVersion, GNU GPLv3 license
/**
 *Submitted for verification at Etherscan.io on 2020-11-13
*/

// 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/CatAbstract.sol
/* pragma solidity >=0.5.12; */

// https://github.com/makerdao/dss/blob/master/src/cat.sol
interface CatAbstract {
    function wards(address) external view returns (uint256);
    function rely(address) external;
    function deny(address) external;
    function box() external view returns (uint256);
    function litter() external view returns (uint256);
    function ilks(bytes32) external view returns (address, uint256, uint256);
    function live() external view returns (uint256);
    function vat() external view returns (address);
    function vow() external view returns (address);
    function file(bytes32, address) external;
    function file(bytes32, uint256) external;
    function file(bytes32, bytes32, uint256) external;
    function file(bytes32, bytes32, address) external;
    function bite(bytes32, address) external returns (uint256);
    function claw(uint256) external;
    function cage() external;
}
////// 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/FlipAbstract.sol
/* pragma solidity >=0.5.12; */

// https://github.com/makerdao/dss/blob/master/src/flip.sol
interface FlipAbstract {
    function wards(address) external view returns (uint256);
    function rely(address usr) external;
    function deny(address usr) external;
    function bids(uint256) external view returns (uint256, uint256, address, uint48, uint48, address, address, uint256);
    function vat() external view returns (address);
    function cat() external view returns (address);
    function ilk() external view returns (bytes32);
    function beg() external view returns (uint256);
    function ttl() external view returns (uint48);
    function tau() external view returns (uint48);
    function kicks() external view returns (uint256);
    function file(bytes32, uint256) external;
    function kick(address, address, uint256, uint256, uint256) external returns (uint256);
    function tick(uint256) external;
    function tend(uint256, uint256, uint256) external;
    function dent(uint256, uint256, uint256) external;
    function deal(uint256) external;
    function yank(uint256) external;
}

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

// https://github.com/makerdao/flipper-mom/blob/master/src/FlipperMom.sol
interface FlipperMomAbstract {
    function owner() external returns (address);
    function setOwner(address) external;
    function authority() external returns (address);
    function setAuthority(address) external;
    function cat() external returns (address);
    function rely(address) external;
    function deny(address) external;
}

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

// https://github.com/makerdao/dss/blob/master/src/join.sol
interface GemJoinAbstract {
    function wards(address) external view returns (uint256);
    function rely(address) external;
    function deny(address) external;
    function vat() external view returns (address);
    function ilk() external view returns (bytes32);
    function gem() external view returns (address);
    function dec() external view returns (uint256);
    function live() external view returns (uint256);
    function cage() external;
    function join(address, uint256) external;
    function exit(address, uint256) external;
}

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

// https://github.com/makerdao/ilk-registry
interface IlkRegistryAbstract {
    function wards(address) external view returns (uint256);
    function rely(address) external;
    function deny(address) external;
    function vat() external view returns (address);
    function cat() external view returns (address);
    function spot() external view returns (address);
    function ilkData(bytes32) external view returns (
        uint256, address, address, address, address, uint256, string memory, string memory
    );
    function ilks() external view returns (bytes32[] memory);
    function ilks(uint) external view returns (bytes32);
    function add(address) external;
    function remove(bytes32) external;
    function update(bytes32) external;
    function removeAuth(bytes32) external;
    function file(bytes32, address) external;
    function file(bytes32, bytes32, address) external;
    function file(bytes32, bytes32, uint256) external;
    function file(bytes32, bytes32, string calldata) external;
    function count() external view returns (uint256);
    function list() external view returns (bytes32[] memory);
    function list(uint256, uint256) external view returns (bytes32[] memory);
    function get(uint256) external view returns (bytes32);
    function info(bytes32) external view returns (
        string memory, string memory, uint256, address, address, address, address
    );
    function pos(bytes32) external view returns (uint256);
    function gem(bytes32) external view returns (address);
    function pip(bytes32) external view returns (address);
    function join(bytes32) external view returns (address);
    function flip(bytes32) external view returns (address);
    function dec(bytes32) external view returns (uint256);
    function symbol(bytes32) external view returns (string memory);
    function name(bytes32) external view returns (string memory);
}

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

// https://github.com/makerdao/dss/blob/master/src/jug.sol
interface JugAbstract {
    function wards(address) external view returns (uint256);
    function rely(address) external;
    function deny(address) external;
    function ilks(bytes32) external view returns (uint256, uint256);
    function vat() external view returns (address);
    function vow() external view returns (address);
    function base() external view returns (address);
    function init(bytes32) external;
    function file(bytes32, bytes32, uint256) external;
    function file(bytes32, uint256) external;
    function file(bytes32, address) external;
    function drip(bytes32) external returns (uint256);
}

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

// https://github.com/makerdao/median
interface MedianAbstract {
    function wards(address) external view returns (uint256);
    function rely(address) external;
    function deny(address) external;
    function age() external view returns (uint32);
    function wat() external view returns (bytes32);
    function bar() external view returns (uint256);
    function orcl(address) external view returns (uint256);
    function bud(address) external view returns (uint256);
    function slot(uint8) external view returns (address);
    function read() external view returns (uint256);
    function peek() external view returns (uint256, bool);
    function lift(address[] calldata) external;
    function drop(address[] calldata) external;
    function setBar(uint256) external;
    function kiss(address) external;
    function diss(address) external;
    function kiss(address[] calldata) external;
    function diss(address[] calldata) external;
    function poke(uint256[] calldata, uint256[] calldata, uint8[] calldata, bytes32[] calldata, bytes32[] calldata) external;
}

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

// https://github.com/makerdao/osm
interface OsmAbstract {
    function wards(address) external view returns (uint256);
    function rely(address) external;
    function deny(address) external;
    function stopped() external view returns (uint256);
    function src() external view returns (address);
    function hop() external view returns (uint16);
    function zzz() external view returns (uint64);
    function cur() external view returns (uint128, uint128);
    function nxt() external view returns (uint128, uint128);
    function bud(address) external view returns (uint256);
    function stop() external;
    function start() external;
    function change(address) external;
    function step(uint16) external;
    function void() external;
    function pass() external view returns (bool);
    function poke() external;
    function peek() external view returns (bytes32, bool);
    function peep() external view returns (bytes32, bool);
    function read() external view returns (bytes32);
    function kiss(address) external;
    function diss(address) external;
    function kiss(address[] calldata) external;
    function diss(address[] calldata) external;
}

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


// https://github.com/makerdao/osm-mom
interface OsmMomAbstract {
    function owner() external view returns (address);
    function authority() external view returns (address);
    function osms(bytes32) external view returns (address);
    function setOsm(bytes32, address) external;
    function setOwner(address) external;
    function setAuthority(address) external;
    function stop(bytes32) external;
}

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

// https://github.com/makerdao/dss/blob/master/src/spot.sol
interface SpotAbstract {
    function wards(address) external view returns (uint256);
    function rely(address) external;
    function deny(address) external;
    function ilks(bytes32) external view returns (address, uint256);
    function vat() external view returns (address);
    function par() external view returns (uint256);
    function live() external view returns (uint256);
    function file(bytes32, bytes32, address) external;
    function file(bytes32, uint256) external;
    function file(bytes32, bytes32, uint256) external;
    function poke(bytes32) external;
    function cage() external;
}

////// 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/CatAbstract.sol"; */
/* import "lib/dss-interfaces/src/dss/FlipAbstract.sol"; */
/* import "lib/dss-interfaces/src/dss/FlipperMomAbstract.sol"; */
/* import "lib/dss-interfaces/src/dss/IlkRegistryAbstract.sol"; */
/* import "lib/dss-interfaces/src/dss/GemJoinAbstract.sol"; */
/* import "lib/dss-interfaces/src/dss/JugAbstract.sol"; */
/* import "lib/dss-interfaces/src/dss/MedianAbstract.sol"; */
/* import "lib/dss-interfaces/src/dss/OsmAbstract.sol"; */
/* import "lib/dss-interfaces/src/dss/OsmMomAbstract.sol"; */
/* import "lib/dss-interfaces/src/dss/SpotAbstract.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.4/contracts.json
    ChainlogAbstract constant CHANGELOG = ChainlogAbstract(0xdA0Ab1e0017DEbCd72Be8599041a2aa3bA7e740F);

    address constant FLIP_FAB        = 0x4ACdbe9dd0d00b36eC2050E805012b8Fc9974f2b;

    address constant GUSD            = 0x056Fd409E1d7A124BD7017459dFEa2F387b6d5Cd;
    address constant MCD_JOIN_GUSD_A = 0xe29A14bcDeA40d83675aa43B72dF07f649738C8b;
    address constant MCD_FLIP_GUSD_A = 0xCAa8D152A8b98229fB77A213BE16b234cA4f612f;
    address constant PIP_GUSD        = 0xf45Ae69CcA1b9B043dAE2C83A5B65Bc605BEc5F5;

    // 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
    uint256 constant FOUR_PERCENT_RATE = 1000000001243680656318820312;

    function execute() external {
        address MCD_VAT      = CHANGELOG.getAddress("MCD_VAT");
        address MCD_CAT      = CHANGELOG.getAddress("MCD_CAT");
        address MCD_JUG      = CHANGELOG.getAddress("MCD_JUG");
        address MCD_SPOT     = CHANGELOG.getAddress("MCD_SPOT");
        address MCD_END      = CHANGELOG.getAddress("MCD_END");
        address FLIPPER_MOM  = CHANGELOG.getAddress("FLIPPER_MOM");
        //address OSM_MOM      = CHANGELOG.getAddress("OSM_MOM");
        address ILK_REGISTRY = CHANGELOG.getAddress("ILK_REGISTRY");

        // Add the flipper factory to the changelog
        CHANGELOG.setAddress("FLIP_FAB", FLIP_FAB);

        // Add GUSD contracts to the changelog
        CHANGELOG.setAddress("GUSD", GUSD);
        CHANGELOG.setAddress("MCD_JOIN_GUSD_A", MCD_JOIN_GUSD_A);
        CHANGELOG.setAddress("MCD_FLIP_GUSD_A", MCD_FLIP_GUSD_A);
        CHANGELOG.setAddress("PIP_GUSD", PIP_GUSD);

        CHANGELOG.setVersion("1.1.5");

        bytes32 ilk = "GUSD-A";

        // Sanity checks
        require(GemJoinAbstract(MCD_JOIN_GUSD_A).vat() == MCD_VAT, "join-vat-not-match");
        require(GemJoinAbstract(MCD_JOIN_GUSD_A).ilk() == ilk, "join-ilk-not-match");
        require(GemJoinAbstract(MCD_JOIN_GUSD_A).gem() == GUSD, "join-gem-not-match");
        require(GemJoinAbstract(MCD_JOIN_GUSD_A).dec() == 2, "join-dec-not-match");
        require(FlipAbstract(MCD_FLIP_GUSD_A).vat() == MCD_VAT, "flip-vat-not-match");
        require(FlipAbstract(MCD_FLIP_GUSD_A).cat() == MCD_CAT, "flip-cat-not-match");
        require(FlipAbstract(MCD_FLIP_GUSD_A).ilk() == ilk, "flip-ilk-not-match");

        // Set the GUSD PIP in the Spotter
        SpotAbstract(MCD_SPOT).file(ilk, "pip", PIP_GUSD);

        // Set the GUSD-A Flipper in the Cat
        CatAbstract(MCD_CAT).file(ilk, "flip", MCD_FLIP_GUSD_A);

        // Init GUSD-A ilk in Vat & Jug
        VatAbstract(MCD_VAT).init(ilk);
        JugAbstract(MCD_JUG).init(ilk);

        // Allow GUSD-A Join to modify Vat registry
        VatAbstract(MCD_VAT).rely(MCD_JOIN_GUSD_A);
        // Allow the GUSD-A Flipper to reduce the Cat litterbox on deal()
        CatAbstract(MCD_CAT).rely(MCD_FLIP_GUSD_A);
        // Allow Cat to kick auctions in GUSD-A Flipper
        FlipAbstract(MCD_FLIP_GUSD_A).rely(MCD_CAT);
        // Allow End to yank auctions in GUSD-A Flipper
        FlipAbstract(MCD_FLIP_GUSD_A).rely(MCD_END);
        // Allow FlipperMom to access to the GUSD-A Flipper
        FlipAbstract(MCD_FLIP_GUSD_A).rely(FLIPPER_MOM);
        // Disallow Cat to kick auctions in GUSD-A Flipper
        // !!!!!!!! Only for certain collaterals that do not trigger liquidations like USDC-A)
        FlipperMomAbstract(FLIPPER_MOM).deny(MCD_FLIP_GUSD_A);

        // Allow OsmMom to access to the GUSD Osm
        // !!!!!!!! Only if PIP_GUSD = Osm and hasn't been already relied due a previous deployed ilk
        //OsmAbstract(PIP_GUSD).rely(OSM_MOM);
        // Whitelist Osm to read the Median data (only necessary if it is the first time the token is being added to an ilk)
        // !!!!!!!! Only if PIP_GUSD = Osm, its src is a Median and hasn't been already whitelisted due a previous deployed ilk
        //MedianAbstract(OsmAbstract(PIP_GUSD).src()).kiss(PIP_GUSD);
        // Whitelist Spotter to read the Osm data (only necessary if it is the first time the token is being added to an ilk)
        // !!!!!!!! Only if PIP_GUSD = Osm or PIP_GUSD = Median and hasn't been already whitelisted due a previous deployed ilk
        //OsmAbstract(PIP_GUSD).kiss(MCD_SPOT);
        // Whitelist End to read the Osm data (only necessary if it is the first time the token is being added to an ilk)
        // !!!!!!!! Only if PIP_GUSD = Osm or PIP_GUSD = Median and hasn't been already whitelisted due a previous deployed ilk
        //OsmAbstract(PIP_GUSD).kiss(MCD_END);
        // Set GUSD Osm in the OsmMom for new ilk
        // !!!!!!!! Only if PIP_GUSD = Osm
        //OsmMomAbstract(OSM_MOM).setOsm(ilk, PIP_GUSD);

        // Set the global debt ceiling
        VatAbstract(MCD_VAT).file("Line", 1_468_750_000 * RAD);
        // Set the GUSD-A debt ceiling
        VatAbstract(MCD_VAT).file(ilk, "line", 5 * MILLION * RAD);
        // Set the GUSD-A dust
        VatAbstract(MCD_VAT).file(ilk, "dust", 100 * RAD);
        // Set the Lot size
        CatAbstract(MCD_CAT).file(ilk, "dunk", 50 * THOUSAND * RAD);
        // Set the GUSD-A liquidation penalty (e.g. 13% => X = 113)
        CatAbstract(MCD_CAT).file(ilk, "chop", 113 * WAD / 100);
        // Set the GUSD-A stability fee (e.g. 1% = 1000000000315522921573372069)
        JugAbstract(MCD_JUG).file(ilk, "duty", FOUR_PERCENT_RATE);
        // Set the GUSD-A percentage between bids (e.g. 3% => X = 103)
        FlipAbstract(MCD_FLIP_GUSD_A).file("beg", 103 * WAD / 100);
        // Set the GUSD-A time max time between bids
        FlipAbstract(MCD_FLIP_GUSD_A).file("ttl", 6 hours);
        // Set the GUSD-A max auction duration to
        FlipAbstract(MCD_FLIP_GUSD_A).file("tau", 6 hours);
        // Set the GUSD-A min collateralization ratio (e.g. 150% => X = 150)
        SpotAbstract(MCD_SPOT).file(ilk, "mat", 101 * RAY / 100);

        // Update GUSD-A spot value in Vat
        SpotAbstract(MCD_SPOT).poke(ilk);

        // Add new ilk to the IlkRegistry
        IlkRegistryAbstract(ILK_REGISTRY).add(MCD_JOIN_GUSD_A);
    }
}

contract DssSpell {
    DSPauseAbstract public pause =
        DSPauseAbstract(0xbE286431454714F511008713973d3B053A2d38f3);
    address         public action;
    bytes32         public tag;
    uint256         public eta;
    bytes           public sig;
    uint256         public expiration;
    bool            public done;

    // 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/a67032a357000839ae08c7523abcf9888c8cca3a/governance/votes/Executive%20vote%20-%20November%2013%2C%202020.md -q -O - 2>/dev/null)"
    string constant public description =
        "2020-11-13 MakerDAO Executive Spell | Hash: 0xa2b54a94b44575d01239378e48f966c4e583b965172be0a8c4b59b74523683ff";

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

    modifier 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 officeHours {
        require(!done, "spell-already-cast");
        done = true;
        pause.exec(action, tag, sig, eta);
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"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":"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"}]

6080604052600080546001600160a01b03191673be286431454714f511008713973d3b053a2d38f317905534801561003657600080fd5b50604080516004808252602482019092526020810180516001600160e01b03167f614619540000000000000000000000000000000000000000000000000000000017815290516100879291906100e2565b5060405161009490610160565b604051809103906000f0801580156100b0573d6000803e3d6000fd5b50600180546001600160a01b0319166001600160a01b039283161790819055163f6002554262278d000160055561018a565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061012357805160ff1916838001178555610150565b82800160010185558215610150579182015b82811115610150578251825591602001919060010190610135565b5061015c92915061016d565b5090565b611767806109f983390190565b61018791905b8082111561015c5760008155600101610173565b90565b610860806101996000396000f3fe608060405234801561001057600080fd5b506004361061008d5760003560e01c8062a7029b146100925780630a7a1c4d1461010f5780634665096d1461013357806351f910661461014d5780637284e416146101555780638456cb591461015d57806396d373e514610165578063ae8421e11461016f578063b0604a261461018b578063f7992d8514610193575b600080fd5b61009a61019b565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100d45781810151838201526020016100bc565b50505050905090810190601f1680156101015780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610117610229565b604080516001600160a01b039092168252519081900360200190f35b61013b610238565b60408051918252519081900360200190f35b61013b61023e565b61009a610244565b610117610260565b61016d61026f565b005b61017761056d565b604080519115158252519081900360200190f35b61016d610576565b61013b610792565b6004805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156102215780601f106101f657610100808354040283529160200191610221565b820191906000526020600020905b81548152906001019060200180831161020457829003601f168201915b505050505081565b6001546001600160a01b031681565b60055481565b60025481565b6040518060a00160405280606e81526020016107be606e913981565b6000546001600160a01b031681565b600762015180420460030106600581106102d0576040805162461bcd60e51b815260206004820152601d60248201527f43616e206f6e6c792062652063617374206f6e2061207765656b646179000000604482015290519081900360640190fd5b6018610e10420406600e81108015906102e95750601581105b610331576040805162461bcd60e51b81526020600482015260146024820152734f757473696465206f666669636520686f75727360601b604482015290519081900360640190fd5b60065460ff161561037e576040805162461bcd60e51b81526020600482015260126024820152711cdc195b1b0b585b1c9958591e4b58d85cdd60721b604482015290519081900360640190fd5b6006805460ff1916600190811790915560005481546002805460035460405163168ccd6760e01b81526001600160a01b039485166004828101828152602484018690526064840185905260806044850190815282546000199b811615610100029b909b01909a169690960460848401819052969097169763168ccd67979196949591949192909160a4909101908590801561045a5780601f1061042f5761010080835404028352916020019161045a565b820191906000526020600020905b81548152906001019060200180831161043d57829003601f168201915b505095505050505050600060405180830381600087803b15801561047d57600080fd5b505af1158015610491573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156104ba57600080fd5b8101908080516040519392919084600160201b8211156104d957600080fd5b9083019060208201858111156104ee57600080fd5b8251600160201b81118282018810171561050757600080fd5b82525081516020918201929091019080838360005b8381101561053457818101518382015260200161051c565b50505050905090810190601f1680156105615780820380516001836020036101000a031916815260200191505b50604052505050505050565b60065460ff1681565b6005544211156105c9576040805162461bcd60e51b8152602060048201526019602482015278151a1a5cc818dbdb9d1c9858dd081a185cc8195e1c1a5c9959603a1b604482015290519081900360640190fd5b600354156106085760405162461bcd60e51b81526004018080602001828103825260258152602001806107996025913960400191505060405180910390fd5b6000809054906101000a90046001600160a01b03166001600160a01b0316636a42b8f86040518163ffffffff1660e01b815260040160206040518083038186803b15801561065557600080fd5b505afa158015610669573d6000803e3d6000fd5b505050506040513d602081101561067f57600080fd5b50514201600381905560005460018054600280546040516346d2fbbb60e01b81526001600160a01b03938416600482810182815260248401859052606484018a90526080604485019081528254600019998116156101000299909901909816959095046084840181905295909716976346d2fbbb9791969395919490939092909160a490910190859080156107555780601f1061072a57610100808354040283529160200191610755565b820191906000526020600020905b81548152906001019060200180831161073857829003601f168201915b505095505050505050600060405180830381600087803b15801561077857600080fd5b505af115801561078c573d6000803e3d6000fd5b50505050565b6003548156fe54686973207370656c6c2068617320616c7265616479206265656e207363686564756c6564323032302d31312d3133204d616b657244414f20457865637574697665205370656c6c207c20486173683a20307861326235346139346234343537356430313233393337386534386639363663346535383362393635313732626530613863346235396237343532333638336666a265627a7a723158207a94887da9fca7e0d5889c1707e2ae6a29b10191ea557180fe5392b54cf97de264736f6c634300050c0032608060405234801561001057600080fd5b50611747806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80636146195414610030575b600080fd5b61003861003a565b005b60006000805160206116d38339815191526001600160a01b03166321f8a7216040518163ffffffff1660e01b81526004018080661350d117d5905560ca1b815250602001905060206040518083038186803b15801561009857600080fd5b505afa1580156100ac573d6000803e3d6000fd5b505050506040513d60208110156100c257600080fd5b5051604080516321f8a72160e01b8152661350d117d0d05560ca1b600482015290519192506000916000805160206116d3833981519152916321f8a721916024808301926020929190829003018186803b15801561011f57600080fd5b505afa158015610133573d6000803e3d6000fd5b505050506040513d602081101561014957600080fd5b5051604080516321f8a72160e01b8152664d43445f4a554760c81b600482015290519192506000916000805160206116d3833981519152916321f8a721916024808301926020929190829003018186803b1580156101a657600080fd5b505afa1580156101ba573d6000803e3d6000fd5b505050506040513d60208110156101d057600080fd5b5051604080516321f8a72160e01b8152671350d117d4d413d560c21b600482015290519192506000916000805160206116d3833981519152916321f8a721916024808301926020929190829003018186803b15801561022e57600080fd5b505afa158015610242573d6000803e3d6000fd5b505050506040513d602081101561025857600080fd5b5051604080516321f8a72160e01b8152661350d117d1539160ca1b600482015290519192506000916000805160206116d3833981519152916321f8a721916024808301926020929190829003018186803b1580156102b557600080fd5b505afa1580156102c9573d6000803e3d6000fd5b505050506040513d60208110156102df57600080fd5b5051604080516321f8a72160e01b81526a464c49505045525f4d4f4d60a81b600482015290519192506000916000805160206116d3833981519152916321f8a721916024808301926020929190829003018186803b15801561034057600080fd5b505afa158015610354573d6000803e3d6000fd5b505050506040513d602081101561036a57600080fd5b5051604080516321f8a72160e01b81526b494c4b5f524547495354525960a01b600482015290519192506000916000805160206116d3833981519152916321f8a721916024808301926020929190829003018186803b1580156103cc57600080fd5b505afa1580156103e0573d6000803e3d6000fd5b505050506040513d60208110156103f657600080fd5b50516040805163ca446dd960e01b815267232624a82fa320a160c11b6004820152734acdbe9dd0d00b36ec2050e805012b8fc9974f2b602482015290519192506000805160206116d38339815191529163ca446dd99160448082019260009290919082900301818387803b15801561046d57600080fd5b505af1158015610481573d6000803e3d6000fd5b50506040805163ca446dd960e01b81526311d554d160e21b600482015273056fd409e1d7a124bd7017459dfea2f387b6d5cd602482015290516000805160206116d3833981519152935063ca446dd99250604480830192600092919082900301818387803b1580156104f257600080fd5b505af1158015610506573d6000803e3d6000fd5b50506040805163ca446dd960e01b81526e4d43445f4a4f494e5f475553445f4160881b60048201526000805160206116b3833981519152602482015290516000805160206116d3833981519152935063ca446dd99250604480830192600092919082900301818387803b15801561057c57600080fd5b505af1158015610590573d6000803e3d6000fd5b50506040805163ca446dd960e01b81526e4d43445f464c49505f475553445f4160881b60048201526000805160206116f3833981519152602482015290516000805160206116d3833981519152935063ca446dd99250604480830192600092919082900301818387803b15801561060657600080fd5b505af115801561061a573d6000803e3d6000fd5b50506040805163ca446dd960e01b81526714125417d1d554d160c21b600482015273f45ae69cca1b9b043dae2c83a5b65bc605bec5f5602482015290516000805160206116d3833981519152935063ca446dd99250604480830192600092919082900301818387803b15801561068f57600080fd5b505af11580156106a3573d6000803e3d6000fd5b505060408051631e22f1e360e21b8152602060048201526005602482015264312e312e3560d81b604482015290516000805160206116d3833981519152935063788bc78c9250606480830192600092919082900301818387803b15801561070957600080fd5b505af115801561071d573d6000803e3d6000fd5b50505050600065475553442d4160d01b9050876001600160a01b03166000805160206116b38339815191526001600160a01b03166336569e776040518163ffffffff1660e01b815260040160206040518083038186803b15801561078057600080fd5b505afa158015610794573d6000803e3d6000fd5b505050506040513d60208110156107aa57600080fd5b50516001600160a01b0316146107fc576040805162461bcd60e51b81526020600482015260126024820152710d4ded2dc5aecc2e85adcdee85adac2e8c6d60731b604482015290519081900360640190fd5b806000805160206116b38339815191526001600160a01b031663c5ce281e6040518163ffffffff1660e01b815260040160206040518083038186803b15801561084457600080fd5b505afa158015610858573d6000803e3d6000fd5b505050506040513d602081101561086e57600080fd5b5051146108b7576040805162461bcd60e51b81526020600482015260126024820152710d4ded2dc5ad2d8d65adcdee85adac2e8c6d60731b604482015290519081900360640190fd5b73056fd409e1d7a124bd7017459dfea2f387b6d5cd6001600160a01b03166000805160206116b38339815191526001600160a01b0316637bd2bea76040518163ffffffff1660e01b815260040160206040518083038186803b15801561091c57600080fd5b505afa158015610930573d6000803e3d6000fd5b505050506040513d602081101561094657600080fd5b50516001600160a01b031614610998576040805162461bcd60e51b81526020600482015260126024820152710d4ded2dc5acecada5adcdee85adac2e8c6d60731b604482015290519081900360640190fd5b6000805160206116b38339815191526001600160a01b031663b3bcfa826040518163ffffffff1660e01b815260040160206040518083038186803b1580156109df57600080fd5b505afa1580156109f3573d6000803e3d6000fd5b505050506040513d6020811015610a0957600080fd5b5051600214610a54576040805162461bcd60e51b81526020600482015260126024820152710d4ded2dc5ac8cac65adcdee85adac2e8c6d60731b604482015290519081900360640190fd5b876001600160a01b03166000805160206116f38339815191526001600160a01b03166336569e776040518163ffffffff1660e01b815260040160206040518083038186803b158015610aa557600080fd5b505afa158015610ab9573d6000803e3d6000fd5b505050506040513d6020811015610acf57600080fd5b50516001600160a01b031614610b21576040805162461bcd60e51b81526020600482015260126024820152710ccd8d2e05aecc2e85adcdee85adac2e8c6d60731b604482015290519081900360640190fd5b866001600160a01b03166000805160206116f38339815191526001600160a01b031663e48818136040518163ffffffff1660e01b815260040160206040518083038186803b158015610b7257600080fd5b505afa158015610b86573d6000803e3d6000fd5b505050506040513d6020811015610b9c57600080fd5b50516001600160a01b031614610bee576040805162461bcd60e51b81526020600482015260126024820152710ccd8d2e05ac6c2e85adcdee85adac2e8c6d60731b604482015290519081900360640190fd5b806000805160206116f38339815191526001600160a01b031663c5ce281e6040518163ffffffff1660e01b815260040160206040518083038186803b158015610c3657600080fd5b505afa158015610c4a573d6000803e3d6000fd5b505050506040513d6020811015610c6057600080fd5b505114610ca9576040805162461bcd60e51b81526020600482015260126024820152710ccd8d2e05ad2d8d65adcdee85adac2e8c6d60731b604482015290519081900360640190fd5b6040805163ebecb39d60e01b8152600481018390526207069760ec1b602482015273f45ae69cca1b9b043dae2c83a5b65bc605bec5f5604482015290516001600160a01b0387169163ebecb39d91606480830192600092919082900301818387803b158015610d1757600080fd5b505af1158015610d2b573d6000803e3d6000fd5b50506040805163ebecb39d60e01b815260048101859052630666c69760e41b60248201526000805160206116f3833981519152604482015290516001600160a01b038b16935063ebecb39d9250606480830192600092919082900301818387803b158015610d9857600080fd5b505af1158015610dac573d6000803e3d6000fd5b50505050876001600160a01b0316633b663195826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610df657600080fd5b505af1158015610e0a573d6000803e3d6000fd5b50505050856001600160a01b0316633b663195826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610e5457600080fd5b505af1158015610e68573d6000803e3d6000fd5b5050604080516332fd71af60e11b81526000805160206116b3833981519152600482015290516001600160a01b038c1693506365fae35e9250602480830192600092919082900301818387803b158015610ec157600080fd5b505af1158015610ed5573d6000803e3d6000fd5b5050604080516332fd71af60e11b81526000805160206116f3833981519152600482015290516001600160a01b038b1693506365fae35e9250602480830192600092919082900301818387803b158015610f2e57600080fd5b505af1158015610f42573d6000803e3d6000fd5b5050604080516332fd71af60e11b81526001600160a01b038b16600482015290516000805160206116f383398151915293506365fae35e9250602480830192600092919082900301818387803b158015610f9b57600080fd5b505af1158015610faf573d6000803e3d6000fd5b5050604080516332fd71af60e11b81526001600160a01b038816600482015290516000805160206116f383398151915293506365fae35e9250602480830192600092919082900301818387803b15801561100857600080fd5b505af115801561101c573d6000803e3d6000fd5b5050604080516332fd71af60e11b81526001600160a01b038716600482015290516000805160206116f383398151915293506365fae35e9250602480830192600092919082900301818387803b15801561107557600080fd5b505af1158015611089573d6000803e3d6000fd5b505060408051639c52a7f160e01b81526000805160206116f3833981519152600482015290516001600160a01b0387169350639c52a7f19250602480830192600092919082900301818387803b1580156110e257600080fd5b505af11580156110f6573d6000803e3d6000fd5b505060408051630a6ba04560e21b8152634c696e6560e01b60048201527007aacfc3f7a21978becc62a45ee104376760311b602482015290516001600160a01b038c1693506329ae81149250604480830192600092919082900301818387803b15801561116257600080fd5b505af1158015611176573d6000803e3d6000fd5b505060408051630d05943f60e11b815260048101859052636c696e6560e01b60248201526f01aba4714957d300d0e549208b31adb160331b604482015290516001600160a01b038c169350631a0b287e9250606480830192600092919082900301818387803b1580156111e857600080fd5b505af11580156111fc573d6000803e3d6000fd5b505060408051630d05943f60e11b81526004810185905263191d5cdd60e21b60248201526d23084f676940b7915149bd08b30d602f1b604482015290516001600160a01b038c169350631a0b287e9250606482810192600092919082900301818387803b15801561126c57600080fd5b505af1158015611280573d6000803e3d6000fd5b505060408051630d05943f60e11b8152600481018590526364756e6b60e01b60248201526e111b0ec57e6499a1f4b1014d3f6d5960311b604482015290516001600160a01b038b169350631a0b287e9250606480830192600092919082900301818387803b1580156112f157600080fd5b505af1158015611305573d6000803e3d6000fd5b505060408051630d05943f60e11b81526004810185905263063686f760e41b6024820152670fae910354310000604482015290516001600160a01b038b169350631a0b287e9250606482810192600092919082900301818387803b15801561136c57600080fd5b505af1158015611380573d6000803e3d6000fd5b505060408051630d05943f60e11b815260048101859052636475747960e01b60248201526b033b2e3cb112f1349de86fd8604482015290516001600160a01b038a169350631a0b287e9250606480830192600092919082900301818387803b1580156113eb57600080fd5b505af11580156113ff573d6000803e3d6000fd5b505060408051630a6ba04560e21b81526262656760e81b6004820152670e4b4b8af6a70000602482015290516000805160206116f383398151915293506329ae81149250604480830192600092919082900301818387803b15801561146357600080fd5b505af1158015611477573d6000803e3d6000fd5b505060408051630a6ba04560e21b8152621d1d1b60ea1b6004820152615460602482015290516000805160206116f383398151915293506329ae81149250604480830192600092919082900301818387803b1580156114d557600080fd5b505af11580156114e9573d6000803e3d6000fd5b505060408051630a6ba04560e21b81526274617560e81b6004820152615460602482015290516000805160206116f383398151915293506329ae81149250604480830192600092919082900301818387803b15801561154757600080fd5b505af115801561155b573d6000803e3d6000fd5b505060408051630d05943f60e11b815260048101859052621b585d60ea1b60248201526b034373d1b5e4818532000000604482015290516001600160a01b0389169350631a0b287e9250606482810192600092919082900301818387803b1580156115c557600080fd5b505af11580156115d9573d6000803e3d6000fd5b50505050846001600160a01b0316631504460f826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561162357600080fd5b505af1158015611637573d6000803e3d6000fd5b505060408051630a3b0a4f60e01b81526000805160206116b3833981519152600482015290516001600160a01b0386169350630a3b0a4f9250602480830192600092919082900301818387803b15801561169057600080fd5b505af11580156116a4573d6000803e3d6000fd5b50505050505050505050505056fe000000000000000000000000e29a14bcdea40d83675aa43b72df07f649738c8b000000000000000000000000da0ab1e0017debcd72be8599041a2aa3ba7e740f000000000000000000000000caa8d152a8b98229fb77a213be16b234ca4f612fa265627a7a72315820dd3ea0ee769fb1f425a370877f6c3785282bf388f4f79a00efe3e8955dc807f364736f6c634300050c0032

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061008d5760003560e01c8062a7029b146100925780630a7a1c4d1461010f5780634665096d1461013357806351f910661461014d5780637284e416146101555780638456cb591461015d57806396d373e514610165578063ae8421e11461016f578063b0604a261461018b578063f7992d8514610193575b600080fd5b61009a61019b565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100d45781810151838201526020016100bc565b50505050905090810190601f1680156101015780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610117610229565b604080516001600160a01b039092168252519081900360200190f35b61013b610238565b60408051918252519081900360200190f35b61013b61023e565b61009a610244565b610117610260565b61016d61026f565b005b61017761056d565b604080519115158252519081900360200190f35b61016d610576565b61013b610792565b6004805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156102215780601f106101f657610100808354040283529160200191610221565b820191906000526020600020905b81548152906001019060200180831161020457829003601f168201915b505050505081565b6001546001600160a01b031681565b60055481565b60025481565b6040518060a00160405280606e81526020016107be606e913981565b6000546001600160a01b031681565b600762015180420460030106600581106102d0576040805162461bcd60e51b815260206004820152601d60248201527f43616e206f6e6c792062652063617374206f6e2061207765656b646179000000604482015290519081900360640190fd5b6018610e10420406600e81108015906102e95750601581105b610331576040805162461bcd60e51b81526020600482015260146024820152734f757473696465206f666669636520686f75727360601b604482015290519081900360640190fd5b60065460ff161561037e576040805162461bcd60e51b81526020600482015260126024820152711cdc195b1b0b585b1c9958591e4b58d85cdd60721b604482015290519081900360640190fd5b6006805460ff1916600190811790915560005481546002805460035460405163168ccd6760e01b81526001600160a01b039485166004828101828152602484018690526064840185905260806044850190815282546000199b811615610100029b909b01909a169690960460848401819052969097169763168ccd67979196949591949192909160a4909101908590801561045a5780601f1061042f5761010080835404028352916020019161045a565b820191906000526020600020905b81548152906001019060200180831161043d57829003601f168201915b505095505050505050600060405180830381600087803b15801561047d57600080fd5b505af1158015610491573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156104ba57600080fd5b8101908080516040519392919084600160201b8211156104d957600080fd5b9083019060208201858111156104ee57600080fd5b8251600160201b81118282018810171561050757600080fd5b82525081516020918201929091019080838360005b8381101561053457818101518382015260200161051c565b50505050905090810190601f1680156105615780820380516001836020036101000a031916815260200191505b50604052505050505050565b60065460ff1681565b6005544211156105c9576040805162461bcd60e51b8152602060048201526019602482015278151a1a5cc818dbdb9d1c9858dd081a185cc8195e1c1a5c9959603a1b604482015290519081900360640190fd5b600354156106085760405162461bcd60e51b81526004018080602001828103825260258152602001806107996025913960400191505060405180910390fd5b6000809054906101000a90046001600160a01b03166001600160a01b0316636a42b8f86040518163ffffffff1660e01b815260040160206040518083038186803b15801561065557600080fd5b505afa158015610669573d6000803e3d6000fd5b505050506040513d602081101561067f57600080fd5b50514201600381905560005460018054600280546040516346d2fbbb60e01b81526001600160a01b03938416600482810182815260248401859052606484018a90526080604485019081528254600019998116156101000299909901909816959095046084840181905295909716976346d2fbbb9791969395919490939092909160a490910190859080156107555780601f1061072a57610100808354040283529160200191610755565b820191906000526020600020905b81548152906001019060200180831161073857829003601f168201915b505095505050505050600060405180830381600087803b15801561077857600080fd5b505af115801561078c573d6000803e3d6000fd5b50505050565b6003548156fe54686973207370656c6c2068617320616c7265616479206265656e207363686564756c6564323032302d31312d3133204d616b657244414f20457865637574697665205370656c6c207c20486173683a20307861326235346139346234343537356430313233393337386534386639363663346535383362393635313732626530613863346235396237343532333638336666a265627a7a723158207a94887da9fca7e0d5889c1707e2ae6a29b10191ea557180fe5392b54cf97de264736f6c634300050c0032

Deployed Bytecode Sourcemap

22271:1857:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22271:1857:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22504: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;22504:26:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22402:29;;;:::i;:::-;;;;-1:-1:-1;;;;;22402:29:0;;;;;;;;;;;;;;22537:33;;;:::i;:::-;;;;;;;;;;;;;;;;22438:26;;;:::i;22963:158::-;;;:::i;22296:99::-;;;:::i;23969:156::-;;;:::i;:::-;;22577:27;;;:::i;:::-;;;;;;;;;;;;;;;;;;23694:267;;;:::i;22471:26::-;;;:::i;22504:::-;;;;;;;;;;;;;;;-1:-1:-1;;22504:26:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;22402:29::-;;;-1:-1:-1;;;;;22402:29:0;;:::o;22537:33::-;;;;:::o;22438:26::-;;;;:::o;22963:158::-;;;;;;;;;;;;;;;;;;;:::o;22296:99::-;;;-1:-1:-1;;;;;22296:99:0;;:::o;23969:156::-;23497:1;23483:6;23477:3;:12;23492:1;23477:16;23476:22;23523:1;23517:7;;23509:49;;;;;-1:-1:-1;;;23509:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;23597:2;23587:7;23581:3;:13;:18;23626:2;23618:10;;;;;:23;;;23639:2;23632:4;:9;23618:23;23610:56;;;;;-1:-1:-1;;;23610:56:0;;;;;;;;;;;;-1:-1:-1;;;23610:56:0;;;;;;;;;;;;;;;24024:4;;;;24023:5;24015:36;;;;;-1:-1:-1;;;24015:36:0;;;;;;;;;;;;-1:-1:-1;;;24015:36:0;;;;;;;;;;;;;;;24062:4;:11;;-1:-1:-1;;24062:11:0;24069:4;24062:11;;;;;;:4;24084:5;24095:6;;24103:3;;;24113;;24084:33;;-1:-1:-1;;;24084:33:0;;-1:-1:-1;;;;;24095:6:0;;;24108:3;24084:33;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;24084:33:0;;;;24062:11;24084:33;;;;;;;;;;;;;;;;;;:5;;;;;:10;;24095:6;;24103:3;;24108;;24084:33;;;;;;;;;24108:3;;24084:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;24084:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;24084:33:0;;;;;;39:16:-1;36:1;17:17;2:54;101:4;24084: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;24084: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;24084:33:0;;420:4:-1;411:14;;;;24084:33:0;;;;;411:14:-1;24084: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;24084:33:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23969:156;;:::o;22577:27::-;;;;;;:::o;23694:267::-;23747:10;;23740:3;:17;;23732:55;;;;;-1:-1:-1;;;23732:55:0;;;;;;;;;;;;-1:-1:-1;;;23732:55:0;;;;;;;;;;;;;;;23806:3;;:8;23798:58;;;;-1:-1:-1;;;23798:58:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23895:5;;;;;;;;;-1:-1:-1;;;;;23895:5:0;-1:-1:-1;;;;;23879:28:0;;:30;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23879:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;23879:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;23879:30:0;23873:3;:36;23867:3;:42;;;23920:5;;;23931:6;;23939:3;;;23920:33;;-1:-1:-1;;;23920:33:0;;-1:-1:-1;;;;;23931:6:0;;;23944:3;23920:33;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;23920:33:0;;;;:5;:33;;;;;;;;;;;;;;;;;;:5;;;;;:10;;23931:6;;23939:3;;23944;;23873:36;;23920:33;;;;;;;;;23944:3;;23920:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23920:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;23920:33:0;;;;23694:267::o;22471:26::-;;;;:::o

Swarm Source

bzzr://dd3ea0ee769fb1f425a370877f6c3785282bf388f4f79a00efe3e8955dc807f3

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.