ETH Price: $3,789.75 (+22.47%)
Gas: 14 Gwei

Contract

0x729D19f657BD0614b4985Cf1D82531c67569197B
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
Poke174887162023-06-16 0:03:23340 days ago1686873803IN
Maker: Medianizer 2
0 ETH0.0007128415.38949881
Poke168319052023-03-15 7:45:35433 days ago1678866335IN
Maker: Medianizer 2
0 ETH0.0009677720.89321425
Poke161325922022-12-07 11:40:47531 days ago1670413247IN
Maker: Medianizer 2
0 ETH0.0006716714.50082508
Poke130382422021-08-16 19:47:511008 days ago1629143271IN
Maker: Medianizer 2
0 ETH0.0025939256
Poke127463632021-07-02 5:36:531054 days ago1625204213IN
Maker: Medianizer 2
0 ETH0.0005095211
Poke127417672021-07-01 12:27:451054 days ago1625142465IN
Maker: Medianizer 2
0 ETH0.0005558412
Poke127414802021-07-01 11:27:561055 days ago1625138876IN
Maker: Medianizer 2
0 ETH0.000652815
Poke127412142021-07-01 10:27:451055 days ago1625135265IN
Maker: Medianizer 2
0 ETH0.0004787211
Poke127409162021-07-01 9:27:521055 days ago1625131672IN
Maker: Medianizer 2
0 ETH0.000782816.9
Poke127406742021-07-01 8:27:591055 days ago1625128079IN
Maker: Medianizer 2
0 ETH0.0006963216
Poke127404232021-07-01 7:27:361055 days ago1625124456IN
Maker: Medianizer 2
0 ETH0.0006577414.2
Poke127401572021-07-01 6:27:491055 days ago1625120869IN
Maker: Medianizer 2
0 ETH0.000694815
Poke127398942021-07-01 5:27:531055 days ago1625117273IN
Maker: Medianizer 2
0 ETH0.0006092814
Poke127396512021-07-01 4:27:531055 days ago1625113673IN
Maker: Medianizer 2
0 ETH0.0008268819
Poke127394072021-07-01 3:27:531055 days ago1625110073IN
Maker: Medianizer 2
0 ETH0.0008337618
Poke127391372021-07-01 2:29:111055 days ago1625106551IN
Maker: Medianizer 2
0 ETH0.0009574422
Poke127388782021-07-01 1:27:561055 days ago1625102876IN
Maker: Medianizer 2
0 ETH0.0011750427
Poke127386292021-07-01 0:27:451055 days ago1625099265IN
Maker: Medianizer 2
0 ETH0.0008268819
Poke127383692021-06-30 23:28:311055 days ago1625095711IN
Maker: Medianizer 2
0 ETH0.0007642816.5
Poke127380822021-06-30 22:27:581055 days ago1625092078IN
Maker: Medianizer 2
0 ETH0.0017190439.5
Poke127378182021-06-30 21:28:001055 days ago1625088480IN
Maker: Medianizer 2
0 ETH0.0016102437
Poke127375522021-06-30 20:27:531055 days ago1625084873IN
Maker: Medianizer 2
0 ETH0.0019454442
Poke127373442021-06-30 19:42:021055 days ago1625082122IN
Maker: Medianizer 2
0 ETH0.00347475
Poke127369882021-06-30 18:27:551055 days ago1625077675IN
Maker: Medianizer 2
0 ETH0.0011315226
Poke127367032021-06-30 17:27:391055 days ago1625074059IN
Maker: Medianizer 2
0 ETH0.0035033680.5
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Medianizer

Compiler Version
v0.4.10+commit.f0d539ae

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2017-05-10
*/

/// return median value of feeds

// Copyright (C) 2017  DappHub, LLC

// Licensed under the Apache License, Version 2.0 (the "License").
// You may not use this file except in compliance with the License.

// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND (express or implied).

pragma solidity ^0.4.8;

contract DSAuthority {
    function canCall(
        address src, address dst, bytes4 sig
    ) constant returns (bool);
}

contract DSAuthEvents {
    event LogSetAuthority (address indexed authority);
    event LogSetOwner     (address indexed owner);
}

contract DSAuth is DSAuthEvents {
    DSAuthority  public  authority;
    address      public  owner;

    function DSAuth() {
        owner = msg.sender;
        LogSetOwner(msg.sender);
    }

    function setOwner(address owner_)
        auth
    {
        owner = owner_;
        LogSetOwner(owner);
    }

    function setAuthority(DSAuthority authority_)
        auth
    {
        authority = authority_;
        LogSetAuthority(authority);
    }

    modifier auth {
        assert(isAuthorized(msg.sender, msg.sig));
        _;
    }

    modifier authorized(bytes4 sig) {
        assert(isAuthorized(msg.sender, sig));
        _;
    }

    function isAuthorized(address src, bytes4 sig) internal returns (bool) {
        if (src == address(this)) {
            return true;
        } else if (src == owner) {
            return true;
        } else if (authority == DSAuthority(0)) {
            return false;
        } else {
            return authority.canCall(src, this, sig);
        }
    }

    function assert(bool x) internal {
        if (!x) throw;
    }
}

contract DSNote {
    event LogNote(
        bytes4   indexed  sig,
        address  indexed  guy,
        bytes32  indexed  foo,
        bytes32  indexed  bar,
	uint	 	  wad,
        bytes             fax
    ) anonymous;

    modifier note {
        bytes32 foo;
        bytes32 bar;

        assembly {
            foo := calldataload(4)
            bar := calldataload(36)
        }

        LogNote(msg.sig, msg.sender, foo, bar, msg.value, msg.data);

        _;
    }
}

contract DSMath {
    
    /*
    standard uint256 functions
     */

    function add(uint256 x, uint256 y) constant internal returns (uint256 z) {
        assert((z = x + y) >= x);
    }

    function sub(uint256 x, uint256 y) constant internal returns (uint256 z) {
        assert((z = x - y) <= x);
    }

    function mul(uint256 x, uint256 y) constant internal returns (uint256 z) {
        assert((z = x * y) >= x);
    }

    function div(uint256 x, uint256 y) constant internal returns (uint256 z) {
        z = x / y;
    }

    function min(uint256 x, uint256 y) constant internal returns (uint256 z) {
        return x <= y ? x : y;
    }
    function max(uint256 x, uint256 y) constant internal returns (uint256 z) {
        return x >= y ? x : y;
    }

    /*
    uint128 functions (h is for half)
     */


    function hadd(uint128 x, uint128 y) constant internal returns (uint128 z) {
        assert((z = x + y) >= x);
    }

    function hsub(uint128 x, uint128 y) constant internal returns (uint128 z) {
        assert((z = x - y) <= x);
    }

    function hmul(uint128 x, uint128 y) constant internal returns (uint128 z) {
        assert((z = x * y) >= x);
    }

    function hdiv(uint128 x, uint128 y) constant internal returns (uint128 z) {
        z = x / y;
    }

    function hmin(uint128 x, uint128 y) constant internal returns (uint128 z) {
        return x <= y ? x : y;
    }
    function hmax(uint128 x, uint128 y) constant internal returns (uint128 z) {
        return x >= y ? x : y;
    }


    /*
    int256 functions
     */

    function imin(int256 x, int256 y) constant internal returns (int256 z) {
        return x <= y ? x : y;
    }
    function imax(int256 x, int256 y) constant internal returns (int256 z) {
        return x >= y ? x : y;
    }

    /*
    WAD math
     */

    uint128 constant WAD = 10 ** 18;

    function wadd(uint128 x, uint128 y) constant internal returns (uint128) {
        return hadd(x, y);
    }

    function wsub(uint128 x, uint128 y) constant internal returns (uint128) {
        return hsub(x, y);
    }

    function wmul(uint128 x, uint128 y) constant internal returns (uint128 z) {
        z = cast((uint256(x) * y + WAD / 2) / WAD);
    }

    function wdiv(uint128 x, uint128 y) constant internal returns (uint128 z) {
        z = cast((uint256(x) * WAD + y / 2) / y);
    }

    function wmin(uint128 x, uint128 y) constant internal returns (uint128) {
        return hmin(x, y);
    }
    function wmax(uint128 x, uint128 y) constant internal returns (uint128) {
        return hmax(x, y);
    }

    /*
    RAY math
     */

    uint128 constant RAY = 10 ** 27;

    function radd(uint128 x, uint128 y) constant internal returns (uint128) {
        return hadd(x, y);
    }

    function rsub(uint128 x, uint128 y) constant internal returns (uint128) {
        return hsub(x, y);
    }

    function rmul(uint128 x, uint128 y) constant internal returns (uint128 z) {
        z = cast((uint256(x) * y + RAY / 2) / RAY);
    }

    function rdiv(uint128 x, uint128 y) constant internal returns (uint128 z) {
        z = cast((uint256(x) * RAY + y / 2) / y);
    }

    function rpow(uint128 x, uint64 n) constant internal returns (uint128 z) {
        // 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].

        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);
            }
        }
    }

    function rmin(uint128 x, uint128 y) constant internal returns (uint128) {
        return hmin(x, y);
    }
    function rmax(uint128 x, uint128 y) constant internal returns (uint128) {
        return hmax(x, y);
    }

    function cast(uint256 x) constant internal returns (uint128 z) {
        assert((z = uint128(x)) == x);
    }

}

contract DSThing is DSAuth, DSNote, DSMath {
}

contract DSValue is DSThing {
    bool    has;
    bytes32 val;
    function peek() constant returns (bytes32, bool) {
        return (val,has);
    }
    function read() constant returns (bytes32) {
        var (wut, has) = peek();
        assert(has);
        return wut;
    }
    function poke(bytes32 wut) note auth {
        val = wut;
        has = true;
    }
    function void() note auth { // unset the value
        has = false;
    }
}

contract Medianizer is DSValue {
    mapping (bytes12 => address) public values;
    mapping (address => bytes12) public indexes;
    bytes12 public next = 0x1;

    uint96 public min = 0x1;

    function set(address wat) auth {
        bytes12 nextId = bytes12(uint96(next) + 1);
        assert(nextId != 0x0);
        set(next, wat);
        next = nextId;
    }

    function set(bytes12 pos, address wat) note auth {
        if (pos == 0x0) throw;

        if (wat != 0 && indexes[wat] != 0) throw;

        indexes[values[pos]] = 0; // Making sure to remove a possible existing address in that position

        if (wat != 0) {
            indexes[wat] = pos;
        }

        values[pos] = wat;
    }

    function setMin(uint96 min_) note auth {
        if (min_ == 0x0) throw;
        min = min_;
    }

    function setNext(bytes12 next_) note auth {
        if (next_ == 0x0) throw;
        next = next_;
    }

    function unset(bytes12 pos) {
        set(pos, 0);
    }

    function unset(address wat) {
        set(indexes[wat], 0);
    }

    function poke() {
        poke(0);
    }

    function poke(bytes32) note {
        (val, has) = compute();
    }

    function compute() constant returns (bytes32, bool) {
        bytes32[] memory wuts = new bytes32[](uint96(next) - 1);
        uint96 ctr = 0;
        for (uint96 i = 1; i < uint96(next); i++) {
            if (values[bytes12(i)] != 0) {
                var (wut, wuz) = DSValue(values[bytes12(i)]).peek();
                if (wuz) {
                    if (ctr == 0 || wut >= wuts[ctr - 1]) {
                        wuts[ctr] = wut;
                    } else {
                        uint96 j = 0;
                        while (wut >= wuts[j]) {
                            j++;
                        }
                        for (uint96 k = ctr; k > j; k--) {
                            wuts[k] = wuts[k - 1];
                        }
                        wuts[j] = wut;
                    }
                    ctr++;
                }
            }
        }

        if (ctr < min) return (val, false);

        bytes32 value;
        if (ctr % 2 == 0) {
            uint128 val1 = uint128(wuts[(ctr / 2) - 1]);
            uint128 val2 = uint128(wuts[ctr / 2]);
            value = bytes32(wdiv(hadd(val1, val2), 2 ether));
        } else {
            value = wuts[(ctr - 1) / 2];
        }

        return (value, true);
    }

}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"owner_","type":"address"}],"name":"setOwner","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"","type":"bytes32"}],"name":"poke","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"poke","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"compute","outputs":[{"name":"","type":"bytes32"},{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"wat","type":"address"}],"name":"set","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"wat","type":"address"}],"name":"unset","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"indexes","outputs":[{"name":"","type":"bytes12"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"next","outputs":[{"name":"","type":"bytes12"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"read","outputs":[{"name":"","type":"bytes32"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"peek","outputs":[{"name":"","type":"bytes32"},{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes12"}],"name":"values","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"min_","type":"uint96"}],"name":"setMin","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"authority_","type":"address"}],"name":"setAuthority","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"void","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"pos","type":"bytes12"},{"name":"wat","type":"address"}],"name":"set","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"authority","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"pos","type":"bytes12"}],"name":"unset","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"next_","type":"bytes12"}],"name":"setNext","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"min","outputs":[{"name":"","type":"uint96"}],"payable":false,"type":"function"},{"anonymous":true,"inputs":[{"indexed":true,"name":"sig","type":"bytes4"},{"indexed":true,"name":"guy","type":"address"},{"indexed":true,"name":"foo","type":"bytes32"},{"indexed":true,"name":"bar","type":"bytes32"},{"indexed":false,"name":"wad","type":"uint256"},{"indexed":false,"name":"fax","type":"bytes"}],"name":"LogNote","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"authority","type":"address"}],"name":"LogSetAuthority","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"}],"name":"LogSetOwner","type":"event"}]

606060405260058054606060020a60c060020a03196001606060020a0319909116600117166c010000000000000000000000001790555b60018054600160a060020a03191633600160a060020a03169081179091556040517fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a25b5b610fff8061008e6000396000f300606060405236156100f65763ffffffff60e060020a60003504166313af403581146100f85780631504460f14610116578063181783581461012b5780631a43c3381461013d5780632801617e146101665780632966d1b9146101845780632db78d93146101a25780634c8fe526146101db57806357de26a41461020857806359e02dd71461022a578063651dd0de146102535780636ba5ef0d1461028c5780637a9e5e4b146102aa5780638da5cb5b146102c8578063ac4c25b2146102f4578063beb38b4314610306578063bf7e214f14610331578063e0a1fdad1461035d578063f2c5925d1461037c578063f88979451461039b575bfe5b341561010057fe5b610114600160a060020a03600435166103c7565b005b341561011e57fe5b610114600435610437565b005b341561013357fe5b6101146104d0565b005b341561014557fe5b61014d6104dd565b6040805192835290151560208301528051918290030190f35b341561016e57fe5b610114600160a060020a03600435166108a4565b005b341561018c57fe5b610114600160a060020a0360043516610922565b005b34156101aa57fe5b6101be600160a060020a0360043516610951565b60408051600160a060020a03199092168252519081900360200190f35b34156101e357fe5b6101be610969565b60408051600160a060020a03199092168252519081900360200190f35b341561021057fe5b610218610975565b60408051918252519081900360200190f35b341561023257fe5b61014d610999565b6040805192835290151560208301528051918290030190f35b341561025b57fe5b610270600160a060020a0319600435166109ae565b60408051600160a060020a039092168252519081900360200190f35b341561029457fe5b6101146001606060020a03600435166109c9565b005b34156102b257fe5b610114600160a060020a0360043516610a91565b005b34156102d057fe5b610270610afd565b60408051600160a060020a039092168252519081900360200190f35b34156102fc57fe5b610114610b0c565b005b341561030e57fe5b610114600160a060020a031960043516602435600160a060020a0316610ba9565b005b341561033957fe5b610270610d37565b60408051600160a060020a039092168252519081900360200190f35b341561036557fe5b610114600160a060020a031960043516610d46565b005b341561038457fe5b610114600160a060020a031960043516610d55565b005b34156103a357fe5b6103ab610e09565b604080516001606060020a039092168252519081900360200190f35b6103e56103e033600035600160e060020a031916610e1f565b610f24565b60018054600160a060020a031916600160a060020a0383811691909117918290556040519116907fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a25b5b50565b6040805134808252602082018381523693830184905260043593602435938493869333600160a060020a03169360008035600160e060020a031916949092606082018484808284376040519201829003965090945050505050a46104996104dd565b6001805491151560a060020a0274ff0000000000000000000000000000000000000000199092169190911790556002555b5b505050565b6104da6000610437565b5b565b600060006104e9610fc1565b6000600060006000600060006000600060006001600560009054906101000a900460a060020a0260a060020a9004036001606060020a031660405180591061052e5750595b908082528060200260200182016040525b50995060009850600197505b60055460a060020a908102046001606060020a03908116908916101561078057600160a060020a031960a060020a890216600090815260036020526040902054600160a060020a0316156107735760a060020a8802600160a060020a031916600090815260036020526040808220548151820183905281517f59e02dd70000000000000000000000000000000000000000000000000000000081528251600160a060020a03909216936359e02dd79360048084019491939192918390030190829087803b151561061757fe5b60325a03f1151561062457fe5b505060405180516020909101519098509650508515610773576001606060020a038916158061067657508960018a036001606060020a031681518110151561066857fe5b602090810290910101518710155b156106a257868a8a6001606060020a031681518110151561069357fe5b6020908102909101015261076c565b600094505b89856001606060020a03168151811015156106be57fe5b6020908102909101015187106106d9576001909401936106a7565b8893505b846001606060020a0316846001606060020a031611156107495789600185036001606060020a031681518110151561071157fe5b906020019060200201518a856001606060020a031681518110151561073257fe5b602090810290910101525b600019909301926106dd565b868a866001606060020a031681518110151561076157fe5b602090810290910101525b6001909801975b5b5b60019097019661054b565b6005546001606060020a03606060020a9091048116908a1610156107ac5760025460009b509b50610896565b60026001606060020a038a165b066001606060020a0316600014156108595789600160026001606060020a038c165b04036001606060020a03168151811015156107f257fe5b6020908102909101015191508960026001606060020a038b165b046001606060020a031681518110151561082257fe5b60209081029091010151905061084961083b8383610f35565b671bc16d674ec80000610f55565b6001608060020a0316925061088e565b8960026001606060020a036000198c01165b046001606060020a031681518110151561088157fe5b9060200190602002015192505b8260019b509b505b505050505050505050509091565b60006108c46103e033600035600160e060020a031916610e1f565b610f24565b5060055460a060020a908102819004600101026108ec600160a060020a031982161515610f24565b6005546108ff9060a060020a0283610ba9565b600580546bffffffffffffffffffffffff191660a060020a83041790555b5b5050565b600160a060020a0381166000908152600460205260408120546104339160a060020a90910290610ba9565b5b50565b60046020526000908152604090205460a060020a0281565b60055460a060020a0281565b600060006000610983610999565b9150915061099081610f24565b8192505b505090565b60025460015460a060020a900460ff165b9091565b600360205260009081526040902054600160a060020a031681565b6040805134808252602082018381523693830184905260043593602435938493869333600160a060020a03169360008035600160e060020a031916949092606082018484808284376040519201829003965090945050505050a4610a416103e033600035600160e060020a031916610e1f565b610f24565b6001606060020a0383161515610a575760006000fd5b6005805477ffffffffffffffffffffffff0000000000000000000000001916606060020a6001606060020a038616021790555b5b5b505050565b610aaf6103e033600035600160e060020a031916610e1f565b610f24565b60008054600160a060020a031916600160a060020a03838116919091178083556040519116917f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada491a25b5b50565b600154600160a060020a031681565b6040805134808252602082018381523693830184905260043593602435938493869333600160a060020a03169360008035600160e060020a031916949092606082018484808284376040519201829003965090945050505050a4610b846103e033600035600160e060020a031916610e1f565b610f24565b6001805474ff0000000000000000000000000000000000000000191690555b5b5b5050565b6040805134808252602082018381523693830184905260043593602435938493869333600160a060020a03169360008035600160e060020a031916949092606082018484808284376040519201829003965090945050505050a4610c216103e033600035600160e060020a031916610e1f565b610f24565b600160a060020a031984161515610c385760006000fd5b600160a060020a03831615801590610c775750600160a060020a03831660009081526004602052604090205460a060020a02600160a060020a03191615155b15610c825760006000fd5b600160a060020a03198416600090815260036020908152604080832054600160a060020a039081168452600490925290912080546bffffffffffffffffffffffff19169055831615610d0257600160a060020a038316600090815260046020526040902080546bffffffffffffffffffffffff191660a060020a86041790555b600160a060020a031984811660009081526003602052604090208054909116600160a060020a0385161790555b5b5b50505050565b600054600160a060020a031681565b610433816000610ba9565b5b50565b6040805134808252602082018381523693830184905260043593602435938493869333600160a060020a03169360008035600160e060020a031916949092606082018484808284376040519201829003965090945050505050a4610dcd6103e033600035600160e060020a031916610e1f565b610f24565b600160a060020a031983161515610de45760006000fd5b600580546bffffffffffffffffffffffff191660a060020a85041790555b5b5b505050565b600554606060020a90046001606060020a031681565b600030600160a060020a031683600160a060020a03161415610e4357506001610f1b565b600154600160a060020a0384811691161415610e6157506001610f1b565b600054600160a060020a03161515610e7b57506000610f1b565b6000805460408051602090810184905281517fb7009613000000000000000000000000000000000000000000000000000000008152600160a060020a0388811660048301523081166024830152600160e060020a0319881660448301529251929093169363b70096139360648082019492918390030190829087803b1515610eff57fe5b60325a03f11515610f0c57fe5b5050604051519150610f1b9050565b5b5b5b92915050565b8015156104335760006000fd5b5b50565b8082016001608060020a038084169082161015610f1b57fe5b5b92915050565b6000610f9f6001608060020a0383166002815b046001608060020a0316670de0b6b3a76400006001608060020a0316866001608060020a03160201811515610f9957fe5b04610fa8565b90505b92915050565b806001608060020a0381168114610fbb57fe5b5b919050565b604080516020810190915260008152905600a165627a7a7230582061003742bb06deee80a56182105f9e38e91c997582675c5891203042dcfea2c70029

Deployed Bytecode

0x606060405236156100f65763ffffffff60e060020a60003504166313af403581146100f85780631504460f14610116578063181783581461012b5780631a43c3381461013d5780632801617e146101665780632966d1b9146101845780632db78d93146101a25780634c8fe526146101db57806357de26a41461020857806359e02dd71461022a578063651dd0de146102535780636ba5ef0d1461028c5780637a9e5e4b146102aa5780638da5cb5b146102c8578063ac4c25b2146102f4578063beb38b4314610306578063bf7e214f14610331578063e0a1fdad1461035d578063f2c5925d1461037c578063f88979451461039b575bfe5b341561010057fe5b610114600160a060020a03600435166103c7565b005b341561011e57fe5b610114600435610437565b005b341561013357fe5b6101146104d0565b005b341561014557fe5b61014d6104dd565b6040805192835290151560208301528051918290030190f35b341561016e57fe5b610114600160a060020a03600435166108a4565b005b341561018c57fe5b610114600160a060020a0360043516610922565b005b34156101aa57fe5b6101be600160a060020a0360043516610951565b60408051600160a060020a03199092168252519081900360200190f35b34156101e357fe5b6101be610969565b60408051600160a060020a03199092168252519081900360200190f35b341561021057fe5b610218610975565b60408051918252519081900360200190f35b341561023257fe5b61014d610999565b6040805192835290151560208301528051918290030190f35b341561025b57fe5b610270600160a060020a0319600435166109ae565b60408051600160a060020a039092168252519081900360200190f35b341561029457fe5b6101146001606060020a03600435166109c9565b005b34156102b257fe5b610114600160a060020a0360043516610a91565b005b34156102d057fe5b610270610afd565b60408051600160a060020a039092168252519081900360200190f35b34156102fc57fe5b610114610b0c565b005b341561030e57fe5b610114600160a060020a031960043516602435600160a060020a0316610ba9565b005b341561033957fe5b610270610d37565b60408051600160a060020a039092168252519081900360200190f35b341561036557fe5b610114600160a060020a031960043516610d46565b005b341561038457fe5b610114600160a060020a031960043516610d55565b005b34156103a357fe5b6103ab610e09565b604080516001606060020a039092168252519081900360200190f35b6103e56103e033600035600160e060020a031916610e1f565b610f24565b60018054600160a060020a031916600160a060020a0383811691909117918290556040519116907fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a25b5b50565b6040805134808252602082018381523693830184905260043593602435938493869333600160a060020a03169360008035600160e060020a031916949092606082018484808284376040519201829003965090945050505050a46104996104dd565b6001805491151560a060020a0274ff0000000000000000000000000000000000000000199092169190911790556002555b5b505050565b6104da6000610437565b5b565b600060006104e9610fc1565b6000600060006000600060006000600060006001600560009054906101000a900460a060020a0260a060020a9004036001606060020a031660405180591061052e5750595b908082528060200260200182016040525b50995060009850600197505b60055460a060020a908102046001606060020a03908116908916101561078057600160a060020a031960a060020a890216600090815260036020526040902054600160a060020a0316156107735760a060020a8802600160a060020a031916600090815260036020526040808220548151820183905281517f59e02dd70000000000000000000000000000000000000000000000000000000081528251600160a060020a03909216936359e02dd79360048084019491939192918390030190829087803b151561061757fe5b60325a03f1151561062457fe5b505060405180516020909101519098509650508515610773576001606060020a038916158061067657508960018a036001606060020a031681518110151561066857fe5b602090810290910101518710155b156106a257868a8a6001606060020a031681518110151561069357fe5b6020908102909101015261076c565b600094505b89856001606060020a03168151811015156106be57fe5b6020908102909101015187106106d9576001909401936106a7565b8893505b846001606060020a0316846001606060020a031611156107495789600185036001606060020a031681518110151561071157fe5b906020019060200201518a856001606060020a031681518110151561073257fe5b602090810290910101525b600019909301926106dd565b868a866001606060020a031681518110151561076157fe5b602090810290910101525b6001909801975b5b5b60019097019661054b565b6005546001606060020a03606060020a9091048116908a1610156107ac5760025460009b509b50610896565b60026001606060020a038a165b066001606060020a0316600014156108595789600160026001606060020a038c165b04036001606060020a03168151811015156107f257fe5b6020908102909101015191508960026001606060020a038b165b046001606060020a031681518110151561082257fe5b60209081029091010151905061084961083b8383610f35565b671bc16d674ec80000610f55565b6001608060020a0316925061088e565b8960026001606060020a036000198c01165b046001606060020a031681518110151561088157fe5b9060200190602002015192505b8260019b509b505b505050505050505050509091565b60006108c46103e033600035600160e060020a031916610e1f565b610f24565b5060055460a060020a908102819004600101026108ec600160a060020a031982161515610f24565b6005546108ff9060a060020a0283610ba9565b600580546bffffffffffffffffffffffff191660a060020a83041790555b5b5050565b600160a060020a0381166000908152600460205260408120546104339160a060020a90910290610ba9565b5b50565b60046020526000908152604090205460a060020a0281565b60055460a060020a0281565b600060006000610983610999565b9150915061099081610f24565b8192505b505090565b60025460015460a060020a900460ff165b9091565b600360205260009081526040902054600160a060020a031681565b6040805134808252602082018381523693830184905260043593602435938493869333600160a060020a03169360008035600160e060020a031916949092606082018484808284376040519201829003965090945050505050a4610a416103e033600035600160e060020a031916610e1f565b610f24565b6001606060020a0383161515610a575760006000fd5b6005805477ffffffffffffffffffffffff0000000000000000000000001916606060020a6001606060020a038616021790555b5b5b505050565b610aaf6103e033600035600160e060020a031916610e1f565b610f24565b60008054600160a060020a031916600160a060020a03838116919091178083556040519116917f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada491a25b5b50565b600154600160a060020a031681565b6040805134808252602082018381523693830184905260043593602435938493869333600160a060020a03169360008035600160e060020a031916949092606082018484808284376040519201829003965090945050505050a4610b846103e033600035600160e060020a031916610e1f565b610f24565b6001805474ff0000000000000000000000000000000000000000191690555b5b5b5050565b6040805134808252602082018381523693830184905260043593602435938493869333600160a060020a03169360008035600160e060020a031916949092606082018484808284376040519201829003965090945050505050a4610c216103e033600035600160e060020a031916610e1f565b610f24565b600160a060020a031984161515610c385760006000fd5b600160a060020a03831615801590610c775750600160a060020a03831660009081526004602052604090205460a060020a02600160a060020a03191615155b15610c825760006000fd5b600160a060020a03198416600090815260036020908152604080832054600160a060020a039081168452600490925290912080546bffffffffffffffffffffffff19169055831615610d0257600160a060020a038316600090815260046020526040902080546bffffffffffffffffffffffff191660a060020a86041790555b600160a060020a031984811660009081526003602052604090208054909116600160a060020a0385161790555b5b5b50505050565b600054600160a060020a031681565b610433816000610ba9565b5b50565b6040805134808252602082018381523693830184905260043593602435938493869333600160a060020a03169360008035600160e060020a031916949092606082018484808284376040519201829003965090945050505050a4610dcd6103e033600035600160e060020a031916610e1f565b610f24565b600160a060020a031983161515610de45760006000fd5b600580546bffffffffffffffffffffffff191660a060020a85041790555b5b5b505050565b600554606060020a90046001606060020a031681565b600030600160a060020a031683600160a060020a03161415610e4357506001610f1b565b600154600160a060020a0384811691161415610e6157506001610f1b565b600054600160a060020a03161515610e7b57506000610f1b565b6000805460408051602090810184905281517fb7009613000000000000000000000000000000000000000000000000000000008152600160a060020a0388811660048301523081166024830152600160e060020a0319881660448301529251929093169363b70096139360648082019492918390030190829087803b1515610eff57fe5b60325a03f11515610f0c57fe5b5050604051519150610f1b9050565b5b5b5b92915050565b8015156104335760006000fd5b5b50565b8082016001608060020a038084169082161015610f1b57fe5b5b92915050565b6000610f9f6001608060020a0383166002815b046001608060020a0316670de0b6b3a76400006001608060020a0316866001608060020a03160201811515610f9957fe5b04610fa8565b90505b92915050565b806001608060020a0381168114610fbb57fe5b5b919050565b604080516020810190915260008152905600a165627a7a7230582061003742bb06deee80a56182105f9e38e91c997582675c5891203042dcfea2c70029

Swarm Source

bzzr://61003742bb06deee80a56182105f9e38e91c997582675c5891203042dcfea2c7

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  ]

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.