ETH Price: $3,831.34 (+0.52%)
Gas: 11 Gwei

Contract

0xd64979357160E8146F6e1d805cf20437397bF1ba
 
Transaction Hash
Method
Block
From
To
Value
Create Open And ...95647212020-02-27 8:52:591557 days ago1582793579IN
0xd6497935...7397bF1ba
0 ETH0.001344892.1
Create Open And ...93199262020-01-20 18:15:041595 days ago1579544104IN
0xd6497935...7397bF1ba
0 ETH0.000640421
Create Open And ...91233182019-12-18 1:36:061629 days ago1576632966IN
0xd6497935...7397bF1ba
0 ETH0.0064042810
Create And Open90970452019-12-12 23:39:011634 days ago1576193941IN
0xd6497935...7397bF1ba
0 ETH0.000640181
Create Open Lock...89666792019-11-20 5:47:021657 days ago1574228822IN
0xd6497935...7397bF1ba
0.019 ETH0.0094044210
Create Open Lock...88768722019-11-05 9:52:151671 days ago1572947535IN
0xd6497935...7397bF1ba
0.5 ETH0.0095497810
Create And Open88762862019-11-05 7:33:201671 days ago1572939200IN
0xd6497935...7397bF1ba
0 ETH0.0064127610
Create Open And ...88757812019-11-05 5:36:151672 days ago1572932175IN
0xd6497935...7397bF1ba
0.1 ETH0.002348243
Create Open And ...88479752019-10-31 18:14:051676 days ago1572545645IN
0xd6497935...7397bF1ba
1 ETH0.0117412315
Create Open Lock...87971882019-10-23 14:15:321684 days ago1571840132IN
0xd6497935...7397bF1ba
35 ETH0.0187738220
Create Open Lock...87835062019-10-21 10:48:451686 days ago1571654925IN
0xd6497935...7397bF1ba
0.006 ETH0.0140750115
Create Open Lock...87709482019-10-19 11:16:501688 days ago1571483810IN
0xd6497935...7397bF1ba
0.5 ETH0.0113732612.12
Create Open Lock...87646052019-10-18 11:27:381689 days ago1571398058IN
0xd6497935...7397bF1ba
9 ETH0.0124020513
Create Open Lock...87637602019-10-18 8:21:401689 days ago1571386900IN
0xd6497935...7397bF1ba
4 ETH0.0095377610
Create Open Lock...87575792019-10-17 8:42:511690 days ago1571301771IN
0xd6497935...7397bF1ba
2 ETH0.0095332310
Create Open Lock...87466282019-10-15 15:19:151692 days ago1571152755IN
0xd6497935...7397bF1ba
0.03 ETH0.0140750115
Create Open Lock...87446742019-10-15 8:00:191692 days ago1571126419IN
0xd6497935...7397bF1ba
0.0055 ETH0.00937210
Create And Open86692082019-10-03 12:31:551704 days ago1570105915IN
0xd6497935...7397bF1ba
0 ETH0.005856159.13203161
Create Open Lock...86208522019-09-25 22:37:271712 days ago1569451047IN
0xd6497935...7397bF1ba
20 ETH0.0143257915
Create Open Lock...86125412019-09-24 15:27:351713 days ago1569338855IN
0xd6497935...7397bF1ba
100 ETH0.0175629418.42768112
Create Open Lock...85623712019-09-16 19:28:071721 days ago1568662087IN
0xd6497935...7397bF1ba
1 ETH0.018760220
Create Open Lock...85410772019-09-13 11:35:321724 days ago1568374532IN
0xd6497935...7397bF1ba
0.4 ETH0.0199925720.995
Create Open Lock...85360052019-09-12 16:32:461725 days ago1568305966IN
0xd6497935...7397bF1ba
0.025 ETH0.0140476315
Create Open Lock...85229302019-09-10 15:37:431727 days ago1568129863IN
0xd6497935...7397bF1ba
0.05 ETH0.0191029820
Create Open Lock...85091942019-09-08 12:11:121729 days ago1567944672IN
0xd6497935...7397bF1ba
0.33 ETH0.0188589719.734
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To Value
89666792019-11-20 5:47:021657 days ago1574228822
0xd6497935...7397bF1ba
0.019 ETH
89627282019-11-19 13:47:121657 days ago1574171232
0xd6497935...7397bF1ba
0.1 ETH
89627282019-11-19 13:47:121657 days ago1574171232
0xd6497935...7397bF1ba
0.1 ETH
89154622019-11-11 16:40:501665 days ago1573490450
0xd6497935...7397bF1ba
0.05 ETH
89154622019-11-11 16:40:501665 days ago1573490450
0xd6497935...7397bF1ba
0.05 ETH
89149802019-11-11 14:42:461665 days ago1573483366
0xd6497935...7397bF1ba
0.06 ETH
89149802019-11-11 14:42:461665 days ago1573483366
0xd6497935...7397bF1ba
0.06 ETH
88964332019-11-08 13:22:271668 days ago1573219347
0xd6497935...7397bF1ba
0.06 ETH
88960402019-11-08 11:50:541668 days ago1573213854
0xd6497935...7397bF1ba
0.05 ETH
88768722019-11-05 9:52:151671 days ago1572947535
0xd6497935...7397bF1ba
0.5 ETH
88757812019-11-05 5:36:151672 days ago1572932175
0xd6497935...7397bF1ba
0.1 ETH
88479752019-10-31 18:14:051676 days ago1572545645
0xd6497935...7397bF1ba
1 ETH
87971882019-10-23 14:15:321684 days ago1571840132
0xd6497935...7397bF1ba
35 ETH
87835062019-10-21 10:48:451686 days ago1571654925
0xd6497935...7397bF1ba
0.006 ETH
87709482019-10-19 11:16:501688 days ago1571483810
0xd6497935...7397bF1ba
0.5 ETH
87646052019-10-18 11:27:381689 days ago1571398058
0xd6497935...7397bF1ba
9 ETH
87637602019-10-18 8:21:401689 days ago1571386900
0xd6497935...7397bF1ba
4 ETH
87575792019-10-17 8:42:511690 days ago1571301771
0xd6497935...7397bF1ba
2 ETH
87466282019-10-15 15:19:151692 days ago1571152755
0xd6497935...7397bF1ba
0.03 ETH
87446742019-10-15 8:00:191692 days ago1571126419
0xd6497935...7397bF1ba
0.0055 ETH
86208522019-09-25 22:37:271712 days ago1569451047
0xd6497935...7397bF1ba
20 ETH
86125412019-09-24 15:27:351713 days ago1569338855
0xd6497935...7397bF1ba
100 ETH
85623712019-09-16 19:28:071721 days ago1568662087
0xd6497935...7397bF1ba
1 ETH
85410772019-09-13 11:35:321724 days ago1568374532
0xd6497935...7397bF1ba
0.4 ETH
85360052019-09-12 16:32:461725 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

[{"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
[ 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.