Forkchoice Ethereum Mainnet

Address Contract Partially Verified

Address 0x414CFAFa12FeE1260114BCd22058D5293da27c94
Balance 0 ETH
Nonce 1
Code Size 1092 bytes
Indexed Transactions 0
External Etherscan · Sourcify

Contract Bytecode

1092 bytes
0x6080806040526004361015610012575f80fd5b5f3560e01c90816306fdde03146102ea575080630d623e10146102cf578063313ce567146102b4578063572aae8414610130578063d7a5ed9514610102578063de81c302146100d4578063e109bc39146100a65763eaed5d6f14610074575f80fd5b346100a2575f3660031901126100a257602060405173f939e0a03fb07f59a73314e73794be0e57ac1b4e8152f35b5f80fd5b346100a2575f3660031901126100a2576020604051734dece678ceceb27446b35c672dc7d61f30bad69e8152f35b346100a2575f3660031901126100a257602060405173cacd6fd266af91b8aed52accc382b4e165586e298152f35b346100a2575f3660031901126100a257602060405173b9e1e3a9feff48998e45fa90847ed4d467e8bcfd8152f35b346100a25760203660031901126100a2576004356001600160a01b038116908190036100a2575f9073f939e0a03fb07f59a73314e73794be0e57ac1b4e81036101f75750506040516386fc88d360e01b8152602081600481734dece678ceceb27446b35c672dc7d61f30bad69e5afa80156101ec575f906101b9575b602091505b604051908152f35b506020813d6020116101e4575b816101d360209383610401565b810103126100a257602090516101ac565b3d91506101c6565b6040513d5f823e3d90fd5b73cacd6fd266af91b8aed52accc382b4e165586e291461021a575b6020906101b1565b506040516350d25bcd60e01b815260208160048173b9e1e3a9feff48998e45fa90847ed4d467e8bcfd5afa9081156101ec575f91610282575b506402540be4008102908082046402540be4001490151761021257634e487b7160e01b5f52601160045260245ffd5b90506020813d6020116102ac575b8161029d60209383610401565b810103126100a2575181610253565b3d9150610290565b346100a2575f3660031901126100a257602060405160128152f35b346100a2575f3660031901126100a257602060405160028152f35b346100a2575f3660031901126100a2575f905f54918260011c600184169384156103f7575b6020821085146103e35781845260208401949081156103c8575060011461036c575b5090610341816040930382610401565b8151928391602083525180918160208501528484015e5f828201840152601f01601f19168101030190f35b5f8080527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563939250905b8082106103ae57509091508101602001610341610331565b919260018160209254838588010152019101909291610396565b60ff1916855250151560051b82016020019050610341610331565b634e487b7160e01b5f52602260045260245ffd5b90607f169061030f565b90601f8019910116810190811067ffffffffffffffff82111761042357604052565b634e487b7160e01b5f52604160045260245ffdfea164736f6c634300081c000a

Verified Source Code Partial Match

Compiler: v0.8.28+commit.7893614a EVM: cancun Optimization: Yes (200 runs)
UnderlyingOracle.sol 40 lines
// SPDX-License-Identifier: MIT
pragma solidity 0.8.28;

import { ICurveOracle } from "../interfaces/ICurveOracle.sol";
import { IChainlinkOracle } from "../interfaces/IChainlinkOracle.sol";


contract UnderlyingOracle {
   
    address public constant crvusd = address(0xf939E0A03FB07F59A73314E73794Be0E57ac1b4E);
    address public constant crvusd_oracle = address(0x4DEcE678ceceb27446b35C672dC7d61F30bAD69E);
    address public constant frxusd = address(0xCAcd6fd266aF91b8AeD52aCCc382b4e165586E29);
    //note this oracle is chain link for original FRAX which should coincide with frxUSD price
    //could be updated later on as more FRAX is moved to frxUSD
    address public constant frxusd_oracle = address(0xB9E1E3A9feFf48998E45Fa90847ed4D467E8BcfD);

    string public name;
    uint256 public constant oracleType = 2;
    uint8 internal constant DECIMALS = 18;

    constructor(
        string memory _name
    ) {
        name = _name;
    }

    /// @notice The ```getPrices``` function return shares to assets of given vault
    /// @return _price is share to asset ratio
    function getPrices(address _token) external view returns (uint256 _price) {
        if(_token == crvusd){
            _price = ICurveOracle(crvusd_oracle).price_oracle();
        }else if(_token == frxusd){
            _price = uint256(IChainlinkOracle(frxusd_oracle).latestAnswer()) * 1e10;
        }
    }

    function decimals() external pure returns (uint8) {
        return DECIMALS;
    }
}
ICurveOracle.sol 9 lines
// SPDX-License-Identifier: MIT
pragma solidity 0.8.28;

interface ICurveOracle {

    function price() external view returns(uint256);
    function price_w() external returns(uint256);
    function price_oracle() external view returns(uint256);
}
IChainlinkOracle.sol 23 lines
// SPDX-License-Identifier: MIT
pragma solidity 0.8.28;

interface IChainlinkOracle {

    function latestAnswer() external view returns (int256 answer);
    function latestRound() external view returns (int256 answer);
    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
    );

}

Read Contract

crvusd 0xeaed5d6f → address
crvusd_oracle 0xe109bc39 → address
decimals 0x313ce567 → uint8
frxusd 0xde81c302 → address
frxusd_oracle 0xd7a5ed95 → address
getPrices 0x572aae84 → uint256
name 0x06fdde03 → string
oracleType 0x0d623e10 → uint256

Recent Transactions

No transactions found for this address