MON Price: $0.018482 (+3.85%)

Contract

0x95bbe311bE5990C619ec7d88E782124c6891D8D8

Overview

MON Balance

Monad Chain LogoMonad Chain LogoMonad Chain Logo0 MON

MON Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To

There are no matching entries

> 10 Internal Transactions found.

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
512993082026-01-26 19:28:4149 secs ago1769455721
0x95bbe311...c6891D8D8
0 MON
512993082026-01-26 19:28:4149 secs ago1769455721
0x95bbe311...c6891D8D8
0 MON
512993082026-01-26 19:28:4149 secs ago1769455721
0x95bbe311...c6891D8D8
0 MON
512974942026-01-26 19:16:3612 mins ago1769454996
0x95bbe311...c6891D8D8
0 MON
512974942026-01-26 19:16:3612 mins ago1769454996
0x95bbe311...c6891D8D8
0 MON
512974942026-01-26 19:16:3612 mins ago1769454996
0x95bbe311...c6891D8D8
0 MON
512965372026-01-26 19:10:1319 mins ago1769454613
0x95bbe311...c6891D8D8
0 MON
512965372026-01-26 19:10:1319 mins ago1769454613
0x95bbe311...c6891D8D8
0 MON
512965372026-01-26 19:10:1319 mins ago1769454613
0x95bbe311...c6891D8D8
0 MON
512948762026-01-26 18:59:0930 mins ago1769453949
0x95bbe311...c6891D8D8
0 MON
512948762026-01-26 18:59:0930 mins ago1769453949
0x95bbe311...c6891D8D8
0 MON
512948762026-01-26 18:59:0930 mins ago1769453949
0x95bbe311...c6891D8D8
0 MON
512945892026-01-26 18:57:1532 mins ago1769453835
0x95bbe311...c6891D8D8
0 MON
512945892026-01-26 18:57:1532 mins ago1769453835
0x95bbe311...c6891D8D8
0 MON
512945892026-01-26 18:57:1532 mins ago1769453835
0x95bbe311...c6891D8D8
0 MON
512941342026-01-26 18:54:1335 mins ago1769453653
0x95bbe311...c6891D8D8
0 MON
512941342026-01-26 18:54:1335 mins ago1769453653
0x95bbe311...c6891D8D8
0 MON
512941342026-01-26 18:54:1335 mins ago1769453653
0x95bbe311...c6891D8D8
0 MON
512932842026-01-26 18:48:3240 mins ago1769453312
0x95bbe311...c6891D8D8
0 MON
512932842026-01-26 18:48:3240 mins ago1769453312
0x95bbe311...c6891D8D8
0 MON
512932842026-01-26 18:48:3240 mins ago1769453312
0x95bbe311...c6891D8D8
0 MON
512932122026-01-26 18:48:0441 mins ago1769453284
0x95bbe311...c6891D8D8
0 MON
512932122026-01-26 18:48:0441 mins ago1769453284
0x95bbe311...c6891D8D8
0 MON
512932122026-01-26 18:48:0441 mins ago1769453284
0x95bbe311...c6891D8D8
0 MON
512925822026-01-26 18:43:5145 mins ago1769453031
0x95bbe311...c6891D8D8
0 MON
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ChainlinkRatioOracleAggregator

Compiler Version
v0.8.10+commit.fc410830

Optimization Enabled:
Yes with 100000 runs

Other Settings:
berlin EvmVersion
// SPDX-License-Identifier: MIT
pragma solidity 0.8.10;

import {AggregatorInterface} from "@aave/core-v3/contracts/dependencies/chainlink/AggregatorInterface.sol";
import {AggregatorV3Interface} from "@chainlink/contracts/src/v0.8/shared/interfaces/AggregatorV3Interface.sol";

/// @notice Thrown when ratio aggregator address is zero
error RatioAggregatorZeroAddress();

/// @notice Thrown when base aggregator address is zero
error BaseAggregatorZeroAddress();

/// @notice Thrown when ratio price is less than or equal to zero
error InvalidRatio();

/// @notice Thrown when base price is less than or equal to zero
error InvalidBasePrice();

/// @notice Thrown when oracle data is too old based on maxDelay
/// @param currentTime Current block timestamp
/// @param updatedAt Timestamp when the price was last updated
/// @param maxTime Maximum allowed timestamp (updatedAt + maxDelay)
error PriceTooOld(uint256 currentTime, uint256 updatedAt, uint256 maxTime);

/// @notice Thrown when oracle round is stale or incomplete (answeredInRound < roundId or updatedAt == 0)
error StaleRound();

/// @notice Thrown when oracle decimals exceed maximum allowed value (18)
error InvalidDecimals();

/**
 * @title ChainlinkRatioOracleAggregator
 * @author Neverland
 * @notice Combines two Chainlink price feeds to create a derived price feed
 * @dev Example: earnAUSD/AUSD (ratio) × AUSD/USD (base) = earnAUSD/USD
 */
contract ChainlinkRatioOracleAggregator is AggregatorInterface, AggregatorV3Interface {
    /// @notice The ratio aggregator (e.g., earnAUSD/AUSD exchange rate)
    AggregatorV3Interface public immutable ratioAggregator;

    /// @notice The base price aggregator (e.g., AUSD/USD price feed)
    AggregatorV3Interface public immutable baseAggregator;

    /// @notice Maximum allowed staleness in seconds (0 = disabled)
    uint256 public immutable maxDelay;

    /// @notice Number of decimals for the ratio aggregator
    uint8 public immutable ratioDecimals;

    /// @notice Number of decimals for the base aggregator
    uint8 public immutable baseDecimals;

    /// @dev Target output decimals (Aave standard)
    uint256 private constant TARGET_DECIMALS = 8;

    /**
     * @param _ratioAggregator Address of the ratio aggregator (e.g., earnAUSD/AUSD)
     * @param _baseAggregator Address of the base USD aggregator (e.g., AUSD/USD)
     * @param _maxDelay Maximum allowed staleness in seconds (0 = disabled, not recommended)
     * @dev WARNING: Setting maxDelay=0 disables ALL staleness checks. Use with caution.
     */
    constructor(address _ratioAggregator, address _baseAggregator, uint256 _maxDelay) {
        if (_ratioAggregator == address(0)) revert RatioAggregatorZeroAddress();
        if (_baseAggregator == address(0)) revert BaseAggregatorZeroAddress();

        ratioAggregator = AggregatorV3Interface(_ratioAggregator);
        baseAggregator = AggregatorV3Interface(_baseAggregator);
        maxDelay = _maxDelay;
        ratioDecimals = ratioAggregator.decimals();
        baseDecimals = baseAggregator.decimals();

        // Bound decimals to prevent DoS via excessive exponentiation
        if (ratioDecimals > 18 || baseDecimals > 18) revert InvalidDecimals();
    }

    /**
     * @notice Returns the current derived price (ratio × base)
     * @dev Validates completeness and freshness of both feeds before computation
     * @return The derived price scaled to 8 decimals
     */
    function latestAnswer() external view override returns (int256) {
        (uint80 roundId, int256 ratio,, uint256 ratioUpdatedAt, uint80 answeredInRound) =
            ratioAggregator.latestRoundData();
        if (ratio <= 0) revert InvalidRatio();
        _ensureComplete(ratioUpdatedAt, roundId, answeredInRound);

        (uint80 baseRoundId, int256 basePrice,, uint256 baseUpdatedAt, uint80 baseAnsweredInRound) =
            baseAggregator.latestRoundData();
        if (basePrice <= 0) revert InvalidBasePrice();
        _ensureComplete(baseUpdatedAt, baseRoundId, baseAnsweredInRound);

        return _computePrice(ratio, basePrice);
    }

    /**
     * @notice Returns the most recent update timestamp
     * @dev Returns the older of the two feed timestamps for conservative accuracy
     * @return The timestamp of the oldest recent update
     */
    function latestTimestamp() external view override returns (uint256) {
        (uint80 roundId,,, uint256 ratioUpdatedAt, uint80 answeredInRound) = ratioAggregator.latestRoundData();
        _ensureComplete(ratioUpdatedAt, roundId, answeredInRound);

        (uint80 baseRoundId,,, uint256 baseUpdatedAt, uint80 baseAnsweredInRound) = baseAggregator.latestRoundData();
        _ensureComplete(baseUpdatedAt, baseRoundId, baseAnsweredInRound);

        // Return the older of the two timestamps (most conservative)
        return ratioUpdatedAt < baseUpdatedAt ? ratioUpdatedAt : baseUpdatedAt;
    }

    /**
     * @notice Returns the latest round ID from the ratio feed
     * @return The most recent round ID from the ratio aggregator
     */
    function latestRound() external view override returns (uint256) {
        (uint80 roundId,,,,) = ratioAggregator.latestRoundData();
        return uint256(roundId);
    }

    /**
     * @notice Legacy compatibility function - ONLY supports latest round
     * @dev DEPRECATED: Only works for the current latest round to prevent time-misaligned data.
     *      Historical queries would mix old ratio × current base, producing incorrect results.
     *      For current data: use latestAnswer() instead.
     *      For historical data: this aggregator cannot provide time-accurate historical prices.
     * @param roundId The round ID (must be latest round from ratio aggregator, else returns 0)
     * @return Latest derived price if roundId matches current round, 0 otherwise
     */
    function getAnswer(uint256 roundId) external view override returns (int256) {
        // Only support latest round to prevent historical time-misalignment
        (uint80 latestRoundId,,,,) = ratioAggregator.latestRoundData();

        // Return 0 for any historical round query to prevent misuse
        if (roundId != uint256(latestRoundId)) return 0;

        // For latest round, delegate to latestAnswer with full validation
        try this.latestAnswer() returns (int256 answer) {
            return answer;
        } catch {
            return 0;
        }
    }

    /**
     * @notice Legacy compatibility function - ONLY supports latest round
     * @dev DEPRECATED: Only works for the current latest round to prevent time-misaligned data.
     *      Historical queries would return timestamp from old ratio round but current base state.
     *      For current data: use latestTimestamp() instead.
     *      For historical data: this aggregator cannot provide time-accurate historical timestamps.
     * @param roundId The round ID (must be latest round from ratio aggregator, else returns 0)
     * @return Latest timestamp if roundId matches current round, 0 otherwise
     */
    function getTimestamp(uint256 roundId) external view override returns (uint256) {
        // Only support latest round to prevent historical time-misalignment
        (uint80 latestRoundId,,,,) = ratioAggregator.latestRoundData();

        // Return 0 for any historical round query to prevent misuse
        if (roundId != uint256(latestRoundId)) return 0;

        // For latest round, delegate to latestTimestamp with full validation
        try this.latestTimestamp() returns (uint256 timestamp) {
            return timestamp;
        } catch {
            return 0;
        }
    }

    /**
     * @notice Returns the number of decimals in the derived price
     * @return Always returns 8 (Aave oracle standard)
     */
    function decimals() external pure override returns (uint8) {
        return uint8(TARGET_DECIMALS);
    }

    /**
     * @notice Returns a human-readable description of this aggregator
     * @return Concatenated description: "[ratio description] * [base description]"
     */
    function description() external view override returns (string memory) {
        return string(abi.encodePacked(ratioAggregator.description(), " * ", baseAggregator.description()));
    }

    /**
     * @notice Returns the aggregator version
     * @return Always returns 1
     */
    function version() external pure override returns (uint256) {
        return 1;
    }

    /**
     * @notice Returns the latest round data with derived price
     * @dev Validates completeness and freshness of both feeds
     * @return roundId The round ID from the ratio aggregator
     * @return answer The derived price (ratio × base) scaled to 8 decimals
     * @return startedAt The timestamp when the ratio round started
     * @return updatedAt The conservative timestamp (older of ratio/base updates)
     * @return answeredInRound The round in which the ratio answer was computed
     */
    function latestRoundData()
        external
        view
        override
        returns (uint80 roundId, int256 answer, uint256 startedAt, uint256 updatedAt, uint80 answeredInRound)
    {
        // Get ratio data
        (roundId, answer, startedAt, updatedAt, answeredInRound) = ratioAggregator.latestRoundData();
        if (answer <= 0) revert InvalidRatio();
        _ensureComplete(updatedAt, roundId, answeredInRound);

        // Get base price data
        (uint80 baseRoundId, int256 basePrice,, uint256 baseUpdatedAt, uint80 baseAnsweredInRound) =
            baseAggregator.latestRoundData();
        if (basePrice <= 0) revert InvalidBasePrice();
        _ensureComplete(baseUpdatedAt, baseRoundId, baseAnsweredInRound);

        // Use the older timestamp (most conservative)
        if (baseUpdatedAt < updatedAt) {
            updatedAt = baseUpdatedAt;
        }

        // Compute final price
        answer = _computePrice(answer, basePrice);
    }

    /**
     * @notice Returns round data - ONLY supports latest round
     * @dev CRITICAL: Only works for the current latest round to prevent time-misaligned data.
     *      Historical queries would produce:
     *      - answer: ratio[old] × basePrice[current] ← INCORRECT time alignment
     *      - updatedAt: mixed timestamp that doesn't represent either feed's state
     *
     *      This would break:
     *      - Time-weighted average price (TWAP) calculations
     *      - Historical price audits and proofs
     *      - Any system requiring time-consistent data
     *
     *      For current data: use latestRoundData() instead.
     *      For historical data: this aggregator CANNOT provide time-accurate historical prices.
     *
     * @param requestedRoundId The round ID (must be latest, else reverts)
     * @return roundId The latest round ID from ratio aggregator
     * @return answer The latest derived price scaled to 8 decimals
     * @return startedAt The timestamp when the latest ratio round started
     * @return updatedAt The conservative timestamp (older of latest ratio/base updates)
     * @return answeredInRound The latest answered in round from ratio aggregator
     */
    function getRoundData(uint80 requestedRoundId)
        external
        view
        override
        returns (uint80 roundId, int256 answer, uint256 startedAt, uint256 updatedAt, uint80 answeredInRound)
    {
        // Only support latest round to prevent historical time-misalignment
        (uint80 latestRoundId,,,,) = ratioAggregator.latestRoundData();

        // Revert on historical queries to prevent dangerous misuse
        if (requestedRoundId != latestRoundId) revert StaleRound();

        // Delegate to latestRoundData for full validation
        return this.latestRoundData();
    }

    /**
     * @notice Validates round completeness and freshness per Chainlink best practices (reverts on failure)
     * @param updatedAt The timestamp when the round was updated
     * @param roundId The round ID
     * @param answeredInRound The round in which the answer was computed
     */
    function _ensureComplete(uint256 updatedAt, uint80 roundId, uint80 answeredInRound) internal view {
        // Check round is complete: answeredInRound should be >= roundId
        if (answeredInRound < roundId) revert StaleRound();

        // Check round was actually updated (not uninitialized)
        if (updatedAt == 0) revert StaleRound();

        // Check freshness if maxDelay is configured
        if (maxDelay > 0 && updatedAt + maxDelay < block.timestamp) {
            revert PriceTooOld(block.timestamp, updatedAt, updatedAt + maxDelay);
        }
    }

    /**
     * @notice Checks round completeness and freshness (returns false instead of reverting)
     * @dev Used in try-catch compatibility helpers that return 0 on invalid data
     * @param updatedAt The timestamp when the round was updated
     * @param roundId The round ID
     * @param answeredInRound The round in which the answer was computed
     * @return true if round is complete and fresh, false otherwise
     */
    function _isComplete(uint256 updatedAt, uint80 roundId, uint80 answeredInRound) internal view returns (bool) {
        // Check round is complete: answeredInRound should be >= roundId
        if (answeredInRound < roundId) return false;

        // Check round was actually updated (not uninitialized)
        if (updatedAt == 0) return false;

        // Check freshness if maxDelay is configured
        if (maxDelay > 0 && updatedAt + maxDelay < block.timestamp) return false;

        return true;
    }

    /**
     * @notice Computes the final price by multiplying ratio * basePrice
     * @dev Formula: (ratio * basePrice) / 10^ratioDecimals, then scale to TARGET_DECIMALS
     * @param ratio The ratio value (e.g., earnAUSD/AUSD)
     * @param basePrice The base price in USD (e.g., AUSD/USD)
     * @return The final price scaled to TARGET_DECIMALS
     */
    function _computePrice(int256 ratio, int256 basePrice) internal view returns (int256) {
        // Multiply ratio * basePrice, then divide by ratio decimals to get proper scaling
        int256 scaled = (ratio * basePrice) / int256(10 ** ratioDecimals);

        // Adjust to TARGET_DECIMALS based on baseDecimals
        if (baseDecimals > TARGET_DECIMALS) {
            uint256 diff = baseDecimals - TARGET_DECIMALS;
            scaled /= int256(10 ** diff);
        } else if (baseDecimals < TARGET_DECIMALS) {
            uint256 diff = TARGET_DECIMALS - baseDecimals;
            scaled *= int256(10 ** diff);
        }

        return scaled;
    }
}

// SPDX-License-Identifier: MIT
// Chainlink Contracts v0.8
pragma solidity ^0.8.0;

interface AggregatorInterface {
  function latestAnswer() external view returns (int256);

  function latestTimestamp() external view returns (uint256);

  function latestRound() external view returns (uint256);

  function getAnswer(uint256 roundId) external view returns (int256);

  function getTimestamp(uint256 roundId) external view returns (uint256);

  event AnswerUpdated(int256 indexed current, uint256 indexed roundId, uint256 updatedAt);

  event NewRound(uint256 indexed roundId, address indexed startedBy, uint256 startedAt);
}

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

// solhint-disable-next-line interface-starts-with-i
interface AggregatorV3Interface {
  function decimals() external view returns (uint8);

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

  function version() external view returns (uint256);

  function getRoundData(
    uint80 _roundId
  ) external view returns (uint80 roundId, int256 answer, uint256 startedAt, uint256 updatedAt, uint80 answeredInRound);

  function latestRoundData()
    external
    view
    returns (uint80 roundId, int256 answer, uint256 startedAt, uint256 updatedAt, uint80 answeredInRound);
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 100000
  },
  "evmVersion": "berlin",
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "metadata": {
    "useLiteralContent": true
  }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"_ratioAggregator","type":"address"},{"internalType":"address","name":"_baseAggregator","type":"address"},{"internalType":"uint256","name":"_maxDelay","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"BaseAggregatorZeroAddress","type":"error"},{"inputs":[],"name":"InvalidBasePrice","type":"error"},{"inputs":[],"name":"InvalidDecimals","type":"error"},{"inputs":[],"name":"InvalidRatio","type":"error"},{"inputs":[{"internalType":"uint256","name":"currentTime","type":"uint256"},{"internalType":"uint256","name":"updatedAt","type":"uint256"},{"internalType":"uint256","name":"maxTime","type":"uint256"}],"name":"PriceTooOld","type":"error"},{"inputs":[],"name":"RatioAggregatorZeroAddress","type":"error"},{"inputs":[],"name":"StaleRound","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"int256","name":"current","type":"int256"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"updatedAt","type":"uint256"}],"name":"AnswerUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":true,"internalType":"address","name":"startedBy","type":"address"},{"indexed":false,"internalType":"uint256","name":"startedAt","type":"uint256"}],"name":"NewRound","type":"event"},{"inputs":[],"name":"baseAggregator","outputs":[{"internalType":"contract AggregatorV3Interface","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"baseDecimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"description","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getAnswer","outputs":[{"internalType":"int256","name":"","type":"int256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint80","name":"requestedRoundId","type":"uint80"}],"name":"getRoundData","outputs":[{"internalType":"uint80","name":"roundId","type":"uint80"},{"internalType":"int256","name":"answer","type":"int256"},{"internalType":"uint256","name":"startedAt","type":"uint256"},{"internalType":"uint256","name":"updatedAt","type":"uint256"},{"internalType":"uint80","name":"answeredInRound","type":"uint80"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"latestAnswer","outputs":[{"internalType":"int256","name":"","type":"int256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"latestRound","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"latestRoundData","outputs":[{"internalType":"uint80","name":"roundId","type":"uint80"},{"internalType":"int256","name":"answer","type":"int256"},{"internalType":"uint256","name":"startedAt","type":"uint256"},{"internalType":"uint256","name":"updatedAt","type":"uint256"},{"internalType":"uint80","name":"answeredInRound","type":"uint80"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"latestTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ratioAggregator","outputs":[{"internalType":"contract AggregatorV3Interface","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ratioDecimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"}]

6101206040523480156200001257600080fd5b506040516200197e3803806200197e8339810160408190526200003591620001de565b6001600160a01b0383166200005d57604051630ce76f1160e11b815260040160405180910390fd5b6001600160a01b038216620000855760405163bf1c16e960e01b815260040160405180910390fd5b6001600160a01b03808416608081905290831660a05260c08290526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa158015620000dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200010291906200021f565b60ff1660e08160ff168152505060a0516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000150573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200017691906200021f565b60ff9081166101005260e05160129116118062000199575060126101005160ff16115b15620001b857604051630692acc560e51b815260040160405180910390fd5b5050506200024b565b80516001600160a01b0381168114620001d957600080fd5b919050565b600080600060608486031215620001f457600080fd5b620001ff84620001c1565b92506200020f60208501620001c1565b9150604084015190509250925092565b6000602082840312156200023257600080fd5b815160ff811681146200024457600080fd5b9392505050565b60805160a05160c05160e051610100516116636200031b6000396000818161014401528181610fbd01528181610ff001528181611038015261106901526000818160ff0152610f7d01526000818161029001528181610ea401528181610ed10152610f04015260008181610269015281816103a7015281816105f80152818161077b0152610d190152600081816101ad015281816102c40152818161049e01528181610547015281816106d401528181610840015281816109ab01528181610af80152610c3301526116636000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80638205bf6a11610097578063b633620c11610066578063b633620c14610251578063b9692bd214610264578063ed49d2f81461028b578063feaf968c146102b257600080fd5b80638205bf6a146101a0578063958ee0e4146101a85780639a6fc8f5146101f4578063b5ab58dc1461023e57600080fd5b806350d25bcd116100d357806350d25bcd1461016657806354fd4d501461017c578063668a0f02146101835780637284e4161461018b57600080fd5b80631518af76146100fa578063313ce5671461013857806333f761781461013f575b600080fd5b6101217f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff90911681526020015b60405180910390f35b6008610121565b6101217f000000000000000000000000000000000000000000000000000000000000000081565b61016e6102ba565b60405190815260200161012f565b600161016e565b61016e610499565b610193610543565b60405161012f91906110e4565b61016e6106cc565b6101cf7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161012f565b610207610202366004611150565b610835565b6040805169ffffffffffffffffffff968716815260208101959095528401929092526060830152909116608082015260a00161012f565b61016e61024c36600461116d565b6109a6565b61016e61025f36600461116d565b610af3565b6101cf7f000000000000000000000000000000000000000000000000000000000000000081565b61016e7f000000000000000000000000000000000000000000000000000000000000000081565b610207610c29565b60008060008060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa15801561032d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103519190611186565b94509450509350935060008313610394576040517f648564d300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61039f828583610e17565b6000806000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610410573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104349190611186565b94509450509350935060008313610477576040517fb2c4287100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610482828583610e17565b61048c8784610f75565b9850505050505050505090565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610507573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061052b9190611186565b505069ffffffffffffffffffff909216949350505050565b60607f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637284e4166040518163ffffffff1660e01b8152600401600060405180830381865afa1580156105b0573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526105f6919081019061120d565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637284e4166040518163ffffffff1660e01b8152600401600060405180830381865afa158015610661573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526106a7919081019061120d565b6040516020016106b89291906112d8565b604051602081830303815290604052905090565b6000806000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa15801561073d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107619190611186565b9450945050509250610774828483610e17565b60008060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa1580156107e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108089190611186565b945094505050925061081b828483610e17565b818510610828578161082a565b845b965050505050505090565b6000806000806000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa1580156108a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108cd9190611186565b5050505090508069ffffffffffffffffffff168769ffffffffffffffffffff1614610924576040517f04d2887100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa15801561096f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109939190611186565b939b929a50909850965090945092505050565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610a14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a389190611186565b5050505090508069ffffffffffffffffffff168314610a5a5750600092915050565b3073ffffffffffffffffffffffffffffffffffffffff166350d25bcd6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610adf575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610adc91810190611330565b60015b610aec5750600092915050565b9392505050565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610b61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b859190611186565b5050505090508069ffffffffffffffffffff168314610ba75750600092915050565b3073ffffffffffffffffffffffffffffffffffffffff16638205bf6a6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610adf575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610adc91810190611330565b60008060008060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610c9c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cc09190611186565b93985091965094509250905060008413610d06576040517f648564d300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d11828683610e17565b6000806000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610d82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610da69190611186565b94509450509350935060008313610de9576040517fb2c4287100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610df4828583610e17565b85821015610e00578195505b610e0a8884610f75565b9750505050509091929394565b8169ffffffffffffffffffff168169ffffffffffffffffffff161015610e69576040517f04d2887100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82610ea0576040517f04d2887100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60007f0000000000000000000000000000000000000000000000000000000000000000118015610ef8575042610ef67f000000000000000000000000000000000000000000000000000000000000000085611378565b105b15610f70574283610f297f000000000000000000000000000000000000000000000000000000000000000082611378565b6040517f4253334a00000000000000000000000000000000000000000000000000000000815260048101939093526024830191909152604482015260640160405180910390fd5b505050565b600080610fa37f0000000000000000000000000000000000000000000000000000000000000000600a6114b0565b610fad84866114bf565b610fb7919061157b565b905060087f000000000000000000000000000000000000000000000000000000000000000060ff161115611034576000611015600860ff7f00000000000000000000000000000000000000000000000000000000000000001661160a565b905061102281600a611621565b61102c908361157b565b9150506110ab565b60087f000000000000000000000000000000000000000000000000000000000000000060ff1610156110ab57600061109060ff7f000000000000000000000000000000000000000000000000000000000000000016600861160a565b905061109d81600a611621565b6110a790836114bf565b9150505b90505b92915050565b60005b838110156110cf5781810151838201526020016110b7565b838111156110de576000848401525b50505050565b60208152600082518060208401526111038160408501602087016110b4565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b69ffffffffffffffffffff8116811461114d57600080fd5b50565b60006020828403121561116257600080fd5b81356110ab81611135565b60006020828403121561117f57600080fd5b5035919050565b600080600080600060a0868803121561119e57600080fd5b85516111a981611135565b8095505060208601519350604086015192506060860151915060808601516111d081611135565b809150509295509295909350565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60006020828403121561121f57600080fd5b815167ffffffffffffffff8082111561123757600080fd5b818401915084601f83011261124b57600080fd5b81518181111561125d5761125d6111de565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156112a3576112a36111de565b816040528281528760208487010111156112bc57600080fd5b6112cd8360208301602088016110b4565b979650505050505050565b600083516112ea8184602088016110b4565b7f202a20000000000000000000000000000000000000000000000000000000000090830190815283516113248160038401602088016110b4565b01600301949350505050565b60006020828403121561134257600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000821982111561138b5761138b611349565b500190565b600181815b808511156113e957817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048211156113cf576113cf611349565b808516156113dc57918102915b93841c9390800290611395565b509250929050565b600082611400575060016110ae565b8161140d575060006110ae565b8160018114611423576002811461142d57611449565b60019150506110ae565b60ff84111561143e5761143e611349565b50506001821b6110ae565b5060208310610133831016604e8410600b841016171561146c575081810a6110ae565b6114768383611390565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048211156114a8576114a8611349565b029392505050565b6000610aec60ff8416836113f1565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60008413600084138583048511828216161561150057611500611349565b7f8000000000000000000000000000000000000000000000000000000000000000600087128682058812818416161561153b5761153b611349565b6000871292508782058712848416161561155757611557611349565b8785058712818416161561156d5761156d611349565b505050929093029392505050565b6000826115b1577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83147f80000000000000000000000000000000000000000000000000000000000000008314161561160557611605611349565b500590565b60008282101561161c5761161c611349565b500390565b6000610aec83836113f156fea26469706673582212209fb89eae542da540533806733b804a7e480f570da4bd884086ddaf1dbaacc26d64736f6c634300080a003300000000000000000000000066608681545aaa50d9ebdbd9542feea4e49b85da000000000000000000000000e20751c7b5867bcbef815ffc1b284c3f412a9e130000000000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100f55760003560e01c80638205bf6a11610097578063b633620c11610066578063b633620c14610251578063b9692bd214610264578063ed49d2f81461028b578063feaf968c146102b257600080fd5b80638205bf6a146101a0578063958ee0e4146101a85780639a6fc8f5146101f4578063b5ab58dc1461023e57600080fd5b806350d25bcd116100d357806350d25bcd1461016657806354fd4d501461017c578063668a0f02146101835780637284e4161461018b57600080fd5b80631518af76146100fa578063313ce5671461013857806333f761781461013f575b600080fd5b6101217f000000000000000000000000000000000000000000000000000000000000001281565b60405160ff90911681526020015b60405180910390f35b6008610121565b6101217f000000000000000000000000000000000000000000000000000000000000000881565b61016e6102ba565b60405190815260200161012f565b600161016e565b61016e610499565b610193610543565b60405161012f91906110e4565b61016e6106cc565b6101cf7f00000000000000000000000066608681545aaa50d9ebdbd9542feea4e49b85da81565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161012f565b610207610202366004611150565b610835565b6040805169ffffffffffffffffffff968716815260208101959095528401929092526060830152909116608082015260a00161012f565b61016e61024c36600461116d565b6109a6565b61016e61025f36600461116d565b610af3565b6101cf7f000000000000000000000000e20751c7b5867bcbef815ffc1b284c3f412a9e1381565b61016e7f000000000000000000000000000000000000000000000000000000000000000081565b610207610c29565b60008060008060007f00000000000000000000000066608681545aaa50d9ebdbd9542feea4e49b85da73ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa15801561032d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103519190611186565b94509450509350935060008313610394576040517f648564d300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61039f828583610e17565b6000806000807f000000000000000000000000e20751c7b5867bcbef815ffc1b284c3f412a9e1373ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610410573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104349190611186565b94509450509350935060008313610477576040517fb2c4287100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610482828583610e17565b61048c8784610f75565b9850505050505050505090565b6000807f00000000000000000000000066608681545aaa50d9ebdbd9542feea4e49b85da73ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610507573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061052b9190611186565b505069ffffffffffffffffffff909216949350505050565b60607f00000000000000000000000066608681545aaa50d9ebdbd9542feea4e49b85da73ffffffffffffffffffffffffffffffffffffffff16637284e4166040518163ffffffff1660e01b8152600401600060405180830381865afa1580156105b0573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526105f6919081019061120d565b7f000000000000000000000000e20751c7b5867bcbef815ffc1b284c3f412a9e1373ffffffffffffffffffffffffffffffffffffffff16637284e4166040518163ffffffff1660e01b8152600401600060405180830381865afa158015610661573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526106a7919081019061120d565b6040516020016106b89291906112d8565b604051602081830303815290604052905090565b6000806000807f00000000000000000000000066608681545aaa50d9ebdbd9542feea4e49b85da73ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa15801561073d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107619190611186565b9450945050509250610774828483610e17565b60008060007f000000000000000000000000e20751c7b5867bcbef815ffc1b284c3f412a9e1373ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa1580156107e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108089190611186565b945094505050925061081b828483610e17565b818510610828578161082a565b845b965050505050505090565b6000806000806000807f00000000000000000000000066608681545aaa50d9ebdbd9542feea4e49b85da73ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa1580156108a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108cd9190611186565b5050505090508069ffffffffffffffffffff168769ffffffffffffffffffff1614610924576040517f04d2887100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa15801561096f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109939190611186565b939b929a50909850965090945092505050565b6000807f00000000000000000000000066608681545aaa50d9ebdbd9542feea4e49b85da73ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610a14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a389190611186565b5050505090508069ffffffffffffffffffff168314610a5a5750600092915050565b3073ffffffffffffffffffffffffffffffffffffffff166350d25bcd6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610adf575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610adc91810190611330565b60015b610aec5750600092915050565b9392505050565b6000807f00000000000000000000000066608681545aaa50d9ebdbd9542feea4e49b85da73ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610b61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b859190611186565b5050505090508069ffffffffffffffffffff168314610ba75750600092915050565b3073ffffffffffffffffffffffffffffffffffffffff16638205bf6a6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610adf575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610adc91810190611330565b60008060008060007f00000000000000000000000066608681545aaa50d9ebdbd9542feea4e49b85da73ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610c9c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cc09190611186565b93985091965094509250905060008413610d06576040517f648564d300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d11828683610e17565b6000806000807f000000000000000000000000e20751c7b5867bcbef815ffc1b284c3f412a9e1373ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610d82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610da69190611186565b94509450509350935060008313610de9576040517fb2c4287100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610df4828583610e17565b85821015610e00578195505b610e0a8884610f75565b9750505050509091929394565b8169ffffffffffffffffffff168169ffffffffffffffffffff161015610e69576040517f04d2887100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82610ea0576040517f04d2887100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60007f0000000000000000000000000000000000000000000000000000000000000000118015610ef8575042610ef67f000000000000000000000000000000000000000000000000000000000000000085611378565b105b15610f70574283610f297f000000000000000000000000000000000000000000000000000000000000000082611378565b6040517f4253334a00000000000000000000000000000000000000000000000000000000815260048101939093526024830191909152604482015260640160405180910390fd5b505050565b600080610fa37f0000000000000000000000000000000000000000000000000000000000000012600a6114b0565b610fad84866114bf565b610fb7919061157b565b905060087f000000000000000000000000000000000000000000000000000000000000000860ff161115611034576000611015600860ff7f00000000000000000000000000000000000000000000000000000000000000081661160a565b905061102281600a611621565b61102c908361157b565b9150506110ab565b60087f000000000000000000000000000000000000000000000000000000000000000860ff1610156110ab57600061109060ff7f000000000000000000000000000000000000000000000000000000000000000816600861160a565b905061109d81600a611621565b6110a790836114bf565b9150505b90505b92915050565b60005b838110156110cf5781810151838201526020016110b7565b838111156110de576000848401525b50505050565b60208152600082518060208401526111038160408501602087016110b4565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b69ffffffffffffffffffff8116811461114d57600080fd5b50565b60006020828403121561116257600080fd5b81356110ab81611135565b60006020828403121561117f57600080fd5b5035919050565b600080600080600060a0868803121561119e57600080fd5b85516111a981611135565b8095505060208601519350604086015192506060860151915060808601516111d081611135565b809150509295509295909350565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60006020828403121561121f57600080fd5b815167ffffffffffffffff8082111561123757600080fd5b818401915084601f83011261124b57600080fd5b81518181111561125d5761125d6111de565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156112a3576112a36111de565b816040528281528760208487010111156112bc57600080fd5b6112cd8360208301602088016110b4565b979650505050505050565b600083516112ea8184602088016110b4565b7f202a20000000000000000000000000000000000000000000000000000000000090830190815283516113248160038401602088016110b4565b01600301949350505050565b60006020828403121561134257600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000821982111561138b5761138b611349565b500190565b600181815b808511156113e957817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048211156113cf576113cf611349565b808516156113dc57918102915b93841c9390800290611395565b509250929050565b600082611400575060016110ae565b8161140d575060006110ae565b8160018114611423576002811461142d57611449565b60019150506110ae565b60ff84111561143e5761143e611349565b50506001821b6110ae565b5060208310610133831016604e8410600b841016171561146c575081810a6110ae565b6114768383611390565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048211156114a8576114a8611349565b029392505050565b6000610aec60ff8416836113f1565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60008413600084138583048511828216161561150057611500611349565b7f8000000000000000000000000000000000000000000000000000000000000000600087128682058812818416161561153b5761153b611349565b6000871292508782058712848416161561155757611557611349565b8785058712818416161561156d5761156d611349565b505050929093029392505050565b6000826115b1577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83147f80000000000000000000000000000000000000000000000000000000000000008314161561160557611605611349565b500590565b60008282101561161c5761161c611349565b500390565b6000610aec83836113f156fea26469706673582212209fb89eae542da540533806733b804a7e480f570da4bd884086ddaf1dbaacc26d64736f6c634300080a0033

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

00000000000000000000000066608681545aaa50d9ebdbd9542feea4e49b85da000000000000000000000000e20751c7b5867bcbef815ffc1b284c3f412a9e130000000000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _ratioAggregator (address): 0x66608681545aaa50D9ebdBd9542fEeA4e49B85da
Arg [1] : _baseAggregator (address): 0xE20751C7B5867bCBef815ffc1b284c3f412a9e13
Arg [2] : _maxDelay (uint256): 0

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 00000000000000000000000066608681545aaa50d9ebdbd9542feea4e49b85da
Arg [1] : 000000000000000000000000e20751c7b5867bcbef815ffc1b284c3f412a9e13
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000000


Block Transaction Gas Used Reward
view all blocks produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits

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.