ETH Price: $2,166.90 (+0.89%)
Gas: 0.08 Gwei

Contract

0xeb44d1Fa2DE0d6E4CcEA80dA982804ca3197005b
 

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
Cast122153372021-04-11 0:02:471809 days ago1618099367IN
0xeb44d1Fa...a3197005b
0 ETH0.0258205179
Schedule122022952021-04-09 0:01:001811 days ago1617926460IN
0xeb44d1Fa...a3197005b
0 ETH0.00838512101

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Method Block
From
To
-121609342021-04-02 15:43:501818 days ago1617378230
0xeb44d1Fa...a3197005b
 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.6.12+commit.27d51765

Optimization Enabled:
Yes with 1 runs

Other Settings:
default evmVersion, GNU AGPLv3 license
/**
 *Submitted for verification at Etherscan.io on 2021-04-02
*/

// hevm: flattened sources of src/DssSpell.sol
// SPDX-License-Identifier: AGPL-3.0-or-later
pragma solidity ^0.6.12;

////// lib/dss-exec-lib/src/DssExecLib.sol
//
// DssExecLib.sol -- MakerDAO Executive Spellcrafting Library
//
// 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.6.11; */

library DssExecLib {

    function setIlkAutoLineDebtCeiling(bytes32, uint256) public {}
    function increaseIlkDebtCeiling(bytes32 , uint256 , bool) public {}
    function sendPaymentFromSurplusBuffer(address, uint256) public {}
}

////// lib/dss-exec-lib/src/DssAction.sol
//
// DssAction.sol -- DSS Executive Spell Actions
//
// 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/>.

abstract contract DssAction {

    using DssExecLib for *;

    // Office Hours defaults to true by default.
    //   To disable office hours, override this function and
    //    return false in the inherited action.
    function officeHours() public virtual returns (bool) {
        return true;
    }

    // DssExec calls execute. We limit this function subject to officeHours modifier.
    function execute() external limited {
        actions();
    }

    // DssAction developer must override `actions()` and place all actions to be called inside.
    //   The DssExec function will call this subject to the officeHours limiter
    //   By keeping this function public we allow simulations of `execute()` on the actions outside of the cast time.
    function actions() public virtual;

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

////// lib/dss-exec-lib/src/DssExec.sol
//
// DssExec.sol -- MakerDAO Executive Spell Template
//
// 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/>.

interface PauseAbstract {
    function delay() external view returns (uint256);
    function plot(address, bytes32, bytes calldata, uint256) external;
    function exec(address, bytes32, bytes calldata, uint256) external returns (bytes memory);
}

interface Changelog {
    function getAddress(bytes32) external view returns (address);
}

interface SpellAction {
    function officeHours() external view returns (bool);
}

contract DssExec {

    Changelog      constant public log   = Changelog(0xdA0Ab1e0017DEbCd72Be8599041a2aa3bA7e740F);
    uint256                 public eta;
    bytes                   public sig;
    bool                    public done;
    bytes32       immutable public tag;
    address       immutable public action;
    uint256       immutable public expiration;
    PauseAbstract immutable public pause;

    // Provides a descriptive tag for bot consumption
    // This should be modified weekly to provide a summary of the actions
    // Hash: seth keccak -- "$(wget https://<executive-vote-canonical-post> -q -O - 2>/dev/null)"
    string                  public description;

    function officeHours() external view returns (bool) {
        return SpellAction(action).officeHours();
    }

    function nextCastTime() external view returns (uint256 castTime) {
        require(eta != 0, "DssExec/spell-not-scheduled");
        castTime = block.timestamp > eta ? block.timestamp : eta; // Any day at XX:YY

        if (SpellAction(action).officeHours()) {
            uint256 day    = (castTime / 1 days + 3) % 7;
            uint256 hour   = castTime / 1 hours % 24;
            uint256 minute = castTime / 1 minutes % 60;
            uint256 second = castTime % 60;

            if (day >= 5) {
                castTime += (6 - day) * 1 days;                 // Go to Sunday XX:YY
                castTime += (24 - hour + 14) * 1 hours;         // Go to 14:YY UTC Monday
                castTime -= minute * 1 minutes + second;        // Go to 14:00 UTC
            } else {
                if (hour >= 21) {
                    if (day == 4) castTime += 2 days;           // If Friday, fast forward to Sunday XX:YY
                    castTime += (24 - hour + 14) * 1 hours;     // Go to 14:YY UTC next day
                    castTime -= minute * 1 minutes + second;    // Go to 14:00 UTC
                } else if (hour < 14) {
                    castTime += (14 - hour) * 1 hours;          // Go to 14:YY UTC same day
                    castTime -= minute * 1 minutes + second;    // Go to 14:00 UTC
                }
            }
        }
    }

    // @param _description  A string description of the spell
    // @param _expiration   The timestamp this spell will expire. (Ex. now + 30 days)
    // @param _spellAction  The address of the spell action
    constructor(string memory _description, uint256 _expiration, address _spellAction) public {
        pause       = PauseAbstract(log.getAddress("MCD_PAUSE"));
        description = _description;
        expiration  = _expiration;
        action      = _spellAction;

        sig = abi.encodeWithSignature("execute()");
        bytes32 _tag;                    // Required for assembly access
        address _action = _spellAction;  // Required for assembly access
        assembly { _tag := extcodehash(_action) }
        tag = _tag;
    }

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

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

////// src/DssSpell.sol
// Copyright (C) 2021 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/>.

contract DssSpellAction is DssAction {

    // 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/d04bee8084c5724496ef72a0c06d00e2c7b8905e/governance/votes/Executive%20vote%20-%20April%202%2C%202021.md -q -O - 2>/dev/null)"
    string public constant description =
        "2021-04-02 MakerDAO Executive Spell | Hash: 0xdb1339f86f456759bc4ec97f49b7b10abb86d97bbb9f56577731efd715d978c9";

    // 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 THOUSAND = 10**3;
    uint256 constant MILLION = 10**6;
    uint256 constant BILLION = 10**9;

    // Core Units Budget Addresses
    address constant INTERIM_MULTISIG = 0x73f09254a81e1F835Ee442d1b3262c1f1d7A13ff;
    address constant RISK = 0xd98ef20520048a35EdA9A202137847A62120d2d9;

    // Disable Office Hours
    function officeHours() public override returns (bool) {
        return false;
    }

    function actions() public override {
        // Increase the COMP-A Maximum Debt Ceiling from 10M to 30M
        DssExecLib.setIlkAutoLineDebtCeiling("COMP-A", 30 * MILLION);

        // Increase the ZRX-A Maximum Debt Ceiling from 5M to 10M
        DssExecLib.setIlkAutoLineDebtCeiling("ZRX-A", 10 * MILLION);

        // Increase the YFI-A Maximum Debt Ceiling from 45M to 75M
        DssExecLib.setIlkAutoLineDebtCeiling("YFI-A", 75 * MILLION);

        // Increase the PSM-USDC-A Debt Ceiling from 1B to 2B
        DssExecLib.increaseIlkDebtCeiling("PSM-USDC-A", 1 * BILLION, true);

        // Provide Core Unit Budgets

        // Real-World Finance + Governance (Interim Multi-Sig)
        DssExecLib.sendPaymentFromSurplusBuffer(INTERIM_MULTISIG, (40 + 80) * THOUSAND);

        // Risk
        DssExecLib.sendPaymentFromSurplusBuffer(RISK, 100_500);
    }
}

contract DssSpell is DssExec {
    DssSpellAction internal action_ = new DssSpellAction();
    constructor() DssExec(action_.description(), block.timestamp + 30 days, address(action_)) public {}
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"action","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"cast","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"description","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"done","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"eta","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"expiration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"log","outputs":[{"internalType":"contract Changelog","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nextCastTime","outputs":[{"internalType":"uint256","name":"castTime","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"officeHours","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[{"internalType":"contract PauseAbstract","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"schedule","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sig","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tag","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"}]

6101006040526040516200001390620002ca565b604051809103906000f08015801562000030573d6000803e3d6000fd5b50600480546001600160a01b0319166001600160a01b03929092169190911790553480156200005e57600080fd5b506004805460408051633942720b60e11b815290516001600160a01b0390921692637284e416928282019260009290829003018186803b158015620000a257600080fd5b505afa158015620000b7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015620000e157600080fd5b81019080805160405193929190846401000000008211156200010257600080fd5b9083019060208201858111156200011857600080fd5b82516401000000008111828201881017156200013357600080fd5b82525081516020918201929091019080838360005b838110156200016257818101518382015260200162000148565b50505050905090810190601f168015620001905780820380516001836020036101000a031916815260200191505b506040525050504262278d0001600460009054906101000a90046001600160a01b031673da0ab1e0017debcd72be8599041a2aa3ba7e740f6001600160a01b03166321f8a7216040518163ffffffff1660e01b81526004018080684d43445f504155534560b81b815250602001905060206040518083038186803b1580156200021857600080fd5b505afa1580156200022d573d6000803e3d6000fd5b505050506040513d60208110156200024457600080fd5b505160601b6001600160601b03191660e05282516200026b906003906020860190620002d8565b5060c08290526001600160601b0319606082901b1660a0526040805160048152602481019091526020810180516001600160e01b0316631851865560e21b1781529051620002bc91600191620002d8565b503f60805250620003749050565b6105c38062000f0083390190565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200031b57805160ff19168380011785556200034b565b828001600101855582156200034b579182015b828111156200034b5782518255916020019190600101906200032e565b50620003599291506200035d565b5090565b5b808211156200035957600081556001016200035e565b60805160a05160601c60c05160e05160601c610b1e620003e2600039806103cf52806104e452806107355280610856525080610287528061068552508061026352806102e9528061045f52806107d6528061098a5250806102c3528061049252806108015250610b1e6000f3fe608060405234801561001057600080fd5b50600436106100ae5760003560e01c8062a7029b146100b35780630a7a1c4d146101305780634665096d1461015457806351973ec91461016e57806351f91066146101765780636e832f071461017e5780637284e4161461019a5780638456cb59146101a257806396d373e5146101aa578063ae8421e1146101b4578063b0604a26146101bc578063f7992d85146101c4578063fe7d47bb146101cc575b600080fd5b6100bb6101d4565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100f55781810151838201526020016100dd565b50505050905090810190601f1680156101225780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610138610261565b604080516001600160a01b039092168252519081900360200190f35b61015c610285565b60408051918252519081900360200190f35b6101386102a9565b61015c6102c1565b6101866102e5565b604080519115158252519081900360200190f35b6100bb610372565b6101386103cd565b6101b26103f1565b005b61018661067a565b6101b2610683565b61015c61091a565b61015c610920565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156102595780601f1061022e57610100808354040283529160200191610259565b820191906000526020600020905b81548152906001019060200180831161023c57829003601f168201915b505050505081565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b73da0ab1e0017debcd72be8599041a2aa3ba7e740f81565b7f000000000000000000000000000000000000000000000000000000000000000081565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316636e832f076040518163ffffffff1660e01b815260040160206040518083038186803b15801561034057600080fd5b505afa158015610354573d6000803e3d6000fd5b505050506040513d602081101561036a57600080fd5b505190505b90565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156102595780601f1061022e57610100808354040283529160200191610259565b7f000000000000000000000000000000000000000000000000000000000000000081565b60025460ff161561043e576040805162461bcd60e51b81526020600482015260126024820152711cdc195b1b0b585b1c9958591e4b58d85cdd60721b604482015290519081900360640190fd5b6002805460ff19166001908117825560005460405163168ccd6760e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03818116600484019081527f000000000000000000000000000000000000000000000000000000000000000060248501819052606485018690526080604486019081528754600019818a161561010002011698909804608486018190527f0000000000000000000000000000000000000000000000000000000000000000939093169763168ccd6797949691959193909160a40190859080156105695780601f1061053e57610100808354040283529160200191610569565b820191906000526020600020905b81548152906001019060200180831161054c57829003601f168201915b505095505050505050600060405180830381600087803b15801561058c57600080fd5b505af11580156105a0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156105c957600080fd5b8101908080516040519392919084600160201b8211156105e857600080fd5b9083019060208201858111156105fd57600080fd5b8251600160201b81118282018810171561061657600080fd5b82525081516020918201929091019080838360005b8381101561064357818101518382015260200161062b565b50505050905090810190601f1680156106705780820380516001836020036101000a031916815260200191505b5060405250505050565b60025460ff1681565b7f00000000000000000000000000000000000000000000000000000000000000004211156106f4576040805162461bcd60e51b8152602060048201526019602482015278151a1a5cc818dbdb9d1c9858dd081a185cc8195e1c1a5c9959603a1b604482015290519081900360640190fd5b600054156107335760405162461bcd60e51b8152600401808060200182810382526025815260200180610ac46025913960400191505060405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316636a42b8f86040518163ffffffff1660e01b815260040160206040518083038186803b15801561078c57600080fd5b505afa1580156107a0573d6000803e3d6000fd5b505050506040513d60208110156107b657600080fd5b5051420160008190556040516346d2fbbb60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000818116600484019081527f0000000000000000000000000000000000000000000000000000000000000000602485018190526064850186905260806044860190815260018054600281831615610100026000190190911604608488018190527f0000000000000000000000000000000000000000000000000000000000000000909616976346d2fbbb97959693959194909390929160a40190859080156108dd5780601f106108b2576101008083540402835291602001916108dd565b820191906000526020600020905b8154815290600101906020018083116108c057829003601f168201915b505095505050505050600060405180830381600087803b15801561090057600080fd5b505af1158015610914573d6000803e3d6000fd5b50505050565b60005481565b60008054610973576040805162461bcd60e51b815260206004820152601b60248201527a111cdcd15e1958cbdcdc195b1b0b5b9bdd0b5cd8da19591d5b1959602a1b604482015290519081900360640190fd5b600054421161098457600054610986565b425b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316636e832f076040518163ffffffff1660e01b815260040160206040518083038186803b1580156109e157600080fd5b505afa1580156109f5573d6000803e3d6000fd5b505050506040513d6020811015610a0b57600080fd5b50511561036f576007620151808204600301066018610e10830406603c80840481900690840660058410610a64578360060362015180028501945082601803600e01610e1002850194508082603c020185039450610abc565b60158310610a9c578360041415610a7e576202a300850194505b82601803600e01610e1002850194508082603c020185039450610abc565b600e831015610abc5782600e03610e1002850194508082603c0201850394505b505050509056fe54686973207370656c6c2068617320616c7265616479206265656e207363686564756c6564a2646970667358221220d658f1fe8885076f2523b9920ade8305847feee2b7052f9a64e8a295910b2b0264736f6c634300060c0033608060405234801561001057600080fd5b506105a3806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806361461954146100515780636e832f071461005b5780637284e41614610077578063f99e36bc146100f4575b600080fd5b6100596100fc565b005b6100636101d8565b604080519115158252519081900360200190f35b61007f6101dd565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100b95781810151838201526020016100a1565b50505050905090810190601f1680156100e65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6100596101f9565b6101046101d8565b156101ce576007620151804204600301066005811061016a576040805162461bcd60e51b815260206004820152601d60248201527f43616e206f6e6c792062652063617374206f6e2061207765656b646179000000604482015290519081900360640190fd5b6018610e10420406600e81108015906101835750601581105b6101cb576040805162461bcd60e51b81526020600482015260146024820152734f757473696465206f666669636520686f75727360601b604482015290519081900360640190fd5b50505b6101d66101f9565b565b600090565b6040518060a00160405280606e8152602001610500606e913981565b604080516313f6ee8960e11b815265434f4d502d4160d01b60048201526301c9c38060248201529051739a6c490ba30507e732d61235eff94c26aea234ef916327eddd12916044808301926000929190829003018186803b15801561025d57600080fd5b505af4158015610271573d6000803e3d6000fd5b5050604080516313f6ee8960e11b8152645a52582d4160d81b60048201526298968060248201529051739a6c490ba30507e732d61235eff94c26aea234ef93506327eddd1292506044808301926000929190829003018186803b1580156102d757600080fd5b505af41580156102eb573d6000803e3d6000fd5b5050604080516313f6ee8960e11b8152645946492d4160d81b600482015263047868c060248201529051739a6c490ba30507e732d61235eff94c26aea234ef93506327eddd1292506044808301926000929190829003018186803b15801561035257600080fd5b505af4158015610366573d6000803e3d6000fd5b5050604080516377ca099760e11b81526950534d2d555344432d4160b01b6004820152633b9aca006024820152600160448201529051739a6c490ba30507e732d61235eff94c26aea234ef935063ef94132e92506064808301926000929190829003018186803b1580156103d957600080fd5b505af41580156103ed573d6000803e3d6000fd5b50506040805163b1698f4160e01b81527373f09254a81e1f835ee442d1b3262c1f1d7a13ff60048201526201d4c060248201529051739a6c490ba30507e732d61235eff94c26aea234ef935063b1698f4192506044808301926000929190829003018186803b15801561045f57600080fd5b505af4158015610473573d6000803e3d6000fd5b50506040805163b1698f4160e01b815273d98ef20520048a35eda9a202137847a62120d2d960048201526201889460248201529051739a6c490ba30507e732d61235eff94c26aea234ef935063b1698f4192506044808301926000929190829003018186803b1580156104e557600080fd5b505af41580156104f9573d6000803e3d6000fd5b5050505056fe323032312d30342d3032204d616b657244414f20457865637574697665205370656c6c207c20486173683a20307864623133333966383666343536373539626334656339376634396237623130616262383664393762626239663536353737373331656664373135643937386339a26469706673582212205f65ca0351545b91a3d3d8db76225f98a5204fa638b3be4593255643a7e6647d64736f6c634300060c0033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100ae5760003560e01c8062a7029b146100b35780630a7a1c4d146101305780634665096d1461015457806351973ec91461016e57806351f91066146101765780636e832f071461017e5780637284e4161461019a5780638456cb59146101a257806396d373e5146101aa578063ae8421e1146101b4578063b0604a26146101bc578063f7992d85146101c4578063fe7d47bb146101cc575b600080fd5b6100bb6101d4565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100f55781810151838201526020016100dd565b50505050905090810190601f1680156101225780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610138610261565b604080516001600160a01b039092168252519081900360200190f35b61015c610285565b60408051918252519081900360200190f35b6101386102a9565b61015c6102c1565b6101866102e5565b604080519115158252519081900360200190f35b6100bb610372565b6101386103cd565b6101b26103f1565b005b61018661067a565b6101b2610683565b61015c61091a565b61015c610920565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156102595780601f1061022e57610100808354040283529160200191610259565b820191906000526020600020905b81548152906001019060200180831161023c57829003601f168201915b505050505081565b7f00000000000000000000000037e42c2b1006de2194483869f1357bed4c01c08381565b7f00000000000000000000000000000000000000000000000000000000608ec8b681565b73da0ab1e0017debcd72be8599041a2aa3ba7e740f81565b7ff8e9e4645cf41c72623f2dfbb87fa110216e7d91a53d45b59af0b04cde476bcf81565b60007f00000000000000000000000037e42c2b1006de2194483869f1357bed4c01c0836001600160a01b0316636e832f076040518163ffffffff1660e01b815260040160206040518083038186803b15801561034057600080fd5b505afa158015610354573d6000803e3d6000fd5b505050506040513d602081101561036a57600080fd5b505190505b90565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156102595780601f1061022e57610100808354040283529160200191610259565b7f000000000000000000000000be286431454714f511008713973d3b053a2d38f381565b60025460ff161561043e576040805162461bcd60e51b81526020600482015260126024820152711cdc195b1b0b585b1c9958591e4b58d85cdd60721b604482015290519081900360640190fd5b6002805460ff19166001908117825560005460405163168ccd6760e01b81527f00000000000000000000000037e42c2b1006de2194483869f1357bed4c01c0836001600160a01b03818116600484019081527ff8e9e4645cf41c72623f2dfbb87fa110216e7d91a53d45b59af0b04cde476bcf60248501819052606485018690526080604486019081528754600019818a161561010002011698909804608486018190527f000000000000000000000000be286431454714f511008713973d3b053a2d38f3939093169763168ccd6797949691959193909160a40190859080156105695780601f1061053e57610100808354040283529160200191610569565b820191906000526020600020905b81548152906001019060200180831161054c57829003601f168201915b505095505050505050600060405180830381600087803b15801561058c57600080fd5b505af11580156105a0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156105c957600080fd5b8101908080516040519392919084600160201b8211156105e857600080fd5b9083019060208201858111156105fd57600080fd5b8251600160201b81118282018810171561061657600080fd5b82525081516020918201929091019080838360005b8381101561064357818101518382015260200161062b565b50505050905090810190601f1680156106705780820380516001836020036101000a031916815260200191505b5060405250505050565b60025460ff1681565b7f00000000000000000000000000000000000000000000000000000000608ec8b64211156106f4576040805162461bcd60e51b8152602060048201526019602482015278151a1a5cc818dbdb9d1c9858dd081a185cc8195e1c1a5c9959603a1b604482015290519081900360640190fd5b600054156107335760405162461bcd60e51b8152600401808060200182810382526025815260200180610ac46025913960400191505060405180910390fd5b7f000000000000000000000000be286431454714f511008713973d3b053a2d38f36001600160a01b0316636a42b8f86040518163ffffffff1660e01b815260040160206040518083038186803b15801561078c57600080fd5b505afa1580156107a0573d6000803e3d6000fd5b505050506040513d60208110156107b657600080fd5b5051420160008190556040516346d2fbbb60e01b81526001600160a01b037f00000000000000000000000037e42c2b1006de2194483869f1357bed4c01c083818116600484019081527ff8e9e4645cf41c72623f2dfbb87fa110216e7d91a53d45b59af0b04cde476bcf602485018190526064850186905260806044860190815260018054600281831615610100026000190190911604608488018190527f000000000000000000000000be286431454714f511008713973d3b053a2d38f3909616976346d2fbbb97959693959194909390929160a40190859080156108dd5780601f106108b2576101008083540402835291602001916108dd565b820191906000526020600020905b8154815290600101906020018083116108c057829003601f168201915b505095505050505050600060405180830381600087803b15801561090057600080fd5b505af1158015610914573d6000803e3d6000fd5b50505050565b60005481565b60008054610973576040805162461bcd60e51b815260206004820152601b60248201527a111cdcd15e1958cbdcdc195b1b0b5b9bdd0b5cd8da19591d5b1959602a1b604482015290519081900360640190fd5b600054421161098457600054610986565b425b90507f00000000000000000000000037e42c2b1006de2194483869f1357bed4c01c0836001600160a01b0316636e832f076040518163ffffffff1660e01b815260040160206040518083038186803b1580156109e157600080fd5b505afa1580156109f5573d6000803e3d6000fd5b505050506040513d6020811015610a0b57600080fd5b50511561036f576007620151808204600301066018610e10830406603c80840481900690840660058410610a64578360060362015180028501945082601803600e01610e1002850194508082603c020185039450610abc565b60158310610a9c578360041415610a7e576202a300850194505b82601803600e01610e1002850194508082603c020185039450610abc565b600e831015610abc5782600e03610e1002850194508082603c0201850394505b505050509056fe54686973207370656c6c2068617320616c7265616479206265656e207363686564756c6564a2646970667358221220d658f1fe8885076f2523b9920ade8305847feee2b7052f9a64e8a295910b2b0264736f6c634300060c0033

Libraries Used


Deployed Bytecode Sourcemap

11100:199:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4741:34;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4865:37;;;:::i;:::-;;;;-1:-1:-1;;;;;4865:37:0;;;;;;;;;;;;;;4909:41;;;:::i;:::-;;;;;;;;;;;;;;;;4601:92;;;:::i;4824:34::-;;;:::i;5282:111::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;5231:42;;;:::i;4957:36::-;;;:::i;7836:144::-;;;:::i;:::-;;4782:35;;;:::i;7563:265::-;;;:::i;4700:34::-;;;:::i;5401:1385::-;;;:::i;4741:34::-;;;;;;;;;;;;;;;-1:-1:-1;;4741:34:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4865:37::-;;;:::o;4909:41::-;;;:::o;4601:92::-;4650:42;4601:92;:::o;4824:34::-;;;:::o;5282:111::-;5328:4;5364:6;-1:-1:-1;;;;;5352:31:0;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5352:33:0;;-1:-1:-1;5282:111:0;;:::o;5231:42::-;;;;;;;;;;;;;;;-1:-1:-1;;5231:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4957:36;;;:::o;7836:144::-;7879:4;;;;7878:5;7870:36;;;;;-1:-1:-1;;;7870:36:0;;;;;;;;;;;;-1:-1:-1;;;7870:36:0;;;;;;;;;;;;;;;7917:4;:11;;-1:-1:-1;;7917:11:0;7924:4;7917:11;;;;;:4;7968:3;7939:33;;-1:-1:-1;;;7939:33:0;;7950:6;-1:-1:-1;;;;;7939:33:0;;;;;;;;;7958:3;7939:33;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7939:33:0;;;;7917:11;7939:33;;;;;;;;;;;;;:5;:10;;;;;;;7950:6;;7958:3;;7968;;7939:33;;;;;7924:4;;7939:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7939:33:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;7939:33:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;7939:33:0;;;;;;-1:-1:-1;7939:33:0;;;;;;;;;;-1:-1:-1;7939:33:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7836:144::o;4782:35::-;;;;;;:::o;7563:265::-;7616:10;7609:3;:17;;7601:55;;;;;-1:-1:-1;;;7601:55:0;;;;;;;;;;;;-1:-1:-1;;;7601:55:0;;;;;;;;;;;;;;;7675:3;;:8;7667:58;;;;-1:-1:-1;;;7667:58:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7762:5;-1:-1:-1;;;;;7748:26:0;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7748:28:0;7742:3;:34;7736:3;:40;;;7787:33;;-1:-1:-1;;;7787:33:0;;-1:-1:-1;;;;;7798:6:0;7787:33;;;;;;;;;7806:3;7787:33;;;;;;;;;;;;;;;;;;;7811:3;7787:33;;;;;;;;;-1:-1:-1;;7787:33:0;;;;;;;;;;;:5;:10;;;;;;7798:6;;7806:3;;7811;;7742:34;;7787:33;;;;;;7811:3;;7787:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7563:265::o;4700:34::-;;;;:::o;5401:1385::-;5448:16;5485:3;;5477:48;;;;;-1:-1:-1;;;5477:48:0;;;;;;;;;;;;-1:-1:-1;;;5477:48:0;;;;;;;;;;;;;;;5565:3;;5547:15;:21;:45;;5589:3;;5547:45;;;5571:15;5547:45;5536:56;;5641:6;-1:-1:-1;;;;;5629:31:0;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5629:33:0;5625:1154;;;5722:1;5708:6;5697:17;;5717:1;5697:21;5696:27;5776:2;5766:7;5755:18;;:23;5833:2;5810:20;;;:25;;;;5867:13;;5908:1;5901:8;;5897:871;;5947:3;5943:1;:7;5954:6;5942:18;5930:30;;;;6035:4;6030:2;:9;6042:2;6030:14;6048:7;6029:26;6017:38;;;;6141:6;6120;6129:9;6120:18;:27;6108:39;;;;5897:871;;;6226:2;6218:4;:10;6214:539;;6257:3;6264:1;6257:8;6253:32;;;6279:6;6267:18;;;;6253:32;6379:4;6374:2;:9;6386:2;6374:14;6392:7;6373:26;6361:38;;;;6487:6;6466;6475:9;6466:18;:27;6454:39;;;;6214:539;;;6552:2;6545:4;:9;6541:212;;;6597:4;6592:2;:9;6605:7;6591:21;6579:33;;;;6705:6;6684;6693:9;6684:18;:27;6672:39;;;;6541:212;5625:1154;;;;5401:1385;:::o

Swarm Source

ipfs://5f65ca0351545b91a3d3d8db76225f98a5204fa638b3be4593255643a7e6647d

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.