Contract 0x094fF75b4760f867d6211E0104f805a59809c369

Txn Hash Method
Block
From
To
Value [Txn Fee]
0xdff7847552d387a5c88ac43b9fd3cddb69b56c7375aa0566ad1429e1fc0f192cUpdate Prices An...175579882023-02-03 0:00:0513 hrs 14 mins ago0x050e132de1446b642ec063e9951bb741475b400f IN  0x094ff75b4760f867d6211e0104f805a59809c3690 BTT20.2074
0x1161135d5c32c7d21e8eb84af05c9bc6846890c2243e3ef8b9863c8a3ea70076Update Prices An...175160972023-02-02 0:00:071 day 13 hrs ago0x050e132de1446b642ec063e9951bb741475b400f IN  0x094ff75b4760f867d6211e0104f805a59809c3690 BTT20.2074
0x93e86e1652113cbcd02878a211e9e7e86f34920c470023042b8dcac6f4c6a405Update Prices An...174907352023-02-01 9:28:152 days 3 hrs ago0x050e132de1446b642ec063e9951bb741475b400f IN  0x094ff75b4760f867d6211e0104f805a59809c3690 BTT18.527461758
0x2a5d681d9ab080e5d10e1c24e69714d6f09deaf191247c2662b71be16551842cUpdate Prices An...174742062023-02-01 0:00:052 days 13 hrs ago0x050e132de1446b642ec063e9951bb741475b400f IN  0x094ff75b4760f867d6211e0104f805a59809c3690 BTT19.3674
0x072c5d4781753baa6a311284c3c3f95ef9ddf1cbfec443c010b8a77c745da27eUpdate Prices An...174323162023-01-31 0:00:053 days 13 hrs ago0x050e132de1446b642ec063e9951bb741475b400f IN  0x094ff75b4760f867d6211e0104f805a59809c3690 BTT20.2074
0xd39c5cd93f24468d171b3a1001b132d200f2824749ee07d8b0ca61ab28b62460Update Prices An...173904242023-01-30 0:00:054 days 13 hrs ago0x050e132de1446b642ec063e9951bb741475b400f IN  0x094ff75b4760f867d6211e0104f805a59809c3690 BTT20.2074
0xdf6faae3c9e2129f6c896ceaa47e3047f27bd57a87fdfac4c093819dd128e5b1Update Prices An...173485342023-01-29 0:00:055 days 13 hrs ago0x050e132de1446b642ec063e9951bb741475b400f IN  0x094ff75b4760f867d6211e0104f805a59809c3690 BTT19.3674
0x840a6d9471769f92b382adc724045580f3978182e41ed748765ff8c81a8b059dUpdate Prices An...173066422023-01-28 0:00:056 days 13 hrs ago0x050e132de1446b642ec063e9951bb741475b400f IN  0x094ff75b4760f867d6211e0104f805a59809c3690 BTT19.3674
0xa90f37cc7e35387cee28371605d0fcdf52aae31be4d2e1c82de0bcb9dbb7cfd3Update Prices An...172647522023-01-27 0:00:057 days 13 hrs ago0x050e132de1446b642ec063e9951bb741475b400f IN  0x094ff75b4760f867d6211e0104f805a59809c3690 BTT20.2074
0x7cd7547f0ae107f60647f23265ef2465f2755304dbb69446fad6c8f108e06031Update Prices An...172228612023-01-26 0:00:078 days 13 hrs ago0x050e132de1446b642ec063e9951bb741475b400f IN  0x094ff75b4760f867d6211e0104f805a59809c3690 BTT20.2074
0x032412a30e8b9d5f9bc529c4ad3da0b9383e8968060b33e59381932b94c9ad9eUpdate Prices An...171809702023-01-25 0:00:059 days 13 hrs ago0x050e132de1446b642ec063e9951bb741475b400f IN  0x094ff75b4760f867d6211e0104f805a59809c3690 BTT20.2074
0x3e1aa6fc5e7da75c19cd6a6f385541d6ea05be44fdaae4ba7bc9c1d0adb129adUpdate Prices An...171390782023-01-24 0:00:0510 days 13 hrs ago0x050e132de1446b642ec063e9951bb741475b400f IN  0x094ff75b4760f867d6211e0104f805a59809c3690 BTT33.679
0x5995bb75cc554485a3572c490c9ad3fdf63cba891b1d5859ad1e4c010586cb17Update Prices An...170971882023-01-23 0:00:0511 days 13 hrs ago0x050e132de1446b642ec063e9951bb741475b400f IN  0x094ff75b4760f867d6211e0104f805a59809c3690 BTT20.2074
0xec44ca70418419eb06b59afbc387ad7618627b5d1e82df25b3e3274f5a8ac037Update Prices An...170552972023-01-22 0:00:0712 days 13 hrs ago0x050e132de1446b642ec063e9951bb741475b400f IN  0x094ff75b4760f867d6211e0104f805a59809c3690 BTT20.2074
0xf463bf761ff5dcf250affba5a0d6b34eee77384242255cea1bd1535a9f57cc07Update Prices An...170134062023-01-21 0:00:0513 days 13 hrs ago0x050e132de1446b642ec063e9951bb741475b400f IN  0x094ff75b4760f867d6211e0104f805a59809c3690 BTT20.2074
0x8598eb28bf70b3fd5488b1116dfa59e3e1bd52642b300fa8ddae6be9a132bb03Update Prices An...169715162023-01-20 0:00:0514 days 13 hrs ago0x050e132de1446b642ec063e9951bb741475b400f IN  0x094ff75b4760f867d6211e0104f805a59809c3690 BTT20.2074
0x75c00e02a442f59c88d152d33730d824be7f9ed6ca556f920a818472d07c4211Update Prices An...169296242023-01-19 0:00:0515 days 13 hrs ago0x050e132de1446b642ec063e9951bb741475b400f IN  0x094ff75b4760f867d6211e0104f805a59809c3690 BTT20.2074
0xc12ef54a8316fe1a4a840fe21130262bcadee477790e0dca2b3384f0b869d12dUpdate Prices An...168877342023-01-18 0:00:0516 days 13 hrs ago0x050e132de1446b642ec063e9951bb741475b400f IN  0x094ff75b4760f867d6211e0104f805a59809c3690 BTT20.2074
0x4cfeebde8bd19c6dc6b4bb6a51d5e0298a2d71695277b9eb403c96ae35eeaecfUpdate Prices An...168458432023-01-17 0:00:0717 days 13 hrs ago0x050e132de1446b642ec063e9951bb741475b400f IN  0x094ff75b4760f867d6211e0104f805a59809c3690 BTT20.2074
0xf83e2e72882cfdbc759a2c1dc4ced008bbba458e5335f3b06fe56cb1980a7467Update Prices An...168039522023-01-16 0:00:0518 days 13 hrs ago0x050e132de1446b642ec063e9951bb741475b400f IN  0x094ff75b4760f867d6211e0104f805a59809c3690 BTT20.2074
0xf3c5dcf8906eec24190cfda80b57512a007683f25f7f062a58c3f4a47667964cUpdate Prices An...167620602023-01-15 0:00:0519 days 13 hrs ago0x050e132de1446b642ec063e9951bb741475b400f IN  0x094ff75b4760f867d6211e0104f805a59809c3690 BTT20.2074
0x852cdf4402aa8549f78e71a509ed41ed3139be0490cafefb170124bda8eca886Update Prices An...167201702023-01-14 0:00:0520 days 13 hrs ago0x050e132de1446b642ec063e9951bb741475b400f IN  0x094ff75b4760f867d6211e0104f805a59809c3690 BTT20.2074
0x48eacd48f25ae85b63e7a73403027c184c0e74780eac1567ffc7468e4026b70cUpdate Prices An...166782782023-01-13 0:00:0521 days 13 hrs ago0x050e132de1446b642ec063e9951bb741475b400f IN  0x094ff75b4760f867d6211e0104f805a59809c3690 BTT20.2074
0x7ceed013661c59f76e7404203386e17484db4f52bdd3a476f3704d85918d158eUpdate Prices An...166363892023-01-12 0:00:0722 days 13 hrs ago0x050e132de1446b642ec063e9951bb741475b400f IN  0x094ff75b4760f867d6211e0104f805a59809c3690 BTT20.2074
0x26e6dc69e9f266b7f7103487b4aa0e1ac62e50a75b9d3d14b4591fd423b7483aUpdate Prices An...165944962023-01-11 0:00:0523 days 13 hrs ago0x050e132de1446b642ec063e9951bb741475b400f IN  0x094ff75b4760f867d6211e0104f805a59809c3690 BTT20.2074
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
PriceOracle

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at bttcscan.com on 2022-12-09
*/

// Sources flattened with hardhat v2.6.8 https://hardhat.org

// File contracts/PriceOracle.sol

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

/*
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}


// File @openzeppelin/contracts/access/[email protected]


pragma solidity ^0.8.0;

/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * By default, the owner account will be the one that deploys the contract. This
 * can later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}


// File src/PriceOracle.sol

pragma solidity ^0.8.0;

/**
 * @title PriceOracle contract
 * @author The Btfs Authors
 * @dev The price oracle contract keeps track of the current prices for settlement.
 */
contract PriceOracle is Ownable {
    /**
     * @dev Emitted when the prices and rates of the specified tokens is updated.
     */
    event PricesAndRatesUpdate(address[] tokens, uint256[] newPrices, uint256[] newRates);


    // the current price of token in wei per GB/month
    mapping (address => uint256) public prices;

    // the current rate of token
    mapping (address => uint256) public rates;


    /**
     * @notice Returns the current price of the specified token in wei per GB/month
     * @param token the specified token address
     */
    function getPrice(address token) external view returns (uint256) {
        return prices[token];
    }

    /**
     * @notice Returns the current prices of the specified tokens in wei per GB/month
     * @param tokens the specified tokens addresses
     */
    function getPrices(address[] calldata tokens) external view returns (uint256[] memory result) {
        require(tokens.length > 0, "tokens length not greater than 0");
        result = new uint256[](tokens.length);
        for (uint256 i = 0; i < tokens.length; i++) {
            result[i] = prices[tokens[i]];
        }
    }

    /**
     * @notice Returns the current rate of the specified token
     * @param token the specified token address
     */
    function getRate(address token) external view returns (uint256) {
        return rates[token];
    }

    /**
     * @notice Returns the current rates of the specified tokens
     * @param tokens the specified tokens addresses
     */
    function getRates(address[] calldata tokens) external view returns (uint256[] memory result) {
        require(tokens.length > 0, "tokens length not greater than 0");
        result = new uint256[](tokens.length);
        for (uint256 i = 0; i < tokens.length; i++) {
            result[i] = rates[tokens[i]];
        }
    }

    /**
     * @notice Returns the current prices and rates of the specified tokens
     * @param tokens the specified tokens addresses
     */
    function getPricesAndRates(address[] calldata tokens) external view returns (uint256[] memory pricesResult, uint256[] memory ratesResult) {
        require(tokens.length > 0, "tokens length not greater than 0");
        pricesResult = new uint256[](tokens.length);
        ratesResult = new uint256[](tokens.length);
        for (uint256 i = 0; i < tokens.length; i++) {
            pricesResult[i] = prices[tokens[i]];
            ratesResult[i] = rates[tokens[i]];
        }
    }

    /**
     * @notice Update the rates. Can only be called by the owner.
     * @param tokens the specified tokens addresses
     * @param newRates the new rates corresponding to the specified tokens
     */
    function updatePricesAndRates(address[] calldata tokens, uint256[] calldata newPrices, uint256[] calldata newRates) external onlyOwner {
        require(tokens.length > 0, "length not grater than 0");
        require(tokens.length == newPrices.length, "new prices length not match");
        require(tokens.length == newRates.length, "new rates length not match");
        for (uint256 i = 0; i < tokens.length; i++) {
            prices[tokens[i]] = newPrices[i];
            rates[tokens[i]] = newRates[i];
        }
        emit PricesAndRatesUpdate(tokens, newPrices, newRates);
    }
}

Contract ABI

[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address[]","name":"tokens","type":"address[]"},{"indexed":false,"internalType":"uint256[]","name":"newPrices","type":"uint256[]"},{"indexed":false,"internalType":"uint256[]","name":"newRates","type":"uint256[]"}],"name":"PricesAndRatesUpdate","type":"event"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"getPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"tokens","type":"address[]"}],"name":"getPrices","outputs":[{"internalType":"uint256[]","name":"result","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"tokens","type":"address[]"}],"name":"getPricesAndRates","outputs":[{"internalType":"uint256[]","name":"pricesResult","type":"uint256[]"},{"internalType":"uint256[]","name":"ratesResult","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"getRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"tokens","type":"address[]"}],"name":"getRates","outputs":[{"internalType":"uint256[]","name":"result","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"prices","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"rates","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"tokens","type":"address[]"},{"internalType":"uint256[]","name":"newPrices","type":"uint256[]"},{"internalType":"uint256[]","name":"newRates","type":"uint256[]"}],"name":"updatePricesAndRates","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b5060006100216100c460201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506100cc565b600033905090565b6116b2806100db6000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80638fb5a482116100715780638fb5a4821461016657806398c75ec914610196578063a8734f0b146101c7578063bcb47490146101f7578063cfed246b14610213578063f2fde38b14610243576100a9565b806337cef791146100ae57806341976e09146100de57806367bd79a21461010e578063715018a61461013e5780638da5cb5b14610148575b600080fd5b6100c860048036038101906100c39190610e5d565b61025f565b6040516100d59190611366565b60405180910390f35b6100f860048036038101906100f39190610e5d565b6102a8565b6040516101059190611366565b60405180910390f35b61012860048036038101906101239190610e8a565b6102f1565b604051610135919061124d565b60405180910390f35b610146610435565b005b61015061056f565b60405161015d91906111e0565b60405180910390f35b610180600480360381019061017b9190610e8a565b610598565b60405161018d919061124d565b60405180910390f35b6101b060048036038101906101ab9190610e8a565b6106dc565b6040516101be92919061126f565b60405180910390f35b6101e160048036038101906101dc9190610e5d565b6108f6565b6040516101ee9190611366565b60405180910390f35b610211600480360381019061020c9190610ed7565b61090e565b005b61022d60048036038101906102289190610e5d565b610bd3565b60405161023a9190611366565b60405180910390f35b61025d60048036038101906102589190610e5d565b610beb565b005b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060008383905011610339576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610330906112e6565b60405180910390fd5b8282905067ffffffffffffffff811115610356576103556114fc565b5b6040519080825280602002602001820160405280156103845781602001602082028036833780820191505090505b50905060005b8383905081101561042e57600260008585848181106103ac576103ab6114cd565b5b90506020020160208101906103c19190610e5d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482828151811061040f5761040e6114cd565b5b602002602001018181525050808061042690611455565b91505061038a565b5092915050565b61043d610d94565b73ffffffffffffffffffffffffffffffffffffffff1661045b61056f565b73ffffffffffffffffffffffffffffffffffffffff16146104b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104a890611326565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600083839050116105e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d7906112e6565b60405180910390fd5b8282905067ffffffffffffffff8111156105fd576105fc6114fc565b5b60405190808252806020026020018201604052801561062b5781602001602082028036833780820191505090505b50905060005b838390508110156106d55760016000858584818110610653576106526114cd565b5b90506020020160208101906106689190610e5d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548282815181106106b6576106b56114cd565b5b60200260200101818152505080806106cd90611455565b915050610631565b5092915050565b60608060008484905011610725576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071c906112e6565b60405180910390fd5b8383905067ffffffffffffffff811115610742576107416114fc565b5b6040519080825280602002602001820160405280156107705781602001602082028036833780820191505090505b5091508383905067ffffffffffffffff8111156107905761078f6114fc565b5b6040519080825280602002602001820160405280156107be5781602001602082028036833780820191505090505b50905060005b848490508110156108ee57600160008686848181106107e6576107e56114cd565b5b90506020020160208101906107fb9190610e5d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054838281518110610849576108486114cd565b5b6020026020010181815250506002600086868481811061086c5761086b6114cd565b5b90506020020160208101906108819190610e5d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548282815181106108cf576108ce6114cd565b5b60200260200101818152505080806108e690611455565b9150506107c4565b509250929050565b60026020528060005260406000206000915090505481565b610916610d94565b73ffffffffffffffffffffffffffffffffffffffff1661093461056f565b73ffffffffffffffffffffffffffffffffffffffff161461098a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098190611326565b60405180910390fd5b600086869050116109d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c790611346565b60405180910390fd5b838390508686905014610a18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0f906112a6565b60405180910390fd5b818190508686905014610a60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5790611306565b60405180910390fd5b60005b86869050811015610b8957848482818110610a8157610a806114cd565b5b9050602002013560016000898985818110610a9f57610a9e6114cd565b5b9050602002016020810190610ab49190610e5d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550828282818110610b0557610b046114cd565b5b9050602002013560026000898985818110610b2357610b226114cd565b5b9050602002016020810190610b389190610e5d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508080610b8190611455565b915050610a63565b507f8f9f27a907515255b8c9d7ec74bd9aca236f66067b7f9fde7a76bb0b65fe1e7a868686868686604051610bc3969594939291906111fb565b60405180910390a1505050505050565b60016020528060005260406000206000915090505481565b610bf3610d94565b73ffffffffffffffffffffffffffffffffffffffff16610c1161056f565b73ffffffffffffffffffffffffffffffffffffffff1614610c67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5e90611326565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610cd7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cce906112c6565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600081359050610dab81611665565b92915050565b60008083601f840112610dc757610dc6611530565b5b8235905067ffffffffffffffff811115610de457610de361152b565b5b602083019150836020820283011115610e0057610dff611535565b5b9250929050565b60008083601f840112610e1d57610e1c611530565b5b8235905067ffffffffffffffff811115610e3a57610e3961152b565b5b602083019150836020820283011115610e5657610e55611535565b5b9250929050565b600060208284031215610e7357610e72611544565b5b6000610e8184828501610d9c565b91505092915050565b60008060208385031215610ea157610ea0611544565b5b600083013567ffffffffffffffff811115610ebf57610ebe61153a565b5b610ecb85828601610db1565b92509250509250929050565b60008060008060008060608789031215610ef457610ef3611544565b5b600087013567ffffffffffffffff811115610f1257610f1161153a565b5b610f1e89828a01610db1565b9650965050602087013567ffffffffffffffff811115610f4157610f4061153a565b5b610f4d89828a01610e07565b9450945050604087013567ffffffffffffffff811115610f7057610f6f61153a565b5b610f7c89828a01610e07565b92509250509295509295509295565b6000610f978383610fbb565b60208301905092915050565b6000610faf83836111c2565b60208301905092915050565b610fc48161140a565b82525050565b610fd38161140a565b82525050565b6000610fe583856113c0565b9350610ff082611381565b8060005b858110156110295761100682846113f3565b6110108882610f8b565b975061101b836113a6565b925050600181019050610ff4565b5085925050509392505050565b600061104283856113d1565b93507f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8311156110755761107461153f565b5b602083029250611086838584611446565b82840190509392505050565b600061109d8261139b565b6110a781856113d1565b93506110b28361138b565b8060005b838110156110e35781516110ca8882610fa3565b97506110d5836113b3565b9250506001810190506110b6565b5085935050505092915050565b60006110fd601b836113e2565b915061110882611549565b602082019050919050565b60006111206026836113e2565b915061112b82611572565b604082019050919050565b60006111436020836113e2565b915061114e826115c1565b602082019050919050565b6000611166601a836113e2565b9150611171826115ea565b602082019050919050565b60006111896020836113e2565b915061119482611613565b602082019050919050565b60006111ac6018836113e2565b91506111b78261163c565b602082019050919050565b6111cb8161143c565b82525050565b6111da8161143c565b82525050565b60006020820190506111f56000830184610fca565b92915050565b6000606082019050818103600083015261121681888a610fd9565b9050818103602083015261122b818688611036565b90508181036040830152611240818486611036565b9050979650505050505050565b600060208201905081810360008301526112678184611092565b905092915050565b600060408201905081810360008301526112898185611092565b9050818103602083015261129d8184611092565b90509392505050565b600060208201905081810360008301526112bf816110f0565b9050919050565b600060208201905081810360008301526112df81611113565b9050919050565b600060208201905081810360008301526112ff81611136565b9050919050565b6000602082019050818103600083015261131f81611159565b9050919050565b6000602082019050818103600083015261133f8161117c565b9050919050565b6000602082019050818103600083015261135f8161119f565b9050919050565b600060208201905061137b60008301846111d1565b92915050565b6000819050919050565b6000819050602082019050919050565b600081519050919050565b6000602082019050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b60006114026020840184610d9c565b905092915050565b60006114158261141c565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60006114608261143c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156114935761149261149e565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b7f6e657720707269636573206c656e677468206e6f74206d617463680000000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f746f6b656e73206c656e677468206e6f742067726561746572207468616e2030600082015250565b7f6e6577207261746573206c656e677468206e6f74206d61746368000000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f6c656e677468206e6f7420677261746572207468616e20300000000000000000600082015250565b61166e8161140a565b811461167957600080fd5b5056fea264697066735822122082aa5a1a59d3f6c30172a6f29822fd4e88b0b4b24f123c00d1be34bb1397631364736f6c63430008070033

Deployed ByteCode Sourcemap

3571:3368:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4893:102;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4151:104;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5140:331;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2801:148;;;:::i;:::-;;2150:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4421:333;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5627:490;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;3947:41;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6339:597;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3862:42;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3104:244;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4893:102;4948:7;4975:5;:12;4981:5;4975:12;;;;;;;;;;;;;;;;4968:19;;4893:102;;;:::o;4151:104::-;4207:7;4234:6;:13;4241:5;4234:13;;;;;;;;;;;;;;;;4227:20;;4151:104;;;:::o;5140:331::-;5208:23;5268:1;5252:6;;:13;;:17;5244:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;5340:6;;:13;;5326:28;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5317:37;;5370:9;5365:99;5389:6;;:13;;5385:1;:17;5365:99;;;5436:5;:16;5442:6;;5449:1;5442:9;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;5436:16;;;;;;;;;;;;;;;;5424:6;5431:1;5424:9;;;;;;;;:::i;:::-;;;;;;;:28;;;;;5404:3;;;;;:::i;:::-;;;;5365:99;;;;5140:331;;;;:::o;2801:148::-;2381:12;:10;:12::i;:::-;2370:23;;:7;:5;:7::i;:::-;:23;;;2362:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2908:1:::1;2871:40;;2892:6;::::0;::::1;;;;;;;;2871:40;;;;;;;;;;;;2939:1;2922:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2801:148::o:0;2150:87::-;2196:7;2223:6;;;;;;;;;;;2216:13;;2150:87;:::o;4421:333::-;4490:23;4550:1;4534:6;;:13;;:17;4526:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;4622:6;;:13;;4608:28;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4599:37;;4652:9;4647:100;4671:6;;:13;;4667:1;:17;4647:100;;;4718:6;:17;4725:6;;4732:1;4725:9;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;4718:17;;;;;;;;;;;;;;;;4706:6;4713:1;4706:9;;;;;;;;:::i;:::-;;;;;;;:29;;;;;4686:3;;;;;:::i;:::-;;;;4647:100;;;;4421:333;;;;:::o;5627:490::-;5704:29;5735:28;5800:1;5784:6;;:13;;:17;5776:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;5878:6;;:13;;5864:28;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5849:43;;5931:6;;:13;;5917:28;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5903:42;;5961:9;5956:154;5980:6;;:13;;5976:1;:17;5956:154;;;6033:6;:17;6040:6;;6047:1;6040:9;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;6033:17;;;;;;;;;;;;;;;;6015:12;6028:1;6015:15;;;;;;;;:::i;:::-;;;;;;;:35;;;;;6082:5;:16;6088:6;;6095:1;6088:9;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;6082:16;;;;;;;;;;;;;;;;6065:11;6077:1;6065:14;;;;;;;;:::i;:::-;;;;;;;:33;;;;;5995:3;;;;;:::i;:::-;;;;5956:154;;;;5627:490;;;;;:::o;3947:41::-;;;;;;;;;;;;;;;;;:::o;6339:597::-;2381:12;:10;:12::i;:::-;2370:23;;:7;:5;:7::i;:::-;:23;;;2362:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6509:1:::1;6493:6;;:13;;:17;6485:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;6575:9;;:16;;6558:6;;:13;;:33;6550:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;6659:8;;:15;;6642:6;;:13;;:32;6634:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;6721:9;6716:148;6740:6;;:13;;6736:1;:17;6716:148;;;6795:9;;6805:1;6795:12;;;;;;;:::i;:::-;;;;;;;;6775:6;:17;6782:6;;6789:1;6782:9;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;6775:17;;;;;;;;;;;;;;;:32;;;;6841:8;;6850:1;6841:11;;;;;;;:::i;:::-;;;;;;;;6822:5;:16;6828:6;;6835:1;6828:9;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;6822:16;;;;;;;;;;;;;;;:30;;;;6755:3;;;;;:::i;:::-;;;;6716:148;;;;6879:49;6900:6;;6908:9;;6919:8;;6879:49;;;;;;;;;;;:::i;:::-;;;;;;;;6339:597:::0;;;;;;:::o;3862:42::-;;;;;;;;;;;;;;;;;:::o;3104:244::-;2381:12;:10;:12::i;:::-;2370:23;;:7;:5;:7::i;:::-;:23;;;2362:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;3213:1:::1;3193:22;;:8;:22;;;;3185:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;3303:8;3274:38;;3295:6;::::0;::::1;;;;;;;;3274:38;;;;;;;;;;;;3332:8;3323:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;3104:244:::0;:::o;702:98::-;755:7;782:10;775:17;;702:98;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;169:568::-;242:8;252:6;302:3;295:4;287:6;283:17;279:27;269:122;;310:79;;:::i;:::-;269:122;423:6;410:20;400:30;;453:18;445:6;442:30;439:117;;;475:79;;:::i;:::-;439:117;589:4;581:6;577:17;565:29;;643:3;635:4;627:6;623:17;613:8;609:32;606:41;603:128;;;650:79;;:::i;:::-;603:128;169:568;;;;;:::o;760:::-;833:8;843:6;893:3;886:4;878:6;874:17;870:27;860:122;;901:79;;:::i;:::-;860:122;1014:6;1001:20;991:30;;1044:18;1036:6;1033:30;1030:117;;;1066:79;;:::i;:::-;1030:117;1180:4;1172:6;1168:17;1156:29;;1234:3;1226:4;1218:6;1214:17;1204:8;1200:32;1197:41;1194:128;;;1241:79;;:::i;:::-;1194:128;760:568;;;;;:::o;1334:329::-;1393:6;1442:2;1430:9;1421:7;1417:23;1413:32;1410:119;;;1448:79;;:::i;:::-;1410:119;1568:1;1593:53;1638:7;1629:6;1618:9;1614:22;1593:53;:::i;:::-;1583:63;;1539:117;1334:329;;;;:::o;1669:559::-;1755:6;1763;1812:2;1800:9;1791:7;1787:23;1783:32;1780:119;;;1818:79;;:::i;:::-;1780:119;1966:1;1955:9;1951:17;1938:31;1996:18;1988:6;1985:30;1982:117;;;2018:79;;:::i;:::-;1982:117;2131:80;2203:7;2194:6;2183:9;2179:22;2131:80;:::i;:::-;2113:98;;;;1909:312;1669:559;;;;;:::o;2234:1309::-;2392:6;2400;2408;2416;2424;2432;2481:2;2469:9;2460:7;2456:23;2452:32;2449:119;;;2487:79;;:::i;:::-;2449:119;2635:1;2624:9;2620:17;2607:31;2665:18;2657:6;2654:30;2651:117;;;2687:79;;:::i;:::-;2651:117;2800:80;2872:7;2863:6;2852:9;2848:22;2800:80;:::i;:::-;2782:98;;;;2578:312;2957:2;2946:9;2942:18;2929:32;2988:18;2980:6;2977:30;2974:117;;;3010:79;;:::i;:::-;2974:117;3123:80;3195:7;3186:6;3175:9;3171:22;3123:80;:::i;:::-;3105:98;;;;2900:313;3280:2;3269:9;3265:18;3252:32;3311:18;3303:6;3300:30;3297:117;;;3333:79;;:::i;:::-;3297:117;3446:80;3518:7;3509:6;3498:9;3494:22;3446:80;:::i;:::-;3428:98;;;;3223:313;2234:1309;;;;;;;;:::o;3549:179::-;3618:10;3639:46;3681:3;3673:6;3639:46;:::i;:::-;3717:4;3712:3;3708:14;3694:28;;3549:179;;;;:::o;3734:::-;3803:10;3824:46;3866:3;3858:6;3824:46;:::i;:::-;3902:4;3897:3;3893:14;3879:28;;3734:179;;;;:::o;3919:108::-;3996:24;4014:5;3996:24;:::i;:::-;3991:3;3984:37;3919:108;;:::o;4033:118::-;4120:24;4138:5;4120:24;:::i;:::-;4115:3;4108:37;4033:118;;:::o;4187:699::-;4316:3;4339:86;4418:6;4413:3;4339:86;:::i;:::-;4332:93;;4449:58;4501:5;4449:58;:::i;:::-;4530:7;4561:1;4546:315;4571:6;4568:1;4565:13;4546:315;;;4641:42;4676:6;4667:7;4641:42;:::i;:::-;4703:63;4762:3;4747:13;4703:63;:::i;:::-;4696:70;;4789:62;4844:6;4789:62;:::i;:::-;4779:72;;4606:255;4593:1;4590;4586:9;4581:14;;4546:315;;;4550:14;4877:3;4870:10;;4321:565;;4187:699;;;;;:::o;4922:537::-;5050:3;5071:86;5150:6;5145:3;5071:86;:::i;:::-;5064:93;;5181:66;5173:6;5170:78;5167:165;;;5251:79;;:::i;:::-;5167:165;5363:4;5355:6;5351:17;5341:27;;5378:43;5414:6;5409:3;5402:5;5378:43;:::i;:::-;5446:6;5441:3;5437:16;5430:23;;4922:537;;;;;:::o;5495:732::-;5614:3;5643:54;5691:5;5643:54;:::i;:::-;5713:86;5792:6;5787:3;5713:86;:::i;:::-;5706:93;;5823:56;5873:5;5823:56;:::i;:::-;5902:7;5933:1;5918:284;5943:6;5940:1;5937:13;5918:284;;;6019:6;6013:13;6046:63;6105:3;6090:13;6046:63;:::i;:::-;6039:70;;6132:60;6185:6;6132:60;:::i;:::-;6122:70;;5978:224;5965:1;5962;5958:9;5953:14;;5918:284;;;5922:14;6218:3;6211:10;;5619:608;;;5495:732;;;;:::o;6233:366::-;6375:3;6396:67;6460:2;6455:3;6396:67;:::i;:::-;6389:74;;6472:93;6561:3;6472:93;:::i;:::-;6590:2;6585:3;6581:12;6574:19;;6233:366;;;:::o;6605:::-;6747:3;6768:67;6832:2;6827:3;6768:67;:::i;:::-;6761:74;;6844:93;6933:3;6844:93;:::i;:::-;6962:2;6957:3;6953:12;6946:19;;6605:366;;;:::o;6977:::-;7119:3;7140:67;7204:2;7199:3;7140:67;:::i;:::-;7133:74;;7216:93;7305:3;7216:93;:::i;:::-;7334:2;7329:3;7325:12;7318:19;;6977:366;;;:::o;7349:::-;7491:3;7512:67;7576:2;7571:3;7512:67;:::i;:::-;7505:74;;7588:93;7677:3;7588:93;:::i;:::-;7706:2;7701:3;7697:12;7690:19;;7349:366;;;:::o;7721:::-;7863:3;7884:67;7948:2;7943:3;7884:67;:::i;:::-;7877:74;;7960:93;8049:3;7960:93;:::i;:::-;8078:2;8073:3;8069:12;8062:19;;7721:366;;;:::o;8093:::-;8235:3;8256:67;8320:2;8315:3;8256:67;:::i;:::-;8249:74;;8332:93;8421:3;8332:93;:::i;:::-;8450:2;8445:3;8441:12;8434:19;;8093:366;;;:::o;8465:108::-;8542:24;8560:5;8542:24;:::i;:::-;8537:3;8530:37;8465:108;;:::o;8579:118::-;8666:24;8684:5;8666:24;:::i;:::-;8661:3;8654:37;8579:118;;:::o;8703:222::-;8796:4;8834:2;8823:9;8819:18;8811:26;;8847:71;8915:1;8904:9;8900:17;8891:6;8847:71;:::i;:::-;8703:222;;;;:::o;8931:955::-;9260:4;9298:2;9287:9;9283:18;9275:26;;9347:9;9341:4;9337:20;9333:1;9322:9;9318:17;9311:47;9375:118;9488:4;9479:6;9471;9375:118;:::i;:::-;9367:126;;9540:9;9534:4;9530:20;9525:2;9514:9;9510:18;9503:48;9568:118;9681:4;9672:6;9664;9568:118;:::i;:::-;9560:126;;9733:9;9727:4;9723:20;9718:2;9707:9;9703:18;9696:48;9761:118;9874:4;9865:6;9857;9761:118;:::i;:::-;9753:126;;8931:955;;;;;;;;;:::o;9892:373::-;10035:4;10073:2;10062:9;10058:18;10050:26;;10122:9;10116:4;10112:20;10108:1;10097:9;10093:17;10086:47;10150:108;10253:4;10244:6;10150:108;:::i;:::-;10142:116;;9892:373;;;;:::o;10271:634::-;10492:4;10530:2;10519:9;10515:18;10507:26;;10579:9;10573:4;10569:20;10565:1;10554:9;10550:17;10543:47;10607:108;10710:4;10701:6;10607:108;:::i;:::-;10599:116;;10762:9;10756:4;10752:20;10747:2;10736:9;10732:18;10725:48;10790:108;10893:4;10884:6;10790:108;:::i;:::-;10782:116;;10271:634;;;;;:::o;10911:419::-;11077:4;11115:2;11104:9;11100:18;11092:26;;11164:9;11158:4;11154:20;11150:1;11139:9;11135:17;11128:47;11192:131;11318:4;11192:131;:::i;:::-;11184:139;;10911:419;;;:::o;11336:::-;11502:4;11540:2;11529:9;11525:18;11517:26;;11589:9;11583:4;11579:20;11575:1;11564:9;11560:17;11553:47;11617:131;11743:4;11617:131;:::i;:::-;11609:139;;11336:419;;;:::o;11761:::-;11927:4;11965:2;11954:9;11950:18;11942:26;;12014:9;12008:4;12004:20;12000:1;11989:9;11985:17;11978:47;12042:131;12168:4;12042:131;:::i;:::-;12034:139;;11761:419;;;:::o;12186:::-;12352:4;12390:2;12379:9;12375:18;12367:26;;12439:9;12433:4;12429:20;12425:1;12414:9;12410:17;12403:47;12467:131;12593:4;12467:131;:::i;:::-;12459:139;;12186:419;;;:::o;12611:::-;12777:4;12815:2;12804:9;12800:18;12792:26;;12864:9;12858:4;12854:20;12850:1;12839:9;12835:17;12828:47;12892:131;13018:4;12892:131;:::i;:::-;12884:139;;12611:419;;;:::o;13036:::-;13202:4;13240:2;13229:9;13225:18;13217:26;;13289:9;13283:4;13279:20;13275:1;13264:9;13260:17;13253:47;13317:131;13443:4;13317:131;:::i;:::-;13309:139;;13036:419;;;:::o;13461:222::-;13554:4;13592:2;13581:9;13577:18;13569:26;;13605:71;13673:1;13662:9;13658:17;13649:6;13605:71;:::i;:::-;13461:222;;;;:::o;13770:102::-;13839:4;13862:3;13854:11;;13770:102;;;:::o;13878:132::-;13945:4;13968:3;13960:11;;13998:4;13993:3;13989:14;13981:22;;13878:132;;;:::o;14016:114::-;14083:6;14117:5;14111:12;14101:22;;14016:114;;;:::o;14136:115::-;14208:4;14240;14235:3;14231:14;14223:22;;14136:115;;;:::o;14257:113::-;14327:4;14359;14354:3;14350:14;14342:22;;14257:113;;;:::o;14376:184::-;14475:11;14509:6;14504:3;14497:19;14549:4;14544:3;14540:14;14525:29;;14376:184;;;;:::o;14566:::-;14665:11;14699:6;14694:3;14687:19;14739:4;14734:3;14730:14;14715:29;;14566:184;;;;:::o;14756:169::-;14840:11;14874:6;14869:3;14862:19;14914:4;14909:3;14905:14;14890:29;;14756:169;;;;:::o;14931:122::-;14983:5;15008:39;15043:2;15038:3;15034:12;15029:3;15008:39;:::i;:::-;14999:48;;14931:122;;;;:::o;15059:96::-;15096:7;15125:24;15143:5;15125:24;:::i;:::-;15114:35;;15059:96;;;:::o;15161:126::-;15198:7;15238:42;15231:5;15227:54;15216:65;;15161:126;;;:::o;15293:77::-;15330:7;15359:5;15348:16;;15293:77;;;:::o;15376:154::-;15460:6;15455:3;15450;15437:30;15522:1;15513:6;15508:3;15504:16;15497:27;15376:154;;;:::o;15536:233::-;15575:3;15598:24;15616:5;15598:24;:::i;:::-;15589:33;;15644:66;15637:5;15634:77;15631:103;;;15714:18;;:::i;:::-;15631:103;15761:1;15754:5;15750:13;15743:20;;15536:233;;;:::o;15775:180::-;15823:77;15820:1;15813:88;15920:4;15917:1;15910:15;15944:4;15941:1;15934:15;15961:180;16009:77;16006:1;15999:88;16106:4;16103:1;16096:15;16130:4;16127:1;16120:15;16147:180;16195:77;16192:1;16185:88;16292:4;16289:1;16282:15;16316:4;16313:1;16306:15;16333:117;16442:1;16439;16432:12;16456:117;16565:1;16562;16555:12;16579:117;16688:1;16685;16678:12;16702:117;16811:1;16808;16801:12;16825:117;16934:1;16931;16924:12;16948:117;17057:1;17054;17047:12;17071:177;17211:29;17207:1;17199:6;17195:14;17188:53;17071:177;:::o;17254:225::-;17394:34;17390:1;17382:6;17378:14;17371:58;17463:8;17458:2;17450:6;17446:15;17439:33;17254:225;:::o;17485:182::-;17625:34;17621:1;17613:6;17609:14;17602:58;17485:182;:::o;17673:176::-;17813:28;17809:1;17801:6;17797:14;17790:52;17673:176;:::o;17855:182::-;17995:34;17991:1;17983:6;17979:14;17972:58;17855:182;:::o;18043:174::-;18183:26;18179:1;18171:6;18167:14;18160:50;18043:174;:::o;18223:122::-;18296:24;18314:5;18296:24;:::i;:::-;18289:5;18286:35;18276:63;;18335:1;18332;18325:12;18276:63;18223:122;:::o

Swarm Source

ipfs://82aa5a1a59d3f6c30172a6f29822fd4e88b0b4b24f123c00d1be34bb13976313
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.