ETH Price: $1,565.85 (-0.87%)

Contract

0xd64979357160E8146F6e1d805cf20437397bF1ba
 

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Create Open And ...95647212020-02-27 8:52:591866 days ago1582793579IN
0xd6497935...7397bF1ba
0 ETH0.001344892.1
Create Open And ...93199262020-01-20 18:15:041904 days ago1579544104IN
0xd6497935...7397bF1ba
0 ETH0.000640421
Create Open And ...91233182019-12-18 1:36:061937 days ago1576632966IN
0xd6497935...7397bF1ba
0 ETH0.0064042810
Create And Open90970452019-12-12 23:39:011942 days ago1576193941IN
0xd6497935...7397bF1ba
0 ETH0.000640181
Create Open Lock...89666792019-11-20 5:47:021965 days ago1574228822IN
0xd6497935...7397bF1ba
0.019 ETH0.0094044210
Create Open Lock...88768722019-11-05 9:52:151980 days ago1572947535IN
0xd6497935...7397bF1ba
0.5 ETH0.0095497810
Create And Open88762862019-11-05 7:33:201980 days ago1572939200IN
0xd6497935...7397bF1ba
0 ETH0.0064127610
Create Open And ...88757812019-11-05 5:36:151980 days ago1572932175IN
0xd6497935...7397bF1ba
0.1 ETH0.002348243
Create Open And ...88479752019-10-31 18:14:051985 days ago1572545645IN
0xd6497935...7397bF1ba
1 ETH0.0117412315
Create Open Lock...87971882019-10-23 14:15:321993 days ago1571840132IN
0xd6497935...7397bF1ba
35 ETH0.0187738220
Create Open Lock...87835062019-10-21 10:48:451995 days ago1571654925IN
0xd6497935...7397bF1ba
0.006 ETH0.0140750115
Create Open Lock...87709482019-10-19 11:16:501997 days ago1571483810IN
0xd6497935...7397bF1ba
0.5 ETH0.0113732612.12
Create Open Lock...87646052019-10-18 11:27:381998 days ago1571398058IN
0xd6497935...7397bF1ba
9 ETH0.0124020513
Create Open Lock...87637602019-10-18 8:21:401998 days ago1571386900IN
0xd6497935...7397bF1ba
4 ETH0.0095377610
Create Open Lock...87575792019-10-17 8:42:511999 days ago1571301771IN
0xd6497935...7397bF1ba
2 ETH0.0095332310
Create Open Lock...87466282019-10-15 15:19:152001 days ago1571152755IN
0xd6497935...7397bF1ba
0.03 ETH0.0140750115
Create Open Lock...87446742019-10-15 8:00:192001 days ago1571126419IN
0xd6497935...7397bF1ba
0.0055 ETH0.00937210
Create And Open86692082019-10-03 12:31:552013 days ago1570105915IN
0xd6497935...7397bF1ba
0 ETH0.005856159.13203161
Create Open Lock...86208522019-09-25 22:37:272021 days ago1569451047IN
0xd6497935...7397bF1ba
20 ETH0.0143257915
Create Open Lock...86125412019-09-24 15:27:352022 days ago1569338855IN
0xd6497935...7397bF1ba
100 ETH0.0175629418.42768112
Create Open Lock...85623712019-09-16 19:28:072030 days ago1568662087IN
0xd6497935...7397bF1ba
1 ETH0.018760220
Create Open Lock...85410772019-09-13 11:35:322033 days ago1568374532IN
0xd6497935...7397bF1ba
0.4 ETH0.0199925720.995
Create Open Lock...85360052019-09-12 16:32:462034 days ago1568305966IN
0xd6497935...7397bF1ba
0.025 ETH0.0140476315
Create Open Lock...85229302019-09-10 15:37:432036 days ago1568129863IN
0xd6497935...7397bF1ba
0.05 ETH0.0191029820
Create Open Lock...85091942019-09-08 12:11:122038 days ago1567944672IN
0xd6497935...7397bF1ba
0.33 ETH0.0188589719.734
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-89666792019-11-20 5:47:021965 days ago1574228822
0xd6497935...7397bF1ba
0.019 ETH
-89627282019-11-19 13:47:121966 days ago1574171232
0xd6497935...7397bF1ba
0.1 ETH
-89627282019-11-19 13:47:121966 days ago1574171232
0xd6497935...7397bF1ba
0.1 ETH
-89154622019-11-11 16:40:501974 days ago1573490450
0xd6497935...7397bF1ba
0.05 ETH
-89154622019-11-11 16:40:501974 days ago1573490450
0xd6497935...7397bF1ba
0.05 ETH
-89149802019-11-11 14:42:461974 days ago1573483366
0xd6497935...7397bF1ba
0.06 ETH
-89149802019-11-11 14:42:461974 days ago1573483366
0xd6497935...7397bF1ba
0.06 ETH
-88964332019-11-08 13:22:271977 days ago1573219347
0xd6497935...7397bF1ba
0.06 ETH
-88960402019-11-08 11:50:541977 days ago1573213854
0xd6497935...7397bF1ba
0.05 ETH
-88768722019-11-05 9:52:151980 days ago1572947535
0xd6497935...7397bF1ba
0.5 ETH
-88757812019-11-05 5:36:151980 days ago1572932175
0xd6497935...7397bF1ba
0.1 ETH
-88479752019-10-31 18:14:051985 days ago1572545645
0xd6497935...7397bF1ba
1 ETH
-87971882019-10-23 14:15:321993 days ago1571840132
0xd6497935...7397bF1ba
35 ETH
-87835062019-10-21 10:48:451995 days ago1571654925
0xd6497935...7397bF1ba
0.006 ETH
-87709482019-10-19 11:16:501997 days ago1571483810
0xd6497935...7397bF1ba
0.5 ETH
-87646052019-10-18 11:27:381998 days ago1571398058
0xd6497935...7397bF1ba
9 ETH
-87637602019-10-18 8:21:401998 days ago1571386900
0xd6497935...7397bF1ba
4 ETH
-87575792019-10-17 8:42:511999 days ago1571301771
0xd6497935...7397bF1ba
2 ETH
-87466282019-10-15 15:19:152001 days ago1571152755
0xd6497935...7397bF1ba
0.03 ETH
-87446742019-10-15 8:00:192001 days ago1571126419
0xd6497935...7397bF1ba
0.0055 ETH
-86208522019-09-25 22:37:272021 days ago1569451047
0xd6497935...7397bF1ba
20 ETH
-86125412019-09-24 15:27:352022 days ago1569338855
0xd6497935...7397bF1ba
100 ETH
-85623712019-09-16 19:28:072030 days ago1568662087
0xd6497935...7397bF1ba
1 ETH
-85410772019-09-13 11:35:322033 days ago1568374532
0xd6497935...7397bF1ba
0.4 ETH
-85360052019-09-12 16:32:462034 days ago1568305966
0xd6497935...7397bF1ba
0.025 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
SaiProxyCreateAndExecute

Compiler Version
v0.4.24+commit.e67f0147

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2018-09-22
*/

pragma solidity ^0.4.23;

/// math.sol -- mixin for inline numerical wizardry

// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU 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 General Public License for more details.

// You should have received a copy of the GNU General Public License
// along with this program.  If not, see <http://www.gnu.org/licenses/>.

contract DSMath {
    function add(uint x, uint y) internal pure returns (uint z) {
        require((z = x + y) >= x);
    }
    function sub(uint x, uint y) internal pure returns (uint z) {
        require((z = x - y) <= x);
    }
    function mul(uint x, uint y) internal pure returns (uint z) {
        require(y == 0 || (z = x * y) / y == x);
    }

    function min(uint x, uint y) internal pure returns (uint z) {
        return x <= y ? x : y;
    }
    function max(uint x, uint y) internal pure returns (uint z) {
        return x >= y ? x : y;
    }
    function imin(int x, int y) internal pure returns (int z) {
        return x <= y ? x : y;
    }
    function imax(int x, int y) internal pure returns (int z) {
        return x >= y ? x : y;
    }

    uint constant WAD = 10 ** 18;
    uint constant RAY = 10 ** 27;

    function wmul(uint x, uint y) internal pure returns (uint z) {
        z = add(mul(x, y), WAD / 2) / WAD;
    }
    function rmul(uint x, uint y) internal pure returns (uint z) {
        z = add(mul(x, y), RAY / 2) / RAY;
    }
    function wdiv(uint x, uint y) internal pure returns (uint z) {
        z = add(mul(x, WAD), y / 2) / y;
    }
    function rdiv(uint x, uint y) internal pure returns (uint z) {
        z = add(mul(x, RAY), y / 2) / y;
    }

    // This famous algorithm is called "exponentiation by squaring"
    // and calculates x^n with x as fixed-point and n as regular unsigned.
    //
    // It's O(log n), instead of O(n) for naive repeated multiplication.
    //
    // These facts are why it works:
    //
    //  If n is even, then x^n = (x^2)^(n/2).
    //  If n is odd,  then x^n = x * x^(n-1),
    //   and applying the equation for even x gives
    //    x^n = x * (x^2)^((n-1) / 2).
    //
    //  Also, EVM division is flooring and
    //    floor[(n-1) / 2] = floor[n / 2].
    //
    function rpow(uint x, uint n) internal pure returns (uint z) {
        z = n % 2 != 0 ? x : RAY;

        for (n /= 2; n != 0; n /= 2) {
            x = rmul(x, x);

            if (n % 2 != 0) {
                z = rmul(z, x);
            }
        }
    }
}

contract TubInterface {
    function open() public returns (bytes32);
    function join(uint) public;
    function exit(uint) public;
    function lock(bytes32, uint) public;
    function free(bytes32, uint) public;
    function draw(bytes32, uint) public;
    function wipe(bytes32, uint) public;
    function give(bytes32, address) public;
    function shut(bytes32) public;
    function bite(bytes32) public;
    function cups(bytes32) public returns (address, uint, uint, uint);
    function gem() public returns (TokenInterface);
    function gov() public returns (TokenInterface);
    function skr() public returns (TokenInterface);
    function sai() public returns (TokenInterface);
    function vox() public returns (VoxInterface);
    function ask(uint) public returns (uint);
    function mat() public returns (uint);
    function chi() public returns (uint);
    function ink(bytes32) public returns (uint);
    function tab(bytes32) public returns (uint);
    function rap(bytes32) public returns (uint);
    function per() public returns (uint);
    function pip() public returns (PipInterface);
    function pep() public returns (PepInterface);
    function tag() public returns (uint);
    function drip() public;
}

contract TapInterface {
    function skr() public returns (TokenInterface);
    function sai() public returns (TokenInterface);
    function tub() public returns (TubInterface);
    function bust(uint) public;
    function boom(uint) public;
    function cash(uint) public;
    function mock(uint) public;
    function heal() public;
}

contract TokenInterface {
    function allowance(address, address) public returns (uint);
    function balanceOf(address) public returns (uint);
    function approve(address, uint) public;
    function transfer(address, uint) public returns (bool);
    function transferFrom(address, address, uint) public returns (bool);
    function deposit() public payable;
    function withdraw(uint) public;
}

contract VoxInterface {
    function par() public returns (uint);
}

contract PipInterface {
    function read() public returns (bytes32);
}

contract PepInterface {
    function peek() public returns (bytes32, bool);
}

contract OtcInterface {
    function getPayAmount(address, address, uint) public constant returns (uint);
    function buyAllAmount(address, uint, address pay_gem, uint) public returns (uint);
}

contract SaiProxy is DSMath {
    function open(address tub_) public returns (bytes32) {
        return TubInterface(tub_).open();
    }

    function give(address tub_, bytes32 cup, address lad) public {
        TubInterface(tub_).give(cup, lad);
    }

    function lock(address tub_, bytes32 cup) public payable {
        if (msg.value > 0) {
            TubInterface tub = TubInterface(tub_);

            tub.gem().deposit.value(msg.value)();

            uint ink = rdiv(msg.value, tub.per());
            if (tub.gem().allowance(this, tub) != uint(-1)) {
                tub.gem().approve(tub, uint(-1));
            }
            tub.join(ink);

            if (tub.skr().allowance(this, tub) != uint(-1)) {
                tub.skr().approve(tub, uint(-1));
            }
            tub.lock(cup, ink);
        }
    }

    function draw(address tub_, bytes32 cup, uint wad) public {
        if (wad > 0) {
            TubInterface tub = TubInterface(tub_);
            tub.draw(cup, wad);
            tub.sai().transfer(msg.sender, wad);
        }
    }

    function handleGovFee(TubInterface tub, uint saiDebtFee, address otc_) internal {
        bytes32 val;
        bool ok;
        (val, ok) = tub.pep().peek();
        if (ok && val != 0) {
            uint govAmt = wdiv(saiDebtFee, uint(val));
            if (otc_ != address(0)) {
                uint saiGovAmt = OtcInterface(otc_).getPayAmount(tub.sai(), tub.gov(), govAmt);
                if (tub.sai().allowance(this, otc_) != uint(-1)) {
                    tub.sai().approve(otc_, uint(-1));
                }
                tub.sai().transferFrom(msg.sender, this, saiGovAmt);
                OtcInterface(otc_).buyAllAmount(tub.gov(), govAmt, tub.sai(), saiGovAmt);
            } else {
                tub.gov().transferFrom(msg.sender, this, govAmt);
            }
        }
    }

    function wipe(address tub_, bytes32 cup, uint wad, address otc_) public {
        if (wad > 0) {
            TubInterface tub = TubInterface(tub_);

            tub.sai().transferFrom(msg.sender, this, wad);
            handleGovFee(tub, rmul(wad, rdiv(tub.rap(cup), tub.tab(cup))), otc_);

            if (tub.sai().allowance(this, tub) != uint(-1)) {
                tub.sai().approve(tub, uint(-1));
            }
            if (tub.gov().allowance(this, tub) != uint(-1)) {
                tub.gov().approve(tub, uint(-1));
            }
            tub.wipe(cup, wad);
        }
    }

    function wipe(address tub_, bytes32 cup, uint wad) public {
        wipe(tub_, cup, wad, address(0));
    }

    function free(address tub_, bytes32 cup, uint jam) public {
        if (jam > 0) {
            TubInterface tub = TubInterface(tub_);
            uint ink = rdiv(jam, tub.per());
            tub.free(cup, ink);
            if (tub.skr().allowance(this, tub) != uint(-1)) {
                tub.skr().approve(tub, uint(-1));
            }
            tub.exit(ink);
            tub.gem().withdraw(jam);
            address(msg.sender).transfer(jam);
        }
    }

    function lockAndDraw(address tub_, bytes32 cup, uint wad) public payable {
        lock(tub_, cup);
        draw(tub_, cup, wad);
    }

    function lockAndDraw(address tub_, uint wad) public payable returns (bytes32 cup) {
        cup = open(tub_);
        lockAndDraw(tub_, cup, wad);
    }

    function wipeAndFree(address tub_, bytes32 cup, uint jam, uint wad) public payable {
        wipe(tub_, cup, wad);
        free(tub_, cup, jam);
    }

    function wipeAndFree(address tub_, bytes32 cup, uint jam, uint wad, address otc_) public payable {
        wipe(tub_, cup, wad, otc_);
        free(tub_, cup, jam);
    }

    function shut(address tub_, bytes32 cup) public {
        TubInterface tub = TubInterface(tub_);
        wipeAndFree(tub_, cup, rmul(tub.ink(cup), tub.per()), tub.tab(cup));
        tub.shut(cup);
    }

    function shut(address tub_, bytes32 cup, address otc_) public {
        TubInterface tub = TubInterface(tub_);
        wipeAndFree(tub_, cup, rmul(tub.ink(cup), tub.per()), tub.tab(cup), otc_);
        tub.shut(cup);
    }
}

contract ProxyRegistryInterface {
    function build(address) public returns (address);
}

contract SaiProxyCreateAndExecute is SaiProxy {

    // Create a DSProxy instance and open a cup
    function createAndOpen(address registry_, address tub_) public returns (address proxy, bytes32 cup) {
        proxy = ProxyRegistryInterface(registry_).build(msg.sender);
        cup = open(tub_);
        TubInterface(tub_).give(cup, proxy);
    }

    // Create a DSProxy instance, open a cup, and lock collateral
    function createOpenAndLock(address registry_, address tub_) public payable returns (address proxy, bytes32 cup) {
        proxy = ProxyRegistryInterface(registry_).build(msg.sender);
        cup = open(tub_);
        lock(tub_, cup);
        TubInterface(tub_).give(cup, proxy);
    }

    // Create a DSProxy instance, open a cup, lock collateral, and draw DAI
    function createOpenLockAndDraw(address registry_, address tub_, uint wad) public payable returns (address proxy, bytes32 cup) {
        proxy = ProxyRegistryInterface(registry_).build(msg.sender);
        cup = open(tub_);
        lockAndDraw(tub_, cup, wad);
        TubInterface(tub_).give(cup, proxy);
    }
}

Contract Security Audit

Contract ABI

API
[{"constant":false,"inputs":[{"name":"tub_","type":"address"},{"name":"cup","type":"bytes32"},{"name":"wad","type":"uint256"}],"name":"draw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"tub_","type":"address"},{"name":"cup","type":"bytes32"},{"name":"jam","type":"uint256"},{"name":"wad","type":"uint256"},{"name":"otc_","type":"address"}],"name":"wipeAndFree","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"tub_","type":"address"},{"name":"cup","type":"bytes32"},{"name":"wad","type":"uint256"}],"name":"lockAndDraw","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"tub_","type":"address"},{"name":"wad","type":"uint256"}],"name":"lockAndDraw","outputs":[{"name":"cup","type":"bytes32"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"registry_","type":"address"},{"name":"tub_","type":"address"}],"name":"createAndOpen","outputs":[{"name":"proxy","type":"address"},{"name":"cup","type":"bytes32"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"tub_","type":"address"},{"name":"cup","type":"bytes32"},{"name":"otc_","type":"address"}],"name":"shut","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"tub_","type":"address"},{"name":"cup","type":"bytes32"},{"name":"wad","type":"uint256"},{"name":"otc_","type":"address"}],"name":"wipe","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"tub_","type":"address"},{"name":"cup","type":"bytes32"},{"name":"wad","type":"uint256"}],"name":"wipe","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"tub_","type":"address"}],"name":"open","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"tub_","type":"address"},{"name":"cup","type":"bytes32"}],"name":"shut","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"tub_","type":"address"},{"name":"cup","type":"bytes32"}],"name":"lock","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"registry_","type":"address"},{"name":"tub_","type":"address"},{"name":"wad","type":"uint256"}],"name":"createOpenLockAndDraw","outputs":[{"name":"proxy","type":"address"},{"name":"cup","type":"bytes32"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"tub_","type":"address"},{"name":"cup","type":"bytes32"},{"name":"lad","type":"address"}],"name":"give","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"registry_","type":"address"},{"name":"tub_","type":"address"}],"name":"createOpenAndLock","outputs":[{"name":"proxy","type":"address"},{"name":"cup","type":"bytes32"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"tub_","type":"address"},{"name":"cup","type":"bytes32"},{"name":"jam","type":"uint256"}],"name":"free","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"tub_","type":"address"},{"name":"cup","type":"bytes32"},{"name":"jam","type":"uint256"},{"name":"wad","type":"uint256"}],"name":"wipeAndFree","outputs":[],"payable":true,"stateMutability":"payable","type":"function"}]

608060405234801561001057600080fd5b5061263c806100206000396000f3006080604052600436106100cc5763ffffffff60e060020a6000350416630344a36f81146100d15780631b968160146100fa5780631edf0c1e14610120578063516e9aec1461013a578063581f3c5014610163578063792037e3146101ad5780638a9fc475146101d8578063a3dc65a714610207578063b95460f81461022e578063bc244c111461024f578063bc25a81014610273578063d3140a651461028a578063da93dfcf146102a7578063eefe3818146102d2578063f9ef04be146102ec578063faed77ab14610313575b600080fd5b3480156100dd57600080fd5b506100f8600160a060020a0360043516602435604435610330565b005b6100f8600160a060020a03600435811690602435906044359060643590608435166104c5565b6100f8600160a060020a03600435166024356044356104e3565b610151600160a060020a03600435166024356104fd565b60408051918252519081900360200190f35b34801561016f57600080fd5b5061018a600160a060020a036004358116906024351661051b565b60408051600160a060020a03909316835260208301919091528051918290030190f35b3480156101b957600080fd5b506100f8600160a060020a03600435811690602435906044351661062e565b3480156101e457600080fd5b506100f8600160a060020a0360043581169060243590604435906064351661086a565b34801561021357600080fd5b506100f8600160a060020a0360043516602435604435610ed9565b34801561023a57600080fd5b50610151600160a060020a0360043516610ee6565b34801561025b57600080fd5b506100f8600160a060020a0360043516602435610f58565b6100f8600160a060020a03600435166024356110da565b61018a600160a060020a036004358116906024351660443561166e565b3480156102b357600080fd5b506100f8600160a060020a03600435811690602435906044351661178c565b61018a600160a060020a03600435811690602435166117e1565b3480156102f857600080fd5b506100f8600160a060020a03600435166024356044356118de565b6100f8600160a060020a0360043516602435604435606435611cf2565b6000808211156104bf5750604080517f440f19ba000000000000000000000000000000000000000000000000000000008152600481018490526024810183905290518491600160a060020a0383169163440f19ba9160448082019260009290919082900301818387803b1580156103a657600080fd5b505af11580156103ba573d6000803e3d6000fd5b5050505080600160a060020a0316639166cba46040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156103fc57600080fd5b505af1158015610410573d6000803e3d6000fd5b505050506040513d602081101561042657600080fd5b5051604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152336004820152602481018590529051600160a060020a039092169163a9059cbb916044808201926020929091908290030181600087803b15801561049257600080fd5b505af11580156104a6573d6000803e3d6000fd5b505050506040513d60208110156104bc57600080fd5b50505b50505050565b6104d18585848461086a565b6104dc8585856118de565b5050505050565b6104ed83836110da565b6104f8838383610330565b505050565b600061050883610ee6565b90506105158382846104e3565b92915050565b604080517ff3701da200000000000000000000000000000000000000000000000000000000815233600482015290516000918291600160a060020a0386169163f3701da291602480830192602092919082900301818787803b15801561058057600080fd5b505af1158015610594573d6000803e3d6000fd5b505050506040513d60208110156105aa57600080fd5b505191506105b783610ee6565b6040805160e260020a632eaa14a702815260048101839052600160a060020a03858116602483015291519293509085169163baa8529c9160448082019260009290919082900301818387803b15801561060f57600080fd5b505af1158015610623573d6000803e3d6000fd5b505050509250929050565b604080517f1f3634ed00000000000000000000000000000000000000000000000000000000815260048101849052905184916107eb918391869161075791600160a060020a03851691631f3634ed916024808201926020929091908290030181600087803b15801561069f57600080fd5b505af11580156106b3573d6000803e3d6000fd5b505050506040513d60208110156106c957600080fd5b5051604080517f7ec9c3b80000000000000000000000000000000000000000000000000000000081529051600160a060020a03881691637ec9c3b89160048083019260209291908290030181600087803b15801561072657600080fd5b505af115801561073a573d6000803e3d6000fd5b505050506040513d602081101561075057600080fd5b5051611d08565b604080517ff7c8d634000000000000000000000000000000000000000000000000000000008152600481018990529051600160a060020a0387169163f7c8d6349160248083019260209291908290030181600087803b1580156107b957600080fd5b505af11580156107cd573d6000803e3d6000fd5b505050506040513d60208110156107e357600080fd5b5051866104c5565b604080517fb84d2106000000000000000000000000000000000000000000000000000000008152600481018590529051600160a060020a0383169163b84d210691602480830192600092919082900301818387803b15801561084c57600080fd5b505af1158015610860573d6000803e3d6000fd5b5050505050505050565b6000808311156104dc5784905080600160a060020a0316639166cba46040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156108b557600080fd5b505af11580156108c9573d6000803e3d6000fd5b505050506040513d60208110156108df57600080fd5b5051604080517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018690529051600160a060020a03909216916323b872dd916064808201926020929091908290030181600087803b15801561095157600080fd5b505af1158015610965573d6000803e3d6000fd5b505050506040513d602081101561097b57600080fd5b5050604080517f6f78ee0d000000000000000000000000000000000000000000000000000000008152600481018690529051610aba918391610ab4918791610aaf91600160a060020a03861691636f78ee0d916024808201926020929091908290030181600087803b1580156109f057600080fd5b505af1158015610a04573d6000803e3d6000fd5b505050506040513d6020811015610a1a57600080fd5b5051604080517ff7c8d634000000000000000000000000000000000000000000000000000000008152600481018c90529051600160a060020a0389169163f7c8d6349160248083019260209291908290030181600087803b158015610a7e57600080fd5b505af1158015610a92573d6000803e3d6000fd5b505050506040513d6020811015610aa857600080fd5b5051611d4b565b611d08565b84611d6f565b60001981600160a060020a0316639166cba46040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610afb57600080fd5b505af1158015610b0f573d6000803e3d6000fd5b505050506040513d6020811015610b2557600080fd5b50516040805160e160020a636eb1769f028152306004820152600160a060020a0385811660248301529151919092169163dd62ed3e9160448083019260209291908290030181600087803b158015610b7c57600080fd5b505af1158015610b90573d6000803e3d6000fd5b505050506040513d6020811015610ba657600080fd5b505114610c865780600160a060020a0316639166cba46040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610beb57600080fd5b505af1158015610bff573d6000803e3d6000fd5b505050506040513d6020811015610c1557600080fd5b50516040805160e060020a63095ea7b3028152600160a060020a03848116600483015260001960248301529151919092169163095ea7b391604480830192600092919082900301818387803b158015610c6d57600080fd5b505af1158015610c81573d6000803e3d6000fd5b505050505b60001981600160a060020a03166312d43a516040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610cc757600080fd5b505af1158015610cdb573d6000803e3d6000fd5b505050506040513d6020811015610cf157600080fd5b50516040805160e160020a636eb1769f028152306004820152600160a060020a0385811660248301529151919092169163dd62ed3e9160448083019260209291908290030181600087803b158015610d4857600080fd5b505af1158015610d5c573d6000803e3d6000fd5b505050506040513d6020811015610d7257600080fd5b505114610e525780600160a060020a03166312d43a516040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610db757600080fd5b505af1158015610dcb573d6000803e3d6000fd5b505050506040513d6020811015610de157600080fd5b50516040805160e060020a63095ea7b3028152600160a060020a03848116600483015260001960248301529151919092169163095ea7b391604480830192600092919082900301818387803b158015610e3957600080fd5b505af1158015610e4d573d6000803e3d6000fd5b505050505b604080517f73b3810100000000000000000000000000000000000000000000000000000000815260048101869052602481018590529051600160a060020a038316916373b3810191604480830192600092919082900301818387803b158015610eba57600080fd5b505af1158015610ece573d6000803e3d6000fd5b505050505050505050565b6104f8838383600061086a565b600081600160a060020a031663fcfff16f6040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610f2657600080fd5b505af1158015610f3a573d6000803e3d6000fd5b505050506040513d6020811015610f5057600080fd5b505192915050565b604080517f1f3634ed000000000000000000000000000000000000000000000000000000008152600481018390529051839161105c9183918591610fc991600160a060020a03851691631f3634ed916024808201926020929091908290030181600087803b15801561069f57600080fd5b604080517ff7c8d634000000000000000000000000000000000000000000000000000000008152600481018890529051600160a060020a0387169163f7c8d6349160248083019260209291908290030181600087803b15801561102b57600080fd5b505af115801561103f573d6000803e3d6000fd5b505050506040513d602081101561105557600080fd5b5051611cf2565b604080517fb84d2106000000000000000000000000000000000000000000000000000000008152600481018490529051600160a060020a0383169163b84d210691602480830192600092919082900301818387803b1580156110bd57600080fd5b505af11580156110d1573d6000803e3d6000fd5b50505050505050565b60008060003411156104bf5783915081600160a060020a0316637bd2bea76040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561112757600080fd5b505af115801561113b573d6000803e3d6000fd5b505050506040513d602081101561115157600080fd5b5051604080517fd0e30db00000000000000000000000000000000000000000000000000000000081529051600160a060020a039092169163d0e30db0913491600480830192600092919082900301818588803b1580156111b057600080fd5b505af11580156111c4573d6000803e3d6000fd5b505050505061120b3483600160a060020a0316637ec9c3b86040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610a7e57600080fd5b905060001982600160a060020a0316637bd2bea76040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561124e57600080fd5b505af1158015611262573d6000803e3d6000fd5b505050506040513d602081101561127857600080fd5b50516040805160e160020a636eb1769f028152306004820152600160a060020a0386811660248301529151919092169163dd62ed3e9160448083019260209291908290030181600087803b1580156112cf57600080fd5b505af11580156112e3573d6000803e3d6000fd5b505050506040513d60208110156112f957600080fd5b5051146113d95781600160a060020a0316637bd2bea76040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561133e57600080fd5b505af1158015611352573d6000803e3d6000fd5b505050506040513d602081101561136857600080fd5b50516040805160e060020a63095ea7b3028152600160a060020a03858116600483015260001960248301529151919092169163095ea7b391604480830192600092919082900301818387803b1580156113c057600080fd5b505af11580156113d4573d6000803e3d6000fd5b505050505b81600160a060020a031663049878f3826040518263ffffffff1660e060020a02815260040180828152602001915050600060405180830381600087803b15801561142257600080fd5b505af1158015611436573d6000803e3d6000fd5b5050505060001982600160a060020a0316630f8a771e6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561147b57600080fd5b505af115801561148f573d6000803e3d6000fd5b505050506040513d60208110156114a557600080fd5b50516040805160e160020a636eb1769f028152306004820152600160a060020a0386811660248301529151919092169163dd62ed3e9160448083019260209291908290030181600087803b1580156114fc57600080fd5b505af1158015611510573d6000803e3d6000fd5b505050506040513d602081101561152657600080fd5b5051146116065781600160a060020a0316630f8a771e6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561156b57600080fd5b505af115801561157f573d6000803e3d6000fd5b505050506040513d602081101561159557600080fd5b50516040805160e060020a63095ea7b3028152600160a060020a03858116600483015260001960248301529151919092169163095ea7b391604480830192600092919082900301818387803b1580156115ed57600080fd5b505af1158015611601573d6000803e3d6000fd5b505050505b604080517fb3b77a5100000000000000000000000000000000000000000000000000000000815260048101859052602481018390529051600160a060020a0384169163b3b77a5191604480830192600092919082900301818387803b15801561084c57600080fd5b604080517ff3701da200000000000000000000000000000000000000000000000000000000815233600482015290516000918291600160a060020a0387169163f3701da291602480830192602092919082900301818787803b1580156116d357600080fd5b505af11580156116e7573d6000803e3d6000fd5b505050506040513d60208110156116fd57600080fd5b5051915061170a84610ee6565b90506117178482856104e3565b6040805160e260020a632eaa14a702815260048101839052600160a060020a03848116602483015291519186169163baa8529c9160448082019260009290919082900301818387803b15801561176c57600080fd5b505af1158015611780573d6000803e3d6000fd5b50505050935093915050565b6040805160e260020a632eaa14a702815260048101849052600160a060020a03838116602483015291519185169163baa8529c9160448082019260009290919082900301818387803b1580156110bd57600080fd5b604080517ff3701da200000000000000000000000000000000000000000000000000000000815233600482015290516000918291600160a060020a0386169163f3701da291602480830192602092919082900301818787803b15801561184657600080fd5b505af115801561185a573d6000803e3d6000fd5b505050506040513d602081101561187057600080fd5b5051915061187d83610ee6565b905061188983826110da565b6040805160e260020a632eaa14a702815260048101839052600160a060020a03848116602483015291519185169163baa8529c9160448082019260009290919082900301818387803b15801561060f57600080fd5b60008060008311156104dc5784915061192f8383600160a060020a0316637ec9c3b86040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610a7e57600080fd5b604080517fa5cd184e00000000000000000000000000000000000000000000000000000000815260048101879052602481018390529051919250600160a060020a0384169163a5cd184e9160448082019260009290919082900301818387803b15801561199b57600080fd5b505af11580156119af573d6000803e3d6000fd5b5050505060001982600160a060020a0316630f8a771e6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156119f457600080fd5b505af1158015611a08573d6000803e3d6000fd5b505050506040513d6020811015611a1e57600080fd5b50516040805160e160020a636eb1769f028152306004820152600160a060020a0386811660248301529151919092169163dd62ed3e9160448083019260209291908290030181600087803b158015611a7557600080fd5b505af1158015611a89573d6000803e3d6000fd5b505050506040513d6020811015611a9f57600080fd5b505114611b7f5781600160a060020a0316630f8a771e6040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015611ae457600080fd5b505af1158015611af8573d6000803e3d6000fd5b505050506040513d6020811015611b0e57600080fd5b50516040805160e060020a63095ea7b3028152600160a060020a03858116600483015260001960248301529151919092169163095ea7b391604480830192600092919082900301818387803b158015611b6657600080fd5b505af1158015611b7a573d6000803e3d6000fd5b505050505b81600160a060020a0316637f8661a1826040518263ffffffff1660e060020a02815260040180828152602001915050600060405180830381600087803b158015611bc857600080fd5b505af1158015611bdc573d6000803e3d6000fd5b5050505081600160a060020a0316637bd2bea76040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015611c1e57600080fd5b505af1158015611c32573d6000803e3d6000fd5b505050506040513d6020811015611c4857600080fd5b5051604080517f2e1a7d4d000000000000000000000000000000000000000000000000000000008152600481018690529051600160a060020a0390921691632e1a7d4d9160248082019260009290919082900301818387803b158015611cad57600080fd5b505af1158015611cc1573d6000803e3d6000fd5b505060405133925085156108fc02915085906000818181858888f193505050501580156104bc573d6000803e3d6000fd5b611cfd848483610ed9565b6104bf8484846118de565b60006b033b2e3c9fd0803ce8000000611d3a611d2485856125c0565b60026b033b2e3c9fd0803ce80000005b046125e8565b811515611d4357fe5b049392505050565b600081611d3a611d67856b033b2e3c9fd0803ce80000006125c0565b600285611d34565b60008060008086600160a060020a031663ace237f56040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015611db357600080fd5b505af1158015611dc7573d6000803e3d6000fd5b505050506040513d6020811015611ddd57600080fd5b5051604080517f59e02dd70000000000000000000000000000000000000000000000000000000081528151600160a060020a03909316926359e02dd7926004808401939192918290030181600087803b158015611e3957600080fd5b505af1158015611e4d573d6000803e3d6000fd5b505050506040513d6040811015611e6357600080fd5b5080516020909101519094509250828015611e7d57508315155b156110d157611e8c86856125f8565b9150600160a060020a038516156124bc5784600160a060020a031663ff1fd97488600160a060020a0316639166cba46040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015611eea57600080fd5b505af1158015611efe573d6000803e3d6000fd5b505050506040513d6020811015611f1457600080fd5b5051604080517f12d43a510000000000000000000000000000000000000000000000000000000081529051600160a060020a038c16916312d43a519160048083019260209291908290030181600087803b158015611f7157600080fd5b505af1158015611f85573d6000803e3d6000fd5b505050506040513d6020811015611f9b57600080fd5b50516040805160e060020a63ffffffff8616028152600160a060020a039384166004820152929091166024830152604482018690525160648083019260209291908290030181600087803b158015611ff257600080fd5b505af1158015612006573d6000803e3d6000fd5b505050506040513d602081101561201c57600080fd5b5051604080517f9166cba4000000000000000000000000000000000000000000000000000000008152905191925060001991600160a060020a038a1691639166cba49160048083019260209291908290030181600087803b15801561208057600080fd5b505af1158015612094573d6000803e3d6000fd5b505050506040513d60208110156120aa57600080fd5b50516040805160e160020a636eb1769f028152306004820152600160a060020a0389811660248301529151919092169163dd62ed3e9160448083019260209291908290030181600087803b15801561210157600080fd5b505af1158015612115573d6000803e3d6000fd5b505050506040513d602081101561212b57600080fd5b50511461220b5786600160a060020a0316639166cba46040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561217057600080fd5b505af1158015612184573d6000803e3d6000fd5b505050506040513d602081101561219a57600080fd5b50516040805160e060020a63095ea7b3028152600160a060020a03888116600483015260001960248301529151919092169163095ea7b391604480830192600092919082900301818387803b1580156121f257600080fd5b505af1158015612206573d6000803e3d6000fd5b505050505b86600160a060020a0316639166cba46040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561224957600080fd5b505af115801561225d573d6000803e3d6000fd5b505050506040513d602081101561227357600080fd5b5051604080517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018490529051600160a060020a03909216916323b872dd916064808201926020929091908290030181600087803b1580156122e557600080fd5b505af11580156122f9573d6000803e3d6000fd5b505050506040513d602081101561230f57600080fd5b5050604080517f12d43a510000000000000000000000000000000000000000000000000000000081529051600160a060020a0380881692638185402b92918b16916312d43a51916004808201926020929091908290030181600087803b15801561237857600080fd5b505af115801561238c573d6000803e3d6000fd5b505050506040513d60208110156123a257600080fd5b5051604080517f9166cba400000000000000000000000000000000000000000000000000000000815290518691600160a060020a038d1691639166cba4916004808201926020929091908290030181600087803b15801561240257600080fd5b505af1158015612416573d6000803e3d6000fd5b505050506040513d602081101561242c57600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015260248101939093529216604482015260648101859052905160848083019260209291908290030181600087803b15801561248a57600080fd5b505af115801561249e573d6000803e3d6000fd5b505050506040513d60208110156124b457600080fd5b506110d19050565b86600160a060020a03166312d43a516040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156124fa57600080fd5b505af115801561250e573d6000803e3d6000fd5b505050506040513d602081101561252457600080fd5b5051604080517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018590529051600160a060020a03909216916323b872dd916064808201926020929091908290030181600087803b15801561259657600080fd5b505af11580156125aa573d6000803e3d6000fd5b505050506040513d6020811015610ece57600080fd5b60008115806125dd5750508082028282828115156125da57fe5b04145b151561051557600080fd5b8082018281101561051557600080fd5b600081611d3a611d6785670de0b6b3a76400006125c05600a165627a7a723058204c430618e894df522e3f4e4367eb6d5e27e3010c833491487f809ef2716b3cbe0029

Deployed Bytecode

0x6080604052600436106100cc5763ffffffff60e060020a6000350416630344a36f81146100d15780631b968160146100fa5780631edf0c1e14610120578063516e9aec1461013a578063581f3c5014610163578063792037e3146101ad5780638a9fc475146101d8578063a3dc65a714610207578063b95460f81461022e578063bc244c111461024f578063bc25a81014610273578063d3140a651461028a578063da93dfcf146102a7578063eefe3818146102d2578063f9ef04be146102ec578063faed77ab14610313575b600080fd5b3480156100dd57600080fd5b506100f8600160a060020a0360043516602435604435610330565b005b6100f8600160a060020a03600435811690602435906044359060643590608435166104c5565b6100f8600160a060020a03600435166024356044356104e3565b610151600160a060020a03600435166024356104fd565b60408051918252519081900360200190f35b34801561016f57600080fd5b5061018a600160a060020a036004358116906024351661051b565b60408051600160a060020a03909316835260208301919091528051918290030190f35b3480156101b957600080fd5b506100f8600160a060020a03600435811690602435906044351661062e565b3480156101e457600080fd5b506100f8600160a060020a0360043581169060243590604435906064351661086a565b34801561021357600080fd5b506100f8600160a060020a0360043516602435604435610ed9565b34801561023a57600080fd5b50610151600160a060020a0360043516610ee6565b34801561025b57600080fd5b506100f8600160a060020a0360043516602435610f58565b6100f8600160a060020a03600435166024356110da565b61018a600160a060020a036004358116906024351660443561166e565b3480156102b357600080fd5b506100f8600160a060020a03600435811690602435906044351661178c565b61018a600160a060020a03600435811690602435166117e1565b3480156102f857600080fd5b506100f8600160a060020a03600435166024356044356118de565b6100f8600160a060020a0360043516602435604435606435611cf2565b6000808211156104bf5750604080517f440f19ba000000000000000000000000000000000000000000000000000000008152600481018490526024810183905290518491600160a060020a0383169163440f19ba9160448082019260009290919082900301818387803b1580156103a657600080fd5b505af11580156103ba573d6000803e3d6000fd5b5050505080600160a060020a0316639166cba46040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156103fc57600080fd5b505af1158015610410573d6000803e3d6000fd5b505050506040513d602081101561042657600080fd5b5051604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152336004820152602481018590529051600160a060020a039092169163a9059cbb916044808201926020929091908290030181600087803b15801561049257600080fd5b505af11580156104a6573d6000803e3d6000fd5b505050506040513d60208110156104bc57600080fd5b50505b50505050565b6104d18585848461086a565b6104dc8585856118de565b5050505050565b6104ed83836110da565b6104f8838383610330565b505050565b600061050883610ee6565b90506105158382846104e3565b92915050565b604080517ff3701da200000000000000000000000000000000000000000000000000000000815233600482015290516000918291600160a060020a0386169163f3701da291602480830192602092919082900301818787803b15801561058057600080fd5b505af1158015610594573d6000803e3d6000fd5b505050506040513d60208110156105aa57600080fd5b505191506105b783610ee6565b6040805160e260020a632eaa14a702815260048101839052600160a060020a03858116602483015291519293509085169163baa8529c9160448082019260009290919082900301818387803b15801561060f57600080fd5b505af1158015610623573d6000803e3d6000fd5b505050509250929050565b604080517f1f3634ed00000000000000000000000000000000000000000000000000000000815260048101849052905184916107eb918391869161075791600160a060020a03851691631f3634ed916024808201926020929091908290030181600087803b15801561069f57600080fd5b505af11580156106b3573d6000803e3d6000fd5b505050506040513d60208110156106c957600080fd5b5051604080517f7ec9c3b80000000000000000000000000000000000000000000000000000000081529051600160a060020a03881691637ec9c3b89160048083019260209291908290030181600087803b15801561072657600080fd5b505af115801561073a573d6000803e3d6000fd5b505050506040513d602081101561075057600080fd5b5051611d08565b604080517ff7c8d634000000000000000000000000000000000000000000000000000000008152600481018990529051600160a060020a0387169163f7c8d6349160248083019260209291908290030181600087803b1580156107b957600080fd5b505af11580156107cd573d6000803e3d6000fd5b505050506040513d60208110156107e357600080fd5b5051866104c5565b604080517fb84d2106000000000000000000000000000000000000000000000000000000008152600481018590529051600160a060020a0383169163b84d210691602480830192600092919082900301818387803b15801561084c57600080fd5b505af1158015610860573d6000803e3d6000fd5b5050505050505050565b6000808311156104dc5784905080600160a060020a0316639166cba46040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156108b557600080fd5b505af11580156108c9573d6000803e3d6000fd5b505050506040513d60208110156108df57600080fd5b5051604080517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018690529051600160a060020a03909216916323b872dd916064808201926020929091908290030181600087803b15801561095157600080fd5b505af1158015610965573d6000803e3d6000fd5b505050506040513d602081101561097b57600080fd5b5050604080517f6f78ee0d000000000000000000000000000000000000000000000000000000008152600481018690529051610aba918391610ab4918791610aaf91600160a060020a03861691636f78ee0d916024808201926020929091908290030181600087803b1580156109f057600080fd5b505af1158015610a04573d6000803e3d6000fd5b505050506040513d6020811015610a1a57600080fd5b5051604080517ff7c8d634000000000000000000000000000000000000000000000000000000008152600481018c90529051600160a060020a0389169163f7c8d6349160248083019260209291908290030181600087803b158015610a7e57600080fd5b505af1158015610a92573d6000803e3d6000fd5b505050506040513d6020811015610aa857600080fd5b5051611d4b565b611d08565b84611d6f565b60001981600160a060020a0316639166cba46040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610afb57600080fd5b505af1158015610b0f573d6000803e3d6000fd5b505050506040513d6020811015610b2557600080fd5b50516040805160e160020a636eb1769f028152306004820152600160a060020a0385811660248301529151919092169163dd62ed3e9160448083019260209291908290030181600087803b158015610b7c57600080fd5b505af1158015610b90573d6000803e3d6000fd5b505050506040513d6020811015610ba657600080fd5b505114610c865780600160a060020a0316639166cba46040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610beb57600080fd5b505af1158015610bff573d6000803e3d6000fd5b505050506040513d6020811015610c1557600080fd5b50516040805160e060020a63095ea7b3028152600160a060020a03848116600483015260001960248301529151919092169163095ea7b391604480830192600092919082900301818387803b158015610c6d57600080fd5b505af1158015610c81573d6000803e3d6000fd5b505050505b60001981600160a060020a03166312d43a516040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610cc757600080fd5b505af1158015610cdb573d6000803e3d6000fd5b505050506040513d6020811015610cf157600080fd5b50516040805160e160020a636eb1769f028152306004820152600160a060020a0385811660248301529151919092169163dd62ed3e9160448083019260209291908290030181600087803b158015610d4857600080fd5b505af1158015610d5c573d6000803e3d6000fd5b505050506040513d6020811015610d7257600080fd5b505114610e525780600160a060020a03166312d43a516040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610db757600080fd5b505af1158015610dcb573d6000803e3d6000fd5b505050506040513d6020811015610de157600080fd5b50516040805160e060020a63095ea7b3028152600160a060020a03848116600483015260001960248301529151919092169163095ea7b391604480830192600092919082900301818387803b158015610e3957600080fd5b505af1158015610e4d573d6000803e3d6000fd5b505050505b604080517f73b3810100000000000000000000000000000000000000000000000000000000815260048101869052602481018590529051600160a060020a038316916373b3810191604480830192600092919082900301818387803b158015610eba57600080fd5b505af1158015610ece573d6000803e3d6000fd5b505050505050505050565b6104f8838383600061086a565b600081600160a060020a031663fcfff16f6040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610f2657600080fd5b505af1158015610f3a573d6000803e3d6000fd5b505050506040513d6020811015610f5057600080fd5b505192915050565b604080517f1f3634ed000000000000000000000000000000000000000000000000000000008152600481018390529051839161105c9183918591610fc991600160a060020a03851691631f3634ed916024808201926020929091908290030181600087803b15801561069f57600080fd5b604080517ff7c8d634000000000000000000000000000000000000000000000000000000008152600481018890529051600160a060020a0387169163f7c8d6349160248083019260209291908290030181600087803b15801561102b57600080fd5b505af115801561103f573d6000803e3d6000fd5b505050506040513d602081101561105557600080fd5b5051611cf2565b604080517fb84d2106000000000000000000000000000000000000000000000000000000008152600481018490529051600160a060020a0383169163b84d210691602480830192600092919082900301818387803b1580156110bd57600080fd5b505af11580156110d1573d6000803e3d6000fd5b50505050505050565b60008060003411156104bf5783915081600160a060020a0316637bd2bea76040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561112757600080fd5b505af115801561113b573d6000803e3d6000fd5b505050506040513d602081101561115157600080fd5b5051604080517fd0e30db00000000000000000000000000000000000000000000000000000000081529051600160a060020a039092169163d0e30db0913491600480830192600092919082900301818588803b1580156111b057600080fd5b505af11580156111c4573d6000803e3d6000fd5b505050505061120b3483600160a060020a0316637ec9c3b86040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610a7e57600080fd5b905060001982600160a060020a0316637bd2bea76040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561124e57600080fd5b505af1158015611262573d6000803e3d6000fd5b505050506040513d602081101561127857600080fd5b50516040805160e160020a636eb1769f028152306004820152600160a060020a0386811660248301529151919092169163dd62ed3e9160448083019260209291908290030181600087803b1580156112cf57600080fd5b505af11580156112e3573d6000803e3d6000fd5b505050506040513d60208110156112f957600080fd5b5051146113d95781600160a060020a0316637bd2bea76040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561133e57600080fd5b505af1158015611352573d6000803e3d6000fd5b505050506040513d602081101561136857600080fd5b50516040805160e060020a63095ea7b3028152600160a060020a03858116600483015260001960248301529151919092169163095ea7b391604480830192600092919082900301818387803b1580156113c057600080fd5b505af11580156113d4573d6000803e3d6000fd5b505050505b81600160a060020a031663049878f3826040518263ffffffff1660e060020a02815260040180828152602001915050600060405180830381600087803b15801561142257600080fd5b505af1158015611436573d6000803e3d6000fd5b5050505060001982600160a060020a0316630f8a771e6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561147b57600080fd5b505af115801561148f573d6000803e3d6000fd5b505050506040513d60208110156114a557600080fd5b50516040805160e160020a636eb1769f028152306004820152600160a060020a0386811660248301529151919092169163dd62ed3e9160448083019260209291908290030181600087803b1580156114fc57600080fd5b505af1158015611510573d6000803e3d6000fd5b505050506040513d602081101561152657600080fd5b5051146116065781600160a060020a0316630f8a771e6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561156b57600080fd5b505af115801561157f573d6000803e3d6000fd5b505050506040513d602081101561159557600080fd5b50516040805160e060020a63095ea7b3028152600160a060020a03858116600483015260001960248301529151919092169163095ea7b391604480830192600092919082900301818387803b1580156115ed57600080fd5b505af1158015611601573d6000803e3d6000fd5b505050505b604080517fb3b77a5100000000000000000000000000000000000000000000000000000000815260048101859052602481018390529051600160a060020a0384169163b3b77a5191604480830192600092919082900301818387803b15801561084c57600080fd5b604080517ff3701da200000000000000000000000000000000000000000000000000000000815233600482015290516000918291600160a060020a0387169163f3701da291602480830192602092919082900301818787803b1580156116d357600080fd5b505af11580156116e7573d6000803e3d6000fd5b505050506040513d60208110156116fd57600080fd5b5051915061170a84610ee6565b90506117178482856104e3565b6040805160e260020a632eaa14a702815260048101839052600160a060020a03848116602483015291519186169163baa8529c9160448082019260009290919082900301818387803b15801561176c57600080fd5b505af1158015611780573d6000803e3d6000fd5b50505050935093915050565b6040805160e260020a632eaa14a702815260048101849052600160a060020a03838116602483015291519185169163baa8529c9160448082019260009290919082900301818387803b1580156110bd57600080fd5b604080517ff3701da200000000000000000000000000000000000000000000000000000000815233600482015290516000918291600160a060020a0386169163f3701da291602480830192602092919082900301818787803b15801561184657600080fd5b505af115801561185a573d6000803e3d6000fd5b505050506040513d602081101561187057600080fd5b5051915061187d83610ee6565b905061188983826110da565b6040805160e260020a632eaa14a702815260048101839052600160a060020a03848116602483015291519185169163baa8529c9160448082019260009290919082900301818387803b15801561060f57600080fd5b60008060008311156104dc5784915061192f8383600160a060020a0316637ec9c3b86040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610a7e57600080fd5b604080517fa5cd184e00000000000000000000000000000000000000000000000000000000815260048101879052602481018390529051919250600160a060020a0384169163a5cd184e9160448082019260009290919082900301818387803b15801561199b57600080fd5b505af11580156119af573d6000803e3d6000fd5b5050505060001982600160a060020a0316630f8a771e6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156119f457600080fd5b505af1158015611a08573d6000803e3d6000fd5b505050506040513d6020811015611a1e57600080fd5b50516040805160e160020a636eb1769f028152306004820152600160a060020a0386811660248301529151919092169163dd62ed3e9160448083019260209291908290030181600087803b158015611a7557600080fd5b505af1158015611a89573d6000803e3d6000fd5b505050506040513d6020811015611a9f57600080fd5b505114611b7f5781600160a060020a0316630f8a771e6040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015611ae457600080fd5b505af1158015611af8573d6000803e3d6000fd5b505050506040513d6020811015611b0e57600080fd5b50516040805160e060020a63095ea7b3028152600160a060020a03858116600483015260001960248301529151919092169163095ea7b391604480830192600092919082900301818387803b158015611b6657600080fd5b505af1158015611b7a573d6000803e3d6000fd5b505050505b81600160a060020a0316637f8661a1826040518263ffffffff1660e060020a02815260040180828152602001915050600060405180830381600087803b158015611bc857600080fd5b505af1158015611bdc573d6000803e3d6000fd5b5050505081600160a060020a0316637bd2bea76040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015611c1e57600080fd5b505af1158015611c32573d6000803e3d6000fd5b505050506040513d6020811015611c4857600080fd5b5051604080517f2e1a7d4d000000000000000000000000000000000000000000000000000000008152600481018690529051600160a060020a0390921691632e1a7d4d9160248082019260009290919082900301818387803b158015611cad57600080fd5b505af1158015611cc1573d6000803e3d6000fd5b505060405133925085156108fc02915085906000818181858888f193505050501580156104bc573d6000803e3d6000fd5b611cfd848483610ed9565b6104bf8484846118de565b60006b033b2e3c9fd0803ce8000000611d3a611d2485856125c0565b60026b033b2e3c9fd0803ce80000005b046125e8565b811515611d4357fe5b049392505050565b600081611d3a611d67856b033b2e3c9fd0803ce80000006125c0565b600285611d34565b60008060008086600160a060020a031663ace237f56040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015611db357600080fd5b505af1158015611dc7573d6000803e3d6000fd5b505050506040513d6020811015611ddd57600080fd5b5051604080517f59e02dd70000000000000000000000000000000000000000000000000000000081528151600160a060020a03909316926359e02dd7926004808401939192918290030181600087803b158015611e3957600080fd5b505af1158015611e4d573d6000803e3d6000fd5b505050506040513d6040811015611e6357600080fd5b5080516020909101519094509250828015611e7d57508315155b156110d157611e8c86856125f8565b9150600160a060020a038516156124bc5784600160a060020a031663ff1fd97488600160a060020a0316639166cba46040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015611eea57600080fd5b505af1158015611efe573d6000803e3d6000fd5b505050506040513d6020811015611f1457600080fd5b5051604080517f12d43a510000000000000000000000000000000000000000000000000000000081529051600160a060020a038c16916312d43a519160048083019260209291908290030181600087803b158015611f7157600080fd5b505af1158015611f85573d6000803e3d6000fd5b505050506040513d6020811015611f9b57600080fd5b50516040805160e060020a63ffffffff8616028152600160a060020a039384166004820152929091166024830152604482018690525160648083019260209291908290030181600087803b158015611ff257600080fd5b505af1158015612006573d6000803e3d6000fd5b505050506040513d602081101561201c57600080fd5b5051604080517f9166cba4000000000000000000000000000000000000000000000000000000008152905191925060001991600160a060020a038a1691639166cba49160048083019260209291908290030181600087803b15801561208057600080fd5b505af1158015612094573d6000803e3d6000fd5b505050506040513d60208110156120aa57600080fd5b50516040805160e160020a636eb1769f028152306004820152600160a060020a0389811660248301529151919092169163dd62ed3e9160448083019260209291908290030181600087803b15801561210157600080fd5b505af1158015612115573d6000803e3d6000fd5b505050506040513d602081101561212b57600080fd5b50511461220b5786600160a060020a0316639166cba46040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561217057600080fd5b505af1158015612184573d6000803e3d6000fd5b505050506040513d602081101561219a57600080fd5b50516040805160e060020a63095ea7b3028152600160a060020a03888116600483015260001960248301529151919092169163095ea7b391604480830192600092919082900301818387803b1580156121f257600080fd5b505af1158015612206573d6000803e3d6000fd5b505050505b86600160a060020a0316639166cba46040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561224957600080fd5b505af115801561225d573d6000803e3d6000fd5b505050506040513d602081101561227357600080fd5b5051604080517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018490529051600160a060020a03909216916323b872dd916064808201926020929091908290030181600087803b1580156122e557600080fd5b505af11580156122f9573d6000803e3d6000fd5b505050506040513d602081101561230f57600080fd5b5050604080517f12d43a510000000000000000000000000000000000000000000000000000000081529051600160a060020a0380881692638185402b92918b16916312d43a51916004808201926020929091908290030181600087803b15801561237857600080fd5b505af115801561238c573d6000803e3d6000fd5b505050506040513d60208110156123a257600080fd5b5051604080517f9166cba400000000000000000000000000000000000000000000000000000000815290518691600160a060020a038d1691639166cba4916004808201926020929091908290030181600087803b15801561240257600080fd5b505af1158015612416573d6000803e3d6000fd5b505050506040513d602081101561242c57600080fd5b50516040805160e060020a63ffffffff8716028152600160a060020a03948516600482015260248101939093529216604482015260648101859052905160848083019260209291908290030181600087803b15801561248a57600080fd5b505af115801561249e573d6000803e3d6000fd5b505050506040513d60208110156124b457600080fd5b506110d19050565b86600160a060020a03166312d43a516040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156124fa57600080fd5b505af115801561250e573d6000803e3d6000fd5b505050506040513d602081101561252457600080fd5b5051604080517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018590529051600160a060020a03909216916323b872dd916064808201926020929091908290030181600087803b15801561259657600080fd5b505af11580156125aa573d6000803e3d6000fd5b505050506040513d6020811015610ece57600080fd5b60008115806125dd5750508082028282828115156125da57fe5b04145b151561051557600080fd5b8082018281101561051557600080fd5b600081611d3a611d6785670de0b6b3a76400006125c05600a165627a7a723058204c430618e894df522e3f4e4367eb6d5e27e3010c833491487f809ef2716b3cbe0029

Swarm Source

bzzr://4c430618e894df522e3f4e4367eb6d5e27e3010c833491487f809ef2716b3cbe

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

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