ETH Price: $1,990.46 (-0.99%)

Contract

0x1bBC92bDF7cE2bA8E2cAd9c5cEcDBB2eb5a8D968
 

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
Set Settle Price86334362019-09-27 22:00:382375 days ago1569621638IN
0x1bBC92bD...eb5a8D968
0 ETH0.0004625220
Set Settle Price86334052019-09-27 21:53:472375 days ago1569621227IN
0x1bBC92bD...eb5a8D968
0 ETH0.001040720
Set Settle Price86333962019-09-27 21:53:002375 days ago1569621180IN
0x1bBC92bD...eb5a8D968
0 ETH0.0006244212
Set Intra Week P...86333432019-09-27 21:37:052375 days ago1569620225IN
0x1bBC92bD...eb5a8D968
0 ETH0.000475520
Set Settle Price86333172019-09-27 21:31:272375 days ago1569619887IN
0x1bBC92bD...eb5a8D968
0 ETH0.000778615
Set Intra Week P...86272352019-09-26 22:35:582376 days ago1569537358IN
0x1bBC92bD...eb5a8D968
0 ETH0.0015539220
Set Intra Week P...86272332019-09-26 22:35:422376 days ago1569537342IN
0x1bBC92bD...eb5a8D968
0 ETH0.0015513620
Set Intra Week P...86272252019-09-26 22:34:202376 days ago1569537260IN
0x1bBC92bD...eb5a8D968
0 ETH0.0015539220
Set Intra Week P...86259102019-09-26 17:48:082376 days ago1569520088IN
0x1bBC92bD...eb5a8D968
0 ETH0.001565825
Set Intra Week P...86224382019-09-26 4:45:272376 days ago1569473127IN
0x1bBC92bD...eb5a8D968
0 ETH0.0009394815
Set Intra Week P...86204302019-09-25 21:06:182377 days ago1569445578IN
0x1bBC92bD...eb5a8D968
0 ETH0.0009375615
Set Intra Week P...86142892019-09-24 21:58:132378 days ago1569362293IN
0x1bBC92bD...eb5a8D968
0 ETH0.0005911215
Set Intra Week P...86142872019-09-24 21:57:502378 days ago1569362270IN
0x1bBC92bD...eb5a8D968
0 ETH0.0005901615
Set Intra Week P...86142822019-09-24 21:56:222378 days ago1569362182IN
0x1bBC92bD...eb5a8D968
0 ETH0.0005911215
Add Asset86089182019-09-24 1:37:512378 days ago1569289071IN
0x1bBC92bD...eb5a8D968
0 ETH0.0033631921
Set Intra Week P...86080782019-09-23 22:22:362379 days ago1569277356IN
0x1bBC92bD...eb5a8D968
0 ETH0.0003575815
Set Intra Week P...86080732019-09-23 22:21:412379 days ago1569277301IN
0x1bBC92bD...eb5a8D968
0 ETH0.0003556615
Set Intra Week P...86080632019-09-23 22:19:192379 days ago1569277159IN
0x1bBC92bD...eb5a8D968
0 ETH0.0003575815
Set Settle Price86011712019-09-22 20:32:122380 days ago1569184332IN
0x1bBC92bD...eb5a8D968
0 ETH0.0005723811
Set Settle Price86011572019-09-22 20:28:532380 days ago1569184133IN
0x1bBC92bD...eb5a8D968
0 ETH0.0005709711
Set Settle Price86011502019-09-22 20:26:142380 days ago1569183974IN
0x1bBC92bD...eb5a8D968
0 ETH0.0005723811
Set Intra Week P...85885892019-09-20 21:25:362382 days ago1569014736IN
0x1bBC92bD...eb5a8D968
0 ETH0.0015539220
Set Intra Week P...85885882019-09-20 21:25:122382 days ago1569014712IN
0x1bBC92bD...eb5a8D968
0 ETH0.0015513620
Add Reader85882502019-09-20 20:07:402382 days ago1569010060IN
0x1bBC92bD...eb5a8D968
0 ETH0.0008697220
Add Reader85837202019-09-20 3:17:092382 days ago1568949429IN
0x1bBC92bD...eb5a8D968
0 ETH0.0011758527
View all transactions

Latest 24 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
Is Settle Day86143032019-09-24 22:02:112378 days ago1569362531
0x1bBC92bD...eb5a8D968
0 ETH
Get Last Settle ...85883562019-09-20 20:36:262382 days ago1569011786
0x1bBC92bD...eb5a8D968
0 ETH
Get Start Day85883562019-09-20 20:36:262382 days ago1569011786
0x1bBC92bD...eb5a8D968
0 ETH
Get Last Settle ...85882912019-09-20 20:16:452382 days ago1569010605
0x1bBC92bD...eb5a8D968
0 ETH
Get Start Day85882912019-09-20 20:16:452382 days ago1569010605
0x1bBC92bD...eb5a8D968
0 ETH
Get Last Settle ...85882752019-09-20 20:13:312382 days ago1569010411
0x1bBC92bD...eb5a8D968
0 ETH
Get Start Day85882752019-09-20 20:13:312382 days ago1569010411
0x1bBC92bD...eb5a8D968
0 ETH
Is Settle Day85640282019-09-17 1:29:032385 days ago1568683743
0x1bBC92bD...eb5a8D968
0 ETH
Get Last Settle ...85494792019-09-14 19:07:492388 days ago1568488069
0x1bBC92bD...eb5a8D968
0 ETH
Get Start Day85494792019-09-14 19:07:492388 days ago1568488069
0x1bBC92bD...eb5a8D968
0 ETH
Get Last Settle ...85494402019-09-14 18:55:172388 days ago1568487317
0x1bBC92bD...eb5a8D968
0 ETH
Get Start Day85494402019-09-14 18:55:172388 days ago1568487317
0x1bBC92bD...eb5a8D968
0 ETH
Get Last Settle ...85494232019-09-14 18:51:182388 days ago1568487078
0x1bBC92bD...eb5a8D968
0 ETH
Get Start Day85494232019-09-14 18:51:182388 days ago1568487078
0x1bBC92bD...eb5a8D968
0 ETH
Get Last Settle ...85176072019-09-09 19:36:302393 days ago1568057790
0x1bBC92bD...eb5a8D968
0 ETH
Get Start Day85176072019-09-09 19:36:302393 days ago1568057790
0x1bBC92bD...eb5a8D968
0 ETH
Get Last Settle ...85176042019-09-09 19:35:432393 days ago1568057743
0x1bBC92bD...eb5a8D968
0 ETH
Get Start Day85176042019-09-09 19:35:432393 days ago1568057743
0x1bBC92bD...eb5a8D968
0 ETH
Get Last Settle ...85175792019-09-09 19:30:162393 days ago1568057416
0x1bBC92bD...eb5a8D968
0 ETH
Get Start Day85175792019-09-09 19:30:162393 days ago1568057416
0x1bBC92bD...eb5a8D968
0 ETH
Get Last Settle ...85175722019-09-09 19:28:182393 days ago1568057298
0x1bBC92bD...eb5a8D968
0 ETH
Get Start Day85175722019-09-09 19:28:182393 days ago1568057298
0x1bBC92bD...eb5a8D968
0 ETH
Get Last Settle ...85175672019-09-09 19:27:252393 days ago1568057245
0x1bBC92bD...eb5a8D968
0 ETH
Get Start Day85175672019-09-09 19:27:252393 days ago1568057245
0x1bBC92bD...eb5a8D968
0 ETH
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:
Oracle

Compiler Version
v0.5.11+commit.c082d0b4

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2019-09-20
*/

pragma solidity ^0.5.11;

contract Oracle {

    /** Contract Constructor
    * @param ethPrice the starting price of ETH in USD, represented as 150000000 = 150.00 USD
    * @dev The message sender is assigned as the contract administrator
    */
    constructor (uint ethPrice) public {
        admins[msg.sender] = true;
        addAsset("ETHUSD", ethPrice);
    }
    Asset[] public assets;
    uint[8][] private prices;
    mapping(address => bool) public admins;
    mapping(address => bool) public readers;
    //  This prevents the Oracle from sneaking in an unexpected settlement price, especially a rapid succession of them
    // it is 20 hours to accomodate a situation where there is an exogenous circumstance preventing the update, eg, network problems
    uint public constant UPDATE_TIME_MIN = 0 hours;
    // this gives time for players to cure their margins, burn
    uint public constant SETTLE_TIME_MIN1 = 0 days;    // 1 day
    // this prevents addition of new prices before settlements are completed
    uint public constant SETTLE_TIME_MIN2 = 46 hours;   // 46
    // this allows the oracle to rectify honest errors that might accidentally be posted
    uint public constant EDIT_TIME_MAX = 30 minutes;  // 90 min

    struct Asset {
        bytes32 name;
        uint8 currentDay;
        uint lastUpdateTime;
        uint lastSettleTime;
        bool isFinalDay;
    }

    event PriceUpdated(
        uint indexed id,
        bytes32 indexed name,
        uint price,
        uint timestamp,
        uint8 dayNumber,
        bool isCorrection
    );

        modifier onlyAdmin()
    {
        require(admins[msg.sender]);
        _;
    }

    /** Grant administrator priviledges to a user,
    * mainly intended for when the admin wants to switch accounts, ie, paired with a removal
    * @param newAdmin the address to promote
    */
    function addAdmin(address newAdmin)
        public
        onlyAdmin
    {
        admins[newAdmin] = true;
    }

    /** Add a new asset tracked by the Oracle
    * @param _name the hexadecimal version of the simple name
    * plaintext name of the asset, eg, SPXUSD = 0x5350585553440000000000000000000000000000000000000000000000000000
    * @param _startPrice the starting price of the asset in USD * 10^2, eg 1200 = $12.00
    * @dev this should usually be called on a Settlement Day
    * @return id the newly assigned ID of the asset
    */
    function addAsset(bytes32 _name, uint _startPrice)
        public
        returns (uint _assetID)
    {
        require (admins[msg.sender] || msg.sender == address(this));
        // Fill the asset struct
        Asset memory asset;
        asset.name = _name;
        asset.currentDay = 0;
        asset.lastUpdateTime = now;
        asset.lastSettleTime = now - 5 days;
        assets.push(asset);
        uint[8] memory _prices;
        _prices[0] = _startPrice;
        prices.push(_prices);
        return assets.length - 1;
    }
    /** Quickly fix an erroneous price
    * @param _assetID the id of the asset to change
    * @param _newPrice the new price to change to
    * @dev this must be called within 30 minutes of the lates price update occurence
    */

    function editPrice(uint _assetID, uint _newPrice)
        public
        onlyAdmin
    {
        Asset storage asset = assets[_assetID];
        require(now < asset.lastUpdateTime + EDIT_TIME_MAX);
        prices[_assetID][asset.currentDay] = _newPrice;
        emit PriceUpdated(_assetID, asset.name, _newPrice, now, asset.currentDay, true);
    }

    /** Grant an address permision to access private information about the assets
    * @param newReader the address of the account to grant reading priviledges,
    * any new contract the Oracle services would thus need the Oracle's permission
    * @dev this allows the reader to use the getCurrentPricesFunction
    */
    function addReader(address newReader)
        public
        onlyAdmin
    {
        readers[newReader] = true;
    }

    /** Return the entire current price array for a given asset
    * @param _assetID the asset id of the desired asset
    * @return _priceHist the price array for the asset
    * @dev only the admin and addresses granted readership may call this function
    */
    function getPrices(uint _assetID)
        public
        view
        returns (uint[8] memory _priceHist)
    {
        require (admins[msg.sender] || readers[msg.sender]);
        _priceHist = prices[_assetID];
    }

    /** Return the current prices array for a given asset
     * excepting the last one. This is useful for users trying to calculate their PNL, as holidays can make
     * inferences about the settlement or start date ambiguous. Anyone trying to use this contract as an oracle, however,
     * would have a day lag
    * @param _assetID the asset id of the desired asset
    * @return _priceHist the price array for the asset excluding the most recent observation
    * @dev only the admin and addresses granted readership may call this function
    */
    function getStalePrices(uint _assetID)
        public
        view
        returns (uint[8] memory _priceHist)
    {
        _priceHist = prices[_assetID];
        _priceHist[assets[_assetID].currentDay]=0;
    }

    /** Return only the latest prices
    * @param _assetID the asset id of the desired asset
    * @return _price the latest price of the given asset
    * @dev only the admin or a designated reader may call this function
    */
    function getCurrentPrice(uint _assetID)
        public
        view
        returns (uint _price)
    {
        require (admins[msg.sender] || readers[msg.sender]);
        _price =  prices[_assetID][assets[_assetID].currentDay];
    }

    /** Get the timestamp of the last price update time
    * @param _assetID the asset id of the desired asset
    * @return timestamp the price update timestamp
    */
    function getLastUpdateTime(uint _assetID)
        public
        view
        returns (uint timestamp)
    {
        timestamp = assets[_assetID].lastUpdateTime;
    }

    /** Get the timestamp of the last settle update time
    * @param _assetID the asset id of the desired asset
    * @return timestamp the settle timestamp
    * this is useful for knowing when to run the WeeklyReturns function, and that settlement is soon
    */
    function getLastSettleTime(uint _assetID)
        public
        view
        returns (uint timestamp)
    {
        timestamp = assets[_assetID].lastSettleTime;
    }

    /**
    * @param _assetID the asset id of the desired asset
    * pulls the day relevant for new AssetSwap takes
    */
    function getStartDay(uint _assetID)
        public
        view
        returns (uint8 _startDay)
    {
        if (assets[_assetID].isFinalDay) _startDay = 7;
        else if (assets[_assetID].currentDay == 7) _startDay = 1;
        else _startDay = assets[_assetID].currentDay + 1;
    }

     /** Show if the current day is the final price update before settle
    * @param _assetID the asset id of the desired asset
    * @return true if it is the final day, false otherwise
    * This makes sure the oracle cannot sneak it a settlement unaware, as when flagged false a user knows that a
    * settlement cannot occur for at least 2 days. When set to false it lets a user know the next price update will be a
    * settlement price and they need to potentially cure or cancel
    */
    function isFinalDay(uint _assetID)
        public
        view
        returns (bool)
    {
        return assets[_assetID].isFinalDay;
    }

    /** Show if the last price update was a settle price update
    * @param _assetID the asset id of the desired asset
    * @return true if the last update was a settle, false otherwise
    * This tells LPs they need to settle their books, and that all parties must  cure their margin if needed
    */
    function isSettleDay(uint _assetID)
        public
        view
        returns (bool)
    {
        return (assets[_assetID].currentDay == 7);
    }

    /** Remove administrator priviledges from a user
    * @param toRemove the address to demote
    * @notice you may not remove yourself. This allows the oracle to deprecate old addresses
    */
    function removeAdmin(address toRemove)
        public
        onlyAdmin
    {
        require(toRemove != msg.sender);
        admins[toRemove] = false;
    }

     /** Publishes an asset price. Does not initiate a settlement.
    * @param _assetID the ID of the asset to update
    * @param _price the current price of the asset * 10^2
    * @param finalDayStatus true if this is the last intraweek price update (the next will be a settle)
    * @dev this can only be called after the required time has elapsed since the most recent price update
    * @dev if finalDayStatus is true this function cannot be called again until after settle
    */
    function setIntraWeekPrice(uint _assetID, uint _price, bool finalDayStatus)
        public
        onlyAdmin
    {
        Asset storage asset = assets[_assetID];
        // Prevent a quick succession of price updates
        require(now > asset.lastUpdateTime + UPDATE_TIME_MIN);
        // the price update follawing the isFinalDay=true must be a settlement price
        require(!asset.isFinalDay);
        if (asset.currentDay == 7) {
            require(now > asset.lastSettleTime + SETTLE_TIME_MIN2,
                "Sufficient time must pass after settlement update.");
             asset.currentDay = 1;
             uint[8] memory newPrices;
             // the start price for each week is the settlement price of the prior week
             newPrices[0] = prices[_assetID][7];
             newPrices[1] = _price;
             prices[_assetID] = newPrices;
        } else {
            asset.currentDay = asset.currentDay + 1;
            prices[_assetID][asset.currentDay] = _price;
            asset.isFinalDay = finalDayStatus;
        }
        asset.lastUpdateTime = now;
        emit PriceUpdated(_assetID, asset.name, _price, now, asset.currentDay, false);
    }

    /** Publishes an asset price. Does not initiate a settlement.
    * @param _assetID the ID of the asset to update
    * @param _price the current price of the asset * 10^2
    * @dev this can only be called after the required time has elapsed since the most recent price update
    * @dev if finalDayStatus is true this function cannot be called again until after settle
    */
    function setSettlePrice(uint _assetID, uint _price)
        public
        onlyAdmin
    {
        Asset storage asset = assets[_assetID];
        // Prevent price update too early
        require(now > asset.lastUpdateTime + UPDATE_TIME_MIN);
        // can only be set when the last update signalled as such
        require(asset.isFinalDay);
        // need at least 5 days between settlements
        require(now > asset.lastSettleTime + SETTLE_TIME_MIN1,
            "Sufficient time must pass between weekly price updates.");
            // settlement prices are set to slot 7 in the prices array
             asset.currentDay = 7;
             prices[_assetID][7] = _price;
             asset.lastSettleTime = now;
             asset.isFinalDay = false;
        asset.lastUpdateTime = now;
        emit PriceUpdated(_assetID, asset.name, _price, now, 7, false);

    }

}

Contract Security Audit

Contract ABI

API
[{"constant":true,"inputs":[],"name":"SETTLE_TIME_MIN1","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_assetID","type":"uint256"}],"name":"getLastSettleTime","outputs":[{"internalType":"uint256","name":"timestamp","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"toRemove","type":"address"}],"name":"removeAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_assetID","type":"uint256"}],"name":"isFinalDay","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_assetID","type":"uint256"}],"name":"getStartDay","outputs":[{"internalType":"uint8","name":"_startDay","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"admins","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"readers","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newAdmin","type":"address"}],"name":"addAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_assetID","type":"uint256"},{"internalType":"uint256","name":"_price","type":"uint256"}],"name":"setSettlePrice","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"_name","type":"bytes32"},{"internalType":"uint256","name":"_startPrice","type":"uint256"}],"name":"addAsset","outputs":[{"internalType":"uint256","name":"_assetID","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"SETTLE_TIME_MIN2","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_assetID","type":"uint256"}],"name":"getPrices","outputs":[{"internalType":"uint256[8]","name":"_priceHist","type":"uint256[8]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_assetID","type":"uint256"}],"name":"isSettleDay","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newReader","type":"address"}],"name":"addReader","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"EDIT_TIME_MAX","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_assetID","type":"uint256"}],"name":"getCurrentPrice","outputs":[{"internalType":"uint256","name":"_price","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"UPDATE_TIME_MIN","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_assetID","type":"uint256"}],"name":"getStalePrices","outputs":[{"internalType":"uint256[8]","name":"_priceHist","type":"uint256[8]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"assets","outputs":[{"internalType":"bytes32","name":"name","type":"bytes32"},{"internalType":"uint8","name":"currentDay","type":"uint8"},{"internalType":"uint256","name":"lastUpdateTime","type":"uint256"},{"internalType":"uint256","name":"lastSettleTime","type":"uint256"},{"internalType":"bool","name":"isFinalDay","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_assetID","type":"uint256"},{"internalType":"uint256","name":"_newPrice","type":"uint256"}],"name":"editPrice","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_assetID","type":"uint256"},{"internalType":"uint256","name":"_price","type":"uint256"},{"internalType":"bool","name":"finalDayStatus","type":"bool"}],"name":"setIntraWeekPrice","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_assetID","type":"uint256"}],"name":"getLastUpdateTime","outputs":[{"internalType":"uint256","name":"timestamp","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"ethPrice","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":true,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"price","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"},{"indexed":false,"internalType":"uint8","name":"dayNumber","type":"uint8"},{"indexed":false,"internalType":"bool","name":"isCorrection","type":"bool"}],"name":"PriceUpdated","type":"event"}]

60806040523480156200001157600080fd5b506040516200129238038062001292833981810160405260208110156200003757600080fd5b5051336000908152600260205260409020805460ff19166001179055620000887f4554485553440000000000000000000000000000000000000000000000000000826001600160e01b036200009016565b5050620002eb565b3360009081526002602052604081205460ff1680620000ae57503330145b620000b857600080fd5b620000c26200023b565b83815260006020820181815242604084018181526206977f1990910160608501908152835460018101855593805284517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56360059095029485015591517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5648401805460ff1990811660ff90931692909217905590517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56584015590517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56683015560808301517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5679092018054909116911515919091179055620001e162000269565b8381526001805480820180835560009290925262000229907fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf660089182020190849062000288565b50506000546000190195945050505050565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b6040518061010001604052806008906020820280388339509192915050565b8260088101928215620002b9579160200282015b82811115620002b95782518255916020019190600101906200029c565b50620002c7929150620002cb565b5090565b620002e891905b80821115620002c75760008155600101620002d2565b90565b610f9780620002fb6000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806391492956116100b8578063cbb955a71161007c578063cbb955a714610147578063cc2bdbfd14610388578063cf35bdd0146103a5578063d0e7a5cb146103f1578063d700935014610414578063eed42acc1461043f57610142565b806391492956146102ca578063ae9308b714610320578063afd8b1d11461033d578063bc5d3e2314610363578063c55d0f561461036b57610142565b8063429b62e51161010a578063429b62e51461020a57806351e59ffb14610230578063704802751461025657806374a2c5b21461027c5780638ec308f41461029f5780638fc67536146102c257610142565b806305838a521461014757806311236ca0146101615780631785f53c1461017e578063248de5bc146101a65780632c1fad07146101d7575b600080fd5b61014f61045c565b60408051918252519081900360200190f35b61014f6004803603602081101561017757600080fd5b5035610461565b6101a46004803603602081101561019457600080fd5b50356001600160a01b0316610488565b005b6101c3600480360360208110156101bc57600080fd5b50356104db565b604080519115158252519081900360200190f35b6101f4600480360360208110156101ed57600080fd5b5035610508565b6040805160ff9092168252519081900360200190f35b6101c36004803603602081101561022057600080fd5b50356001600160a01b031661059b565b6101c36004803603602081101561024657600080fd5b50356001600160a01b03166105b0565b6101a46004803603602081101561026c57600080fd5b50356001600160a01b03166105c5565b6101a46004803603604081101561029257600080fd5b5080359060200135610605565b61014f600480360360408110156102b557600080fd5b508035906020013561074d565b61014f6108f0565b6102e7600480360360208110156102e057600080fd5b50356108f7565b604051808261010080838360005b8381101561030d5781810151838201526020016102f5565b5050505090500191505060405180910390f35b6101c36004803603602081101561033657600080fd5b5035610986565b6101a46004803603602081101561035357600080fd5b50356001600160a01b03166109b4565b61014f6109f4565b61014f6004803603602081101561038157600080fd5b50356109fa565b6102e76004803603602081101561039e57600080fd5b5035610a81565b6103c2600480360360208110156103bb57600080fd5b5035610b10565b6040805195865260ff909416602086015284840192909252606084015215156080830152519081900360a00190f35b6101a46004803603604081101561040757600080fd5b5080359060200135610b55565b6101a46004803603606081101561042a57600080fd5b50803590602081013590604001351515610c33565b61014f6004803603602081101561045557600080fd5b5035610e2a565b600081565b600080828154811061046f57fe5b9060005260206000209060050201600301549050919050565b3360009081526002602052604090205460ff166104a457600080fd5b6001600160a01b0381163314156104ba57600080fd5b6001600160a01b03166000908152600260205260409020805460ff19169055565b60008082815481106104e957fe5b600091825260209091206004600590920201015460ff1690505b919050565b600080828154811061051657fe5b600091825260209091206004600590920201015460ff161561053a57506007610503565b6000828154811061054757fe5b600091825260209091206005909102016001015460ff166007141561056e57506001610503565b6000828154811061057b57fe5b60009182526020909120600160059092020181015460ff16019050919050565b60026020526000908152604090205460ff1681565b60036020526000908152604090205460ff1681565b3360009081526002602052604090205460ff166105e157600080fd5b6001600160a01b03166000908152600260205260409020805460ff19166001179055565b3360009081526002602052604090205460ff1661062157600080fd5b600080838154811061062f57fe5b906000526020600020906005020190506000816002015401421161065257600080fd5b600481015460ff1661066357600080fd5b600381015442116106a55760405162461bcd60e51b8152600401808060200182810382526037815260200180610f2c6037913960400191505060405180910390fd5b6001808201805460ff191660071790558054839190859081106106c457fe5b90600052602060002090600802016007600881106106de57fe5b0155426003820181905560048201805460ff191690556002820181905581546040805185815260208101939093526007838201526000606084015251909185917fda9477fe54935055158dbadb589832e9e63a9fb36e6fcb80f7acbb8b8ead75bb9181900360800190a3505050565b3360009081526002602052604081205460ff168061076a57503330145b61077357600080fd5b61077b610e51565b83815260006020820181815242604084018181526206977f1990910160608501908152835460018101855593805284517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56360059095029485015591517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5648401805460ff1990811660ff90931692909217905590517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56584015590517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56683015560808301517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5679092018054909116911515919091179055610898610e7f565b838152600180548082018083556000929092526108de907fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6600891820201908490610e9e565b50506000546000190195945050505050565b620286e081565b6108ff610e7f565b3360009081526002602052604090205460ff168061092c57503360009081526003602052604090205460ff165b61093557600080fd5b6001828154811061094257fe5b6000918252602090912060408051610100810191829052926008908102909201919082845b8154815260200190600101908083116109675750505050509050919050565b600080828154811061099457fe5b600091825260209091206005909102016001015460ff1660071492915050565b3360009081526002602052604090205460ff166109d057600080fd5b6001600160a01b03166000908152600360205260409020805460ff19166001179055565b61070881565b3360009081526002602052604081205460ff1680610a2757503360009081526003602052604090205460ff165b610a3057600080fd5b60018281548110610a3d57fe5b906000526020600020906008020160008381548110610a5857fe5b600091825260209091206001600590920201015460ff1660088110610a7957fe5b015492915050565b610a89610e7f565b60018281548110610a9657fe5b6000918252602090912060408051610100810191829052926008908102909201919082845b815481526020019060010190808311610abb575050505050905060008160008481548110610ae557fe5b600091825260209091206001600590920201015460ff1660088110610b0657fe5b6020020152919050565b60008181548110610b1d57fe5b60009182526020909120600590910201805460018201546002830154600384015460049094015492945060ff91821693909290911685565b3360009081526002602052604090205460ff16610b7157600080fd5b6000808381548110610b7f57fe5b906000526020600020906005020190506107088160020154014210610ba357600080fd5b8160018481548110610bb157fe5b60009182526020909120600184015460089283029091019160ff909116908110610bd757fe5b015580546001808301546040805186815242602082015260ff909216828201526060820192909252905185917fda9477fe54935055158dbadb589832e9e63a9fb36e6fcb80f7acbb8b8ead75bb919081900360800190a3505050565b3360009081526002602052604090205460ff16610c4f57600080fd5b6000808481548110610c5d57fe5b9060005260206000209060050201905060008160020154014211610c8057600080fd5b600481015460ff1615610c9257600080fd5b600181015460ff1660071415610d6757620286e08160030154014211610ce95760405162461bcd60e51b8152600401808060200182810382526032815260200180610efa6032913960400191505060405180910390fd5b6001818101805460ff19169091179055610d01610e7f565b60018581548110610d0e57fe5b9060005260206000209060080201600760088110610d2857fe5b01548152602081018490526001805482919087908110610d4457fe5b9060005260206000209060080201906008610d60929190610e9e565b5050610dc7565b6001808201805460ff80821684011660ff19909116179055805484919086908110610d8e57fe5b60009182526020909120600184015460089283029091019160ff909116908110610db457fe5b015560048101805460ff19168315151790555b42600282018190558154600183015460408051878152602081019490945260ff909116838201526000606084015251909186917fda9477fe54935055158dbadb589832e9e63a9fb36e6fcb80f7acbb8b8ead75bb9181900360800190a350505050565b6000808281548110610e3857fe5b9060005260206000209060050201600201549050919050565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b6040518061010001604052806008906020820280388339509192915050565b8260088101928215610ecc579160200282015b82811115610ecc578251825591602001919060010190610eb1565b50610ed8929150610edc565b5090565b610ef691905b80821115610ed85760008155600101610ee2565b9056fe53756666696369656e742074696d65206d757374207061737320616674657220736574746c656d656e74207570646174652e53756666696369656e742074696d65206d7573742070617373206265747765656e207765656b6c7920707269636520757064617465732ea265627a7a7231582008da4b70ff95b07295c28177640ef802e93e0569fb9f1acdf210954eaf5ad9cb64736f6c634300050b00320000000000000000000000000000000000000000000000000000000000006984

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101425760003560e01c806391492956116100b8578063cbb955a71161007c578063cbb955a714610147578063cc2bdbfd14610388578063cf35bdd0146103a5578063d0e7a5cb146103f1578063d700935014610414578063eed42acc1461043f57610142565b806391492956146102ca578063ae9308b714610320578063afd8b1d11461033d578063bc5d3e2314610363578063c55d0f561461036b57610142565b8063429b62e51161010a578063429b62e51461020a57806351e59ffb14610230578063704802751461025657806374a2c5b21461027c5780638ec308f41461029f5780638fc67536146102c257610142565b806305838a521461014757806311236ca0146101615780631785f53c1461017e578063248de5bc146101a65780632c1fad07146101d7575b600080fd5b61014f61045c565b60408051918252519081900360200190f35b61014f6004803603602081101561017757600080fd5b5035610461565b6101a46004803603602081101561019457600080fd5b50356001600160a01b0316610488565b005b6101c3600480360360208110156101bc57600080fd5b50356104db565b604080519115158252519081900360200190f35b6101f4600480360360208110156101ed57600080fd5b5035610508565b6040805160ff9092168252519081900360200190f35b6101c36004803603602081101561022057600080fd5b50356001600160a01b031661059b565b6101c36004803603602081101561024657600080fd5b50356001600160a01b03166105b0565b6101a46004803603602081101561026c57600080fd5b50356001600160a01b03166105c5565b6101a46004803603604081101561029257600080fd5b5080359060200135610605565b61014f600480360360408110156102b557600080fd5b508035906020013561074d565b61014f6108f0565b6102e7600480360360208110156102e057600080fd5b50356108f7565b604051808261010080838360005b8381101561030d5781810151838201526020016102f5565b5050505090500191505060405180910390f35b6101c36004803603602081101561033657600080fd5b5035610986565b6101a46004803603602081101561035357600080fd5b50356001600160a01b03166109b4565b61014f6109f4565b61014f6004803603602081101561038157600080fd5b50356109fa565b6102e76004803603602081101561039e57600080fd5b5035610a81565b6103c2600480360360208110156103bb57600080fd5b5035610b10565b6040805195865260ff909416602086015284840192909252606084015215156080830152519081900360a00190f35b6101a46004803603604081101561040757600080fd5b5080359060200135610b55565b6101a46004803603606081101561042a57600080fd5b50803590602081013590604001351515610c33565b61014f6004803603602081101561045557600080fd5b5035610e2a565b600081565b600080828154811061046f57fe5b9060005260206000209060050201600301549050919050565b3360009081526002602052604090205460ff166104a457600080fd5b6001600160a01b0381163314156104ba57600080fd5b6001600160a01b03166000908152600260205260409020805460ff19169055565b60008082815481106104e957fe5b600091825260209091206004600590920201015460ff1690505b919050565b600080828154811061051657fe5b600091825260209091206004600590920201015460ff161561053a57506007610503565b6000828154811061054757fe5b600091825260209091206005909102016001015460ff166007141561056e57506001610503565b6000828154811061057b57fe5b60009182526020909120600160059092020181015460ff16019050919050565b60026020526000908152604090205460ff1681565b60036020526000908152604090205460ff1681565b3360009081526002602052604090205460ff166105e157600080fd5b6001600160a01b03166000908152600260205260409020805460ff19166001179055565b3360009081526002602052604090205460ff1661062157600080fd5b600080838154811061062f57fe5b906000526020600020906005020190506000816002015401421161065257600080fd5b600481015460ff1661066357600080fd5b600381015442116106a55760405162461bcd60e51b8152600401808060200182810382526037815260200180610f2c6037913960400191505060405180910390fd5b6001808201805460ff191660071790558054839190859081106106c457fe5b90600052602060002090600802016007600881106106de57fe5b0155426003820181905560048201805460ff191690556002820181905581546040805185815260208101939093526007838201526000606084015251909185917fda9477fe54935055158dbadb589832e9e63a9fb36e6fcb80f7acbb8b8ead75bb9181900360800190a3505050565b3360009081526002602052604081205460ff168061076a57503330145b61077357600080fd5b61077b610e51565b83815260006020820181815242604084018181526206977f1990910160608501908152835460018101855593805284517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56360059095029485015591517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5648401805460ff1990811660ff90931692909217905590517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56584015590517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56683015560808301517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5679092018054909116911515919091179055610898610e7f565b838152600180548082018083556000929092526108de907fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6600891820201908490610e9e565b50506000546000190195945050505050565b620286e081565b6108ff610e7f565b3360009081526002602052604090205460ff168061092c57503360009081526003602052604090205460ff165b61093557600080fd5b6001828154811061094257fe5b6000918252602090912060408051610100810191829052926008908102909201919082845b8154815260200190600101908083116109675750505050509050919050565b600080828154811061099457fe5b600091825260209091206005909102016001015460ff1660071492915050565b3360009081526002602052604090205460ff166109d057600080fd5b6001600160a01b03166000908152600360205260409020805460ff19166001179055565b61070881565b3360009081526002602052604081205460ff1680610a2757503360009081526003602052604090205460ff165b610a3057600080fd5b60018281548110610a3d57fe5b906000526020600020906008020160008381548110610a5857fe5b600091825260209091206001600590920201015460ff1660088110610a7957fe5b015492915050565b610a89610e7f565b60018281548110610a9657fe5b6000918252602090912060408051610100810191829052926008908102909201919082845b815481526020019060010190808311610abb575050505050905060008160008481548110610ae557fe5b600091825260209091206001600590920201015460ff1660088110610b0657fe5b6020020152919050565b60008181548110610b1d57fe5b60009182526020909120600590910201805460018201546002830154600384015460049094015492945060ff91821693909290911685565b3360009081526002602052604090205460ff16610b7157600080fd5b6000808381548110610b7f57fe5b906000526020600020906005020190506107088160020154014210610ba357600080fd5b8160018481548110610bb157fe5b60009182526020909120600184015460089283029091019160ff909116908110610bd757fe5b015580546001808301546040805186815242602082015260ff909216828201526060820192909252905185917fda9477fe54935055158dbadb589832e9e63a9fb36e6fcb80f7acbb8b8ead75bb919081900360800190a3505050565b3360009081526002602052604090205460ff16610c4f57600080fd5b6000808481548110610c5d57fe5b9060005260206000209060050201905060008160020154014211610c8057600080fd5b600481015460ff1615610c9257600080fd5b600181015460ff1660071415610d6757620286e08160030154014211610ce95760405162461bcd60e51b8152600401808060200182810382526032815260200180610efa6032913960400191505060405180910390fd5b6001818101805460ff19169091179055610d01610e7f565b60018581548110610d0e57fe5b9060005260206000209060080201600760088110610d2857fe5b01548152602081018490526001805482919087908110610d4457fe5b9060005260206000209060080201906008610d60929190610e9e565b5050610dc7565b6001808201805460ff80821684011660ff19909116179055805484919086908110610d8e57fe5b60009182526020909120600184015460089283029091019160ff909116908110610db457fe5b015560048101805460ff19168315151790555b42600282018190558154600183015460408051878152602081019490945260ff909116838201526000606084015251909186917fda9477fe54935055158dbadb589832e9e63a9fb36e6fcb80f7acbb8b8ead75bb9181900360800190a350505050565b6000808281548110610e3857fe5b9060005260206000209060050201600201549050919050565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b6040518061010001604052806008906020820280388339509192915050565b8260088101928215610ecc579160200282015b82811115610ecc578251825591602001919060010190610eb1565b50610ed8929150610edc565b5090565b610ef691905b80821115610ed85760008155600101610ee2565b9056fe53756666696369656e742074696d65206d757374207061737320616674657220736574746c656d656e74207570646174652e53756666696369656e742074696d65206d7573742070617373206265747765656e207765656b6c7920707269636520757064617465732ea265627a7a7231582008da4b70ff95b07295c28177640ef802e93e0569fb9f1acdf210954eaf5ad9cb64736f6c634300050b0032

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

0000000000000000000000000000000000000000000000000000000000006984

-----Decoded View---------------
Arg [0] : ethPrice (uint256): 27012

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


Deployed Bytecode Sourcemap

28:11588:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;28:11588:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;905:46;;;:::i;:::-;;;;;;;;;;;;;;;;6505:173;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6505:173:0;;:::i;8450:164::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8450:164:0;-1:-1:-1;;;;;8450:164:0;;:::i;:::-;;7622:147;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7622:147:0;;:::i;:::-;;;;;;;;;;;;;;;;;;6814:297;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6814:297:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;442:38;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;442:38:0;-1:-1:-1;;;;;442:38:0;;:::i;487:39::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;487:39:0;-1:-1:-1;;;;;487:39:0;;:::i;1920:118::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1920:118:0;-1:-1:-1;;;;;1920:118:0;;:::i;10716:895::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10716:895:0;;;;;;;:::i;2485:552::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2485:552:0;;;;;;;:::i;1048:48::-;;;:::i;4373:224::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4373:224:0;;:::i;:::-;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;4373:224:0;;;;;;;;;;;;;;;;8086:155;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8086:155:0;;:::i;3974:122::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3974:122:0;-1:-1:-1;;;;;3974:122:0;;:::i;1201:47::-;;;:::i;5629:242::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5629:242:0;;:::i;5167:219::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5167:219:0;;:::i;383:21::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;383:21:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3283:356;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3283:356:0;;;;;;;:::i;9116:1204::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9116:1204:0;;;;;;;;;;;;;;:::i;6053:173::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6053:173:0;;:::i;905:46::-;945:6;905:46;:::o;6505:173::-;6595:14;6639:6;6646:8;6639:16;;;;;;;;;;;;;;;;;;:31;;;6627:43;;6505:173;;;:::o;8450:164::-;1680:10;1673:18;;;;:6;:18;;;;;;;;1665:27;;;;;;-1:-1:-1;;;;;8548:22:0;;8560:10;8548:22;;8540:31;;;;;;-1:-1:-1;;;;;8582:16:0;8601:5;8582:16;;;:6;:16;;;;;:24;;-1:-1:-1;;8582:24:0;;;8450:164::o;7622:147::-;7705:4;7734:6;7741:8;7734:16;;;;;;;;;;;;;;;;:27;:16;;;;;:27;;;;;-1:-1:-1;7622:147:0;;;;:::o;6814:297::-;6898:15;6935:6;6942:8;6935:16;;;;;;;;;;;;;;;;:27;:16;;;;;:27;;;;6931:172;;;-1:-1:-1;6976:1:0;6931:172;;;6997:6;7004:8;6997:16;;;;;;;;;;;;;;;;;;;;;:27;;;;;7028:1;6997:32;6993:110;;;-1:-1:-1;7043:1:0;6993:110;;;7072:6;7079:8;7072:16;;;;;;;;;;;;;;;;:27;:16;;;;;:27;;;;;:31;;-1:-1:-1;6814:297:0;;;:::o;442:38::-;;;;;;;;;;;;;;;:::o;487:39::-;;;;;;;;;;;;;;;:::o;1920:118::-;1680:10;1673:18;;;;:6;:18;;;;;;;;1665:27;;;;;;-1:-1:-1;;;;;2007:16:0;;;;;:6;:16;;;;;:23;;-1:-1:-1;;2007:23:0;2026:4;2007:23;;;1920:118::o;10716:895::-;1680:10;1673:18;;;;:6;:18;;;;;;;;1665:27;;;;;;10819:19;10841:6;10848:8;10841:16;;;;;;;;;;;;;;;;;;10819:38;;827:7;10925:5;:20;;;:38;10919:3;:44;10911:53;;;;;;11050:16;;;;;;11042:25;;;;;;11145:20;;;;11139:3;:45;11131:126;;;;-1:-1:-1;;;11131:126:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11345:16;;;;:20;;-1:-1:-1;;11345:20:0;11364:1;11345:20;;;11381:16;;11403:6;;11345:16;11388:8;;11381:16;;;;;;;;;;;;;;;;11398:1;11381:19;;;;;;;;:28;11448:3;11425:20;;;:26;;;11467:16;;;:24;;-1:-1:-1;;11467:24:0;;;11502:20;;;:26;;;11567:10;;11544:57;;;;;;;;;;;;;11592:1;11544:57;;;;11486:5;11544:57;;;;;11567:10;;11557:8;;11544:57;;;;;;;;;1703:1;10716:895;;:::o;2485:552::-;2617:10;2570:13;2610:18;;;:6;:18;;;;;;;;;:49;;-1:-1:-1;2632:10:0;2654:4;2632:27;2610:49;2601:59;;;;;;2705:18;;:::i;:::-;2734;;;:10;2763:16;;;:20;;;2817:3;2794:20;;;:26;;;-1:-1:-1;;2854:12:0;;;2831:20;;;:35;;;27:10:-1;;39:1;23:18;;45:23;;2877:18:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2877:18:0;;;2763:20;2877:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2906:22;;:::i;:::-;2939:24;;;2974:6;27:10:-1;;23:18;;;45:23;;;2947:1:0;2974:20;;;;;;;;;;;;;2939:7;;2974:20;:::i;:::-;-1:-1:-1;;3012:6:0;:13;-1:-1:-1;;3012:17:0;;2485:552;-1:-1:-1;;;;;2485:552:0:o;1048:48::-;1088:8;1048:48;:::o;4373:224::-;4455:25;;:::i;:::-;4514:10;4507:18;;;;:6;:18;;;;;;;;;:41;;-1:-1:-1;4537:10:0;4529:19;;;;:7;:19;;;;;;;;4507:41;4498:51;;;;;;4573:6;4580:8;4573:16;;;;;;;;;;;;;;;;4560:29;;;;;;;;;;;4573:16;;;;;;;;;;4560:29;;;;;;;;;;;;;;;;;;;;;;;;4373:224;;;:::o;8086:155::-;8170:4;8200:6;8207:8;8200:16;;;;;;;;;;;;;;;;;;;;;:27;;;;;8231:1;8200:32;;8086:155;-1:-1:-1;;8086:155:0:o;3974:122::-;1680:10;1673:18;;;;:6;:18;;;;;;;;1665:27;;;;;;-1:-1:-1;;;;;4063:18:0;;;;;:7;:18;;;;;:25;;-1:-1:-1;;4063:25:0;4084:4;4063:25;;;3974:122::o;1201:47::-;1238:10;1201:47;:::o;5629:242::-;5762:10;5717:11;5755:18;;;:6;:18;;;;;;;;;:41;;-1:-1:-1;5785:10:0;5777:19;;;;:7;:19;;;;;;;;5755:41;5746:51;;;;;;5818:6;5825:8;5818:16;;;;;;;;;;;;;;;;;;5835:6;5842:8;5835:16;;;;;;;;;;;;;;;;:27;:16;;;;;:27;;;;5818:45;;;;;;;;;;5629:242;-1:-1:-1;;5629:242:0:o;5167:219::-;5254:25;;:::i;:::-;5310:6;5317:8;5310:16;;;;;;;;;;;;;;;;5297:29;;;;;;;;;;;5310:16;;;;;;;;;;5297:29;;;;;;;;;;;;;;;;;;;;;;;;5377:1;5337:10;5348:6;5355:8;5348:16;;;;;;;;;;;;;;;;:27;:16;;;;;:27;;;;5337:39;;;;;;;;;;:41;5167:219;;-1:-1:-1;5167:219:0:o;383:21::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;383:21:0;;;;;;;;;;;:::o;3283:356::-;1680:10;1673:18;;;;:6;:18;;;;;;;;1665:27;;;;;;3384:19;3406:6;3413:8;3406:16;;;;;;;;;;;;;;;;;;3384:38;;1238:10;3447:5;:20;;;:36;3441:3;:42;3433:51;;;;;;3532:9;3495:6;3502:8;3495:16;;;;;;;;;;;;;;;;3512;;;;3495;;;;;;;;3512;;;;;3495:34;;;;;;;:46;3580:10;;3608:16;;;;;3557:74;;;;;;3603:3;3557:74;;;;3608:16;;;;3557:74;;;;;;;;;;;;;3570:8;;3557:74;;;;;;;;;;1703:1;3283:356;;:::o;9116:1204::-;1680:10;1673:18;;;;:6;:18;;;;;;;;1665:27;;;;;;9243:19;9265:6;9272:8;9265:16;;;;;;;;;;;;;;;;;;9243:38;;827:7;9362:5;:20;;;:38;9356:3;:44;9348:53;;;;;;9507:16;;;;;;9506:17;9498:26;;;;;;9539:16;;;;;;9559:1;9539:21;9535:653;;;1088:8;9591:5;:20;;;:39;9585:3;:45;9577:125;;;;-1:-1:-1;;;9577:125:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9737:1;9718:16;;;:20;;-1:-1:-1;;9718:20:0;;;;;;9754:24;;:::i;:::-;9898:6;9905:8;9898:16;;;;;;;;;;;;;;;;;;9915:1;9898:19;;;;;;;;;9883:34;;:12;9933;;:21;;;9943:1;9970:16;;9883:9;;9943:1;9977:8;;9970:16;;;;;;;;;;;;;;;;:28;;;;;;;:::i;:::-;;9535:653;;;;10050:16;;;;;;;;;;:20;;10031:39;-1:-1:-1;;10031:39:0;;;;;;10085:16;;10122:6;;10050:16;10092:8;;10085:16;;;;;;;;;;;;;;10102;;;;10085;;;;;;;;10102;;;;;10085:34;;;;;;;:43;10143:16;;;:33;;-1:-1:-1;;10143:33:0;;;;;;;9535:653;10221:3;10198:20;;;:26;;;10263:10;;10288:16;;;;10240:72;;;;;;;;;;;;;10288:16;;;;10240:72;;;;10263:10;10240:72;;;;;10263:10;;10253:8;;10240:72;;;;;;;;;1703:1;9116:1204;;;:::o;6053:173::-;6143:14;6187:6;6194:8;6187:16;;;;;;;;;;;;;;;;;;:31;;;6175:43;;6053:173;;;:::o;28:11588::-;;;;;;;;;-1:-1:-1;28:11588:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;-1:-1;28:11588:0;;;-1:-1:-1;;28:11588:0:o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;28:11588:0;;;-1:-1:-1;28:11588:0;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o

Swarm Source

bzzr://08da4b70ff95b07295c28177640ef802e93e0569fb9f1acdf210954eaf5ad9cb

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.