ETH Price: $2,590.49 (+0.60%)
Gas: 5 Gwei

Contract

0xD4A0E3EC2A937E7CCa4A192756a8439A8BF4bA91
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Update Result204929942024-08-09 19:00:351 hr ago1723230035IN
0xD4A0E3EC...A8BF4bA91
0 ETH0.000074292.87162263
Update Result204929942024-08-09 19:00:351 hr ago1723230035IN
0xD4A0E3EC...A8BF4bA91
0 ETH0.0064924935.6493513
Update Result204918012024-08-09 15:00:355 hrs ago1723215635IN
0xD4A0E3EC...A8BF4bA91
0 ETH0.0064319835.31711646
Update Result204906052024-08-09 11:00:359 hrs ago1723201235IN
0xD4A0E3EC...A8BF4bA91
0 ETH0.000086433.34077395
Update Result204906052024-08-09 11:00:359 hrs ago1723201235IN
0xD4A0E3EC...A8BF4bA91
0 ETH0.0063944735.44195462
Update Result204894102024-08-09 7:00:3513 hrs ago1723186835IN
0xD4A0E3EC...A8BF4bA91
0 ETH0.000055922.16160459
Update Result204894102024-08-09 7:00:3513 hrs ago1723186835IN
0xD4A0E3EC...A8BF4bA91
0 ETH0.0062806434.81105407
Update Result204882152024-08-09 3:00:3517 hrs ago1723172435IN
0xD4A0E3EC...A8BF4bA91
0 ETH0.006456834.83797696
Update Result204870192024-08-08 23:00:2321 hrs ago1723158023IN
0xD4A0E3EC...A8BF4bA91
0 ETH0.006283134.82468361
Update Result204858212024-08-08 19:00:2325 hrs ago1723143623IN
0xD4A0E3EC...A8BF4bA91
0 ETH0.000102833.97487906
Update Result204858212024-08-08 19:00:2325 hrs ago1723143623IN
0xD4A0E3EC...A8BF4bA91
0 ETH0.006563736.37994402
Update Result204846232024-08-08 15:00:2329 hrs ago1723129223IN
0xD4A0E3EC...A8BF4bA91
0 ETH0.0068009737.69505328
Update Result204834282024-08-08 11:00:2333 hrs ago1723114823IN
0xD4A0E3EC...A8BF4bA91
0 ETH0.00012654.88960385
Update Result204834282024-08-08 11:00:2333 hrs ago1723114823IN
0xD4A0E3EC...A8BF4bA91
0 ETH0.0069129138.31548648
Update Result204822322024-08-08 7:00:2337 hrs ago1723100423IN
0xD4A0E3EC...A8BF4bA91
0 ETH0.000060082.32228144
Update Result204822322024-08-08 7:00:2337 hrs ago1723100423IN
0xD4A0E3EC...A8BF4bA91
0 ETH0.006915738.33091326
Update Result204810392024-08-08 3:00:2341 hrs ago1723086023IN
0xD4A0E3EC...A8BF4bA91
0 ETH0.000054552.10867672
Update Result204810392024-08-08 3:00:2341 hrs ago1723086023IN
0xD4A0E3EC...A8BF4bA91
0 ETH0.0068598138.02115134
Update Result204798442024-08-07 23:00:2345 hrs ago1723071623IN
0xD4A0E3EC...A8BF4bA91
0 ETH0.000072232.79191124
Update Result204798442024-08-07 23:00:2345 hrs ago1723071623IN
0xD4A0E3EC...A8BF4bA91
0 ETH0.0071411539.58053127
Update Result204786492024-08-07 19:00:232 days ago1723057223IN
0xD4A0E3EC...A8BF4bA91
0 ETH0.0012486.85259834
Update Result204774522024-08-07 15:00:232 days ago1723042823IN
0xD4A0E3EC...A8BF4bA91
0 ETH0.0070562938.74507432
Update Result204765732024-08-07 12:03:472 days ago1723032227IN
0xD4A0E3EC...A8BF4bA91
0 ETH0.000249082.86277221
Update Result204762572024-08-07 11:00:232 days ago1723028423IN
0xD4A0E3EC...A8BF4bA91
0 ETH0.0066730536.98604924
Update Result204750632024-08-07 7:00:232 days ago1723014023IN
0xD4A0E3EC...A8BF4bA91
0 ETH0.00005852.26133282
View all transactions

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Block From To
123714932021-05-05 2:23:191192 days ago1620181399  Contract Creation0 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ExternallyFundedOSM

Compiler Version
v0.6.7+commit.b8d736ae

Optimization Enabled:
Yes with 200 runs

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

pragma solidity 0.6.7;

abstract contract DSValueLike {
    function getResultWithValidity() virtual external view returns (uint256, bool);
}
abstract contract FSMWrapperLike {
    function renumerateCaller(address) virtual external;
}

contract OSM {
    // --- Auth ---
    mapping (address => uint) public authorizedAccounts;
    /**
     * @notice Add auth to an account
     * @param account Account to add auth to
     */
    function addAuthorization(address account) virtual external isAuthorized {
        authorizedAccounts[account] = 1;
        emit AddAuthorization(account);
    }
    /**
     * @notice Remove auth from an account
     * @param account Account to remove auth from
     */
    function removeAuthorization(address account) virtual external isAuthorized {
        authorizedAccounts[account] = 0;
        emit RemoveAuthorization(account);
    }
    /**
    * @notice Checks whether msg.sender can call an authed function
    **/
    modifier isAuthorized {
        require(authorizedAccounts[msg.sender] == 1, "OSM/account-not-authorized");
        _;
    }

    // --- Stop ---
    uint256 public stopped;
    modifier stoppable { require(stopped == 0, "OSM/is-stopped"); _; }

    // --- Variables ---
    address public priceSource;
    uint16  constant ONE_HOUR = uint16(3600);
    uint16  public updateDelay = ONE_HOUR;
    uint64  public lastUpdateTime;

    // --- Structs ---
    struct Feed {
        uint128 value;
        uint128 isValid;
    }

    Feed currentFeed;
    Feed nextFeed;

    // --- Events ---
    event AddAuthorization(address account);
    event RemoveAuthorization(address account);
    event ModifyParameters(bytes32 parameter, uint256 val);
    event ModifyParameters(bytes32 parameter, address val);
    event Start();
    event Stop();
    event ChangePriceSource(address priceSource);
    event ChangeDelay(uint16 delay);
    event RestartValue();
    event UpdateResult(uint256 newMedian, uint256 lastUpdateTime);

    constructor (address priceSource_) public {
        authorizedAccounts[msg.sender] = 1;
        priceSource = priceSource_;
        if (priceSource != address(0)) {
          (uint256 priceFeedValue, bool hasValidValue) = getPriceSourceUpdate();
          if (hasValidValue) {
            nextFeed = Feed(uint128(uint(priceFeedValue)), 1);
            currentFeed = nextFeed;
            lastUpdateTime = latestUpdateTime(currentTime());
            emit UpdateResult(uint(currentFeed.value), lastUpdateTime);
          }
        }
        emit AddAuthorization(msg.sender);
        emit ChangePriceSource(priceSource);
    }

    // --- Math ---
    function addition(uint64 x, uint64 y) internal pure returns (uint64 z) {
        z = x + y;
        require(z >= x);
    }

    // --- Core Logic ---
    /*
    * @notify Stop the OSM
    */
    function stop() external isAuthorized {
        stopped = 1;
        emit Stop();
    }
    /*
    * @notify Start the OSM
    */
    function start() external isAuthorized {
        stopped = 0;
        emit Start();
    }

    /*
    * @notify Change the oracle from which the OSM reads
    * @param priceSource_ The address of the oracle from which the OSM reads
    */
    function changePriceSource(address priceSource_) external isAuthorized {
        priceSource = priceSource_;
        emit ChangePriceSource(priceSource);
    }

    /*
    * @notify Helper that returns the current block timestamp
    */
    function currentTime() internal view returns (uint) {
        return block.timestamp;
    }

    /*
    * @notify Return the latest update time
    * @param timestamp Custom reference timestamp to determine the latest update time from
    */
    function latestUpdateTime(uint timestamp) internal view returns (uint64) {
        require(updateDelay != 0, "OSM/update-delay-is-zero");
        return uint64(timestamp - (timestamp % updateDelay));
    }

    /*
    * @notify Change the delay between updates
    * @param delay The new delay
    */
    function changeDelay(uint16 delay) external isAuthorized {
        require(delay > 0, "OSM/delay-is-zero");
        updateDelay = delay;
        emit ChangeDelay(updateDelay);
    }

    /*
    * @notify Restart/set to zero the feeds stored in the OSM
    */
    function restartValue() external isAuthorized {
        currentFeed = nextFeed = Feed(0, 0);
        stopped = 1;
        emit RestartValue();
    }

    /*
    * @notify View function that returns whether the delay between calls has been passed
    */
    function passedDelay() public view returns (bool ok) {
        return currentTime() >= uint(addition(lastUpdateTime, uint64(updateDelay)));
    }

    /*
    * @notify Update the price feeds inside the OSM
    */
    function updateResult() virtual external stoppable {
        // Check if the delay passed
        require(passedDelay(), "OSM/not-passed");
        // Read the price from the median
        (uint256 priceFeedValue, bool hasValidValue) = getPriceSourceUpdate();
        // If the value is valid, update storage
        if (hasValidValue) {
            // Update state
            currentFeed    = nextFeed;
            nextFeed       = Feed(uint128(uint(priceFeedValue)), 1);
            lastUpdateTime = latestUpdateTime(currentTime());
            // Emit event
            emit UpdateResult(uint(currentFeed.value), lastUpdateTime);
        }
    }

    // --- Getters ---
    /*
    * @notify Internal helper that reads a price and its validity from the priceSource
    */
    function getPriceSourceUpdate() internal view returns (uint256, bool) {
        try DSValueLike(priceSource).getResultWithValidity() returns (uint256 priceFeedValue, bool hasValidValue) {
          return (priceFeedValue, hasValidValue);
        }
        catch(bytes memory) {
          return (0, false);
        }
    }
    /*
    * @notify Return the current feed value and its validity
    */
    function getResultWithValidity() external view returns (uint256,bool) {
        return (uint(currentFeed.value), currentFeed.isValid == 1);
    }
    /*
    * @notify Return the next feed's value and its validity
    */
    function getNextResultWithValidity() external view returns (uint256,bool) {
        return (nextFeed.value, nextFeed.isValid == 1);
    }
    /*
    * @notify Return the current feed's value only if it's valid, otherwise revert
    */
    function read() external view returns (uint256) {
        require(currentFeed.isValid == 1, "OSM/no-current-value");
        return currentFeed.value;
    }
}

contract ExternallyFundedOSM is OSM {
    // --- Variables ---
    FSMWrapperLike public fsmWrapper;

    // --- Evemts ---
    event FailRenumerateCaller(address wrapper, address caller);

    constructor (address priceSource_) public OSM(priceSource_) {}

    // --- Administration ---
    /*
    * @notify Modify an address parameter
    * @param parameter The parameter name
    * @param val The new value for the parameter
    */
    function modifyParameters(bytes32 parameter, address val) external isAuthorized {
        if (parameter == "fsmWrapper") {
          require(val != address(0), "ExternallyFundedOSM/invalid-fsm-wrapper");
          fsmWrapper = FSMWrapperLike(val);
        }
        else revert("ExternallyFundedOSM/modify-unrecognized-param");
        emit ModifyParameters(parameter, val);
    }

    /*
    * @notify Update the price feeds inside the OSM
    */
    function updateResult() override external stoppable {
        // Check if the delay passed
        require(passedDelay(), "ExternallyFundedOSM/not-passed");
        // Check that the wrapper is set
        require(address(fsmWrapper) != address(0), "ExternallyFundedOSM/null-wrapper");
        // Read the price from the median
        (uint256 priceFeedValue, bool hasValidValue) = getPriceSourceUpdate();
        // If the value is valid, update storage
        if (hasValidValue) {
            // Update state
            currentFeed    = nextFeed;
            nextFeed       = Feed(uint128(uint(priceFeedValue)), 1);
            lastUpdateTime = latestUpdateTime(currentTime());
            // Emit event
            emit UpdateResult(uint(currentFeed.value), lastUpdateTime);
            // Pay the caller
            try fsmWrapper.renumerateCaller(msg.sender) {}
            catch(bytes memory revertReason) {
              emit FailRenumerateCaller(address(fsmWrapper), msg.sender);
            }
        }
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"priceSource_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"AddAuthorization","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint16","name":"delay","type":"uint16"}],"name":"ChangeDelay","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"priceSource","type":"address"}],"name":"ChangePriceSource","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"wrapper","type":"address"},{"indexed":false,"internalType":"address","name":"caller","type":"address"}],"name":"FailRenumerateCaller","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"parameter","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"val","type":"uint256"}],"name":"ModifyParameters","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"parameter","type":"bytes32"},{"indexed":false,"internalType":"address","name":"val","type":"address"}],"name":"ModifyParameters","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"RemoveAuthorization","type":"event"},{"anonymous":false,"inputs":[],"name":"RestartValue","type":"event"},{"anonymous":false,"inputs":[],"name":"Start","type":"event"},{"anonymous":false,"inputs":[],"name":"Stop","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newMedian","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"lastUpdateTime","type":"uint256"}],"name":"UpdateResult","type":"event"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"addAuthorization","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"authorizedAccounts","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint16","name":"delay","type":"uint16"}],"name":"changeDelay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"priceSource_","type":"address"}],"name":"changePriceSource","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"fsmWrapper","outputs":[{"internalType":"contract FSMWrapperLike","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNextResultWithValidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getResultWithValidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastUpdateTime","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"parameter","type":"bytes32"},{"internalType":"address","name":"val","type":"address"}],"name":"modifyParameters","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"passedDelay","outputs":[{"internalType":"bool","name":"ok","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"priceSource","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"read","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"removeAuthorization","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"restartValue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"start","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stop","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stopped","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"updateDelay","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"updateResult","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040526002805461ffff60a01b191660e160a41b1790553480156200002557600080fd5b506040516200129a3803806200129a833981810160405260208110156200004b57600080fd5b505133600090815260208190526040902060019055600280546001600160a01b0319166001600160a01b03808416919091179182905582911615620001ae57600080620000a06001600160e01b036200022816565b915091508015620001ab57604080518082019091526001600160801b038084168083526001602090930192909252600480546001600160801b03199081169093178216600160801b90811791829055600380548284048516909202919094169183169190911790911617905562000132620001236001600160e01b03620002ec16565b6001600160e01b03620002f016565b60028054600160b01b600160f01b031916600160b01b6001600160401b0393841681029190911791829055600354604080516001600160801b03909216825291909204909216602082015281517ff85e44c6c3597d176b8d59bfbf500dfdb2badfc8cf91e6d960b16583a5807e48929181900390910190a15b50505b6040805133815290517f599a298163e1678bb1c676052a8930bf0b8a1261ed6e01b8a2391e55f70001029181900360200190a1600254604080516001600160a01b039092168252517fe64aaa084ff9fb9651f314c5d25888701090b34db4f4809b517e863c62bd85089181900360200190a1505062000373565b600254604080516309fa15b560e31b8152815160009384936001600160a01b0390911692634fd0ada89260048083019392829003018186803b1580156200026e57600080fd5b505afa9250505080156200029c57506040513d60408110156200029057600080fd5b50805160209091015160015b620002e2573d808015620002cd576040519150601f19603f3d011682016040523d82523d6000602084013e620002d2565b606091505b5060009250829150620002e89050565b90925090505b9091565b4290565b600254600090600160a01b900461ffff1662000353576040805162461bcd60e51b815260206004820152601860248201527f4f534d2f7570646174652d64656c61792d69732d7a65726f0000000000000000604482015290519081900360640190fd5b600254600160a01b900461ffff1682816200036a57fe5b06909103919050565b610f1780620003836000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c806357de26a4116100ad57806381db59171161007157806381db5917146102a157806394f3f81d146102a9578063be9a6555146102cf578063c8f33c91146102d7578063ceedd63d146102fc57610121565b806357de26a41461024157806363bfa88b146102495780636614f0101461026557806375f12b211461029157806380ebb08e1461029957610121565b806335b28153116100f457806335b28153146101ad5780633fcdfe26146101d35780634f0a32de146101f95780634fd0ada81461021a578063554f94db1461022257610121565b806307da68f51461012657806320531bc91461013057806324ba5884146101545780632b9c7ee31461018c575b600080fd5b61012e610304565b005b610138610385565b604080516001600160a01b039092168252519081900360200190f35b61017a6004803603602081101561016a57600080fd5b50356001600160a01b0316610394565b60408051918252519081900360200190f35b61012e600480360360208110156101a257600080fd5b503561ffff166103a6565b61012e600480360360208110156101c357600080fd5b50356001600160a01b03166104a3565b61012e600480360360208110156101e957600080fd5b50356001600160a01b0316610547565b6102016105f3565b6040805192835290151560208301528051918290030190f35b610201610612565b61022a610630565b6040805161ffff9092168252519081900360200190f35b61017a610641565b6102516106b2565b604080519115158252519081900360200190f35b61012e6004803603604081101561027b57600080fd5b50803590602001356001600160a01b03166106f7565b61017a610841565b61012e610847565b610138610b1f565b61012e600480360360208110156102bf57600080fd5b50356001600160a01b0316610b2e565b61012e610bd1565b6102df610c53565b6040805167ffffffffffffffff9092168252519081900360200190f35b61012e610c6a565b33600090815260208190526040902054600114610356576040805162461bcd60e51b815260206004820152601a6024820152600080516020610ec2833981519152604482015290519081900360640190fd5b600180556040517fbedf0f4abfe86d4ffad593d9607fe70e83ea706033d44d24b3b6283cf3fc4f6b90600090a1565b6002546001600160a01b031681565b60006020819052908152604090205481565b336000908152602081905260409020546001146103f8576040805162461bcd60e51b815260206004820152601a6024820152600080516020610ec2833981519152604482015290519081900360640190fd5b60008161ffff1611610445576040805162461bcd60e51b81526020600482015260116024820152704f534d2f64656c61792d69732d7a65726f60781b604482015290519081900360640190fd5b6002805461ffff808416600160a01b90810261ffff60a01b199093169290921792839055604080519290930416815290517fe5e55d7a00a8da3c2d2be2af849b5680612dc299cf26e12a879220d5f42ea2319181900360200190a150565b336000908152602081905260409020546001146104f5576040805162461bcd60e51b815260206004820152601a6024820152600080516020610ec2833981519152604482015290519081900360640190fd5b6001600160a01b0381166000818152602081815260409182902060019055815192835290517f599a298163e1678bb1c676052a8930bf0b8a1261ed6e01b8a2391e55f70001029281900390910190a150565b33600090815260208190526040902054600114610599576040805162461bcd60e51b815260206004820152601a6024820152600080516020610ec2833981519152604482015290519081900360640190fd5b600280546001600160a01b0319166001600160a01b03838116919091179182905560408051929091168252517fe64aaa084ff9fb9651f314c5d25888701090b34db4f4809b517e863c62bd8508916020908290030190a150565b6004546001600160801b0380821691600160801b9004166001145b9091565b6003546001600160801b0380821691600160801b9004166001149091565b600254600160a01b900461ffff1681565b600354600090600160801b90046001600160801b03166001146106a2576040805162461bcd60e51b81526020600482015260146024820152734f534d2f6e6f2d63757272656e742d76616c756560601b604482015290519081900360640190fd5b506003546001600160801b031690565b6002546000906106de90600160b01b810467ffffffffffffffff1690600160a01b900461ffff16610d08565b67ffffffffffffffff166106f0610d2b565b1015905090565b33600090815260208190526040902054600114610749576040805162461bcd60e51b815260206004820152601a6024820152600080516020610ec2833981519152604482015290519081900360640190fd5b81693339b6abb930b83832b960b11b14156107c3576001600160a01b0381166107a35760405162461bcd60e51b8152600401808060200182810382526027815260200180610e6e6027913960400191505060405180910390fd5b600580546001600160a01b0319166001600160a01b0383161790556107fa565b60405162461bcd60e51b815260040180806020018281038252602d815260200180610e95602d913960400191505060405180910390fd5b604080518381526001600160a01b038316602082015281517fd91f38cf03346b5dc15fb60f9076f866295231ad3c3841a1051f8443f25170d1929181900390910190a15050565b60015481565b6001541561088d576040805162461bcd60e51b815260206004820152600e60248201526d13d4d34bda5ccb5cdd1bdc1c195960921b604482015290519081900360640190fd5b6108956106b2565b6108e6576040805162461bcd60e51b815260206004820152601e60248201527f45787465726e616c6c7946756e6465644f534d2f6e6f742d7061737365640000604482015290519081900360640190fd5b6005546001600160a01b0316610943576040805162461bcd60e51b815260206004820181905260248201527f45787465726e616c6c7946756e6465644f534d2f6e756c6c2d77726170706572604482015290519081900360640190fd5b60008061094e610d2f565b915091508015610b1b576004805460038054600160801b8084046001600160801b0390811682026fffffffffffffffffffffffffffffffff19938416828716178216179093556040805180820190915287841680825260016020909201919091529190931617161790556109c86109c3610d2b565b610dec565b6002805467ffffffffffffffff60b01b1916600160b01b67ffffffffffffffff93841681029190911791829055600354604080516001600160801b03909216825291909204909216602082015281517ff85e44c6c3597d176b8d59bfbf500dfdb2badfc8cf91e6d960b16583a5807e48929181900390910190a160055460408051632761f27b60e01b815233600482015290516001600160a01b0390921691632761f27b9160248082019260009290919082900301818387803b158015610a8e57600080fd5b505af1925050508015610a9f575060015b610b1b573d808015610acd576040519150601f19603f3d011682016040523d82523d6000602084013e610ad2565b606091505b50600554604080516001600160a01b03909216825233602083015280517f96957874bf643b6d75552ddf6e2f265e2c481209f5b12355e64caede7201b7409281900390910190a1505b5050565b6005546001600160a01b031681565b33600090815260208190526040902054600114610b80576040805162461bcd60e51b815260206004820152601a6024820152600080516020610ec2833981519152604482015290519081900360640190fd5b6001600160a01b03811660008181526020818152604080832092909255815192835290517f8834a87e641e9716be4f34527af5d23e11624f1ddeefede6ad75a9acfc31b9039281900390910190a150565b33600090815260208190526040902054600114610c23576040805162461bcd60e51b815260206004820152601a6024820152600080516020610ec2833981519152604482015290519081900360640190fd5b600060018190556040517f1b55ba3aa851a46be3b365aee5b5c140edd620d578922f3e8466d2cbd96f954b9190a1565b600254600160b01b900467ffffffffffffffff1681565b33600090815260208190526040902054600114610cbc576040805162461bcd60e51b815260206004820152601a6024820152600080516020610ec2833981519152604482015290519081900360640190fd5b60408051808201825260008082526020909101819052600481905560038190556001805590517f34cd470f8814066090f532fe3cb8158c5d974d7a01f4ada846dc9869e7e9d59a9190a1565b81810167ffffffffffffffff8084169082161015610d2557600080fd5b92915050565b4290565b600254604080516309fa15b560e31b8152815160009384936001600160a01b0390911692634fd0ada89260048083019392829003018186803b158015610d7457600080fd5b505afa925050508015610da057506040513d6040811015610d9457600080fd5b50805160209091015160015b610de2573d808015610dce576040519150601f19603f3d011682016040523d82523d6000602084013e610dd3565b606091505b506000925082915061060e9050565b909250905061060e565b600254600090600160a01b900461ffff16610e4e576040805162461bcd60e51b815260206004820152601860248201527f4f534d2f7570646174652d64656c61792d69732d7a65726f0000000000000000604482015290519081900360640190fd5b600254600160a01b900461ffff168281610e6457fe5b0690910391905056fe45787465726e616c6c7946756e6465644f534d2f696e76616c69642d66736d2d7772617070657245787465726e616c6c7946756e6465644f534d2f6d6f646966792d756e7265636f676e697a65642d706172616d4f534d2f6163636f756e742d6e6f742d617574686f72697a6564000000000000a2646970667358221220c37029ac5c5079c842a7074f37e4842ae016fe38f24aa0ba1b8b94f9befeee0a64736f6c63430006070033000000000000000000000000b825e25856bd98b3f2faf2aeb6cb8742b38c4025

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101215760003560e01c806357de26a4116100ad57806381db59171161007157806381db5917146102a157806394f3f81d146102a9578063be9a6555146102cf578063c8f33c91146102d7578063ceedd63d146102fc57610121565b806357de26a41461024157806363bfa88b146102495780636614f0101461026557806375f12b211461029157806380ebb08e1461029957610121565b806335b28153116100f457806335b28153146101ad5780633fcdfe26146101d35780634f0a32de146101f95780634fd0ada81461021a578063554f94db1461022257610121565b806307da68f51461012657806320531bc91461013057806324ba5884146101545780632b9c7ee31461018c575b600080fd5b61012e610304565b005b610138610385565b604080516001600160a01b039092168252519081900360200190f35b61017a6004803603602081101561016a57600080fd5b50356001600160a01b0316610394565b60408051918252519081900360200190f35b61012e600480360360208110156101a257600080fd5b503561ffff166103a6565b61012e600480360360208110156101c357600080fd5b50356001600160a01b03166104a3565b61012e600480360360208110156101e957600080fd5b50356001600160a01b0316610547565b6102016105f3565b6040805192835290151560208301528051918290030190f35b610201610612565b61022a610630565b6040805161ffff9092168252519081900360200190f35b61017a610641565b6102516106b2565b604080519115158252519081900360200190f35b61012e6004803603604081101561027b57600080fd5b50803590602001356001600160a01b03166106f7565b61017a610841565b61012e610847565b610138610b1f565b61012e600480360360208110156102bf57600080fd5b50356001600160a01b0316610b2e565b61012e610bd1565b6102df610c53565b6040805167ffffffffffffffff9092168252519081900360200190f35b61012e610c6a565b33600090815260208190526040902054600114610356576040805162461bcd60e51b815260206004820152601a6024820152600080516020610ec2833981519152604482015290519081900360640190fd5b600180556040517fbedf0f4abfe86d4ffad593d9607fe70e83ea706033d44d24b3b6283cf3fc4f6b90600090a1565b6002546001600160a01b031681565b60006020819052908152604090205481565b336000908152602081905260409020546001146103f8576040805162461bcd60e51b815260206004820152601a6024820152600080516020610ec2833981519152604482015290519081900360640190fd5b60008161ffff1611610445576040805162461bcd60e51b81526020600482015260116024820152704f534d2f64656c61792d69732d7a65726f60781b604482015290519081900360640190fd5b6002805461ffff808416600160a01b90810261ffff60a01b199093169290921792839055604080519290930416815290517fe5e55d7a00a8da3c2d2be2af849b5680612dc299cf26e12a879220d5f42ea2319181900360200190a150565b336000908152602081905260409020546001146104f5576040805162461bcd60e51b815260206004820152601a6024820152600080516020610ec2833981519152604482015290519081900360640190fd5b6001600160a01b0381166000818152602081815260409182902060019055815192835290517f599a298163e1678bb1c676052a8930bf0b8a1261ed6e01b8a2391e55f70001029281900390910190a150565b33600090815260208190526040902054600114610599576040805162461bcd60e51b815260206004820152601a6024820152600080516020610ec2833981519152604482015290519081900360640190fd5b600280546001600160a01b0319166001600160a01b03838116919091179182905560408051929091168252517fe64aaa084ff9fb9651f314c5d25888701090b34db4f4809b517e863c62bd8508916020908290030190a150565b6004546001600160801b0380821691600160801b9004166001145b9091565b6003546001600160801b0380821691600160801b9004166001149091565b600254600160a01b900461ffff1681565b600354600090600160801b90046001600160801b03166001146106a2576040805162461bcd60e51b81526020600482015260146024820152734f534d2f6e6f2d63757272656e742d76616c756560601b604482015290519081900360640190fd5b506003546001600160801b031690565b6002546000906106de90600160b01b810467ffffffffffffffff1690600160a01b900461ffff16610d08565b67ffffffffffffffff166106f0610d2b565b1015905090565b33600090815260208190526040902054600114610749576040805162461bcd60e51b815260206004820152601a6024820152600080516020610ec2833981519152604482015290519081900360640190fd5b81693339b6abb930b83832b960b11b14156107c3576001600160a01b0381166107a35760405162461bcd60e51b8152600401808060200182810382526027815260200180610e6e6027913960400191505060405180910390fd5b600580546001600160a01b0319166001600160a01b0383161790556107fa565b60405162461bcd60e51b815260040180806020018281038252602d815260200180610e95602d913960400191505060405180910390fd5b604080518381526001600160a01b038316602082015281517fd91f38cf03346b5dc15fb60f9076f866295231ad3c3841a1051f8443f25170d1929181900390910190a15050565b60015481565b6001541561088d576040805162461bcd60e51b815260206004820152600e60248201526d13d4d34bda5ccb5cdd1bdc1c195960921b604482015290519081900360640190fd5b6108956106b2565b6108e6576040805162461bcd60e51b815260206004820152601e60248201527f45787465726e616c6c7946756e6465644f534d2f6e6f742d7061737365640000604482015290519081900360640190fd5b6005546001600160a01b0316610943576040805162461bcd60e51b815260206004820181905260248201527f45787465726e616c6c7946756e6465644f534d2f6e756c6c2d77726170706572604482015290519081900360640190fd5b60008061094e610d2f565b915091508015610b1b576004805460038054600160801b8084046001600160801b0390811682026fffffffffffffffffffffffffffffffff19938416828716178216179093556040805180820190915287841680825260016020909201919091529190931617161790556109c86109c3610d2b565b610dec565b6002805467ffffffffffffffff60b01b1916600160b01b67ffffffffffffffff93841681029190911791829055600354604080516001600160801b03909216825291909204909216602082015281517ff85e44c6c3597d176b8d59bfbf500dfdb2badfc8cf91e6d960b16583a5807e48929181900390910190a160055460408051632761f27b60e01b815233600482015290516001600160a01b0390921691632761f27b9160248082019260009290919082900301818387803b158015610a8e57600080fd5b505af1925050508015610a9f575060015b610b1b573d808015610acd576040519150601f19603f3d011682016040523d82523d6000602084013e610ad2565b606091505b50600554604080516001600160a01b03909216825233602083015280517f96957874bf643b6d75552ddf6e2f265e2c481209f5b12355e64caede7201b7409281900390910190a1505b5050565b6005546001600160a01b031681565b33600090815260208190526040902054600114610b80576040805162461bcd60e51b815260206004820152601a6024820152600080516020610ec2833981519152604482015290519081900360640190fd5b6001600160a01b03811660008181526020818152604080832092909255815192835290517f8834a87e641e9716be4f34527af5d23e11624f1ddeefede6ad75a9acfc31b9039281900390910190a150565b33600090815260208190526040902054600114610c23576040805162461bcd60e51b815260206004820152601a6024820152600080516020610ec2833981519152604482015290519081900360640190fd5b600060018190556040517f1b55ba3aa851a46be3b365aee5b5c140edd620d578922f3e8466d2cbd96f954b9190a1565b600254600160b01b900467ffffffffffffffff1681565b33600090815260208190526040902054600114610cbc576040805162461bcd60e51b815260206004820152601a6024820152600080516020610ec2833981519152604482015290519081900360640190fd5b60408051808201825260008082526020909101819052600481905560038190556001805590517f34cd470f8814066090f532fe3cb8158c5d974d7a01f4ada846dc9869e7e9d59a9190a1565b81810167ffffffffffffffff8084169082161015610d2557600080fd5b92915050565b4290565b600254604080516309fa15b560e31b8152815160009384936001600160a01b0390911692634fd0ada89260048083019392829003018186803b158015610d7457600080fd5b505afa925050508015610da057506040513d6040811015610d9457600080fd5b50805160209091015160015b610de2573d808015610dce576040519150601f19603f3d011682016040523d82523d6000602084013e610dd3565b606091505b506000925082915061060e9050565b909250905061060e565b600254600090600160a01b900461ffff16610e4e576040805162461bcd60e51b815260206004820152601860248201527f4f534d2f7570646174652d64656c61792d69732d7a65726f0000000000000000604482015290519081900360640190fd5b600254600160a01b900461ffff168281610e6457fe5b0690910391905056fe45787465726e616c6c7946756e6465644f534d2f696e76616c69642d66736d2d7772617070657245787465726e616c6c7946756e6465644f534d2f6d6f646966792d756e7265636f676e697a65642d706172616d4f534d2f6163636f756e742d6e6f742d617574686f72697a6564000000000000a2646970667358221220c37029ac5c5079c842a7074f37e4842ae016fe38f24aa0ba1b8b94f9befeee0a64736f6c63430006070033

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

000000000000000000000000b825e25856bd98b3f2faf2aeb6cb8742b38c4025

-----Decoded View---------------
Arg [0] : priceSource_ (address): 0xb825e25856bD98b3f2FAF2aEb6Cb8742B38C4025

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000b825e25856bd98b3f2faf2aeb6cb8742b38c4025


Deployed Bytecode Sourcemap

6751:1962:0:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;6751:1962:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;2925:90:0;;;:::i;:::-;;1279:26;;;:::i;:::-;;;;-1:-1:-1;;;;;1279:26:0;;;;;;;;;;;;;;287:51;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;287:51:0;-1:-1:-1;;;;;287:51:0;;:::i;:::-;;;;;;;;;;;;;;;;4135:185;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;4135:185:0;;;;:::i;448:164::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;448:164:0;-1:-1:-1;;;;;448:164:0;;:::i;3318:162::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;3318:162:0;-1:-1:-1;;;;;3318:162:0;;:::i;6340:139::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6110:147;;;:::i;1359:37::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6585:159;;;:::i;4673:147::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;7205:387;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;7205:387:0;;;;;;-1:-1:-1;;;;;7205:387:0;;:::i;1150:22::-;;;:::i;7669:1041::-;;;:::i;6820:32::-;;;:::i;731:170::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;731:170:0;-1:-1:-1;;;;;731:170:0;;:::i;3066:92::-;;;:::i;1403:29::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4407:152;;;:::i;2925:90::-;1054:10;1035:18;:30;;;;;;;;;;;1069:1;1035:35;1027:74;;;;;-1:-1:-1;;;1027:74:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1027:74:0;;;;;;;;;;;;;;;2984:1:::1;2974:11:::0;;3001:6:::1;::::0;::::1;::::0;;;::::1;2925:90::o:0;1279:26::-;;;-1:-1:-1;;;;;1279:26:0;;:::o;287:51::-;;;;;;;;;;;;;;:::o;4135:185::-;1054:10;1035:18;:30;;;;;;;;;;;1069:1;1035:35;1027:74;;;;;-1:-1:-1;;;1027:74:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1027:74:0;;;;;;;;;;;;;;;4219:1:::1;4211:5;:9;;;4203:39;;;::::0;;-1:-1:-1;;;4203:39:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;4203:39:0;;;;;;;;;;;;;::::1;;4253:11;:19:::0;;::::1;::::0;;::::1;-1:-1:-1::0;;;4253:19:0;;::::1;-1:-1:-1::0;;;;4253:19:0;;::::1;::::0;;;::::1;::::0;;;;4288:24:::1;::::0;;4300:11;;;::::1;;4288:24:::0;;;;::::1;::::0;;;;::::1;::::0;;::::1;4135:185:::0;:::o;448:164::-;1054:10;1035:18;:30;;;;;;;;;;;1069:1;1035:35;1027:74;;;;;-1:-1:-1;;;1027:74:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1027:74:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;532:27:0;::::1;:18;:27:::0;;;::::1;::::0;;;;;;;;562:1:::1;532:31:::0;;579:25;;;;;;;::::1;::::0;;;;;;;;::::1;448:164:::0;:::o;3318:162::-;1054:10;1035:18;:30;;;;;;;;;;;1069:1;1035:35;1027:74;;;;;-1:-1:-1;;;1027:74:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1027:74:0;;;;;;;;;;;;;;;3400:11:::1;:26:::0;;-1:-1:-1;;;;;;3400:26:0::1;-1:-1:-1::0;;;;;3400:26:0;;::::1;::::0;;;::::1;::::0;;;;3442:30:::1;::::0;;3460:11;;;::::1;3442:30:::0;;;::::1;::::0;::::1;::::0;;;;;;::::1;3318:162:::0;:::o;6340:139::-;6433:8;:14;-1:-1:-1;;;;;6433:14:0;;;;-1:-1:-1;;;6449:16:0;;;6433:14;6449:21;6340:139;;;:::o;6110:147::-;6204:11;:17;-1:-1:-1;;;;;6204:17:0;;;;-1:-1:-1;;;6224:19:0;;;6204:17;6224:24;6110:147;;:::o;1359:37::-;;;-1:-1:-1;;;1359:37:0;;;;;:::o;6585:159::-;6652:11;:19;6624:7;;-1:-1:-1;;;6652:19:0;;-1:-1:-1;;;;;6652:19:0;6675:1;6652:24;6644:57;;;;;-1:-1:-1;;;6644:57:0;;;;;;;;;;;;-1:-1:-1;;;6644:57:0;;;;;;;;;;;;;;;-1:-1:-1;6719:11:0;:17;-1:-1:-1;;;;;6719:17:0;6585:159;:::o;4673:147::-;4775:14;;4717:7;;4766:45;;-1:-1:-1;;;4775:14:0;;;;;-1:-1:-1;;;4798:11:0;;;;4766:8;:45::i;:::-;4761:51;;4744:13;:11;:13::i;:::-;:68;;4737:75;;4673:147;:::o;7205:387::-;1054:10;1035:18;:30;;;;;;;;;;;1069:1;1035:35;1027:74;;;;;-1:-1:-1;;;1027:74:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1027:74:0;;;;;;;;;;;;;;;7300:9:::1;-1:-1:-1::0;;;7300:25:0::1;7296:240;;;-1:-1:-1::0;;;;;7348:17:0;::::1;7340:69;;;;-1:-1:-1::0;;;7340:69:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7422:10;:32:::0;;-1:-1:-1;;;;;;7422:32:0::1;-1:-1:-1::0;;;;;7422:32:0;::::1;;::::0;;7296:240:::1;;;7481:55;;-1:-1:-1::0;;;7481:55:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7296:240;7552:32;::::0;;;;;-1:-1:-1;;;;;7552:32:0;::::1;;::::0;::::1;::::0;;;::::1;::::0;;;;;;;;;::::1;7205:387:::0;;:::o;1150:22::-;;;;:::o;7669:1041::-;1208:7;;:12;1200:39;;;;;-1:-1:-1;;;1200:39:0;;;;;;;;;;;;-1:-1:-1;;;1200:39:0;;;;;;;;;;;;;;;7778:13:::1;:11;:13::i;:::-;7770:56;;;::::0;;-1:-1:-1;;;7770:56:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;7895:10;::::0;-1:-1:-1;;;;;7895:10:0::1;7879:78;;;::::0;;-1:-1:-1;;;7879:78:0;;::::1;;::::0;::::1;::::0;;;;;;;::::1;::::0;;;;;;;;;;;;;::::1;;8012:22;8036:18:::0;8058:22:::1;:20;:22::i;:::-;8011:69;;;;8145:13;8141:562;;;8221:8;8204:25:::0;;:11:::1;:25:::0;;-1:-1:-1;;;8204:25:0;;::::1;-1:-1:-1::0;;;;;8204:25:0;;::::1;::::0;::::1;-1:-1:-1::0;;8204:25:0;;::::1;::::0;;::::1;;::::0;::::1;;::::0;;;8261:38:::1;::::0;;;;::::1;::::0;;;;;::::1;::::0;;;8204:25;8261:38:::1;::::0;;::::1;::::0;;;;8244:55;;;::::1;;;;::::0;;8331:31:::1;8348:13;:11;:13::i;:::-;8331:16;:31::i;:::-;8314:14;:48:::0;;-1:-1:-1;;;;8314:48:0::1;-1:-1:-1::0;;;8314:48:0::1;::::0;;::::1;::::0;::::1;::::0;;;::::1;::::0;;;;8427:11:::1;:17:::0;8409:53:::1;::::0;;-1:-1:-1;;;;;8427:17:0;;::::1;8409:53:::0;;8447:14;;;::::1;::::0;;::::1;8409:53;::::0;::::1;::::0;;;::::1;::::0;;;;;;;;;::::1;8512:10;::::0;:39:::1;::::0;;-1:-1:-1;;;8512:39:0;;8540:10:::1;8512:39;::::0;::::1;::::0;;;-1:-1:-1;;;;;8512:10:0;;::::1;::::0;:27:::1;::::0;:39;;;;;:10:::1;::::0;:39;;;;;;;;:10;;:39;::::1;;2:2:-1::0;::::1;;;27:1;24::::0;17:12:::1;2:2;8512:39:0;;;;;;;;;;;;;;8508:184;;;::::0;14:27:-1;;::::1;;67:4;61:11;56:16;;134:4;130:9;123:4;105:16;101:27;97:43;94:1;90:51;84:4;77:65;157:16;154:1;147:27;211:16;208:1;201:4;198:1;194:12;179:49;5:228;;14:27;32:4;27:9;;5:228;-1:-1:::0;8652:10:0::1;::::0;8623:53:::1;::::0;;-1:-1:-1;;;;;8652:10:0;;::::1;8623:53:::0;;8665:10:::1;8623:53;::::0;::::1;::::0;;;::::1;::::0;;;;;;;;::::1;8568:124;8508:184;1241:1;;7669:1041::o:0;6820:32::-;;;-1:-1:-1;;;;;6820:32:0;;:::o;731:170::-;1054:10;1035:18;:30;;;;;;;;;;;1069:1;1035:35;1027:74;;;;;-1:-1:-1;;;1027:74:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1027:74:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;818:27:0;::::1;848:1;818:27:::0;;;::::1;::::0;;;;;;;:31;;;;865:28;;;;;;;::::1;::::0;;;;;;;;::::1;731:170:::0;:::o;3066:92::-;1054:10;1035:18;:30;;;;;;;;;;;1069:1;1035:35;1027:74;;;;;-1:-1:-1;;;1027:74:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1027:74:0;;;;;;;;;;;;;;;3126:1:::1;3116:7;:11:::0;;;3143:7:::1;::::0;::::1;::::0;3126:1;3143:7:::1;3066:92::o:0;1403:29::-;;;-1:-1:-1;;;1403:29:0;;;;;:::o;4407:152::-;1054:10;1035:18;:30;;;;;;;;;;;1069:1;1035:35;1027:74;;;;;-1:-1:-1;;;1027:74:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1027:74:0;;;;;;;;;;;;;;;4489:10:::1;::::0;;;;::::1;::::0;;-1:-1:-1;4489:10:0;;;::::1;::::0;;::::1;::::0;;;4478:8:::1;:21:::0;;;4464:11:::1;:35:::0;;;4478:21;4510:11;;4537:14;;::::1;::::0;-1:-1:-1;4537:14:0::1;4407:152::o:0;2721:125::-;2807:5;;;2831:6;;;;;;;;;2823:15;;12:1:-1;9;2:12;2823:15:0;2721:125;;;;:::o;3567:93::-;3637:15;3567:93;:::o;5697:329::-;5794:11;;5782:48;;;-1:-1:-1;;;5782:48:0;;;;5752:7;;;;-1:-1:-1;;;;;5794:11:0;;;;5782:46;;:48;;;;;;;;;;;5794:11;5782:48;;;2:2:-1;;;;27:1;24;17:12;2:2;5782:48:0;;;;;;;;;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;5782:48:0;;;;;;;;;5778:241;;;;14:27:-1;;;;67:4;61:11;56:16;;134:4;130:9;123:4;105:16;101:27;97:43;94:1;90:51;84:4;77:65;157:16;154:1;147:27;211:16;208:1;201:4;198:1;194:12;179:49;5:228;;14:27;32:4;27:9;;5:228;-1:-1;5998:1:0;;-1:-1:-1;5998:1:0;;-1:-1:-1;5990:17:0;;-1:-1:-1;5990:17:0;5778:241;5905:14;;-1:-1:-1;5921:13:0;-1:-1:-1;5897:38:0;;3821:208;3913:11;;3886:6;;-1:-1:-1;;;3913:11:0;;;;3905:53;;;;;-1:-1:-1;;;3905:53:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;4008:11;;-1:-1:-1;;;4008:11:0;;;;3996:9;4008:11;3996:23;;;;;3983:37;;;;3821:208;-1:-1:-1;3821:208:0:o

Swarm Source

ipfs://c37029ac5c5079c842a7074f37e4842ae016fe38f24aa0ba1b8b94f9befeee0a

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.