Contract 0x8049f847c17b670eb91689ebc1b3a5d537e0dc42

Contract Overview

Balance:
0 MATIC
Txn Hash
Method
Block
From
To
Value [Txn Fee]
0x3e94d02194073aa98f952bd0dc70c5411c1492f36272101892781e96612b1619Bulk_price_updat...282654272022-09-24 4:58:55368 days 9 hrs ago0x830448e989affe0c17cfcb6dde58b49432ae9501 IN  0x8049f847c17b670eb91689ebc1b3a5d537e0dc420 MATIC0.0279614 100
0x948b3bdab2ab4d9be46b5794676092c9612a0eb5b475e80432660019f67d205cBulk_price_updat...282654212022-09-24 4:58:25368 days 9 hrs ago0x830448e989affe0c17cfcb6dde58b49432ae9501 IN  0x8049f847c17b670eb91689ebc1b3a5d537e0dc420 MATIC0.0279602 100
0x57fa0ecd96573828d528f61827957e989a17ff82c6cd0538c58e3009a59c3ad5Bulk_price_updat...282654132022-09-24 4:57:45368 days 9 hrs ago0x830448e989affe0c17cfcb6dde58b49432ae9501 IN  0x8049f847c17b670eb91689ebc1b3a5d537e0dc420 MATIC0.0279614 100
0x270ee41fb3d5c4a28168da3011bfe614df91f9f2304c8fe6e9a527c6baadbb1fBulk_price_updat...282654072022-09-24 4:57:14368 days 9 hrs ago0x830448e989affe0c17cfcb6dde58b49432ae9501 IN  0x8049f847c17b670eb91689ebc1b3a5d537e0dc420 MATIC0.0279614 100
0xc46e8e725b888da43ce11cc660f25cc4474ae80738c31bdbc6ba2ad36b24c571Bulk_price_updat...282654012022-09-24 4:56:44368 days 10 hrs ago0x830448e989affe0c17cfcb6dde58b49432ae9501 IN  0x8049f847c17b670eb91689ebc1b3a5d537e0dc420 MATIC0.0279614 100
0x3c936fbeb08046f69f9dfaaeb954e061ecfed964637c13b3816b0d560304e58fBulk_price_updat...282653952022-09-24 4:56:14368 days 10 hrs ago0x830448e989affe0c17cfcb6dde58b49432ae9501 IN  0x8049f847c17b670eb91689ebc1b3a5d537e0dc420 MATIC0.0279602 100
0x224a7669dd5abe6da79826aa9a68f91929740fe47ae29d9536af4427920e7e62Bulk_price_updat...282653892022-09-24 4:55:44368 days 10 hrs ago0x830448e989affe0c17cfcb6dde58b49432ae9501 IN  0x8049f847c17b670eb91689ebc1b3a5d537e0dc420 MATIC0.027959 100
0x492b4cc66b5cca05ec0b733dfbdb518be5e640e686f66427dec4a055fb8b7a47Bulk_price_updat...282653832022-09-24 4:55:14368 days 10 hrs ago0x830448e989affe0c17cfcb6dde58b49432ae9501 IN  0x8049f847c17b670eb91689ebc1b3a5d537e0dc420 MATIC0.0279614 100
0xfd0cb9b7399eb678f009d5c50226f1d379e0a4f7035b087f45160f1def09059cBulk_price_updat...282653772022-09-24 4:54:44368 days 10 hrs ago0x830448e989affe0c17cfcb6dde58b49432ae9501 IN  0x8049f847c17b670eb91689ebc1b3a5d537e0dc420 MATIC0.0279614 100
0x7f005334b5bd91f475347db5d1dc421116da1f4f9f13168373072c52bf58d826Bulk_price_updat...282653712022-09-24 4:54:14368 days 10 hrs ago0x830448e989affe0c17cfcb6dde58b49432ae9501 IN  0x8049f847c17b670eb91689ebc1b3a5d537e0dc420 MATIC0.0279614 100
0xa67f9d18b6a0fbe8715a34c807894852d3d6dba7409992898daab107513d4b88Bulk_price_updat...282653652022-09-24 4:53:44368 days 10 hrs ago0x830448e989affe0c17cfcb6dde58b49432ae9501 IN  0x8049f847c17b670eb91689ebc1b3a5d537e0dc420 MATIC0.0279614 100
0xbb41b0ddf7cdb4f52a02d4e0fc7eb00a14acaa353096c9cb5799241972960e80Bulk_price_updat...282653592022-09-24 4:53:14368 days 10 hrs ago0x830448e989affe0c17cfcb6dde58b49432ae9501 IN  0x8049f847c17b670eb91689ebc1b3a5d537e0dc420 MATIC0.0279614 100
0x10e1902e0c7cd995b78ed52479dad37e6c43f0671a8bc8a91b605e01cb4f0a65Bulk_price_updat...282653532022-09-24 4:52:44368 days 10 hrs ago0x830448e989affe0c17cfcb6dde58b49432ae9501 IN  0x8049f847c17b670eb91689ebc1b3a5d537e0dc420 MATIC0.0279602 100
0x15f0a91d2b6c0965e51970b5a5b89aa8dc023562d27cf7f4e545a5365d61ef21Bulk_price_updat...282653472022-09-24 4:52:14368 days 10 hrs ago0x830448e989affe0c17cfcb6dde58b49432ae9501 IN  0x8049f847c17b670eb91689ebc1b3a5d537e0dc420 MATIC0.0279614 100
0x6eba1ea6ac0312fb952b5b140d5414d621779468094e6260f2d4cc7820f15db7Bulk_price_updat...282653412022-09-24 4:51:43368 days 10 hrs ago0x830448e989affe0c17cfcb6dde58b49432ae9501 IN  0x8049f847c17b670eb91689ebc1b3a5d537e0dc420 MATIC0.0279614 100
0x5f2330395d1f1d3410e415971031972569d579812e9c32462bb4eb432ffc137aBulk_price_updat...282653342022-09-24 4:51:08368 days 10 hrs ago0x830448e989affe0c17cfcb6dde58b49432ae9501 IN  0x8049f847c17b670eb91689ebc1b3a5d537e0dc420 MATIC0.0279602 100
0xb1f68741f813a6b84bc6860e5e9bfb1969319499ea998b5dc6c28e64ebdd3a9bBulk_price_updat...282653272022-09-24 4:50:33368 days 10 hrs ago0x830448e989affe0c17cfcb6dde58b49432ae9501 IN  0x8049f847c17b670eb91689ebc1b3a5d537e0dc420 MATIC0.0279614 100
0x9faab809e022db65674d1a69a9eb03a2f2152b15261c42d233742b8b783c77d0Bulk_price_updat...282653202022-09-24 4:49:58368 days 10 hrs ago0x830448e989affe0c17cfcb6dde58b49432ae9501 IN  0x8049f847c17b670eb91689ebc1b3a5d537e0dc420 MATIC0.027959 100
0x61552464e8e2276b92d477b9f8f214f9f67fd5c7eca0ae6ada0f83aa8e2b0741Bulk_price_updat...282653132022-09-24 4:49:23368 days 10 hrs ago0x830448e989affe0c17cfcb6dde58b49432ae9501 IN  0x8049f847c17b670eb91689ebc1b3a5d537e0dc420 MATIC0.0279614 100
0x9ebc5c8371d76e54f7b21563ff63faac7f3062473c4466a3cce2aef1fede6965Bulk_price_updat...282653062022-09-24 4:48:48368 days 10 hrs ago0x830448e989affe0c17cfcb6dde58b49432ae9501 IN  0x8049f847c17b670eb91689ebc1b3a5d537e0dc420 MATIC0.0279602 100
0x41fef7804f570951341a75d75cc598103083c9517c154c3b20b3db2340d0aadcBulk_price_updat...282652992022-09-24 4:48:13368 days 10 hrs ago0x830448e989affe0c17cfcb6dde58b49432ae9501 IN  0x8049f847c17b670eb91689ebc1b3a5d537e0dc420 MATIC0.0279602 100
0x80f4af31771c28da431744632a1a6830dadc879d3b7a3c86c7180d100c84dcbdBulk_price_updat...282652922022-09-24 4:47:38368 days 10 hrs ago0x830448e989affe0c17cfcb6dde58b49432ae9501 IN  0x8049f847c17b670eb91689ebc1b3a5d537e0dc420 MATIC0.0279614 100
0x85fbc8cf42526ffd692eed71d8a66ef9a4138a523fbbadafe37f4272f9e05698Bulk_price_updat...282652852022-09-24 4:47:03368 days 10 hrs ago0x830448e989affe0c17cfcb6dde58b49432ae9501 IN  0x8049f847c17b670eb91689ebc1b3a5d537e0dc420 MATIC0.0279614 100
0x0abd2802daa1ce3c295fad10f4b4e7f50a0ba47ad11607620c0aa53cf8324d56Bulk_price_updat...282652792022-09-24 4:46:32368 days 10 hrs ago0x830448e989affe0c17cfcb6dde58b49432ae9501 IN  0x8049f847c17b670eb91689ebc1b3a5d537e0dc420 MATIC0.0279614 100
0x3df9c7c49de62068ce35b84716278491140cdb86923c1687db444b6e26fe6050Bulk_price_updat...282652722022-09-24 4:45:57368 days 10 hrs ago0x830448e989affe0c17cfcb6dde58b49432ae9501 IN  0x8049f847c17b670eb91689ebc1b3a5d537e0dc420 MATIC0.0279602 100
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
OptionMeta

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
Yes with 1 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at PolygonScan.com on 2022-08-19
*/

// File: Context.sol

/**
 * @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) {
        return msg.data;
    }
}

// File: InterfacesV2.sol

interface IBufferOptions {
    enum State {
        Inactive,
        Active,
        Exercised,
        Expired
    }
    enum OptionType {
        Invalid,
        Put,
        Call
    }

    struct Option {
        State state;
        uint256 strike;
        uint256 amount;
        uint256 lockedAmount;
        uint256 premium;
        uint256 expiration;
        OptionType optionType;
        uint256 totalFee;
        uint256 createdAt;
    }

    struct BinaryOptionType {
        bool isYes;
        bool isAbove;
    }

    function priceProvider() external view returns (address);

    function expiryToRoundID(uint256 timestamp) external view returns (uint256);

    function options(uint256 optionId)
        external
        view
        returns (
            State state,
            uint256 strike,
            uint256 amount,
            uint256 lockedAmount,
            uint256 premium,
            uint256 expiration,
            OptionType optionType,
            uint256 totalFee,
            uint256 createdAt
        );

    function ownerOf(uint256 optionId) external view returns (address owner);

    function nextTokenId() external view returns (uint256 nextToken);

    function binaryOptionType(uint256 optionId)
        external
        view
        returns (bool isYes, bool isAbove);

    function config() external view returns (address);

    function userOptionIds(address user, uint256 index)
        external
        view
        returns (uint256 optionId);

    function userOptionCount(address user)
        external
        view
        returns (uint256 count);
}

interface IOptionsConfig {
    function impliedVolRate() external view returns (uint256);
}

interface AggregatorV3Interface {
    function decimals() external view returns (uint8);

    function description() external view returns (string memory);

    function version() external view returns (uint256);

    function getTimestamp(uint256 _roundId)
        external
        view
        returns (uint256 timestamp);

    function getRoundData(uint256 _roundID)
        external
        view
        returns (
            uint256,
            uint256,
            uint256,
            uint256,
            uint256
        );

    function latestRoundData()
        external
        view
        returns (
            uint256,
            uint256,
            uint256,
            uint256,
            uint256
        );

    function priceProvider() external view returns (address);

    function update(uint256 price) external returns (uint256 roundId);

    function transferOwnership(address newOwner) external;

    function getUsdPrice() external view returns (uint256);
}

// File: Ownable.sol

/**
 * @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() {
        _setOwner(_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 {
        _setOwner(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");
        _setOwner(newOwner);
    }

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

// File: OptionMeta.sol

contract OptionMeta is Ownable {
    struct UserOptionInput {
        uint256 lastStoredOptionIndex;
        address contractAddress;
        address userAddress;
        bool isNull;
    }
    struct GenricOptionInput {
        uint256 optionId;
        address contractAddress;
    }
    struct NewPrices {
        uint256 price;
        address priceProvider;
    }
    struct OptionMetaData {
        uint256 optionId;
        IBufferOptions.State state;
        uint256 strike;
        uint256 amount;
        uint256 lockedAmount;
        uint256 premium;
        uint256 expiration;
        IBufferOptions.OptionType optionType;
        bool isYes;
        bool isAbove;
        uint256 totalFee;
        uint256 createdAt;
        uint256 iv;
    }

    function transferOwnership(address contract_address, address newOwner)
        public
        onlyOwner
    {
        AggregatorV3Interface priceProviderContract = AggregatorV3Interface(
            contract_address
        );
        priceProviderContract.transferOwnership(newOwner);
    }

    function bulk_price_update(NewPrices[] memory newPrices) public onlyOwner {
        for (uint256 i = 0; i < newPrices.length; i++) {
            AggregatorV3Interface priceProviderContract = AggregatorV3Interface(
                newPrices[i].priceProvider
            );
            priceProviderContract.update(newPrices[i].price);
        }
    }

    function get_price_at_timestamp(address priceProvider, uint256 timestamp)
        public
        view
        returns (uint256)
    {
        AggregatorV3Interface priceProviderContract = AggregatorV3Interface(
            priceProvider
        );
        (
            uint256 roundId,
            uint256 answer,
            ,
            uint256 latestTimestamp,

        ) = priceProviderContract.latestRoundData();
        if (latestTimestamp > timestamp) {
            bool isCorrectRoundId;
            while (!isCorrectRoundId) {
                roundId = roundId - 1;
                require(roundId > 0, "Wrong round id");
                (
                    ,
                    uint256 roundAnswer,
                    ,
                    uint256 roundTimestamp,

                ) = priceProviderContract.getRoundData(roundId);
                if ((roundTimestamp > 0) && (roundTimestamp <= timestamp)) {
                    isCorrectRoundId = true;
                    answer = roundAnswer;
                }
            }
        }
        return answer;
    }

    function get_price_at_timestamp_type2(
        address optionsContract,
        uint256 timestamp
    ) public view returns (uint256) {
        IBufferOptions binaryOptionsContract = IBufferOptions(optionsContract);
        uint256 roundId = binaryOptionsContract.expiryToRoundID(timestamp);
        AggregatorV3Interface priceProviderContract = AggregatorV3Interface(
            binaryOptionsContract.priceProvider()
        );
        (, uint256 answer, , , ) = priceProviderContract.getRoundData(roundId);
        return answer;
    }

    function get_current_prices(address[] calldata assets)
        public
        view
        returns (uint256[] memory prices)
    {
        prices = new uint256[](assets.length);

        for (uint256 i = 0; i < assets.length; i++) {
            AggregatorV3Interface priceProviderContract = AggregatorV3Interface(
                assets[i]
            );
            prices[i] = priceProviderContract.getUsdPrice();
        }
    }

    function get_option_data(GenricOptionInput memory option)
        public
        view
        returns (OptionMetaData memory optionDetails)
    {
        uint256 optionId = option.optionId;
        IBufferOptions binaryOptionsContract = IBufferOptions(
            option.contractAddress
        );
        (
            IBufferOptions.State state,
            uint256 strike,
            uint256 amount,
            uint256 lockedAmount,
            uint256 premium,
            uint256 expiration,
            IBufferOptions.OptionType optionType,
            uint256 totalFee,
            uint256 createdAt
        ) = binaryOptionsContract.options(optionId);
        (bool isYes, bool isAbove) = binaryOptionsContract.binaryOptionType(
            optionId
        );
        optionDetails = OptionMetaData(
            optionId,
            state,
            strike,
            amount,
            lockedAmount,
            premium,
            expiration,
            optionType,
            isYes,
            isAbove,
            totalFee,
            createdAt,
            IOptionsConfig(binaryOptionsContract.config()).impliedVolRate()
        );
    }

    function get_bulk_option_data(GenricOptionInput[] memory options)
        public
        view
        returns (OptionMetaData[] memory allOptions)
    {
        allOptions = new OptionMetaData[](options.length);

        for (uint256 i = 0; i < options.length; i++) {
            allOptions[i] = get_option_data(options[i]);
        }
        return allOptions;
    }

    function get_latest_options_for_user(
        UserOptionInput calldata userOptionInput
    ) external view returns (OptionMetaData[] memory allOptions) {
        uint256 counter;
        uint256 lastStoredOptionIndex = userOptionInput.lastStoredOptionIndex;
        address optionsContractAddress = userOptionInput.contractAddress;
        IBufferOptions binaryOptionsContract = IBufferOptions(
            optionsContractAddress
        );
        uint256 onChainUserOptions = binaryOptionsContract.userOptionCount(
            userOptionInput.userAddress
        );
        uint256 firstOptionIndexToProcess = (
            userOptionInput.isNull ? 0 : lastStoredOptionIndex + 1
        );

        if (firstOptionIndexToProcess < onChainUserOptions) {
            allOptions = new OptionMetaData[](
                onChainUserOptions - firstOptionIndexToProcess
            );

            for (
                uint256 index = firstOptionIndexToProcess;
                index < onChainUserOptions;
                index++
            ) {
                allOptions[counter] = get_option_data(
                    GenricOptionInput(
                        binaryOptionsContract.userOptionIds(
                            userOptionInput.userAddress,
                            index
                        ),
                        optionsContractAddress
                    )
                );
                counter++;
            }
        }
    }
}

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"},{"inputs":[{"components":[{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"address","name":"priceProvider","type":"address"}],"internalType":"struct OptionMeta.NewPrices[]","name":"newPrices","type":"tuple[]"}],"name":"bulk_price_update","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"optionId","type":"uint256"},{"internalType":"address","name":"contractAddress","type":"address"}],"internalType":"struct OptionMeta.GenricOptionInput[]","name":"options","type":"tuple[]"}],"name":"get_bulk_option_data","outputs":[{"components":[{"internalType":"uint256","name":"optionId","type":"uint256"},{"internalType":"enum IBufferOptions.State","name":"state","type":"uint8"},{"internalType":"uint256","name":"strike","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"lockedAmount","type":"uint256"},{"internalType":"uint256","name":"premium","type":"uint256"},{"internalType":"uint256","name":"expiration","type":"uint256"},{"internalType":"enum IBufferOptions.OptionType","name":"optionType","type":"uint8"},{"internalType":"bool","name":"isYes","type":"bool"},{"internalType":"bool","name":"isAbove","type":"bool"},{"internalType":"uint256","name":"totalFee","type":"uint256"},{"internalType":"uint256","name":"createdAt","type":"uint256"},{"internalType":"uint256","name":"iv","type":"uint256"}],"internalType":"struct OptionMeta.OptionMetaData[]","name":"allOptions","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"assets","type":"address[]"}],"name":"get_current_prices","outputs":[{"internalType":"uint256[]","name":"prices","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"lastStoredOptionIndex","type":"uint256"},{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"address","name":"userAddress","type":"address"},{"internalType":"bool","name":"isNull","type":"bool"}],"internalType":"struct OptionMeta.UserOptionInput","name":"userOptionInput","type":"tuple"}],"name":"get_latest_options_for_user","outputs":[{"components":[{"internalType":"uint256","name":"optionId","type":"uint256"},{"internalType":"enum IBufferOptions.State","name":"state","type":"uint8"},{"internalType":"uint256","name":"strike","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"lockedAmount","type":"uint256"},{"internalType":"uint256","name":"premium","type":"uint256"},{"internalType":"uint256","name":"expiration","type":"uint256"},{"internalType":"enum IBufferOptions.OptionType","name":"optionType","type":"uint8"},{"internalType":"bool","name":"isYes","type":"bool"},{"internalType":"bool","name":"isAbove","type":"bool"},{"internalType":"uint256","name":"totalFee","type":"uint256"},{"internalType":"uint256","name":"createdAt","type":"uint256"},{"internalType":"uint256","name":"iv","type":"uint256"}],"internalType":"struct OptionMeta.OptionMetaData[]","name":"allOptions","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"optionId","type":"uint256"},{"internalType":"address","name":"contractAddress","type":"address"}],"internalType":"struct OptionMeta.GenricOptionInput","name":"option","type":"tuple"}],"name":"get_option_data","outputs":[{"components":[{"internalType":"uint256","name":"optionId","type":"uint256"},{"internalType":"enum IBufferOptions.State","name":"state","type":"uint8"},{"internalType":"uint256","name":"strike","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"lockedAmount","type":"uint256"},{"internalType":"uint256","name":"premium","type":"uint256"},{"internalType":"uint256","name":"expiration","type":"uint256"},{"internalType":"enum IBufferOptions.OptionType","name":"optionType","type":"uint8"},{"internalType":"bool","name":"isYes","type":"bool"},{"internalType":"bool","name":"isAbove","type":"bool"},{"internalType":"uint256","name":"totalFee","type":"uint256"},{"internalType":"uint256","name":"createdAt","type":"uint256"},{"internalType":"uint256","name":"iv","type":"uint256"}],"internalType":"struct OptionMeta.OptionMetaData","name":"optionDetails","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"priceProvider","type":"address"},{"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"get_price_at_timestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"optionsContract","type":"address"},{"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"get_price_at_timestamp_type2","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"contract_address","type":"address"},{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b61166d8061007e6000396000f3fe608060405234801561001057600080fd5b50600436106100995760003560e01c80636c967c0f1461009e5780636d435421146100c7578063715018a6146100dc5780638da5cb5b146100e4578063931e9f90146100f9578063be800e0414610119578063d2c85c561461012c578063dedf92a41461014d578063ececca3b1461016d578063f2fde38b14610180578063f8ecf3a314610193575b600080fd5b6100b16100ac366004611317565b6101a6565b6040516100be9190611526565b60405180910390f35b6100da6100d5366004611048565b610463565b005b6100da610500565b6100ec61053b565b6040516100be9190611456565b61010c6101073660046110ab565b61054a565b6040516100be91906114b9565b6100da6101273660046111ba565b610698565b61013f61013a366004611080565b6107c7565b6040519081526020016100be565b61016061015b36600461111a565b61095f565b6040516100be919061146a565b61013f61017b366004611080565b610a44565b6100da61018e366004611009565b610bc6565b6101606101a1366004611332565b610c66565b6101ae610f25565b8151602083015160405163409e220560e01b815260048101839052600090819081908190819081908190819081906001600160a01b038b169063409e2205906024016101206040518083038186803b15801561020957600080fd5b505afa15801561021d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102419190611293565b9850985098509850985098509850985098506000808b6001600160a01b031663689ab5ac8e6040518263ffffffff1660e01b815260040161028491815260200190565b604080518083038186803b15801561029b57600080fd5b505afa1580156102af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102d39190611265565b91509150604051806101a001604052808e81526020018c600381111561030957634e487b7160e01b600052602160045260246000fd5b81526020018b81526020018a815260200189815260200188815260200187815260200186600281111561034c57634e487b7160e01b600052602160045260246000fd5b8152602001831515815260200182151581526020018581526020018481526020018d6001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b1580156103a657600080fd5b505afa1580156103ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103de919061102c565b6001600160a01b03166318f88e5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561041657600080fd5b505afa15801561042a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061044e9190611343565b90529f9e505050505050505050505050505050565b3361046c61053b565b6001600160a01b03161461049b5760405162461bcd60e51b8152600401610492906114f1565b60405180910390fd5b60405163f2fde38b60e01b815282906001600160a01b0382169063f2fde38b906104c9908590600401611456565b600060405180830381600087803b1580156104e357600080fd5b505af11580156104f7573d6000803e3d6000fd5b50505050505050565b3361050961053b565b6001600160a01b03161461052f5760405162461bcd60e51b8152600401610492906114f1565b6105396000610ed5565b565b6000546001600160a01b031690565b6060816001600160401b0381111561057257634e487b7160e01b600052604160045260246000fd5b60405190808252806020026020018201604052801561059b578160200160208202803683370190505b50905060005b828110156106915760008484838181106105cb57634e487b7160e01b600052603260045260246000fd5b90506020020160208101906105e09190611009565b9050806001600160a01b0316631acf55826040518163ffffffff1660e01b815260040160206040518083038186803b15801561061b57600080fd5b505afa15801561062f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106539190611343565b83838151811061067357634e487b7160e01b600052603260045260246000fd5b60209081029190910101525080610689816115b7565b9150506105a1565b5092915050565b336106a161053b565b6001600160a01b0316146106c75760405162461bcd60e51b8152600401610492906114f1565b60005b81518110156107c35760008282815181106106f557634e487b7160e01b600052603260045260246000fd5b6020026020010151602001519050806001600160a01b03166382ab890a84848151811061073257634e487b7160e01b600052603260045260246000fd5b6020026020010151600001516040518263ffffffff1660e01b815260040161075c91815260200190565b602060405180830381600087803b15801561077657600080fd5b505af115801561078a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ae9190611343565b505080806107bb906115b7565b9150506106ca565b5050565b6000808390506000806000836001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b15801561080b57600080fd5b505afa15801561081f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610843919061135b565b5093505092509250858111156109535760005b80610951576108666001856115a0565b9350600084116108a95760405162461bcd60e51b815260206004820152600e60248201526d15dc9bdb99c81c9bdd5b99081a5960921b6044820152606401610492565b6040516303906d2960e11b81526004810185905260009081906001600160a01b03881690630720da529060240160a06040518083038186803b1580156108ee57600080fd5b505afa158015610902573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610926919061135b565b5093505092505060008111801561093d5750888111155b1561094a57600192508194505b5050610856565b505b50925050505b92915050565b606081516001600160401b0381111561098857634e487b7160e01b600052604160045260246000fd5b6040519080825280602002602001820160405280156109c157816020015b6109ae610f25565b8152602001906001900390816109a65790505b50905060005b8251811015610a3e57610a008382815181106109f357634e487b7160e01b600052603260045260246000fd5b60200260200101516101a6565b828281518110610a2057634e487b7160e01b600052603260045260246000fd5b60200260200101819052508080610a36906115b7565b9150506109c7565b50919050565b60405163420f6e0760e11b815260048101829052600090839082906001600160a01b0383169063841edc0e9060240160206040518083038186803b158015610a8b57600080fd5b505afa158015610a9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac39190611343565b90506000826001600160a01b031663b888879e6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b0057600080fd5b505afa158015610b14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b38919061102c565b6040516303906d2960e11b8152600481018490529091506000906001600160a01b03831690630720da529060240160a06040518083038186803b158015610b7e57600080fd5b505afa158015610b92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb6919061135b565b50919a9950505050505050505050565b33610bcf61053b565b6001600160a01b031614610bf55760405162461bcd60e51b8152600401610492906114f1565b6001600160a01b038116610c5a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610492565b610c6381610ed5565b50565b60606000823581610c7d6040860160208701611009565b90508060006001600160a01b0382166375a74d84610ca160608a0160408b01611009565b6040518263ffffffff1660e01b8152600401610cbd9190611456565b60206040518083038186803b158015610cd557600080fd5b505afa158015610ce9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d0d9190611343565b90506000610d216080890160608a01611249565b610d3557610d30856001611588565b610d38565b60005b905081811015610eca57610d4c81836115a0565b6001600160401b03811115610d7157634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015610daa57816020015b610d97610f25565b815260200190600190039081610d8f5790505b509650805b82811015610ec857610e7c6040518060400160405280866001600160a01b031663c962ca128d6040016020810190610de79190611009565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024810187905260440160206040518083038186803b158015610e2d57600080fd5b505afa158015610e41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e659190611343565b8152602001876001600160a01b03168152506101a6565b888881518110610e9c57634e487b7160e01b600052603260045260246000fd5b60200260200101819052508680610eb2906115b7565b9750508080610ec0906115b7565b915050610daf565b505b505050505050919050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b604080516101a08101909152600080825260208201908152602001600081526020016000815260200160008152602001600081526020016000815260200160006002811115610f8457634e487b7160e01b600052602160045260246000fd5b81526020016000151581526020016000151581526020016000815260200160008152602001600081525090565b600060408284031215610fc2578081fd5b604080519081016001600160401b0381118282101715610fe457610fe46115fe565b604052823581529050806020830135610ffc81611614565b6020919091015292915050565b60006020828403121561101a578081fd5b813561102581611614565b9392505050565b60006020828403121561103d578081fd5b815161102581611614565b6000806040838503121561105a578081fd5b823561106581611614565b9150602083013561107581611614565b809150509250929050565b60008060408385031215611092578182fd5b823561109d81611614565b946020939093013593505050565b600080602083850312156110bd578182fd5b82356001600160401b03808211156110d3578384fd5b818501915085601f8301126110e6578384fd5b8135818111156110f4578485fd5b8660208260051b8501011115611108578485fd5b60209290920196919550909350505050565b6000602080838503121561112c578182fd5b82356001600160401b03811115611141578283fd5b8301601f81018513611151578283fd5b803561116461115f82611565565b611535565b80828252848201915084840188868560061b8701011115611183578687fd5b8694505b838510156111ae576111998982610fb1565b83526001949094019391850191604001611187565b50979650505050505050565b600060208083850312156111cc578182fd5b82356001600160401b038111156111e1578283fd5b8301601f810185136111f1578283fd5b80356111ff61115f82611565565b80828252848201915084840188868560061b870101111561121e578687fd5b8694505b838510156111ae576112348982610fb1565b83526001949094019391850191604001611222565b60006020828403121561125a578081fd5b813561102581611629565b60008060408385031215611277578182fd5b825161128281611629565b602084015190925061107581611629565b60008060008060008060008060006101208a8c0312156112b1578485fd5b8951600481106112bf578586fd5b8099505060208a0151975060408a0151965060608a0151955060808a0151945060a08a0151935060c08a0151600381106112f7578384fd5b8093505060e08a015191506101008a015190509295985092959850929598565b600060408284031215611328578081fd5b6110258383610fb1565b600060808284031215610a3e578081fd5b600060208284031215611354578081fd5b5051919050565b600080600080600060a08688031215611372578283fd5b5050835160208501516040860151606087015160809097015192989197509594509092509050565b600381106113aa576113aa6115e8565b9052565b600481106113aa576113aa6115e8565b8051825260208101516113d460208401826113ae565b5060408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015161141960e084018261139a565b5061010081810151151590830152610120808201511515908301526101408082015190830152610160808201519083015261018090810151910152565b6001600160a01b0391909116815260200190565b6020808252825182820181905260009190848201906040850190845b818110156114ad576114998385516113be565b928401926101a09290920191600101611486565b50909695505050505050565b6020808252825182820181905260009190848201906040850190845b818110156114ad578351835292840192918401916001016114d5565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6101a0810161095982846113be565b604051601f8201601f191681016001600160401b038111828210171561155d5761155d6115fe565b604052919050565b60006001600160401b0382111561157e5761157e6115fe565b5060051b60200190565b6000821982111561159b5761159b6115d2565b500190565b6000828210156115b2576115b26115d2565b500390565b60006000198214156115cb576115cb6115d2565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114610c6357600080fd5b8015158114610c6357600080fdfea2646970667358221220d92f53022eca7d7c1eff8f4bdbcb510e3c36e3879dab971d3d9634c5fa41559b64736f6c63430008040033

Deployed ByteCode Sourcemap

5855:6692:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9450:1203;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6648:299;;;;;;:::i;:::-;;:::i;:::-;;5199:94;;;:::i;4548:87::-;;;:::i;:::-;;;;;;;:::i;8998:444::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;6955:356::-;;;;;;:::i;:::-;;:::i;7319:1114::-;;;;;;:::i;:::-;;:::i;:::-;;;12120:25:1;;;12108:2;12093:18;7319:1114:0;12075:76:1;10661:378:0;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;8441:549::-;;;;;;:::i;:::-;;:::i;5448:192::-;;;;;;:::i;:::-;;:::i;11047:1497::-;;;;;;:::i;:::-;;:::i;9450:1203::-;9556:35;;:::i;:::-;9628:15;;9722:22;;;;10091:39;;-1:-1:-1;;;10091:39:0;;;;;12120:25:1;;;9609:16:0;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10091:29:0;;;;;12093:18:1;;10091:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9766:364;;;;;;;;;;;;;;;;;;10142:10;10154:12;10170:21;-1:-1:-1;;;;;10170:38:0;;10223:8;10170:72;;;;;;;;;;;;;12120:25:1;;12108:2;12093:18;;12075:76;10170:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10141:101;;;;10269:376;;;;;;;;10298:8;10269:376;;;;10321:5;10269:376;;;;;;-1:-1:-1;;;10269:376:0;;;;;;;;;;;;;10341:6;10269:376;;;;10362:6;10269:376;;;;10383:12;10269:376;;;;10410:7;10269:376;;;;10432:10;10269:376;;;;10457:10;10269:376;;;;;;-1:-1:-1;;;10269:376:0;;;;;;;;;;;;;10482:5;10269:376;;;;;;10502:7;10269:376;;;;;;10524:8;10269:376;;;;10547:9;10269:376;;;;10586:21;-1:-1:-1;;;;;10586:28:0;;:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;10571:61:0;;:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10269:376;;10253:392;9450:1203;-1:-1:-1;;;;;;;;;;;;;;;9450:1203:0:o;6648:299::-;644:10;4768:7;:5;:7::i;:::-;-1:-1:-1;;;;;4768:23:0;;4760:68;;;;-1:-1:-1;;;4760:68:0;;;;;;;:::i;:::-;;;;;;;;;6890:49:::1;::::0;-1:-1:-1;;;6890:49:0;;6852:16;;-1:-1:-1;;;;;6890:39:0;::::1;::::0;::::1;::::0;:49:::1;::::0;6930:8;;6890:49:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;4839:1;6648:299:::0;;:::o;5199:94::-;644:10;4768:7;:5;:7::i;:::-;-1:-1:-1;;;;;4768:23:0;;4760:68;;;;-1:-1:-1;;;4760:68:0;;;;;;;:::i;:::-;5264:21:::1;5282:1;5264:9;:21::i;:::-;5199:94::o:0;4548:87::-;4594:7;4621:6;-1:-1:-1;;;;;4621:6:0;;4548:87::o;8998:444::-;9101:23;9165:6;-1:-1:-1;;;;;9151:28:0;;;;;-1:-1:-1;;;9151:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9151:28:0;;9142:37;;9197:9;9192:243;9212:17;;;9192:243;;;9251:43;9337:6;;9344:1;9337:9;;;;;-1:-1:-1;;;9337:9:0;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9251:110;;9388:21;-1:-1:-1;;;;;9388:33:0;;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9376:6;9383:1;9376:9;;;;;;-1:-1:-1;;;9376:9:0;;;;;;;;;;;;;;;;;;:47;-1:-1:-1;9231:3:0;;;;:::i;:::-;;;;9192:243;;;;8998:444;;;;:::o;6955:356::-;644:10;4768:7;:5;:7::i;:::-;-1:-1:-1;;;;;4768:23:0;;4760:68;;;;-1:-1:-1;;;4760:68:0;;;;;;;:::i;:::-;7045:9:::1;7040:264;7064:9;:16;7060:1;:20;7040:264;;;7102:43;7188:9;7198:1;7188:12;;;;;;-1:-1:-1::0;;;7188:12:0::1;;;;;;;;;;;;;;;:26;;;7102:127;;7244:21;-1:-1:-1::0;;;;;7244:28:0::1;;7273:9;7283:1;7273:12;;;;;;-1:-1:-1::0;;;7273:12:0::1;;;;;;;;;;;;;;;:18;;;7244:48;;;;;;;;;;;;;12120:25:1::0;;12108:2;12093:18;;12075:76;7244:48:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7040:264;7082:3;;;;;:::i;:::-;;;;7040:264;;;;6955:356:::0;:::o;7319:1114::-;7441:7;7466:43;7548:13;7466:106;;7598:15;7628:14;7672:23;7712:21;-1:-1:-1;;;;;7712:37:0;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7583:168;;;;;;;;7784:9;7766:15;:27;7762:640;;;7810:21;7846:545;7854:16;7846:545;;7901:11;7911:1;7901:7;:11;:::i;:::-;7891:21;;7949:1;7939:7;:11;7931:38;;;;-1:-1:-1;;;7931:38:0;;11562:2:1;7931:38:0;;;11544:21:1;11601:2;11581:18;;;11574:30;-1:-1:-1;;;11620:18:1;;;11613:44;11674:18;;7931:38:0;11534:164:1;7931:38:0;8146:43;;-1:-1:-1;;;8146:43:0;;;;;12120:25:1;;;8034:19:0;;;;-1:-1:-1;;;;;8146:34:0;;;;;12093:18:1;;8146:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7988:201;;;;;;;8230:1;8213:14;:18;8212:53;;;;;8255:9;8237:14;:27;;8212:53;8208:168;;;8309:4;8290:23;;8345:11;8336:20;;8208:168;7846:545;;;;;7762:640;;-1:-1:-1;8419:6:0;-1:-1:-1;;;7319:1114:0;;;;;:::o;10661:378::-;10775:34;10861:7;:14;-1:-1:-1;;;;;10840:36:0;;;;;-1:-1:-1;;;10840:36:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;10827:49;;10894:9;10889:115;10913:7;:14;10909:1;:18;10889:115;;;10965:27;10981:7;10989:1;10981:10;;;;;;-1:-1:-1;;;10981:10:0;;;;;;;;;;;;;;;10965:15;:27::i;:::-;10949:10;10960:1;10949:13;;;;;;-1:-1:-1;;;10949:13:0;;;;;;;;;;;;;;:43;;;;10929:3;;;;;:::i;:::-;;;;10889:115;;;;10661:378;;;:::o;8441:549::-;8688:48;;-1:-1:-1;;;8688:48:0;;;;;12120:25:1;;;8569:7:0;;8643:15;;8569:7;;-1:-1:-1;;;;;8688:37:0;;;;;12093:18:1;;8688:48:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8670:66;;8747:43;8829:21;-1:-1:-1;;;;;8829:35:0;;:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8915:43;;-1:-1:-1;;;8915:43:0;;;;;12120:25:1;;;8747:130:0;;-1:-1:-1;8891:14:0;;-1:-1:-1;;;;;8915:34:0;;;;;12093:18:1;;8915:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;8888:70:0;;8441:549;-1:-1:-1;;;;;;;;;;8441:549:0:o;5448:192::-;644:10;4768:7;:5;:7::i;:::-;-1:-1:-1;;;;;4768:23:0;;4760:68;;;;-1:-1:-1;;;4760:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;5537:22:0;::::1;5529:73;;;::::0;-1:-1:-1;;;5529:73:0;;10794:2:1;5529:73:0::1;::::0;::::1;10776:21:1::0;10833:2;10813:18;;;10806:30;10872:34;10852:18;;;10845:62;-1:-1:-1;;;10923:18:1;;;10916:36;10969:19;;5529:73:0::1;10766:228:1::0;5529:73:0::1;5613:19;5623:8;5613:9;:19::i;:::-;5448:192:::0;:::o;11047:1497::-;11165:34;11212:15;11270:37;;11212:15;11351:31;;;;;;;;:::i;:::-;11318:64;-1:-1:-1;11318:64:0;11393:36;-1:-1:-1;;;;;11534:37:0;;;11586:27;;;;;;;;:::i;:::-;11534:90;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11505:119;-1:-1:-1;11635:33:0;11686:22;;;;;;;;:::i;:::-;:54;;11715:25;:21;11739:1;11715:25;:::i;:::-;11686:54;;;11711:1;11686:54;11635:116;;11796:18;11768:25;:46;11764:773;;;11883:46;11904:25;11883:18;:46;:::i;:::-;-1:-1:-1;;;;;11844:100:0;;;;;-1:-1:-1;;;11844:100:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;11831:113:0;-1:-1:-1;12000:25:0;11961:565;12052:18;12044:5;:26;11961:565;;;12153:329;12191:272;;;;;;;;12235:21;-1:-1:-1;;;;;12235:35:0;;12301:15;:27;;;;;;;;;;:::i;:::-;12235:156;;-1:-1:-1;;;;;;12235:156:0;;;;;;;-1:-1:-1;;;;;9133:32:1;;;12235:156:0;;;9115:51:1;9182:18;;;9175:34;;;9088:18;;12235:156:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12191:272;;;;12418:22;-1:-1:-1;;;;;12191:272:0;;;;12153:15;:329::i;:::-;12131:10;12142:7;12131:19;;;;;;-1:-1:-1;;;12131:19:0;;;;;;;;;;;;;;:351;;;;12501:9;;;;;:::i;:::-;;;;12089:7;;;;;:::i;:::-;;;;11961:565;;;;11764:773;11047:1497;;;;;;;;;:::o;5648:173::-;5704:16;5723:6;;-1:-1:-1;;;;;5740:17:0;;;-1:-1:-1;;;;;;5740:17:0;;;;;;5773:40;;5723:6;;;;;;;5773:40;;5704:16;5773:40;5648:173;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:567:1:-;78:5;126:4;114:9;109:3;105:19;101:30;98:2;;;148:5;141;134:20;98:2;185:4;179:11;;;217:17;;-1:-1:-1;;;;;249:34:1;;285:22;;;246:62;243:2;;;311:18;;:::i;:::-;347:4;340:24;412:23;;397:39;;382:6;-1:-1:-1;382:6:1;488:2;473:18;;460:32;501:33;460:32;501:33;:::i;:::-;562:2;550:15;;;;543:32;88:493;;-1:-1:-1;;88:493:1:o;586:257::-;645:6;698:2;686:9;677:7;673:23;669:32;666:2;;;719:6;711;704:22;666:2;763:9;750:23;782:31;807:5;782:31;:::i;:::-;832:5;656:187;-1:-1:-1;;;656:187:1:o;848:261::-;918:6;971:2;959:9;950:7;946:23;942:32;939:2;;;992:6;984;977:22;939:2;1029:9;1023:16;1048:31;1073:5;1048:31;:::i;1114:398::-;1182:6;1190;1243:2;1231:9;1222:7;1218:23;1214:32;1211:2;;;1264:6;1256;1249:22;1211:2;1308:9;1295:23;1327:31;1352:5;1327:31;:::i;:::-;1377:5;-1:-1:-1;1434:2:1;1419:18;;1406:32;1447:33;1406:32;1447:33;:::i;:::-;1499:7;1489:17;;;1201:311;;;;;:::o;1517:325::-;1585:6;1593;1646:2;1634:9;1625:7;1621:23;1617:32;1614:2;;;1667:6;1659;1652:22;1614:2;1711:9;1698:23;1730:31;1755:5;1730:31;:::i;:::-;1780:5;1832:2;1817:18;;;;1804:32;;-1:-1:-1;;;1604:238:1:o;1847:665::-;1933:6;1941;1994:2;1982:9;1973:7;1969:23;1965:32;1962:2;;;2015:6;2007;2000:22;1962:2;2047:23;;-1:-1:-1;;;;;2119:14:1;;;2116:2;;;2151:6;2143;2136:22;2116:2;2194:6;2183:9;2179:22;2169:32;;2239:7;2232:4;2228:2;2224:13;2220:27;2210:2;;2266:6;2258;2251:22;2210:2;2311;2298:16;2337:2;2329:6;2326:14;2323:2;;;2358:6;2350;2343:22;2323:2;2416:7;2411:2;2401:6;2398:1;2394:14;2390:2;2386:23;2382:32;2379:45;2376:2;;;2442:6;2434;2427:22;2376:2;2478;2470:11;;;;;2500:6;;-1:-1:-1;1952:560:1;;-1:-1:-1;;;;1952:560:1:o;2517:1032::-;2635:6;2666:2;2709;2697:9;2688:7;2684:23;2680:32;2677:2;;;2730:6;2722;2715:22;2677:2;2762:23;;-1:-1:-1;;;;;2797:30:1;;2794:2;;;2845:6;2837;2830:22;2794:2;2873:22;;2926:4;2918:13;;2914:27;-1:-1:-1;2904:2:1;;2960:6;2952;2945:22;2904:2;3001;2988:16;3024:77;3040:60;3097:2;3040:60;:::i;:::-;3024:77;:::i;:::-;3123:3;3147:2;3142:3;3135:15;3175:2;3170:3;3166:12;3159:19;;3206:2;3202;3198:11;3254:7;3249:2;3243;3240:1;3236:10;3232:2;3228:19;3224:28;3221:41;3218:2;;;3280:6;3272;3265:22;3218:2;3307:6;3298:15;;3322:197;3336:2;3333:1;3330:9;3322:197;;;3393:49;3434:7;3429:3;3393:49;:::i;:::-;3381:62;;3354:1;3347:9;;;;;3463:12;;;;3504:4;3495:14;3322:197;;;-1:-1:-1;3538:5:1;2646:903;-1:-1:-1;;;;;;;2646:903:1:o;3554:1024::-;3664:6;3695:2;3738;3726:9;3717:7;3713:23;3709:32;3706:2;;;3759:6;3751;3744:22;3706:2;3791:23;;-1:-1:-1;;;;;3826:30:1;;3823:2;;;3874:6;3866;3859:22;3823:2;3902:22;;3955:4;3947:13;;3943:27;-1:-1:-1;3933:2:1;;3989:6;3981;3974:22;3933:2;4030;4017:16;4053:77;4069:60;4126:2;4069:60;:::i;4053:77::-;4152:3;4176:2;4171:3;4164:15;4204:2;4199:3;4195:12;4188:19;;4235:2;4231;4227:11;4283:7;4278:2;4272;4269:1;4265:10;4261:2;4257:19;4253:28;4250:41;4247:2;;;4309:6;4301;4294:22;4247:2;4336:6;4327:15;;4351:197;4365:2;4362:1;4359:9;4351:197;;;4422:49;4463:7;4458:3;4422:49;:::i;:::-;4410:62;;4383:1;4376:9;;;;;4492:12;;;;4533:4;4524:14;4351:197;;4583:251;4639:6;4692:2;4680:9;4671:7;4667:23;4663:32;4660:2;;;4713:6;4705;4698:22;4660:2;4757:9;4744:23;4776:28;4798:5;4776:28;:::i;4839:383::-;4912:6;4920;4973:2;4961:9;4952:7;4948:23;4944:32;4941:2;;;4994:6;4986;4979:22;4941:2;5031:9;5025:16;5050:28;5072:5;5050:28;:::i;:::-;5147:2;5132:18;;5126:25;5097:5;;-1:-1:-1;5160:30:1;5126:25;5160:30;:::i;5227:887::-;5390:6;5398;5406;5414;5422;5430;5438;5446;5454;5507:3;5495:9;5486:7;5482:23;5478:33;5475:2;;;5529:6;5521;5514:22;5475:2;5566:9;5560:16;5605:1;5598:5;5595:12;5585:2;;5626:6;5618;5611:22;5585:2;5654:5;5644:15;;;5699:2;5688:9;5684:18;5678:25;5668:35;;5743:2;5732:9;5728:18;5722:25;5712:35;;5787:2;5776:9;5772:18;5766:25;5756:35;;5831:3;5820:9;5816:19;5810:26;5800:36;;5876:3;5865:9;5861:19;5855:26;5845:36;;5926:3;5915:9;5911:19;5905:26;5962:1;5953:7;5950:14;5940:2;;5983:6;5975;5968:22;5940:2;6011:7;6001:17;;;6058:3;6047:9;6043:19;6037:26;6027:36;;6103:3;6092:9;6088:19;6082:26;6072:36;;5465:649;;;;;;;;;;;:::o;6119:256::-;6212:6;6265:2;6253:9;6244:7;6240:23;6236:32;6233:2;;;6286:6;6278;6271:22;6233:2;6314:55;6361:7;6350:9;6314:55;:::i;6380:211::-;6473:6;6526:3;6514:9;6505:7;6501:23;6497:33;6494:2;;;6548:6;6540;6533:22;6596:194;6666:6;6719:2;6707:9;6698:7;6694:23;6690:32;6687:2;;;6740:6;6732;6725:22;6687:2;-1:-1:-1;6768:16:1;;6677:113;-1:-1:-1;6677:113:1:o;6795:440::-;6901:6;6909;6917;6925;6933;6986:3;6974:9;6965:7;6961:23;6957:33;6954:2;;;7008:6;7000;6993:22;6954:2;-1:-1:-1;;7036:16:1;;7092:2;7077:18;;7071:25;7136:2;7121:18;;7115:25;7180:2;7165:18;;7159:25;7224:3;7209:19;;;7203:26;7036:16;;7071:25;;-1:-1:-1;7115:25:1;7159;-1:-1:-1;7203:26:1;;-1:-1:-1;6944:291:1;-1:-1:-1;6944:291:1:o;7336:141::-;7418:1;7411:5;7408:12;7398:2;;7424:18;;:::i;:::-;7453;;7388:89::o;7482:136::-;7559:1;7552:5;7549:12;7539:2;;7565:18;;:::i;7623:1105::-;7709:5;7703:12;7698:3;7691:25;7762:4;7755:5;7751:16;7745:23;7777:51;7822:4;7817:3;7813:14;7799:12;7777:51;:::i;:::-;;7877:4;7870:5;7866:16;7860:23;7853:4;7848:3;7844:14;7837:47;7933:4;7926:5;7922:16;7916:23;7909:4;7904:3;7900:14;7893:47;7989:4;7982:5;7978:16;7972:23;7965:4;7960:3;7956:14;7949:47;8045:4;8038:5;8034:16;8028:23;8021:4;8016:3;8012:14;8005:47;8101:4;8094:5;8090:16;8084:23;8077:4;8072:3;8068:14;8061:47;8156:4;8149:5;8145:16;8139:23;8171:58;8223:4;8218:3;8214:14;8198;8171:58;:::i;:::-;-1:-1:-1;8248:6:1;8291:14;;;8285:21;7310:13;7303:21;8347:12;;;7291:34;8379:6;8422:14;;;8416:21;7310:13;7303:21;8478:12;;;7291:34;8510:6;8552:14;;;8546:21;8532:12;;;8525:43;8587:6;8629:14;;;8623:21;8609:12;;;8602:43;8664:6;8706:14;;;8700:21;8686:12;;8679:43;7681:1047::o;8733:203::-;-1:-1:-1;;;;;8897:32:1;;;;8879:51;;8867:2;8852:18;;8834:102::o;9220:727::-;9453:2;9505:21;;;9575:13;;9478:18;;;9597:22;;;9424:4;;9453:2;9676:15;;;;9650:2;9635:18;;;9424:4;9722:199;9736:6;9733:1;9730:13;9722:199;;;9785:52;9833:3;9824:6;9818:13;9785:52;:::i;:::-;9896:15;;;;9866:6;9857:16;;;;;9758:1;9751:9;9722:199;;;-1:-1:-1;9938:3:1;;9433:514;-1:-1:-1;;;;;;9433:514:1:o;9952:635::-;10123:2;10175:21;;;10245:13;;10148:18;;;10267:22;;;10094:4;;10123:2;10346:15;;;;10320:2;10305:18;;;10094:4;10392:169;10406:6;10403:1;10400:13;10392:169;;;10467:13;;10455:26;;10536:15;;;;10501:12;;;;10428:1;10421:9;10392:169;;10999:356;11201:2;11183:21;;;11220:18;;;11213:30;11279:34;11274:2;11259:18;;11252:62;11346:2;11331:18;;11173:182::o;11703:266::-;11899:3;11884:19;;11912:51;11888:9;11945:6;11912:51;:::i;12156:275::-;12227:2;12221:9;12292:2;12273:13;;-1:-1:-1;;12269:27:1;12257:40;;-1:-1:-1;;;;;12312:34:1;;12348:22;;;12309:62;12306:2;;;12374:18;;:::i;:::-;12410:2;12403:22;12201:230;;-1:-1:-1;12201:230:1:o;12436:200::-;12513:4;-1:-1:-1;;;;;12535:30:1;;12532:2;;;12568:18;;:::i;:::-;-1:-1:-1;12613:1:1;12609:14;12625:4;12605:25;;12522:114::o;12641:128::-;12681:3;12712:1;12708:6;12705:1;12702:13;12699:2;;;12718:18;;:::i;:::-;-1:-1:-1;12754:9:1;;12689:80::o;12774:125::-;12814:4;12842:1;12839;12836:8;12833:2;;;12847:18;;:::i;:::-;-1:-1:-1;12884:9:1;;12823:76::o;12904:135::-;12943:3;-1:-1:-1;;12964:17:1;;12961:2;;;12984:18;;:::i;:::-;-1:-1:-1;13031:1:1;13020:13;;12951:88::o;13044:127::-;13105:10;13100:3;13096:20;13093:1;13086:31;13136:4;13133:1;13126:15;13160:4;13157:1;13150:15;13176:127;13237:10;13232:3;13228:20;13225:1;13218:31;13268:4;13265:1;13258:15;13292:4;13289:1;13282:15;13308:127;13369:10;13364:3;13360:20;13357:1;13350:31;13400:4;13397:1;13390:15;13424:4;13421:1;13414:15;13440:131;-1:-1:-1;;;;;13515:31:1;;13505:42;;13495:2;;13561:1;13558;13551:12;13576:118;13662:5;13655:13;13648:21;13641:5;13638:32;13628:2;;13684:1;13681;13674:12

Swarm Source

ipfs://d92f53022eca7d7c1eff8f4bdbcb510e3c36e3879dab971d3d9634c5fa41559b
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading