MON Price: $0.018855 (+2.92%)

Contract

0x3dAa0f6ff02d54a65a5B43639e080A758987Cf5c

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
508696592026-01-24 19:42:255 mins ago1769283745
0x3dAa0f6f...58987Cf5c
0 MON
508696592026-01-24 19:42:255 mins ago1769283745
0x3dAa0f6f...58987Cf5c
0 MON
508696592026-01-24 19:42:255 mins ago1769283745
0x3dAa0f6f...58987Cf5c
0 MON
508696592026-01-24 19:42:255 mins ago1769283745
0x3dAa0f6f...58987Cf5c
0 MON
508686952026-01-24 19:35:5912 mins ago1769283359
0x3dAa0f6f...58987Cf5c
0 MON
508686952026-01-24 19:35:5912 mins ago1769283359
0x3dAa0f6f...58987Cf5c
0 MON
508686952026-01-24 19:35:5912 mins ago1769283359
0x3dAa0f6f...58987Cf5c
0 MON
508686952026-01-24 19:35:5912 mins ago1769283359
0x3dAa0f6f...58987Cf5c
0 MON
508677882026-01-24 19:29:5718 mins ago1769282997
0x3dAa0f6f...58987Cf5c
0 MON
508677882026-01-24 19:29:5718 mins ago1769282997
0x3dAa0f6f...58987Cf5c
0 MON
508677882026-01-24 19:29:5718 mins ago1769282997
0x3dAa0f6f...58987Cf5c
0 MON
508677882026-01-24 19:29:5718 mins ago1769282997
0x3dAa0f6f...58987Cf5c
0 MON
508657272026-01-24 19:16:1332 mins ago1769282173
0x3dAa0f6f...58987Cf5c
0 MON
508657272026-01-24 19:16:1332 mins ago1769282173
0x3dAa0f6f...58987Cf5c
0 MON
508657272026-01-24 19:16:1332 mins ago1769282173
0x3dAa0f6f...58987Cf5c
0 MON
508657272026-01-24 19:16:1332 mins ago1769282173
0x3dAa0f6f...58987Cf5c
0 MON
508616322026-01-24 18:48:581 hr ago1769280538
0x3dAa0f6f...58987Cf5c
0 MON
508616322026-01-24 18:48:581 hr ago1769280538
0x3dAa0f6f...58987Cf5c
0 MON
508616322026-01-24 18:48:581 hr ago1769280538
0x3dAa0f6f...58987Cf5c
0 MON
508616322026-01-24 18:48:581 hr ago1769280538
0x3dAa0f6f...58987Cf5c
0 MON
508609332026-01-24 18:44:181 hr ago1769280258
0x3dAa0f6f...58987Cf5c
0 MON
508609332026-01-24 18:44:181 hr ago1769280258
0x3dAa0f6f...58987Cf5c
0 MON
508609332026-01-24 18:44:181 hr ago1769280258
0x3dAa0f6f...58987Cf5c
0 MON
508609332026-01-24 18:44:181 hr ago1769280258
0x3dAa0f6f...58987Cf5c
0 MON
508609262026-01-24 18:44:151 hr ago1769280255
0x3dAa0f6f...58987Cf5c
0 MON
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
RedstoneRatioOracleAggregator

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 {IRedstoneAggregator, RedstoneAggregatorZeroAddress, PriceTooOld} from "./interfaces/IRedstoneAggregator.sol";

error BaseAggregatorZeroAddress();
error InvalidRatio();
error InvalidBasePrice();

interface IAggregatorWithDecimals is AggregatorInterface {
    function decimals() external view returns (uint8);
}

contract RedstoneRatioOracleAggregator {
    IRedstoneAggregator public immutable ratioAggregator;
    IAggregatorWithDecimals public immutable baseAggregator;
    uint256 public immutable maxDelay;
    uint8 public immutable ratioDecimals;
    uint8 public immutable baseDecimals;

    uint256 private constant TARGET_DECIMALS = 8;

    constructor(address _ratioAggregator, address _baseAggregator, uint256 _maxDelay) {
        if (_ratioAggregator == address(0)) revert RedstoneAggregatorZeroAddress();
        if (_baseAggregator == address(0)) revert BaseAggregatorZeroAddress();

        ratioAggregator = IRedstoneAggregator(_ratioAggregator);
        baseAggregator = IAggregatorWithDecimals(_baseAggregator);
        maxDelay = _maxDelay;
        ratioDecimals = ratioAggregator.decimals();
        baseDecimals = baseAggregator.decimals();
    }

    function latestAnswer() external view returns (int256) {
        (, int256 ratio,, uint256 ratioUpdatedAt,) = ratioAggregator.latestRoundData();
        if (ratio <= 0) revert InvalidRatio();
        _ensureFresh(ratioUpdatedAt);

        (int256 basePrice, uint256 baseTimestamp) = _getBasePrice();
        if (baseTimestamp != 0) {
            _ensureFresh(baseTimestamp);
        }

        return _computePrice(ratio, basePrice);
    }

    function latestTimestamp() external view returns (uint256) {
        (,,, uint256 ratioUpdatedAt,) = ratioAggregator.latestRoundData();
        _ensureFresh(ratioUpdatedAt);
        (, uint256 baseTimestamp) = _getBasePrice();
        if (baseTimestamp != 0) {
            _ensureFresh(baseTimestamp);
            return ratioUpdatedAt < baseTimestamp ? ratioUpdatedAt : baseTimestamp;
        }
        return ratioUpdatedAt;
    }

    function latestRound() external view returns (uint256) {
        (uint80 roundId,,,,) = ratioAggregator.latestRoundData();
        return uint256(roundId);
    }

    function getAnswer(uint256 roundId) external view returns (int256) {
        try ratioAggregator.getRoundData(uint80(roundId)) returns (
            uint80, int256 ratio, uint256, uint256 updatedAt, uint80
        ) {
            if (ratio <= 0) return 0;
            if (!_isFresh(updatedAt)) return 0;

            (int256 basePrice, uint256 baseTimestamp) = _getBasePrice();
            if (baseTimestamp != 0 && !_isFresh(baseTimestamp)) return 0;

            return _computePrice(ratio, basePrice);
        } catch {
            return 0;
        }
    }

    function getTimestamp(uint256 roundId) external view returns (uint256) {
        try ratioAggregator.getRoundData(uint80(roundId)) returns (uint80, int256, uint256, uint256 updatedAt, uint80) {
            if (!_isFresh(updatedAt)) return 0;
            (, uint256 baseTimestamp) = _getBasePrice();
            if (baseTimestamp != 0 && !_isFresh(baseTimestamp)) return 0;
            return (baseTimestamp != 0 && baseTimestamp < updatedAt) ? baseTimestamp : updatedAt;
        } catch {
            return 0;
        }
    }

    function decimals() external pure returns (uint8) {
        return uint8(TARGET_DECIMALS);
    }

    function description() external view returns (string memory) {
        return ratioAggregator.description();
    }

    function version() external pure returns (uint256) {
        return 1;
    }

    function latestRoundData()
        external
        view
        returns (uint80 roundId, int256 answer, uint256 startedAt, uint256 updatedAt, uint80 answeredInRound)
    {
        (roundId, answer, startedAt, updatedAt, answeredInRound) = ratioAggregator.latestRoundData();
        if (answer <= 0) revert InvalidRatio();
        _ensureFresh(updatedAt);

        (int256 basePrice, uint256 baseTimestamp) = _getBasePrice();
        if (baseTimestamp != 0) {
            _ensureFresh(baseTimestamp);
            if (baseTimestamp < updatedAt) {
                updatedAt = baseTimestamp;
            }
        }
        answer = _computePrice(answer, basePrice);
    }

    function getRoundData(uint80 requestedRoundId)
        external
        view
        returns (uint80 roundId, int256 answer, uint256 startedAt, uint256 updatedAt, uint80 answeredInRound)
    {
        (roundId, answer, startedAt, updatedAt, answeredInRound) = ratioAggregator.getRoundData(requestedRoundId);
        if (answer <= 0) revert InvalidRatio();
        _ensureFresh(updatedAt);

        (int256 basePrice, uint256 baseTimestamp) = _getBasePrice();
        if (baseTimestamp != 0) {
            _ensureFresh(baseTimestamp);
            if (baseTimestamp < updatedAt) {
                updatedAt = baseTimestamp;
            }
        }
        answer = _computePrice(answer, basePrice);
    }

    function _ensureFresh(uint256 updatedAt) internal view {
        if (!_isFresh(updatedAt)) revert PriceTooOld(block.timestamp, updatedAt, updatedAt + maxDelay);
    }

    function _isFresh(uint256 updatedAt) internal view returns (bool) {
        if (maxDelay == 0) return true;
        if (updatedAt == 0) return false;
        return updatedAt + maxDelay >= block.timestamp;
    }

    function _computePrice(int256 ratio, int256 basePrice) internal view returns (int256) {
        int256 scaled = (ratio * basePrice) / int256(10 ** ratioDecimals);

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

    function _getBasePrice() internal view returns (int256 price, uint256 timestamp) {
        price = baseAggregator.latestAnswer();
        if (price <= 0) revert InvalidBasePrice();
        try baseAggregator.latestTimestamp() returns (uint256 ts) {
            timestamp = ts;
        } catch {
            timestamp = 0;
        }
    }
}

// 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.10;

error RedstoneAggregatorZeroAddress();
error PriceTooOld(uint256 blockTimestamp, uint256 priceTimestamp, uint256 maxTimestamp);

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

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

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

    function latestRound() external view returns (uint80);

    function decimals() external pure returns (uint8);

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

    function version() external pure returns (uint256);
}

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":"InvalidRatio","type":"error"},{"inputs":[{"internalType":"uint256","name":"blockTimestamp","type":"uint256"},{"internalType":"uint256","name":"priceTimestamp","type":"uint256"},{"internalType":"uint256","name":"maxTimestamp","type":"uint256"}],"name":"PriceTooOld","type":"error"},{"inputs":[],"name":"RedstoneAggregatorZeroAddress","type":"error"},{"inputs":[],"name":"baseAggregator","outputs":[{"internalType":"contract IAggregatorWithDecimals","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 IRedstoneAggregator","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"}]

6101206040523480156200001257600080fd5b5060405162001714380380620017148339810160408190526200003591620001a4565b6001600160a01b0383166200005d5760405163055cfa3560e11b815260040160405180910390fd5b6001600160a01b038216620000855760405163bf1c16e960e01b815260040160405180910390fd5b6001600160a01b03808416608081905290831660a05260c08290526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa158015620000dc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001029190620001e5565b60ff1660e08160ff168152505060a0516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000150573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001769190620001e5565b60ff16610100525062000211915050565b80516001600160a01b03811681146200019f57600080fd5b919050565b600080600060608486031215620001ba57600080fd5b620001c58462000187565b9250620001d56020850162000187565b9150604084015190509250925092565b600060208284031215620001f857600080fd5b815160ff811681146200020a57600080fd5b9392505050565b60805160a05160c05160e05161010051611441620002d36000396000818161014401528181610d8001528181610db301528181610dfb0152610e2c01526000818160ff0152610d4001526000818161029001528181610b4501528181610e7b0152610eb901526000818161026901528181610bb90152610c840152600081816101ad015281816102c1015281816103d001528181610479015281816105320152818161065a01528181610794015281816108f30152610a1401526114416000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80638205bf6a11610097578063b633620c11610066578063b633620c14610251578063b9692bd214610264578063ed49d2f81461028b578063feaf968c146102b257600080fd5b80638205bf6a146101a0578063958ee0e4146101a85780639a6fc8f5146101f4578063b5ab58dc1461023e57600080fd5b806350d25bcd116100d357806350d25bcd1461016657806354fd4d501461017c578063668a0f02146101835780637284e4161461018b57600080fd5b80631518af76146100fa578063313ce5671461013857806333f761781461013f575b600080fd5b6101217f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff90911681526020015b60405180910390f35b6008610121565b6101217f000000000000000000000000000000000000000000000000000000000000000081565b61016e6102ba565b60405190815260200161012f565b600161016e565b61016e6103cb565b610193610475565b60405161012f9190610f16565b61016e61052d565b6101cf7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161012f565b610207610202366004610f7f565b610600565b6040805169ffffffffffffffffffff968716815260208101959095528401929092526060830152909116608082015260a00161012f565b61016e61024c366004610f9c565b610757565b61016e61025f366004610f9c565b6108b6565b6101cf7f000000000000000000000000000000000000000000000000000000000000000081565b61016e7f000000000000000000000000000000000000000000000000000000000000000081565b610207610a0a565b60008060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa15801561032a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061034e9190610fb5565b509350509250506000821361038f576040517f648564d300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61039881610b31565b6000806103a3610bb4565b91509150806000146103b8576103b881610b31565b6103c28483610d38565b94505050505090565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610439573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045d9190610fb5565b505069ffffffffffffffffffff909216949350505050565b60607f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637284e4166040518163ffffffff1660e01b8152600401600060405180830381865afa1580156104e2573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610528919081019061103c565b905090565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa15801561059b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105bf9190610fb5565b5093505050506105ce81610b31565b60006105d8610bb4565b91505080156105f7576105ea81610b31565b8082106105f757806105f9565b815b9250505090565b6040517f9a6fc8f500000000000000000000000000000000000000000000000000000000815269ffffffffffffffffffff82166004820152600090819081908190819073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690639a6fc8f59060240160a060405180830381865afa1580156106a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c59190610fb5565b9398509196509450925090506000841361070b576040517f648564d300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61071482610b31565b60008061071f610bb4565b91509150806000146107405761073481610b31565b83811015610740578093505b61074a8683610d38565b9550505091939590929450565b6040517f9a6fc8f500000000000000000000000000000000000000000000000000000000815269ffffffffffffffffffff821660048201526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690639a6fc8f59060240160a060405180830381865afa92505050801561082a575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261082791810190610fb5565b60015b61083657506000919050565b6000841361084b575060009695505050505050565b61085482610e77565b610865575060009695505050505050565b600080610870610bb4565b915091508060001415801561088b575061088981610e77565b155b1561089f5750600098975050505050505050565b6108a98683610d38565b9998505050505050505050565b6040517f9a6fc8f500000000000000000000000000000000000000000000000000000000815269ffffffffffffffffffff821660048201526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690639a6fc8f59060240160a060405180830381865afa925050508015610989575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261098691810190610fb5565b60015b61099557506000919050565b61099e82610e77565b6109af575060009695505050505050565b60006109b9610bb4565b91505080158015906109d157506109cf81610e77565b155b156109e457506000979650505050505050565b80158015906109f257508281105b6109fc57826109fe565b805b98975050505050505050565b60008060008060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610a7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aa19190610fb5565b93985091965094509250905060008413610ae7576040517f648564d300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610af082610b31565b600080610afb610bb4565b9150915080600014610b1c57610b1081610b31565b83811015610b1c578093505b610b268683610d38565b955050509091929394565b610b3a81610e77565b610bb1574281610b6a7f000000000000000000000000000000000000000000000000000000000000000082611136565b6040517f4253334a00000000000000000000000000000000000000000000000000000000815260048101939093526024830191909152604482015260640160405180910390fd5b50565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166350d25bcd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c46919061114e565b915060008213610c82576040517fb2c4287100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16638205bf6a6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610d27575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610d249181019061114e565b60015b610d32575060009091565b90509091565b600080610d667f0000000000000000000000000000000000000000000000000000000000000000600a611287565b610d70848661129d565b610d7a9190611359565b905060087f000000000000000000000000000000000000000000000000000000000000000060ff161115610df7576000610dd8600860ff7f0000000000000000000000000000000000000000000000000000000000000000166113e8565b9050610de581600a6113ff565b610def9083611359565b915050610e6e565b60087f000000000000000000000000000000000000000000000000000000000000000060ff161015610e6e576000610e5360ff7f00000000000000000000000000000000000000000000000000000000000000001660086113e8565b9050610e6081600a6113ff565b610e6a908361129d565b9150505b90505b92915050565b60007f0000000000000000000000000000000000000000000000000000000000000000610ea657506001919050565b81610eb357506000919050565b42610ede7f000000000000000000000000000000000000000000000000000000000000000084611136565b101592915050565b60005b83811015610f01578181015183820152602001610ee9565b83811115610f10576000848401525b50505050565b6020815260008251806020840152610f35816040850160208701610ee6565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b69ffffffffffffffffffff81168114610bb157600080fd5b600060208284031215610f9157600080fd5b8135610e6e81610f67565b600060208284031215610fae57600080fd5b5035919050565b600080600080600060a08688031215610fcd57600080fd5b8551610fd881610f67565b809550506020860151935060408601519250606086015191506080860151610fff81610f67565b809150509295509295909350565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60006020828403121561104e57600080fd5b815167ffffffffffffffff8082111561106657600080fd5b818401915084601f83011261107a57600080fd5b81518181111561108c5761108c61100d565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156110d2576110d261100d565b816040528281528760208487010111156110eb57600080fd5b6110fc836020830160208801610ee6565b979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000821982111561114957611149611107565b500190565b60006020828403121561116057600080fd5b5051919050565b600181815b808511156111c057817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048211156111a6576111a6611107565b808516156111b357918102915b93841c939080029061116c565b509250929050565b6000826111d757506001610e71565b816111e457506000610e71565b81600181146111fa576002811461120457611220565b6001915050610e71565b60ff84111561121557611215611107565b50506001821b610e71565b5060208310610133831016604e8410600b8410161715611243575081810a610e71565b61124d8383611167565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561127f5761127f611107565b029392505050565b600061129660ff8416836111c8565b9392505050565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6000841360008413858304851182821616156112de576112de611107565b7f8000000000000000000000000000000000000000000000000000000000000000600087128682058812818416161561131957611319611107565b6000871292508782058712848416161561133557611335611107565b8785058712818416161561134b5761134b611107565b505050929093029392505050565b60008261138f577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83147f8000000000000000000000000000000000000000000000000000000000000000831416156113e3576113e3611107565b500590565b6000828210156113fa576113fa611107565b500390565b600061129683836111c856fea264697066735822122091e36c57e4494b0c6ef9a3bac21f2255a5e50eccd63a27a4b01acecb32a8815d64736f6c634300080a00330000000000000000000000008c9f39f0d08ee284a4fe0198524fe7c28630ceab0000000000000000000000001c9582e87ed6e99bc23ec0e6eb52ee9d7c0d6bcd0000000000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100f55760003560e01c80638205bf6a11610097578063b633620c11610066578063b633620c14610251578063b9692bd214610264578063ed49d2f81461028b578063feaf968c146102b257600080fd5b80638205bf6a146101a0578063958ee0e4146101a85780639a6fc8f5146101f4578063b5ab58dc1461023e57600080fd5b806350d25bcd116100d357806350d25bcd1461016657806354fd4d501461017c578063668a0f02146101835780637284e4161461018b57600080fd5b80631518af76146100fa578063313ce5671461013857806333f761781461013f575b600080fd5b6101217f000000000000000000000000000000000000000000000000000000000000000881565b60405160ff90911681526020015b60405180910390f35b6008610121565b6101217f000000000000000000000000000000000000000000000000000000000000000881565b61016e6102ba565b60405190815260200161012f565b600161016e565b61016e6103cb565b610193610475565b60405161012f9190610f16565b61016e61052d565b6101cf7f0000000000000000000000008c9f39f0d08ee284a4fe0198524fe7c28630ceab81565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161012f565b610207610202366004610f7f565b610600565b6040805169ffffffffffffffffffff968716815260208101959095528401929092526060830152909116608082015260a00161012f565b61016e61024c366004610f9c565b610757565b61016e61025f366004610f9c565b6108b6565b6101cf7f0000000000000000000000001c9582e87ed6e99bc23ec0e6eb52ee9d7c0d6bcd81565b61016e7f000000000000000000000000000000000000000000000000000000000000000081565b610207610a0a565b60008060007f0000000000000000000000008c9f39f0d08ee284a4fe0198524fe7c28630ceab73ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa15801561032a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061034e9190610fb5565b509350509250506000821361038f576040517f648564d300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61039881610b31565b6000806103a3610bb4565b91509150806000146103b8576103b881610b31565b6103c28483610d38565b94505050505090565b6000807f0000000000000000000000008c9f39f0d08ee284a4fe0198524fe7c28630ceab73ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610439573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045d9190610fb5565b505069ffffffffffffffffffff909216949350505050565b60607f0000000000000000000000008c9f39f0d08ee284a4fe0198524fe7c28630ceab73ffffffffffffffffffffffffffffffffffffffff16637284e4166040518163ffffffff1660e01b8152600401600060405180830381865afa1580156104e2573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610528919081019061103c565b905090565b6000807f0000000000000000000000008c9f39f0d08ee284a4fe0198524fe7c28630ceab73ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa15801561059b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105bf9190610fb5565b5093505050506105ce81610b31565b60006105d8610bb4565b91505080156105f7576105ea81610b31565b8082106105f757806105f9565b815b9250505090565b6040517f9a6fc8f500000000000000000000000000000000000000000000000000000000815269ffffffffffffffffffff82166004820152600090819081908190819073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000008c9f39f0d08ee284a4fe0198524fe7c28630ceab1690639a6fc8f59060240160a060405180830381865afa1580156106a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c59190610fb5565b9398509196509450925090506000841361070b576040517f648564d300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61071482610b31565b60008061071f610bb4565b91509150806000146107405761073481610b31565b83811015610740578093505b61074a8683610d38565b9550505091939590929450565b6040517f9a6fc8f500000000000000000000000000000000000000000000000000000000815269ffffffffffffffffffff821660048201526000907f0000000000000000000000008c9f39f0d08ee284a4fe0198524fe7c28630ceab73ffffffffffffffffffffffffffffffffffffffff1690639a6fc8f59060240160a060405180830381865afa92505050801561082a575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261082791810190610fb5565b60015b61083657506000919050565b6000841361084b575060009695505050505050565b61085482610e77565b610865575060009695505050505050565b600080610870610bb4565b915091508060001415801561088b575061088981610e77565b155b1561089f5750600098975050505050505050565b6108a98683610d38565b9998505050505050505050565b6040517f9a6fc8f500000000000000000000000000000000000000000000000000000000815269ffffffffffffffffffff821660048201526000907f0000000000000000000000008c9f39f0d08ee284a4fe0198524fe7c28630ceab73ffffffffffffffffffffffffffffffffffffffff1690639a6fc8f59060240160a060405180830381865afa925050508015610989575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261098691810190610fb5565b60015b61099557506000919050565b61099e82610e77565b6109af575060009695505050505050565b60006109b9610bb4565b91505080158015906109d157506109cf81610e77565b155b156109e457506000979650505050505050565b80158015906109f257508281105b6109fc57826109fe565b805b98975050505050505050565b60008060008060007f0000000000000000000000008c9f39f0d08ee284a4fe0198524fe7c28630ceab73ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610a7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aa19190610fb5565b93985091965094509250905060008413610ae7576040517f648564d300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610af082610b31565b600080610afb610bb4565b9150915080600014610b1c57610b1081610b31565b83811015610b1c578093505b610b268683610d38565b955050509091929394565b610b3a81610e77565b610bb1574281610b6a7f000000000000000000000000000000000000000000000000000000000000000082611136565b6040517f4253334a00000000000000000000000000000000000000000000000000000000815260048101939093526024830191909152604482015260640160405180910390fd5b50565b6000807f0000000000000000000000001c9582e87ed6e99bc23ec0e6eb52ee9d7c0d6bcd73ffffffffffffffffffffffffffffffffffffffff166350d25bcd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c46919061114e565b915060008213610c82576040517fb2c4287100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000001c9582e87ed6e99bc23ec0e6eb52ee9d7c0d6bcd73ffffffffffffffffffffffffffffffffffffffff16638205bf6a6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610d27575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610d249181019061114e565b60015b610d32575060009091565b90509091565b600080610d667f0000000000000000000000000000000000000000000000000000000000000008600a611287565b610d70848661129d565b610d7a9190611359565b905060087f000000000000000000000000000000000000000000000000000000000000000860ff161115610df7576000610dd8600860ff7f0000000000000000000000000000000000000000000000000000000000000008166113e8565b9050610de581600a6113ff565b610def9083611359565b915050610e6e565b60087f000000000000000000000000000000000000000000000000000000000000000860ff161015610e6e576000610e5360ff7f00000000000000000000000000000000000000000000000000000000000000081660086113e8565b9050610e6081600a6113ff565b610e6a908361129d565b9150505b90505b92915050565b60007f0000000000000000000000000000000000000000000000000000000000000000610ea657506001919050565b81610eb357506000919050565b42610ede7f000000000000000000000000000000000000000000000000000000000000000084611136565b101592915050565b60005b83811015610f01578181015183820152602001610ee9565b83811115610f10576000848401525b50505050565b6020815260008251806020840152610f35816040850160208701610ee6565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b69ffffffffffffffffffff81168114610bb157600080fd5b600060208284031215610f9157600080fd5b8135610e6e81610f67565b600060208284031215610fae57600080fd5b5035919050565b600080600080600060a08688031215610fcd57600080fd5b8551610fd881610f67565b809550506020860151935060408601519250606086015191506080860151610fff81610f67565b809150509295509295909350565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60006020828403121561104e57600080fd5b815167ffffffffffffffff8082111561106657600080fd5b818401915084601f83011261107a57600080fd5b81518181111561108c5761108c61100d565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156110d2576110d261100d565b816040528281528760208487010111156110eb57600080fd5b6110fc836020830160208801610ee6565b979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000821982111561114957611149611107565b500190565b60006020828403121561116057600080fd5b5051919050565b600181815b808511156111c057817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048211156111a6576111a6611107565b808516156111b357918102915b93841c939080029061116c565b509250929050565b6000826111d757506001610e71565b816111e457506000610e71565b81600181146111fa576002811461120457611220565b6001915050610e71565b60ff84111561121557611215611107565b50506001821b610e71565b5060208310610133831016604e8410600b8410161715611243575081810a610e71565b61124d8383611167565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561127f5761127f611107565b029392505050565b600061129660ff8416836111c8565b9392505050565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6000841360008413858304851182821616156112de576112de611107565b7f8000000000000000000000000000000000000000000000000000000000000000600087128682058812818416161561131957611319611107565b6000871292508782058712848416161561133557611335611107565b8785058712818416161561134b5761134b611107565b505050929093029392505050565b60008261138f577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83147f8000000000000000000000000000000000000000000000000000000000000000831416156113e3576113e3611107565b500590565b6000828210156113fa576113fa611107565b500390565b600061129683836111c856fea264697066735822122091e36c57e4494b0c6ef9a3bac21f2255a5e50eccd63a27a4b01acecb32a8815d64736f6c634300080a0033

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

0000000000000000000000008c9f39f0d08ee284a4fe0198524fe7c28630ceab0000000000000000000000001c9582e87ed6e99bc23ec0e6eb52ee9d7c0d6bcd0000000000000000000000000000000000000000000000000000000000000000

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

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 0000000000000000000000008c9f39f0d08ee284a4fe0198524fe7c28630ceab
Arg [1] : 0000000000000000000000001c9582e87ed6e99bc23ec0e6eb52ee9d7c0d6bcd
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.