ETH Price: $2,333.31 (+10.38%)

Contract

0x29CfBd381043D00a98fD9904a431015Fef07af2f
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Join126719372021-06-20 15:20:161730 days ago1624202416IN
0x29CfBd38...Fef07af2f
0 ETH0.0015859516

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Method Block
From
To
-122712342021-04-19 15:08:031792 days ago1618844883  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:
ESM

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
No with 200 runs

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

// SPDX-License-Identifier: AGPL-3.0-or-later

/// ESM.sol

// Copyright (C) 2019-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/>.

pragma solidity >=0.6.12;

interface GemLike {
    function balanceOf(address) external view returns (uint256);
    function burn(uint256) external;
    function transfer(address, uint256) external returns (bool);
    function transferFrom(address, address, uint256) external returns (bool);
}

interface EndLike {
    function live() external view returns (uint256);
    function vat()  external view returns (address);
    function cage() external;
}

interface DenyLike {
    function deny(address) external;
}

contract ESM {
    GemLike public immutable gem;   // collateral (MKR token)
    EndLike public immutable end;   // cage module
    address public immutable proxy; // Pause proxy
    uint256 public immutable min;   // minimum activation threshold [wad]

    mapping(address => uint256) public sum; // per-address balance
    uint256 public Sum; // total balance

    event Fire();
    event Join(address indexed usr, uint256 wad);

    constructor(address gem_, address end_, address proxy_, uint256 min_) public {
        gem = GemLike(gem_);
        end = EndLike(end_);
        proxy = proxy_;
        min = min_;
    }

    function revokesGovernanceAccess() external view returns (bool ret) {
        ret = proxy != address(0);
    }

    // -- math --
    function add(uint256 x, uint256 y) internal pure returns (uint256 z) {
        z = x + y;
        require(z >= x);
    }

    function fire() external {
        require(Sum >= min,  "ESM/min-not-reached");

        if (proxy != address(0)) {
            DenyLike(end.vat()).deny(proxy);
        }
        end.cage();

        emit Fire();
    }

    function deny(address target) external {
        require(Sum >= min,  "ESM/min-not-reached");

        DenyLike(target).deny(proxy);
    }

    function join(uint256 wad) external {
        require(end.live() == 1, "ESM/system-already-shutdown");

        sum[msg.sender] = add(sum[msg.sender], wad);
        Sum = add(Sum, wad);

        require(gem.transferFrom(msg.sender, address(this), wad), "ESM/transfer-failed");
        emit Join(msg.sender, wad);
    }

    function burn() external {
        gem.burn(gem.balanceOf(address(this)));
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"gem_","type":"address"},{"internalType":"address","name":"end_","type":"address"},{"internalType":"address","name":"proxy_","type":"address"},{"internalType":"uint256","name":"min_","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[],"name":"Fire","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"usr","type":"address"},{"indexed":false,"internalType":"uint256","name":"wad","type":"uint256"}],"name":"Join","type":"event"},{"inputs":[],"name":"Sum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"deny","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"end","outputs":[{"internalType":"contract EndLike","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"fire","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"gem","outputs":[{"internalType":"contract GemLike","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"join","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"min","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxy","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"revokesGovernanceAccess","outputs":[{"internalType":"bool","name":"ret","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"sum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]

61010060405234801561001157600080fd5b50604051610e2c380380610e2c8339818101604052608081101561003457600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291905050508373ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1660601b815250508273ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff1660601b815250508173ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff1660601b815250508060e081815250505050505060805160601c60a05160601c60c05160601c60e051610c9e61018e600039806107905280610aa85280610c2c5250806105fe528061084052806109385280610b5c5280610be4525080610288528061087c52806109be5280610c085250806104385280610642528061067e5280610a6c5250610c9e6000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80637bd2bea7116100715780637bd2bea71461012e5780637e459c60146101625780639c52a7f1146101ba578063ec556889146101fe578063efbe1c1c14610232578063f889794514610266576100a9565b8063049878f3146100ae57806314c7bbd5146100dc57806337be827d146100fc57806344df8e701461011a578063457094cc14610124575b600080fd5b6100da600480360360208110156100c457600080fd5b8101908080359060200190929190505050610284565b005b6100e46105e3565b60405180821515815260200191505060405180910390f35b61010461063a565b6040518082815260200191505060405180910390f35b610122610640565b005b61012c61078e565b005b610136610a6a565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101a46004803603602081101561017857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a8e565b6040518082815260200191505060405180910390f35b6101fc600480360360208110156101d057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610aa6565b005b610206610be2565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61023a610c06565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61026e610c2a565b6040518082815260200191505060405180910390f35b60017f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663957aa58c6040518163ffffffff1660e01b815260040160206040518083038186803b1580156102ec57600080fd5b505afa158015610300573d6000803e3d6000fd5b505050506040513d602081101561031657600080fd5b81019080805190602001909291905050501461039a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f45534d2f73797374656d2d616c72656164792d73687574646f776e000000000081525060200191505060405180910390fd5b6103e26000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482610c4e565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061043060015482610c4e565b6001819055507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156104e557600080fd5b505af11580156104f9573d6000803e3d6000fd5b505050506040513d602081101561050f57600080fd5b8101908080519060200190929190505050610592576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f45534d2f7472616e736665722d6661696c65640000000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff167fb4e09949657f21548b58afe74e7b86cd2295da5ff1598ae1e5faecb1cf19ca95826040518082815260200191505060405180910390a250565b60008073ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff161415905090565b60015481565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166342966c687f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561070357600080fd5b505afa158015610717573d6000803e3d6000fd5b505050506040513d602081101561072d57600080fd5b81019080805190602001909291905050506040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561077457600080fd5b505af1158015610788573d6000803e3d6000fd5b50505050565b7f00000000000000000000000000000000000000000000000000000000000000006001541015610826576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f45534d2f6d696e2d6e6f742d726561636865640000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16146109bc577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166336569e776040518163ffffffff1660e01b815260040160206040518083038186803b1580156108e057600080fd5b505afa1580156108f4573d6000803e3d6000fd5b505050506040513d602081101561090a57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16639c52a7f17f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1580156109a357600080fd5b505af11580156109b7573d6000803e3d6000fd5b505050505b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663692450096040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610a2457600080fd5b505af1158015610a38573d6000803e3d6000fd5b505050507f14c539ef1ff6ef515371448cd46419fd75ebb8698b7f6644c4f66b03b032708560405160405180910390a1565b7f000000000000000000000000000000000000000000000000000000000000000081565b60006020528060005260406000206000915090505481565b7f00000000000000000000000000000000000000000000000000000000000000006001541015610b3e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f45534d2f6d696e2d6e6f742d726561636865640000000000000000000000000081525060200191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16639c52a7f17f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b158015610bc757600080fd5b505af1158015610bdb573d6000803e3d6000fd5b5050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000818301905082811015610c6257600080fd5b9291505056fea2646970667358221220fcd5f8fbbf34660879434e696b1d4846acf5aa234300337a20528e65e9855cec64736f6c634300060c00330000000000000000000000009f8f72aa9304c8b593d555f12ef6589cc3a579a2000000000000000000000000bb856d1742fd182a90239d7ae85706c2fe4e5922000000000000000000000000be8e3e3618f7474f8cb1d074a26affef007e98fb000000000000000000000000000000000000000000000fe1c215e8f838e00000

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80637bd2bea7116100715780637bd2bea71461012e5780637e459c60146101625780639c52a7f1146101ba578063ec556889146101fe578063efbe1c1c14610232578063f889794514610266576100a9565b8063049878f3146100ae57806314c7bbd5146100dc57806337be827d146100fc57806344df8e701461011a578063457094cc14610124575b600080fd5b6100da600480360360208110156100c457600080fd5b8101908080359060200190929190505050610284565b005b6100e46105e3565b60405180821515815260200191505060405180910390f35b61010461063a565b6040518082815260200191505060405180910390f35b610122610640565b005b61012c61078e565b005b610136610a6a565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101a46004803603602081101561017857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a8e565b6040518082815260200191505060405180910390f35b6101fc600480360360208110156101d057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610aa6565b005b610206610be2565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61023a610c06565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61026e610c2a565b6040518082815260200191505060405180910390f35b60017f000000000000000000000000bb856d1742fd182a90239d7ae85706c2fe4e592273ffffffffffffffffffffffffffffffffffffffff1663957aa58c6040518163ffffffff1660e01b815260040160206040518083038186803b1580156102ec57600080fd5b505afa158015610300573d6000803e3d6000fd5b505050506040513d602081101561031657600080fd5b81019080805190602001909291905050501461039a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f45534d2f73797374656d2d616c72656164792d73687574646f776e000000000081525060200191505060405180910390fd5b6103e26000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482610c4e565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061043060015482610c4e565b6001819055507f0000000000000000000000009f8f72aa9304c8b593d555f12ef6589cc3a579a273ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156104e557600080fd5b505af11580156104f9573d6000803e3d6000fd5b505050506040513d602081101561050f57600080fd5b8101908080519060200190929190505050610592576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f45534d2f7472616e736665722d6661696c65640000000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff167fb4e09949657f21548b58afe74e7b86cd2295da5ff1598ae1e5faecb1cf19ca95826040518082815260200191505060405180910390a250565b60008073ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000be8e3e3618f7474f8cb1d074a26affef007e98fb73ffffffffffffffffffffffffffffffffffffffff161415905090565b60015481565b7f0000000000000000000000009f8f72aa9304c8b593d555f12ef6589cc3a579a273ffffffffffffffffffffffffffffffffffffffff166342966c687f0000000000000000000000009f8f72aa9304c8b593d555f12ef6589cc3a579a273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561070357600080fd5b505afa158015610717573d6000803e3d6000fd5b505050506040513d602081101561072d57600080fd5b81019080805190602001909291905050506040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561077457600080fd5b505af1158015610788573d6000803e3d6000fd5b50505050565b7f000000000000000000000000000000000000000000000fe1c215e8f838e000006001541015610826576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f45534d2f6d696e2d6e6f742d726561636865640000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000be8e3e3618f7474f8cb1d074a26affef007e98fb73ffffffffffffffffffffffffffffffffffffffff16146109bc577f000000000000000000000000bb856d1742fd182a90239d7ae85706c2fe4e592273ffffffffffffffffffffffffffffffffffffffff166336569e776040518163ffffffff1660e01b815260040160206040518083038186803b1580156108e057600080fd5b505afa1580156108f4573d6000803e3d6000fd5b505050506040513d602081101561090a57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16639c52a7f17f000000000000000000000000be8e3e3618f7474f8cb1d074a26affef007e98fb6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1580156109a357600080fd5b505af11580156109b7573d6000803e3d6000fd5b505050505b7f000000000000000000000000bb856d1742fd182a90239d7ae85706c2fe4e592273ffffffffffffffffffffffffffffffffffffffff1663692450096040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610a2457600080fd5b505af1158015610a38573d6000803e3d6000fd5b505050507f14c539ef1ff6ef515371448cd46419fd75ebb8698b7f6644c4f66b03b032708560405160405180910390a1565b7f0000000000000000000000009f8f72aa9304c8b593d555f12ef6589cc3a579a281565b60006020528060005260406000206000915090505481565b7f000000000000000000000000000000000000000000000fe1c215e8f838e000006001541015610b3e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f45534d2f6d696e2d6e6f742d726561636865640000000000000000000000000081525060200191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16639c52a7f17f000000000000000000000000be8e3e3618f7474f8cb1d074a26affef007e98fb6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b158015610bc757600080fd5b505af1158015610bdb573d6000803e3d6000fd5b5050505050565b7f000000000000000000000000be8e3e3618f7474f8cb1d074a26affef007e98fb81565b7f000000000000000000000000bb856d1742fd182a90239d7ae85706c2fe4e592281565b7f000000000000000000000000000000000000000000000fe1c215e8f838e0000081565b6000818301905082811015610c6257600080fd5b9291505056fea2646970667358221220fcd5f8fbbf34660879434e696b1d4846acf5aa234300337a20528e65e9855cec64736f6c634300060c0033

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

0000000000000000000000009f8f72aa9304c8b593d555f12ef6589cc3a579a2000000000000000000000000bb856d1742fd182a90239d7ae85706c2fe4e5922000000000000000000000000be8e3e3618f7474f8cb1d074a26affef007e98fb000000000000000000000000000000000000000000000fe1c215e8f838e00000

-----Decoded View---------------
Arg [0] : gem_ (address): 0x9f8F72aA9304c8B593d555F12eF6589cC3A579A2
Arg [1] : end_ (address): 0xBB856d1742fD182a90239D7AE85706C2FE4e5922
Arg [2] : proxy_ (address): 0xBE8E3e3618f7474F8cB1d074A26afFef007E98FB
Arg [3] : min_ (uint256): 75000000000000000000000

-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 0000000000000000000000009f8f72aa9304c8b593d555f12ef6589cc3a579a2
Arg [1] : 000000000000000000000000bb856d1742fd182a90239d7ae85706c2fe4e5922
Arg [2] : 000000000000000000000000be8e3e3618f7474f8cb1d074a26affef007e98fb
Arg [3] : 000000000000000000000000000000000000000000000fe1c215e8f838e00000


Deployed Bytecode Sourcemap

1348:1721:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2650:326;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1995:112;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;1680:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2984:82;;;:::i;:::-;;2265:227;;;:::i;:::-;;1368:28;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;1612:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2500:142;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1483:30;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;1431:28;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;1535;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2650:326;2719:1;2705:3;:8;;;:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:15;2697:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2783:25;2787:3;:15;2791:10;2787:15;;;;;;;;;;;;;;;;2804:3;2783;:25::i;:::-;2765:3;:15;2769:10;2765:15;;;;;;;;;;;;;;;:43;;;;2825:13;2829:3;;2834;2825;:13::i;:::-;2819:3;:19;;;;2859:3;:16;;;2876:10;2896:4;2903:3;2859:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2851:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2952:10;2947:21;;;2964:3;2947:21;;;;;;;;;;;;;;;;;;2650:326;:::o;1995:112::-;2053:8;2097:1;2080:19;;:5;:19;;;;2074:25;;1995:112;:::o;1680:18::-;;;;:::o;2984:82::-;3020:3;:8;;;3029:3;:13;;;3051:4;3029:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3020:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2984:82::o;2265:227::-;2316:3;2309;;:10;;2301:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2378:1;2361:19;;:5;:19;;;2357:83;;2406:3;:7;;;:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2397:24;;;2422:5;2397:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2357:83;2450:3;:8;;;:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2478:6;;;;;;;;;;2265:227::o;1368:28::-;;;:::o;1612:38::-;;;;;;;;;;;;;;;;;:::o;2500:142::-;2565:3;2558;;:10;;2550:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2615:6;2606:21;;;2628:5;2606:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2500:142;:::o;1483:30::-;;;:::o;1431:28::-;;;:::o;1535:::-;;;:::o;2134:123::-;2192:9;2222:1;2218;:5;2214:9;;2247:1;2242;:6;;2234:15;;;;;;2134:123;;;;:::o

Swarm Source

ipfs://fcd5f8fbbf34660879434e696b1d4846acf5aa234300337a20528e65e9855cec

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.