ETH Price: $2,160.67 (+5.72%)

Contract

0x5b89fF2DeCd360Aa01cbd453AA2cEd4F23b674b6
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Update Result117244482021-01-25 11:03:301883 days ago1611572610IN
0x5b89fF2D...F23b674b6
0 ETH0.0033173764.00000145
Update Result117233812021-01-25 7:08:231884 days ago1611558503IN
0x5b89fF2D...F23b674b6
0 ETH0.0034210466
Update Result117222822021-01-25 3:04:261884 days ago1611543866IN
0x5b89fF2D...F23b674b6
0 ETH0.0058054112
Update Result117212142021-01-24 23:04:121884 days ago1611529452IN
0x5b89fF2D...F23b674b6
0 ETH0.0046132289
Update Result117201182021-01-24 19:04:021884 days ago1611515042IN
0x5b89fF2D...F23b674b6
0 ETH0.0038149873.6
Update Result117190582021-01-24 15:03:461884 days ago1611500626IN
0x5b89fF2D...F23b674b6
0 ETH0.0034210466
Update Result117179402021-01-24 11:03:571884 days ago1611486237IN
0x5b89fF2D...F23b674b6
0 ETH0.0026953652
Update Result117168772021-01-24 7:04:161885 days ago1611471856IN
0x5b89fF2D...F23b674b6
0 ETH0.0022806944.00000145
Update Result117158212021-01-24 3:03:501885 days ago1611457430IN
0x5b89fF2D...F23b674b6
0 ETH0.0025035848.3
Update Result117147142021-01-23 23:03:361885 days ago1611443016IN
0x5b89fF2D...F23b674b6
0 ETH0.0031618761
Update Result117136092021-01-23 19:03:381885 days ago1611428618IN
0x5b89fF2D...F23b674b6
0 ETH0.0041467280
Update Result117125222021-01-23 15:05:441885 days ago1611414344IN
0x5b89fF2D...F23b674b6
0 ETH0.0034728767
Update Result117114092021-01-23 11:04:241885 days ago1611399864IN
0x5b89fF2D...F23b674b6
0 ETH0.0033692165
Update Result117103672021-01-23 7:03:531886 days ago1611385433IN
0x5b89fF2D...F23b674b6
0 ETH0.0032551762.8
Update Result117092652021-01-23 3:03:361886 days ago1611371016IN
0x5b89fF2D...F23b674b6
0 ETH0.0031618761
Update Result117081812021-01-22 23:03:541886 days ago1611356634IN
0x5b89fF2D...F23b674b6
0 ETH0.00544257105
Update Result117070752021-01-22 19:03:351886 days ago1611342215IN
0x5b89fF2D...F23b674b6
0 ETH0.0048330993.24180263
Update Result117060002021-01-22 15:03:371886 days ago1611327817IN
0x5b89fF2D...F23b674b6
0 ETH0.0056499109
Update Result117049242021-01-22 11:03:371886 days ago1611313417IN
0x5b89fF2D...F23b674b6
0 ETH0.0032655463.00000145
Update Result117038422021-01-22 7:03:411887 days ago1611299021IN
0x5b89fF2D...F23b674b6
0 ETH0.0038357174
Update Result117027992021-01-22 3:03:341887 days ago1611284614IN
0x5b89fF2D...F23b674b6
0 ETH0.01068817206.2
Update Result117016862021-01-21 23:03:341887 days ago1611270214IN
0x5b89fF2D...F23b674b6
0 ETH0.01269933245
Update Result117005872021-01-21 19:03:371887 days ago1611255817IN
0x5b89fF2D...F23b674b6
0 ETH0.0048205693
Update Result116995782021-01-21 15:18:321887 days ago1611242312IN
0x5b89fF2D...F23b674b6
0 ETH0.01421806274.30000033
Update Result116984042021-01-21 11:04:581887 days ago1611227098IN
0x5b89fF2D...F23b674b6
0 ETH0.0034210466
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
OSM

Compiler Version
v0.6.7+commit.b8d736ae

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2020-10-26
*/

pragma solidity >=0.6.7;

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

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

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

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

    struct Feed {
        uint128 value;
        uint128 isValid;
    }

    Feed currentFeed;
    Feed nextFeed;

    // --- Events ---
    event AddAuthorization(address account);
    event RemoveAuthorization(address account);
    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);
    }

    function stop() external isAuthorized {
        stopped = 1;
        emit Stop();
    }
    function start() external isAuthorized {
        stopped = 0;
        emit Start();
    }

    function changePriceSource(address priceSource_) external isAuthorized {
        priceSource = priceSource_;
        emit ChangePriceSource(priceSource);
    }

    function currentTime() internal view returns (uint) {
        return block.timestamp;
    }

    function latestUpdateTime(uint timestamp) internal view returns (uint64) {
        require(updateDelay != 0, "OSM/update-delay-is-zero");
        return uint64(timestamp - (timestamp % updateDelay));
    }

    function changeDelay(uint16 delay) external isAuthorized {
        require(delay > 0, "OSM/delay-is-zero");
        updateDelay = delay;
        emit ChangeDelay(updateDelay);
    }

    function restartValue() external isAuthorized {
        currentFeed = nextFeed = Feed(0, 0);
        stopped = 1;
        emit RestartValue();
    }

    function passedDelay() public view returns (bool ok) {
        return currentTime() >= add(lastUpdateTime, updateDelay);
    }

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

    function updateResult() external stoppable {
        require(passedDelay(), "OSM/not-passed");
        (uint256 priceFeedValue, bool hasValidValue) = getPriceSourceUpdate();
        if (hasValidValue) {
            currentFeed = nextFeed;
            nextFeed = Feed(uint128(uint(priceFeedValue)), 1);
            lastUpdateTime = latestUpdateTime(currentTime());
            emit UpdateResult(uint(currentFeed.value), lastUpdateTime);
        }
    }

    function getResultWithValidity() external view returns (uint256,bool) {
        return (uint(currentFeed.value), currentFeed.isValid == 1);
    }

    function getNextResultWithValidity() external view returns (uint256,bool) {
        return (nextFeed.value, nextFeed.isValid == 1);
    }

    function read() external view returns (uint256) {
        require(currentFeed.isValid == 1, "OSM/no-current-value");
        return currentFeed.value;
    }
}

Contract Security Audit

Contract ABI

API
[{"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":"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":"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":[],"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"}]

60806040526002805461ffff60a01b191660e160a41b17905534801561002457600080fd5b5060405162000f4838038062000f488339818101604052602081101561004957600080fd5b505133600090815260208190526040902060019055600280546001600160a01b0319166001600160a01b03808416919091179182905516156101a2576000806100996001600160e01b0361021a16565b91509150801561019f57604080518082019091526001600160801b038084168083526001602090930192909252600480546001600160801b03199081169093178216600160801b9081179182905560038054828404851690920291909416918316919091179091161790556101266101186001600160e01b036102d716565b6001600160e01b036102db16565b60028054600160b01b600160f01b031916600160b01b6001600160401b0393841681029190911791829055600354604080516001600160801b03909216825291909204909216602082015281517ff85e44c6c3597d176b8d59bfbf500dfdb2badfc8cf91e6d960b16583a5807e48929181900390910190a15b50505b6040805133815290517f599a298163e1678bb1c676052a8930bf0b8a1261ed6e01b8a2391e55f70001029181900360200190a1600254604080516001600160a01b039092168252517fe64aaa084ff9fb9651f314c5d25888701090b34db4f4809b517e863c62bd85089181900360200190a15061035c565b600254604080516309fa15b560e31b8152815160009384936001600160a01b0390911692634fd0ada89260048083019392829003018186803b15801561025f57600080fd5b505afa92505050801561028b57506040513d604081101561027f57600080fd5b50805160209091015160015b6102cd573d8080156102b9576040519150601f19603f3d011682016040523d82523d6000602084013e6102be565b606091505b50600092508291506102d39050565b90925090505b9091565b4290565b600254600090600160a01b900461ffff1661033d576040805162461bcd60e51b815260206004820152601860248201527f4f534d2f7570646174652d64656c61792d69732d7a65726f0000000000000000604482015290519081900360640190fd5b600254600160a01b900461ffff16828161035357fe5b06909103919050565b610bdc806200036c6000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c8063554f94db116100a257806380ebb08e1161007157806380ebb08e1461025757806394f3f81d1461025f578063be9a655514610285578063c8f33c911461028d578063ceedd63d146102b25761010b565b8063554f94db1461020c57806357de26a41461022b57806363bfa88b1461023357806375f12b211461024f5761010b565b806335b28153116100de57806335b28153146101975780633fcdfe26146101bd5780634f0a32de146101e35780634fd0ada8146102045761010b565b806307da68f51461011057806320531bc91461011a57806324ba58841461013e5780632b9c7ee314610176575b600080fd5b6101186102ba565b005b61012261033b565b604080516001600160a01b039092168252519081900360200190f35b6101646004803603602081101561015457600080fd5b50356001600160a01b031661034a565b60408051918252519081900360200190f35b6101186004803603602081101561018c57600080fd5b503561ffff1661035c565b610118600480360360208110156101ad57600080fd5b50356001600160a01b0316610459565b610118600480360360208110156101d357600080fd5b50356001600160a01b03166104fd565b6101eb6105a9565b6040805192835290151560208301528051918290030190f35b6101eb6105c8565b6102146105e6565b6040805161ffff9092168252519081900360200190f35b6101646105f7565b61023b610668565b604080519115158252519081900360200190f35b6101646106ad565b6101186106b3565b6101186004803603602081101561027557600080fd5b50356001600160a01b0316610847565b6101186108ea565b61029561096c565b6040805167ffffffffffffffff9092168252519081900360200190f35b610118610983565b3360009081526020819052604090205460011461030c576040805162461bcd60e51b815260206004820152601a6024820152600080516020610b87833981519152604482015290519081900360640190fd5b600180556040517fbedf0f4abfe86d4ffad593d9607fe70e83ea706033d44d24b3b6283cf3fc4f6b90600090a1565b6002546001600160a01b031681565b60006020819052908152604090205481565b336000908152602081905260409020546001146103ae576040805162461bcd60e51b815260206004820152601a6024820152600080516020610b87833981519152604482015290519081900360640190fd5b60008161ffff16116103fb576040805162461bcd60e51b81526020600482015260116024820152704f534d2f64656c61792d69732d7a65726f60781b604482015290519081900360640190fd5b6002805461ffff808416600160a01b90810261ffff60a01b199093169290921792839055604080519290930416815290517fe5e55d7a00a8da3c2d2be2af849b5680612dc299cf26e12a879220d5f42ea2319181900360200190a150565b336000908152602081905260409020546001146104ab576040805162461bcd60e51b815260206004820152601a6024820152600080516020610b87833981519152604482015290519081900360640190fd5b6001600160a01b0381166000818152602081815260409182902060019055815192835290517f599a298163e1678bb1c676052a8930bf0b8a1261ed6e01b8a2391e55f70001029281900390910190a150565b3360009081526020819052604090205460011461054f576040805162461bcd60e51b815260206004820152601a6024820152600080516020610b87833981519152604482015290519081900360640190fd5b600280546001600160a01b0319166001600160a01b03838116919091179182905560408051929091168252517fe64aaa084ff9fb9651f314c5d25888701090b34db4f4809b517e863c62bd8508916020908290030190a150565b6004546001600160801b0380821691600160801b9004166001145b9091565b6003546001600160801b0380821691600160801b9004166001149091565b600254600160a01b900461ffff1681565b600354600090600160801b90046001600160801b0316600114610658576040805162461bcd60e51b81526020600482015260146024820152734f534d2f6e6f2d63757272656e742d76616c756560601b604482015290519081900360640190fd5b506003546001600160801b031690565b60025460009061069490600160b01b810467ffffffffffffffff1690600160a01b900461ffff16610a21565b67ffffffffffffffff166106a6610a44565b1015905090565b60015481565b600154156106f9576040805162461bcd60e51b815260206004820152600e60248201526d13d4d34bda5ccb5cdd1bdc1c195960921b604482015290519081900360640190fd5b610701610668565b610743576040805162461bcd60e51b815260206004820152600e60248201526d13d4d34bdb9bdd0b5c185cdcd95960921b604482015290519081900360640190fd5b60008061074e610a48565b915091508015610843576004805460038054600160801b8084046001600160801b0390811682026fffffffffffffffffffffffffffffffff19938416828716178216179093556040805180820190915287841680825260016020909201919091529190931617161790556107c86107c3610a44565b610b05565b6002805467ffffffffffffffff60b01b1916600160b01b67ffffffffffffffff93841681029190911791829055600354604080516001600160801b03909216825291909204909216602082015281517ff85e44c6c3597d176b8d59bfbf500dfdb2badfc8cf91e6d960b16583a5807e48929181900390910190a15b5050565b33600090815260208190526040902054600114610899576040805162461bcd60e51b815260206004820152601a6024820152600080516020610b87833981519152604482015290519081900360640190fd5b6001600160a01b03811660008181526020818152604080832092909255815192835290517f8834a87e641e9716be4f34527af5d23e11624f1ddeefede6ad75a9acfc31b9039281900390910190a150565b3360009081526020819052604090205460011461093c576040805162461bcd60e51b815260206004820152601a6024820152600080516020610b87833981519152604482015290519081900360640190fd5b600060018190556040517f1b55ba3aa851a46be3b365aee5b5c140edd620d578922f3e8466d2cbd96f954b9190a1565b600254600160b01b900467ffffffffffffffff1681565b336000908152602081905260409020546001146109d5576040805162461bcd60e51b815260206004820152601a6024820152600080516020610b87833981519152604482015290519081900360640190fd5b60408051808201825260008082526020909101819052600481905560038190556001805590517f34cd470f8814066090f532fe3cb8158c5d974d7a01f4ada846dc9869e7e9d59a9190a1565b81810167ffffffffffffffff8084169082161015610a3e57600080fd5b92915050565b4290565b600254604080516309fa15b560e31b8152815160009384936001600160a01b0390911692634fd0ada89260048083019392829003018186803b158015610a8d57600080fd5b505afa925050508015610ab957506040513d6040811015610aad57600080fd5b50805160209091015160015b610afb573d808015610ae7576040519150601f19603f3d011682016040523d82523d6000602084013e610aec565b606091505b50600092508291506105c49050565b90925090506105c4565b600254600090600160a01b900461ffff16610b67576040805162461bcd60e51b815260206004820152601860248201527f4f534d2f7570646174652d64656c61792d69732d7a65726f0000000000000000604482015290519081900360640190fd5b600254600160a01b900461ffff168281610b7d57fe5b0690910391905056fe4f534d2f6163636f756e742d6e6f742d617574686f72697a6564000000000000a2646970667358221220e5d492c11dd9136bd12d65eed3b0909c7168dec291daeddb0fd607583edc68c764736f6c634300060700330000000000000000000000009f816fce2885f4dc65a7342b57ced29655fca712

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061010b5760003560e01c8063554f94db116100a257806380ebb08e1161007157806380ebb08e1461025757806394f3f81d1461025f578063be9a655514610285578063c8f33c911461028d578063ceedd63d146102b25761010b565b8063554f94db1461020c57806357de26a41461022b57806363bfa88b1461023357806375f12b211461024f5761010b565b806335b28153116100de57806335b28153146101975780633fcdfe26146101bd5780634f0a32de146101e35780634fd0ada8146102045761010b565b806307da68f51461011057806320531bc91461011a57806324ba58841461013e5780632b9c7ee314610176575b600080fd5b6101186102ba565b005b61012261033b565b604080516001600160a01b039092168252519081900360200190f35b6101646004803603602081101561015457600080fd5b50356001600160a01b031661034a565b60408051918252519081900360200190f35b6101186004803603602081101561018c57600080fd5b503561ffff1661035c565b610118600480360360208110156101ad57600080fd5b50356001600160a01b0316610459565b610118600480360360208110156101d357600080fd5b50356001600160a01b03166104fd565b6101eb6105a9565b6040805192835290151560208301528051918290030190f35b6101eb6105c8565b6102146105e6565b6040805161ffff9092168252519081900360200190f35b6101646105f7565b61023b610668565b604080519115158252519081900360200190f35b6101646106ad565b6101186106b3565b6101186004803603602081101561027557600080fd5b50356001600160a01b0316610847565b6101186108ea565b61029561096c565b6040805167ffffffffffffffff9092168252519081900360200190f35b610118610983565b3360009081526020819052604090205460011461030c576040805162461bcd60e51b815260206004820152601a6024820152600080516020610b87833981519152604482015290519081900360640190fd5b600180556040517fbedf0f4abfe86d4ffad593d9607fe70e83ea706033d44d24b3b6283cf3fc4f6b90600090a1565b6002546001600160a01b031681565b60006020819052908152604090205481565b336000908152602081905260409020546001146103ae576040805162461bcd60e51b815260206004820152601a6024820152600080516020610b87833981519152604482015290519081900360640190fd5b60008161ffff16116103fb576040805162461bcd60e51b81526020600482015260116024820152704f534d2f64656c61792d69732d7a65726f60781b604482015290519081900360640190fd5b6002805461ffff808416600160a01b90810261ffff60a01b199093169290921792839055604080519290930416815290517fe5e55d7a00a8da3c2d2be2af849b5680612dc299cf26e12a879220d5f42ea2319181900360200190a150565b336000908152602081905260409020546001146104ab576040805162461bcd60e51b815260206004820152601a6024820152600080516020610b87833981519152604482015290519081900360640190fd5b6001600160a01b0381166000818152602081815260409182902060019055815192835290517f599a298163e1678bb1c676052a8930bf0b8a1261ed6e01b8a2391e55f70001029281900390910190a150565b3360009081526020819052604090205460011461054f576040805162461bcd60e51b815260206004820152601a6024820152600080516020610b87833981519152604482015290519081900360640190fd5b600280546001600160a01b0319166001600160a01b03838116919091179182905560408051929091168252517fe64aaa084ff9fb9651f314c5d25888701090b34db4f4809b517e863c62bd8508916020908290030190a150565b6004546001600160801b0380821691600160801b9004166001145b9091565b6003546001600160801b0380821691600160801b9004166001149091565b600254600160a01b900461ffff1681565b600354600090600160801b90046001600160801b0316600114610658576040805162461bcd60e51b81526020600482015260146024820152734f534d2f6e6f2d63757272656e742d76616c756560601b604482015290519081900360640190fd5b506003546001600160801b031690565b60025460009061069490600160b01b810467ffffffffffffffff1690600160a01b900461ffff16610a21565b67ffffffffffffffff166106a6610a44565b1015905090565b60015481565b600154156106f9576040805162461bcd60e51b815260206004820152600e60248201526d13d4d34bda5ccb5cdd1bdc1c195960921b604482015290519081900360640190fd5b610701610668565b610743576040805162461bcd60e51b815260206004820152600e60248201526d13d4d34bdb9bdd0b5c185cdcd95960921b604482015290519081900360640190fd5b60008061074e610a48565b915091508015610843576004805460038054600160801b8084046001600160801b0390811682026fffffffffffffffffffffffffffffffff19938416828716178216179093556040805180820190915287841680825260016020909201919091529190931617161790556107c86107c3610a44565b610b05565b6002805467ffffffffffffffff60b01b1916600160b01b67ffffffffffffffff93841681029190911791829055600354604080516001600160801b03909216825291909204909216602082015281517ff85e44c6c3597d176b8d59bfbf500dfdb2badfc8cf91e6d960b16583a5807e48929181900390910190a15b5050565b33600090815260208190526040902054600114610899576040805162461bcd60e51b815260206004820152601a6024820152600080516020610b87833981519152604482015290519081900360640190fd5b6001600160a01b03811660008181526020818152604080832092909255815192835290517f8834a87e641e9716be4f34527af5d23e11624f1ddeefede6ad75a9acfc31b9039281900390910190a150565b3360009081526020819052604090205460011461093c576040805162461bcd60e51b815260206004820152601a6024820152600080516020610b87833981519152604482015290519081900360640190fd5b600060018190556040517f1b55ba3aa851a46be3b365aee5b5c140edd620d578922f3e8466d2cbd96f954b9190a1565b600254600160b01b900467ffffffffffffffff1681565b336000908152602081905260409020546001146109d5576040805162461bcd60e51b815260206004820152601a6024820152600080516020610b87833981519152604482015290519081900360640190fd5b60408051808201825260008082526020909101819052600481905560038190556001805590517f34cd470f8814066090f532fe3cb8158c5d974d7a01f4ada846dc9869e7e9d59a9190a1565b81810167ffffffffffffffff8084169082161015610a3e57600080fd5b92915050565b4290565b600254604080516309fa15b560e31b8152815160009384936001600160a01b0390911692634fd0ada89260048083019392829003018186803b158015610a8d57600080fd5b505afa925050508015610ab957506040513d6040811015610aad57600080fd5b50805160209091015160015b610afb573d808015610ae7576040519150601f19603f3d011682016040523d82523d6000602084013e610aec565b606091505b50600092508291506105c49050565b90925090506105c4565b600254600090600160a01b900461ffff16610b67576040805162461bcd60e51b815260206004820152601860248201527f4f534d2f7570646174652d64656c61792d69732d7a65726f0000000000000000604482015290519081900360640190fd5b600254600160a01b900461ffff168281610b7d57fe5b0690910391905056fe4f534d2f6163636f756e742d6e6f742d617574686f72697a6564000000000000a2646970667358221220e5d492c11dd9136bd12d65eed3b0909c7168dec291daeddb0fd607583edc68c764736f6c63430006070033

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

0000000000000000000000009f816fce2885f4dc65a7342b57ced29655fca712

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

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000009f816fce2885f4dc65a7342b57ced29655fca712


Deployed Bytecode Sourcemap

151:4850:0:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;151:4850:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;2560:90:0;;;:::i;:::-;;1285:26;;;:::i;:::-;;;;-1:-1:-1;;;;;1285:26:0;;;;;;;;;;;;;;192:51;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;192:51:0;-1:-1:-1;;;;;192:51:0;;:::i;:::-;;;;;;;;;;;;;;;;3243:185;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;3243:185:0;;;;:::i;350:156::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;350:156:0;-1:-1:-1;;;;;350:156:0;;:::i;2756:162::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;2756:162:0;-1:-1:-1;;;;;2756:162:0;;:::i;4692:139::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4537:147;;;:::i;1365:37::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4839:159;;;:::i;3596:128::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;1033:22;;;:::i;4069:460::-;;;:::i;622:162::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;622:162:0;-1:-1:-1;;;;;622:162:0;;:::i;2656:92::-;;;:::i;1409:29::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3436:152;;;:::i;2560:90::-;937:10;918:18;:30;;;;;;;;;;;952:1;918:35;910:74;;;;;-1:-1:-1;;;910:74:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;910:74:0;;;;;;;;;;;;;;;2619:1:::1;2609:11:::0;;2636:6:::1;::::0;::::1;::::0;;;::::1;2560:90::o:0;1285:26::-;;;-1:-1:-1;;;;;1285:26:0;;:::o;192:51::-;;;;;;;;;;;;;;:::o;3243:185::-;937:10;918:18;:30;;;;;;;;;;;952:1;918:35;910:74;;;;;-1:-1:-1;;;910:74:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;910:74:0;;;;;;;;;;;;;;;3327:1:::1;3319:5;:9;;;3311:39;;;::::0;;-1:-1:-1;;;3311:39:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;3311:39:0;;;;;;;;;;;;;::::1;;3361:11;:19:::0;;::::1;::::0;;::::1;-1:-1:-1::0;;;3361:19:0;;::::1;-1:-1:-1::0;;;;3361:19:0;;::::1;::::0;;;::::1;::::0;;;;3396:24:::1;::::0;;3408:11;;;::::1;;3396:24:::0;;;;::::1;::::0;;;;::::1;::::0;;::::1;3243:185:::0;:::o;350:156::-;937:10;918:18;:30;;;;;;;;;;;952:1;918:35;910:74;;;;;-1:-1:-1;;;910:74:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;910:74:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;426:27:0;::::1;:18;:27:::0;;;::::1;::::0;;;;;;;;456:1:::1;426:31:::0;;473:25;;;;;;;::::1;::::0;;;;;;;;::::1;350:156:::0;:::o;2756:162::-;937:10;918:18;:30;;;;;;;;;;;952:1;918:35;910:74;;;;;-1:-1:-1;;;910:74:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;910:74:0;;;;;;;;;;;;;;;2838:11:::1;:26:::0;;-1:-1:-1;;;;;;2838:26:0::1;-1:-1:-1::0;;;;;2838:26:0;;::::1;::::0;;;::::1;::::0;;;;2880:30:::1;::::0;;2898:11;;;::::1;2880:30:::0;;;::::1;::::0;::::1;::::0;;;;;;::::1;2756:162:::0;:::o;4692:139::-;4785:8;:14;-1:-1:-1;;;;;4785:14:0;;;;-1:-1:-1;;;4801:16:0;;;4785:14;4801:21;4692:139;;;:::o;4537:147::-;4631:11;:17;-1:-1:-1;;;;;4631:17:0;;;;-1:-1:-1;;;4651:19:0;;;4631:17;4651:24;4537:147;;:::o;1365:37::-;;;-1:-1:-1;;;1365:37:0;;;;;:::o;4839:159::-;4906:11;:19;4878:7;;-1:-1:-1;;;4906:19:0;;-1:-1:-1;;;;;4906:19:0;4929:1;4906:24;4898:57;;;;;-1:-1:-1;;;4898:57:0;;;;;;;;;;;;-1:-1:-1;;;4898:57:0;;;;;;;;;;;;;;;-1:-1:-1;4973:11:0;:17;-1:-1:-1;;;;;4973:17:0;4839:159;:::o;3596:128::-;3688:14;;3640:7;;3684:32;;-1:-1:-1;;;3688:14:0;;;;;-1:-1:-1;;;3704:11:0;;;;3684:3;:32::i;:::-;3667:49;;:13;:11;:13::i;:::-;:49;;3660:56;;3596:128;:::o;1033:22::-;;;;:::o;4069:460::-;1091:7;;:12;1083:39;;;;;-1:-1:-1;;;1083:39:0;;;;;;;;;;;;-1:-1:-1;;;1083:39:0;;;;;;;;;;;;;;;4131:13:::1;:11;:13::i;:::-;4123:40;;;::::0;;-1:-1:-1;;;4123:40:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;4123:40:0;;;;;;;;;;;;;::::1;;4175:22;4199:18:::0;4221:22:::1;:20;:22::i;:::-;4174:69;;;;4258:13;4254:268;;;4302:8;4288:22:::0;;:11:::1;:22:::0;;-1:-1:-1;;;4288:22:0;;::::1;-1:-1:-1::0;;;;;4288:22:0;;::::1;::::0;::::1;-1:-1:-1::0;;4288:22:0;;::::1;::::0;;::::1;;::::0;::::1;;::::0;;;4336:38:::1;::::0;;;;::::1;::::0;;;;;::::1;::::0;;;4288:22;4336:38:::1;::::0;;::::1;::::0;;;;4325:49;;;::::1;;;;::::0;;4406:31:::1;4423:13;:11;:13::i;:::-;4406:16;:31::i;:::-;4389:14;:48:::0;;-1:-1:-1;;;;4389:48:0::1;-1:-1:-1::0;;;4389:48:0::1;::::0;;::::1;::::0;::::1;::::0;;;::::1;::::0;;;;4475:11:::1;:17:::0;4457:53:::1;::::0;;-1:-1:-1;;;;;4475:17:0;;::::1;4457:53:::0;;4495:14;;;::::1;::::0;;::::1;4457:53;::::0;::::1;::::0;;;::::1;::::0;;;;;;;;;::::1;4254:268;1124:1;;4069:460::o:0;622:162::-;937:10;918:18;:30;;;;;;;;;;;952:1;918:35;910:74;;;;;-1:-1:-1;;;910:74:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;910:74:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;701:27:0;::::1;731:1;701:27:::0;;;::::1;::::0;;;;;;;:31;;;;748:28;;;;;;;::::1;::::0;;;;;;;;::::1;622:162:::0;:::o;2656:92::-;937:10;918:18;:30;;;;;;;;;;;952:1;918:35;910:74;;;;;-1:-1:-1;;;910:74:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;910:74:0;;;;;;;;;;;;;;;2716:1:::1;2706:7;:11:::0;;;2733:7:::1;::::0;::::1;::::0;2716:1;2733:7:::1;2656:92::o:0;1409:29::-;;;-1:-1:-1;;;1409:29:0;;;;;:::o;3436:152::-;937:10;918:18;:30;;;;;;;;;;;952:1;918:35;910:74;;;;;-1:-1:-1;;;910:74:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;910:74:0;;;;;;;;;;;;;;;3518:10:::1;::::0;;;;::::1;::::0;;-1:-1:-1;3518:10:0;;;::::1;::::0;;::::1;::::0;;;3507:8:::1;:21:::0;;;3493:11:::1;:35:::0;;;3507:21;3539:11;;3566:14;;::::1;::::0;-1:-1:-1;3566:14:0::1;3436:152::o:0;1157:120::-;1238:5;;;1262:6;;;;;;;;;1254:15;;12:1:-1;9;2:12;1254:15:0;1157:120;;;;:::o;2926:93::-;2996:15;2926:93;:::o;3732:329::-;3829:11;;3817:48;;;-1:-1:-1;;;3817:48:0;;;;3787:7;;;;-1:-1:-1;;;;;3829:11:0;;;;3817:46;;:48;;;;;;;;;;;3829:11;3817:48;;;2:2:-1;;;;27:1;24;17:12;2:2;3817:48:0;;;;;;;;;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;3817:48:0;;;;;;;;;3813: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;4033:1:0;;-1:-1:-1;4033:1:0;;-1:-1:-1;4025:17:0;;-1:-1:-1;4025:17:0;3813:241;3940:14;;-1:-1:-1;3956:13:0;-1:-1:-1;3932:38:0;;3027:208;3119:11;;3092:6;;-1:-1:-1;;;3119:11:0;;;;3111:53;;;;;-1:-1:-1;;;3111:53:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;3214:11;;-1:-1:-1;;;3214:11:0;;;;3202:9;3214:11;3202:23;;;;;3189:37;;;;3027:208;-1:-1:-1;3027:208:0:o

Swarm Source

ipfs://e5d492c11dd9136bd12d65eed3b0909c7168dec291daeddb0fd607583edc68c7

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.