Source Code
Overview
MON Balance
MON Value
$0.00| Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
Advanced mode: Intended for advanced users or developers and will display all Internal Transactions including zero value transfers.
Latest 25 internal transactions (View All)
Advanced mode:
| Parent Transaction Hash | Block | From | To | ||||
|---|---|---|---|---|---|---|---|
| 50869659 | 5 mins ago | 0 MON | |||||
| 50869659 | 5 mins ago | 0 MON | |||||
| 50869659 | 5 mins ago | 0 MON | |||||
| 50869659 | 5 mins ago | 0 MON | |||||
| 50868695 | 12 mins ago | 0 MON | |||||
| 50868695 | 12 mins ago | 0 MON | |||||
| 50868695 | 12 mins ago | 0 MON | |||||
| 50868695 | 12 mins ago | 0 MON | |||||
| 50867788 | 18 mins ago | 0 MON | |||||
| 50867788 | 18 mins ago | 0 MON | |||||
| 50867788 | 18 mins ago | 0 MON | |||||
| 50867788 | 18 mins ago | 0 MON | |||||
| 50865727 | 32 mins ago | 0 MON | |||||
| 50865727 | 32 mins ago | 0 MON | |||||
| 50865727 | 32 mins ago | 0 MON | |||||
| 50865727 | 32 mins ago | 0 MON | |||||
| 50861632 | 1 hr ago | 0 MON | |||||
| 50861632 | 1 hr ago | 0 MON | |||||
| 50861632 | 1 hr ago | 0 MON | |||||
| 50861632 | 1 hr ago | 0 MON | |||||
| 50860933 | 1 hr ago | 0 MON | |||||
| 50860933 | 1 hr ago | 0 MON | |||||
| 50860933 | 1 hr ago | 0 MON | |||||
| 50860933 | 1 hr ago | 0 MON | |||||
| 50860926 | 1 hr ago | 0 MON |
Loading...
Loading
Contract Name:
RedstoneRatioOracleAggregator
Compiler Version
v0.8.10+commit.fc410830
Optimization Enabled:
Yes with 100000 runs
Other Settings:
berlin EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// 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);
}{
"optimizer": {
"enabled": true,
"runs": 100000
},
"evmVersion": "berlin",
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"metadata": {
"useLiteralContent": true
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
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"}]Contract Creation Code
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
Loading...
Loading
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in MON
Multichain Portfolio | 35 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
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.