Latest 6 txns

TxHash Age From To Value [TxFee]
0xa6f364e01e6a1b30338363ebca4f647f0102ecaef7d307825a65d1d32052d156113 days 7 hrs ago0x694032e172d9b0ee6aff5d36749bad4947a36e4e  IN   0xa5aa4e07f5255e14f02b385b1f04b35cc50bdb660 Ether0.000031268
0x8ea74ed1a9f10e762e7207789ecadb4d1f72ad19ce3b8b38fda2981f821212ef113 days 7 hrs ago0x694032e172d9b0ee6aff5d36749bad4947a36e4e  IN   0xa5aa4e07f5255e14f02b385b1f04b35cc50bdb660 Ether0.000020705
0x66cfc1a19256877a4b27b4075c6e2bf3fdac008a6b4f033f50bdc5d4ca2504f4113 days 7 hrs ago0x694032e172d9b0ee6aff5d36749bad4947a36e4e  IN   0xa5aa4e07f5255e14f02b385b1f04b35cc50bdb660 Ether0.000042955
0xd86612200bd344920c4395c2ef8a372fa5d9f5bd9d97f1b3826a8c50a728e5b0113 days 7 hrs ago0x694032e172d9b0ee6aff5d36749bad4947a36e4e  IN   0xa5aa4e07f5255e14f02b385b1f04b35cc50bdb660 Ether0.000082995
0x79dcd3323e705315ae281d25b5dc9aa84b55b3ce4cb194fba8db74c23e6ec61b128 days 6 hrs ago0x694032e172d9b0ee6aff5d36749bad4947a36e4e  IN   0xa5aa4e07f5255e14f02b385b1f04b35cc50bdb660 Ether0.000082995
0x766fc3781e60ac2ba7ac4bd92d52a9593d5f1bd126af03dc0dc84fb767f13174128 days 6 hrs ago0x694032e172d9b0ee6aff5d36749bad4947a36e4e  IN    Contract Creation0 Ether0.001222414
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
 Latest 25 Internal Txns, Click here To View More View All
ParentTxHash Block Age From To Value
0x2c47ae253819bbd1e660822a5ce8e4bc54ccad9f4885b19a21074d987412d66e101657581 min ago0x9fffe440258b79c5d6604001674a4722ffc0f7bc0xa5aa4e07f5255e14f02b385b1f04b35cc50bdb660 Ether
0xa9b0e5a7f286f4100d3abc5dc9e93a0f718bc224b2afcfae95b7093a35a08b12101657572 mins ago0xa5aa4e07f5255e14f02b385b1f04b35cc50bdb660xc0f7f722cd6cfdcfeb67b1a1fb0f15133dc6ccc20 Ether
0xa9b0e5a7f286f4100d3abc5dc9e93a0f718bc224b2afcfae95b7093a35a08b12101657572 mins ago0xc0f7f722cd6cfdcfeb67b1a1fb0f15133dc6ccc20xa5aa4e07f5255e14f02b385b1f04b35cc50bdb660 Ether
0x18c969d63d50e48318912489cc97387d9870805ce6aa11c419a2507e1d714e72101652601 hr 1 min ago0x9fffe440258b79c5d6604001674a4722ffc0f7bc0xa5aa4e07f5255e14f02b385b1f04b35cc50bdb660 Ether
0xadde54ffb8d6211de7674f591c74f891f2811acb2f37a55193b4c47df10ab9c2101652581 hr 2 mins ago0xa5aa4e07f5255e14f02b385b1f04b35cc50bdb660xc0f7f722cd6cfdcfeb67b1a1fb0f15133dc6ccc20 Ether
0xadde54ffb8d6211de7674f591c74f891f2811acb2f37a55193b4c47df10ab9c2101652581 hr 2 mins ago0xc0f7f722cd6cfdcfeb67b1a1fb0f15133dc6ccc20xa5aa4e07f5255e14f02b385b1f04b35cc50bdb660 Ether
0x2bd4a9b485e16e5c6740a520f999bda438d40464d1f9d33e0f86d03c563841be101647622 hrs 1 min ago0x9fffe440258b79c5d6604001674a4722ffc0f7bc0xa5aa4e07f5255e14f02b385b1f04b35cc50bdb660 Ether
0xff56365d6eb1a789ee39e4a07889d597bf201a631e8ae460ac75a36c9bf1493c101647612 hrs 2 mins ago0xa5aa4e07f5255e14f02b385b1f04b35cc50bdb660xc0f7f722cd6cfdcfeb67b1a1fb0f15133dc6ccc20 Ether
0xff56365d6eb1a789ee39e4a07889d597bf201a631e8ae460ac75a36c9bf1493c101647612 hrs 2 mins ago0xc0f7f722cd6cfdcfeb67b1a1fb0f15133dc6ccc20xa5aa4e07f5255e14f02b385b1f04b35cc50bdb660 Ether
0xbfe688eb96fc90b783570c7179c8e9ece10166a5831ca7bad23efe6cab3bbce9101646092 hrs 20 mins ago0xa71937147b55deb8a530c7229c442fd3f31b7db20xa5aa4e07f5255e14f02b385b1f04b35cc50bdb660 Ether
0x92332aa2500ecd1198129af45ae7d04bd3bebdb076a48868e1765b9bc0870da3101644642 hrs 37 mins ago0xa71937147b55deb8a530c7229c442fd3f31b7db20xa5aa4e07f5255e14f02b385b1f04b35cc50bdb660 Ether
0xf2a91e20a2a2416decf35a40ee844bad1b40192a986f1182e566977130a84166101644542 hrs 38 mins ago0xa71937147b55deb8a530c7229c442fd3f31b7db20xa5aa4e07f5255e14f02b385b1f04b35cc50bdb660 Ether
0xd31a2eabaf233ce98223302b014a13132eaebbbc74b12c4a78c94a9d3d6e0010101642623 hrs 1 min ago0x9fffe440258b79c5d6604001674a4722ffc0f7bc0xa5aa4e07f5255e14f02b385b1f04b35cc50bdb660 Ether
0xa96bbc1ecbb59361ad3662d63aa6b10b5b8ab2461846ffda4ec14340844c2630101642613 hrs 2 mins ago0xa5aa4e07f5255e14f02b385b1f04b35cc50bdb660xc0f7f722cd6cfdcfeb67b1a1fb0f15133dc6ccc20 Ether
0xa96bbc1ecbb59361ad3662d63aa6b10b5b8ab2461846ffda4ec14340844c2630101642613 hrs 2 mins ago0xc0f7f722cd6cfdcfeb67b1a1fb0f15133dc6ccc20xa5aa4e07f5255e14f02b385b1f04b35cc50bdb660 Ether
0x4a2f02737f3c7ef5f2290a5b84be575ac8938ed9d4a56b87343f439120b7d62a101641853 hrs 11 mins ago0xa71937147b55deb8a530c7229c442fd3f31b7db20xa5aa4e07f5255e14f02b385b1f04b35cc50bdb660 Ether
0x8d4cf780590e6011047b6675047ea95680598f42e85de9e9ab4ad47418907f39101639333 hrs 41 mins ago0xa71937147b55deb8a530c7229c442fd3f31b7db20xa5aa4e07f5255e14f02b385b1f04b35cc50bdb660 Ether
0xb7d29fe51a3d9b1ef26cdf9efbe0184bd194ad42e75505457660cbec1da8e808101639013 hrs 45 mins ago0xa71937147b55deb8a530c7229c442fd3f31b7db20xa5aa4e07f5255e14f02b385b1f04b35cc50bdb660 Ether
0x5423ae8ff24e3fce66d87a0f3b1e64c65b19dd729a765eb8ce3dbab182e74671101638593 hrs 50 mins ago0xa71937147b55deb8a530c7229c442fd3f31b7db20xa5aa4e07f5255e14f02b385b1f04b35cc50bdb660 Ether
0x0838e57b0b500747bb607e21d85c4b42b79648ac8b35d8e63a3dd6394675aa39101638243 hrs 54 mins ago0xa71937147b55deb8a530c7229c442fd3f31b7db20xa5aa4e07f5255e14f02b385b1f04b35cc50bdb660 Ether
0xfacc1a797cbc06249af5122a779804963bd53b0ef929349f73138b147bdc8574101637674 hrs 1 min ago0xa71937147b55deb8a530c7229c442fd3f31b7db20xa5aa4e07f5255e14f02b385b1f04b35cc50bdb660 Ether
0x04fb403df4f06331a332cea153bb8d713b3066730ee1597c6fe3625e77e7470a101637634 hrs 1 min ago0x9fffe440258b79c5d6604001674a4722ffc0f7bc0xa5aa4e07f5255e14f02b385b1f04b35cc50bdb660 Ether
0x1bc0a035f85cf607892c8b9b15af3d7bb11b12473cc263caddf67f7fe9fa77d4101637624 hrs 2 mins ago0xa5aa4e07f5255e14f02b385b1f04b35cc50bdb660xc0f7f722cd6cfdcfeb67b1a1fb0f15133dc6ccc20 Ether
0x1bc0a035f85cf607892c8b9b15af3d7bb11b12473cc263caddf67f7fe9fa77d4101637624 hrs 2 mins ago0xc0f7f722cd6cfdcfeb67b1a1fb0f15133dc6ccc20xa5aa4e07f5255e14f02b385b1f04b35cc50bdb660 Ether
0x6b4d9a90c855be215402e4723e2fb2d47b7ac4ec62254b4f82fab5977d640fc5101632665 hrs 1 min ago0x9fffe440258b79c5d6604001674a4722ffc0f7bc0xa5aa4e07f5255e14f02b385b1f04b35cc50bdb660 Ether
[ Download CSV Export  ] 
Warning: The Compiled Contract might be susceptible to ExpExponentCleanup (medium/high-severity), EventStructWrongData (very low-severity) SolidityCompiler Bugs.

Contract Source Code Verified (Exact Match)
Contract Name: Medianizer
Compiler Text: v0.4.24+commit.e67f0147
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

// hevm: flattened sources of src/medianizer.sol
pragma solidity ^0.4.23;

////// lib/ds-value/lib/ds-thing/lib/ds-auth/src/auth.sol
// 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/>.

/* pragma solidity ^0.4.23; */

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

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

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

    constructor() public {
        owner = msg.sender;
        emit LogSetOwner(msg.sender);
    }

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

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

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

    function isAuthorized(address src, bytes4 sig) internal view 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);
        }
    }
}

////// lib/ds-value/lib/ds-thing/lib/ds-math/src/math.sol
/// 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/>.

/* pragma solidity ^0.4.13; */

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

////// lib/ds-value/lib/ds-thing/lib/ds-note/src/note.sol
/// note.sol -- the `note' modifier, for logging calls as events

// 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/>.

/* pragma solidity ^0.4.23; */

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

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

        _;
    }
}

////// lib/ds-value/lib/ds-thing/src/thing.sol
// thing.sol - `auth` with handy mixins. your things should be DSThings

// Copyright (C) 2017  DappHub, LLC

// 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/>.

/* pragma solidity ^0.4.23; */

/* import 'ds-auth/auth.sol'; */
/* import 'ds-note/note.sol'; */
/* import 'ds-math/math.sol'; */

contract DSThing is DSAuth, DSNote, DSMath {

    function S(string s) internal pure returns (bytes4) {
        return bytes4(keccak256(abi.encodePacked(s)));
    }

}

////// lib/ds-value/src/value.sol
/// value.sol - a value is a simple thing, it can be get and set

// Copyright (C) 2017  DappHub, LLC

// 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/>.

/* pragma solidity ^0.4.23; */

/* import 'ds-thing/thing.sol'; */

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

////// src/medianizer.sol
/// medianizer.sol - read ds-values and output median

// Copyright (C) 2017, 2018  DappHub, LLC

// 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/>.

/* pragma solidity ^0.4.23; */

/* import "ds-value/value.sol"; */

contract Medianizer is DSThing {
    event LogValue(bytes32 val);
    mapping (bytes12 => address) public values;
    mapping (address => bytes12) public indexes;
    bytes12 public next = 0x1;

    uint96 public min = 0x1;

    bytes32 val;
    bool public has;

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

    function set(bytes12 pos, address wat) public note auth {
        require(pos != 0x0);
        require(wat == 0 || indexes[wat] == 0);

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

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

        values[pos] = wat;
    }

    function setMin(uint96 min_) public note auth {
        require(min_ != 0x0);
        min = min_;
    }

    function setNext(bytes12 next_) public note auth {
        require(next_ != 0x0);
        next = next_;
    }

    function unset(bytes12 pos) public auth {
        this.set(pos, 0);
    }

    function unset(address wat) public auth {
        this.set(indexes[wat], 0);
    }

    function void() external auth {
        has = false;
        // TODO: don't allow poke
    }

    function poke() external {
        (val, has) = compute();
        emit LogValue(val);
    }

    function peek() external view returns (bytes32, bool) {
        return (val, has);
    }

    function read() external view returns (bytes32) {
        require(has);
        return val;
    }

    function compute() public view 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) {
                bytes32 wut;
                bool wuz;
                (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(add(val1, val2), 2 ether));
        } else {
            value = wuts[(ctr - 1) / 2];
        }

        return (value, true);
    }

}

    Contract ABI  
[{"constant":false,"inputs":[{"name":"owner_","type":"address"}],"name":"setOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"poke","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"compute","outputs":[{"name":"","type":"bytes32"},{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"wat","type":"address"}],"name":"set","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"wat","type":"address"}],"name":"unset","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"indexes","outputs":[{"name":"","type":"bytes12"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"next","outputs":[{"name":"","type":"bytes12"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"read","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"peek","outputs":[{"name":"","type":"bytes32"},{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes12"}],"name":"values","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"min_","type":"uint96"}],"name":"setMin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"authority_","type":"address"}],"name":"setAuthority","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"void","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"has","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"pos","type":"bytes12"},{"name":"wat","type":"address"}],"name":"set","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"authority","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"pos","type":"bytes12"}],"name":"unset","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"next_","type":"bytes12"}],"name":"setNext","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"min","outputs":[{"name":"","type":"uint96"}],"payable":false,"stateMutability":"view","type":"function"},{"anonymous":false,"inputs":[{"indexed":false,"name":"val","type":"bytes32"}],"name":"LogValue","type":"event"},{"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"}]

  Contract Creation Code Switch To Opcodes View
60806040819052600480546c0100000000000000000000000060016001606060020a03199092168217606060020a60c060020a03191617909155805433600160a060020a03199091168117909155907fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a261109f806100836000396000f3006080604052600436106101115763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166313af4035811461011657806318178358146101395780631a43c3381461014e5780632801617e1461017c5780632966d1b91461019d5780632db78d93146101be5780634c8fe526146101fc57806357de26a41461021157806359e02dd714610238578063651dd0de1461024d5780636ba5ef0d1461028b5780637a9e5e4b146102ac5780638da5cb5b146102cd578063ac4c25b2146102e2578063b689d5ac146102f7578063beb38b4314610320578063bf7e214f1461034e578063e0a1fdad14610363578063f2c5925d14610385578063f8897945146103a7575b600080fd5b34801561012257600080fd5b50610137600160a060020a03600435166103d8565b005b34801561014557600080fd5b50610137610449565b34801561015a57600080fd5b5061016361049c565b6040805192835290151560208301528051918290030190f35b34801561018857600080fd5b50610137600160a060020a0360043516610873565b3480156101a957600080fd5b50610137600160a060020a0360043516610979565b3480156101ca57600080fd5b506101df600160a060020a0360043516610a38565b60408051600160a060020a03199092168252519081900360200190f35b34801561020857600080fd5b506101df610a50565b34801561021d57600080fd5b50610226610a5c565b60408051918252519081900360200190f35b34801561024457600080fd5b50610163610a77565b34801561025957600080fd5b5061026f600160a060020a031960043516610a84565b60408051600160a060020a039092168252519081900360200190f35b34801561029757600080fd5b506101376001606060020a0360043516610a9f565b3480156102b857600080fd5b50610137600160a060020a0360043516610b6b565b3480156102d957600080fd5b5061026f610bd8565b3480156102ee57600080fd5b50610137610be7565b34801561030357600080fd5b5061030c610c14565b604080519115158252519081900360200190f35b34801561032c57600080fd5b50610137600160a060020a031960043516602435600160a060020a0316610c1d565b34801561035a57600080fd5b5061026f610d9e565b34801561036f57600080fd5b50610137600160a060020a031960043516610dad565b34801561039157600080fd5b50610137600160a060020a031960043516610e34565b3480156103b357600080fd5b506103bc610ee1565b604080516001606060020a039092168252519081900360200190f35b6103ee33600035600160e060020a031916610f00565b15156103f957600080fd5b60018054600160a060020a031916600160a060020a0383811691909117918290556040519116907fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a250565b61045161049c565b6006805460ff1916911515919091179055600581905560408051918252517f296ba4ca62c6c21c95e828080cb8aec7481b71390585605300a8a76f9e95b527916020908290030190a1565b600080606060008060008060008060008060006001600460009054906101000a900460a060020a0260a060020a9004036001606060020a03166040519080825280602002602001820160405280156104fe578160200160208202803883390190505b50995060009850600197505b60045460a060020a908102046001606060020a03908116908916101561075257600160a060020a031960a060020a890216600090815260026020526040902054600160a060020a0316156107475760a060020a8802600160a060020a0319166000908152600260205260408082205481517f59e02dd70000000000000000000000000000000000000000000000000000000081528251600160a060020a03909216936359e02dd79360048084019491939192918390030190829087803b1580156105d357600080fd5b505af11580156105e7573d6000803e3d6000fd5b505050506040513d60408110156105fd57600080fd5b50805160209091015190975095508515610747576001606060020a038916158061064a57508960018a036001606060020a031681518110151561063c57fe5b602090810290910101518710155b1561067657868a8a6001606060020a031681518110151561066757fe5b60209081029091010152610740565b600094505b89856001606060020a031681518110151561069257fe5b6020908102909101015187106106ad5760019094019361067b565b8893505b846001606060020a0316846001606060020a0316111561071d5789600185036001606060020a03168151811015156106e557fe5b906020019060200201518a856001606060020a031681518110151561070657fe5b6020908102909101015260001993909301926106b1565b868a866001606060020a031681518110151561073557fe5b602090810290910101525b6001909801975b60019097019661050a565b6004546001606060020a036c010000000000000000000000009091048116908a1610156107875760055460009b509b50610865565b6001891615156108295789600160026001606060020a038c1604036001606060020a03168151811015156107b757fe5b6020908102909101015191508960026001606060020a038b16046001606060020a03168151811015156107e657fe5b6020908102909101015190506108226108146fffffffffffffffffffffffffffffffff808516908416611009565b671bc16d674ec80000611019565b925061085d565b8960026001606060020a036000198c0116046001606060020a031681518110151561085057fe5b9060200190602002015192505b8260019b509b505b505050505050505050509091565b600061088b33600035600160e060020a031916610f00565b151561089657600080fd5b5060045460a060020a90810281900460010102600160a060020a0319811615156108bf57600080fd5b60048054604080517fbeb38b4300000000000000000000000000000000000000000000000000000000815260a060020a909202600160a060020a03191692820192909252600160a060020a03841660248201529051309163beb38b4391604480830192600092919082900301818387803b15801561093c57600080fd5b505af1158015610950573d6000803e3d6000fd5b5050600480546bffffffffffffffffffffffff191660a060020a90940493909317909255505050565b61098f33600035600160e060020a031916610f00565b151561099a57600080fd5b600160a060020a0381166000908152600360205260408082205481517fbeb38b4300000000000000000000000000000000000000000000000000000000815260a060020a909102600160a060020a0319166004820152602481018390529051309263beb38b43926044808201939182900301818387803b158015610a1d57600080fd5b505af1158015610a31573d6000803e3d6000fd5b5050505050565b60036020526000908152604090205460a060020a0281565b60045460a060020a0281565b60065460009060ff161515610a7057600080fd5b5060055490565b60055460065460ff169091565b600260205260009081526040902054600160a060020a031681565b60408051348082526020820183815236938301849052600435936024359384938693339360008035600160e060020a031916949092606082018484808284376040519201829003965090945050505050a4610b0633600035600160e060020a031916610f00565b1515610b1157600080fd5b6001606060020a0383161515610b2657600080fd5b5050600480546001606060020a039092166c010000000000000000000000000277ffffffffffffffffffffffff00000000000000000000000019909216919091179055565b610b8133600035600160e060020a031916610f00565b1515610b8c57600080fd5b60008054600160a060020a031916600160a060020a03838116919091178083556040519116917f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada491a250565b600154600160a060020a031681565b610bfd33600035600160e060020a031916610f00565b1515610c0857600080fd5b6006805460ff19169055565b60065460ff1681565b60408051348082526020820183815236938301849052600435936024359384938693339360008035600160e060020a031916949092606082018484808284376040519201829003965090945050505050a4610c8433600035600160e060020a031916610f00565b1515610c8f57600080fd5b600160a060020a031984161515610ca557600080fd5b600160a060020a0383161580610ce15750600160a060020a03831660009081526003602052604090205460a060020a02600160a060020a031916155b1515610cec57600080fd5b600160a060020a03198416600090815260026020908152604080832054600160a060020a039081168452600390925290912080546bffffffffffffffffffffffff19169055831615610d6c57600160a060020a038316600090815260036020526040902080546bffffffffffffffffffffffff191660a060020a86041790555b5050600160a060020a031991821660009081526002602052604090208054600160a060020a0390921691909216179055565b600054600160a060020a031681565b610dc333600035600160e060020a031916610f00565b1515610dce57600080fd5b604080517fbeb38b43000000000000000000000000000000000000000000000000000000008152600160a060020a0319831660048201526000602482018190529151309263beb38b43926044808201939182900301818387803b158015610a1d57600080fd5b60408051348082526020820183815236938301849052600435936024359384938693339360008035600160e060020a031916949092606082018484808284376040519201829003965090945050505050a4610e9b33600035600160e060020a031916610f00565b1515610ea657600080fd5b600160a060020a031983161515610ebc57600080fd5b5050600480546bffffffffffffffffffffffff191660a060020a909204919091179055565b6004546c0100000000000000000000000090046001606060020a031681565b6000600160a060020a038316301415610f1b57506001611003565b600154600160a060020a0384811691161415610f3957506001611003565b600054600160a060020a03161515610f5357506000611003565b60008054604080517fb7009613000000000000000000000000000000000000000000000000000000008152600160a060020a038781166004830152306024830152600160e060020a0319871660448301529151919092169263b700961392606480820193602093909283900390910190829087803b158015610fd457600080fd5b505af1158015610fe8573d6000803e3d6000fd5b505050506040513d6020811015610ffe57600080fd5b505190505b92915050565b8082018281101561100357600080fd5b60008161103a61103185670de0b6b3a764000061104b565b60028504611009565b81151561104357fe5b049392505050565b600081158061106857505080820282828281151561106557fe5b04145b151561100357600080fd00a165627a7a723058204c99834793a7e58166be91e733d0ef81bb0d6afa5b324ad53a10dc589a5ed2460029

   Swarm Source:
bzzr://4c99834793a7e58166be91e733d0ef81bb0d6afa5b324ad53a10dc589a5ed246

 

View All
Block Age transaction Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward