ETH Price: $2,632.89 (-1.41%)

Contract

0x37A448a8FA94f422d72be53D32c76c26d808A882
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
0x60806040148736442022-05-30 16:39:29869 days ago1653928769IN
 Create: IDAIPriceResolver
0 ETH0.0236393152.101

Advanced mode:
Parent Transaction Hash Block From To
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
IDAIPriceResolver

Compiler Version
v0.8.6+commit.11564f7e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : idai.sol
//SPDX-License-Identifier: MIT
pragma solidity ^0.8.6;

interface ITokenInterface {
    function getCurrentExchangePrice()
        external
        view
        returns (uint256 exchangePrice_, uint256 newRevenue_);
}

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

    function latestAnswer() external view returns (int256 answer);
}

contract IDAIPriceResolver {
    string public constant name = "iDAI-price-v1.0";
    ITokenInterface public constant iToken =
        ITokenInterface(0x40a9d39aa50871Df092538c5999b107f34409061);
    AggregatorV3Interface public constant chainLinkOracleEth =
        AggregatorV3Interface(0x773616E4d11A78F511299002da57A0a94577F1f4); // DAI/ETH
    AggregatorV3Interface public constant chainLinkOracleUsd =
        AggregatorV3Interface(0xAed0c38402a5d19df6E4c03F4E2DceD6e29c1ee9); // DAI/USD

    function getPriceInEth() public view returns (uint256) {
        (uint256 exchangeRate, ) = iToken.getCurrentExchangePrice();
        int256 tokenPriceInEth = chainLinkOracleEth.latestAnswer();
        uint8 decimals = chainLinkOracleEth.decimals();
        return (exchangeRate * uint256(tokenPriceInEth)) / (10**decimals);
    }

    function getPriceInUsd() public view returns (uint256 priceInUsd) {
        (uint256 exchangeRate, ) = iToken.getCurrentExchangePrice();
        int256 tokenPriceInUsd = chainLinkOracleUsd.latestAnswer();
        uint8 decimals = chainLinkOracleUsd.decimals();
        return (exchangeRate * uint256(tokenPriceInUsd)) / (10**decimals);
    }

    function getExchangeRate() public view returns (uint256 exchangeRate) {
        (exchangeRate, ) = iToken.getCurrentExchangePrice();
    }
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"name":"chainLinkOracleEth","outputs":[{"internalType":"contract AggregatorV3Interface","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"chainLinkOracleUsd","outputs":[{"internalType":"contract AggregatorV3Interface","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getExchangeRate","outputs":[{"internalType":"uint256","name":"exchangeRate","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getPriceInEth","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getPriceInUsd","outputs":[{"internalType":"uint256","name":"priceInUsd","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"iToken","outputs":[{"internalType":"contract ITokenInterface","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"}]

608060405234801561001057600080fd5b5061073f806100206000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c806372d894851161005b57806372d8948514610114578063838a60591461012a578063afcdd95514610132578063e6aa216c1461014d57600080fd5b806306fdde03146100825780633fbb131e146100c6578063408cfe24146100f9575b600080fd5b6100b06040518060400160405280600f81526020016e0694441492d70726963652d76312e3608c1b81525081565b6040516100bd919061056d565b60405180910390f35b6100e173773616e4d11a78f511299002da57a0a94577f1f481565b6040516001600160a01b0390911681526020016100bd565b6100e17340a9d39aa50871df092538c5999b107f3440906181565b61011c610155565b6040519081526020016100bd565b61011c610318565b6100e173aed0c38402a5d19df6e4c03f4e2dced6e29c1ee981565b61011c61047a565b6000807340a9d39aa50871df092538c5999b107f344090616001600160a01b031663cc4a01586040518163ffffffff1660e01b8152600401604080518083038186803b1580156101a457600080fd5b505afa1580156101b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101dc919061051f565b509050600073773616e4d11a78f511299002da57a0a94577f1f46001600160a01b03166350d25bcd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561022e57600080fd5b505afa158015610242573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102669190610506565b9050600073773616e4d11a78f511299002da57a0a94577f1f46001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156102b757600080fd5b505afa1580156102cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102ef9190610543565b90506102fc81600a610627565b61030683856106d4565b61031091906105c2565b935050505090565b6000807340a9d39aa50871df092538c5999b107f344090616001600160a01b031663cc4a01586040518163ffffffff1660e01b8152600401604080518083038186803b15801561036757600080fd5b505afa15801561037b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061039f919061051f565b509050600073aed0c38402a5d19df6e4c03f4e2dced6e29c1ee96001600160a01b03166350d25bcd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156103f157600080fd5b505afa158015610405573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104299190610506565b9050600073aed0c38402a5d19df6e4c03f4e2dced6e29c1ee96001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156102b757600080fd5b60007340a9d39aa50871df092538c5999b107f344090616001600160a01b031663cc4a01586040518163ffffffff1660e01b8152600401604080518083038186803b1580156104c857600080fd5b505afa1580156104dc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610500919061051f565b50919050565b60006020828403121561051857600080fd5b5051919050565b6000806040838503121561053257600080fd5b505080516020909101519092909150565b60006020828403121561055557600080fd5b815160ff8116811461056657600080fd5b9392505050565b600060208083528351808285015260005b8181101561059a5785810183015185820160400152820161057e565b818111156105ac576000604083870101525b50601f01601f1916929092016040019392505050565b6000826105df57634e487b7160e01b600052601260045260246000fd5b500490565b600181815b8085111561061f578160001904821115610605576106056106f3565b8085161561061257918102915b93841c93908002906105e9565b509250929050565b600061056660ff841683600082610640575060016106ce565b8161064d575060006106ce565b8160018114610663576002811461066d57610689565b60019150506106ce565b60ff84111561067e5761067e6106f3565b50506001821b6106ce565b5060208310610133831016604e8410600b84101617156106ac575081810a6106ce565b6106b683836105e4565b80600019048211156106ca576106ca6106f3565b0290505b92915050565b60008160001904831182151516156106ee576106ee6106f3565b500290565b634e487b7160e01b600052601160045260246000fdfea264697066735822122038ae7901e0fd825e474309750e454bf27d105a9bb7bb04749c8203b2754236c964736f6c63430008060033

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061007d5760003560e01c806372d894851161005b57806372d8948514610114578063838a60591461012a578063afcdd95514610132578063e6aa216c1461014d57600080fd5b806306fdde03146100825780633fbb131e146100c6578063408cfe24146100f9575b600080fd5b6100b06040518060400160405280600f81526020016e0694441492d70726963652d76312e3608c1b81525081565b6040516100bd919061056d565b60405180910390f35b6100e173773616e4d11a78f511299002da57a0a94577f1f481565b6040516001600160a01b0390911681526020016100bd565b6100e17340a9d39aa50871df092538c5999b107f3440906181565b61011c610155565b6040519081526020016100bd565b61011c610318565b6100e173aed0c38402a5d19df6e4c03f4e2dced6e29c1ee981565b61011c61047a565b6000807340a9d39aa50871df092538c5999b107f344090616001600160a01b031663cc4a01586040518163ffffffff1660e01b8152600401604080518083038186803b1580156101a457600080fd5b505afa1580156101b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101dc919061051f565b509050600073773616e4d11a78f511299002da57a0a94577f1f46001600160a01b03166350d25bcd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561022e57600080fd5b505afa158015610242573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102669190610506565b9050600073773616e4d11a78f511299002da57a0a94577f1f46001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156102b757600080fd5b505afa1580156102cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102ef9190610543565b90506102fc81600a610627565b61030683856106d4565b61031091906105c2565b935050505090565b6000807340a9d39aa50871df092538c5999b107f344090616001600160a01b031663cc4a01586040518163ffffffff1660e01b8152600401604080518083038186803b15801561036757600080fd5b505afa15801561037b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061039f919061051f565b509050600073aed0c38402a5d19df6e4c03f4e2dced6e29c1ee96001600160a01b03166350d25bcd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156103f157600080fd5b505afa158015610405573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104299190610506565b9050600073aed0c38402a5d19df6e4c03f4e2dced6e29c1ee96001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156102b757600080fd5b60007340a9d39aa50871df092538c5999b107f344090616001600160a01b031663cc4a01586040518163ffffffff1660e01b8152600401604080518083038186803b1580156104c857600080fd5b505afa1580156104dc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610500919061051f565b50919050565b60006020828403121561051857600080fd5b5051919050565b6000806040838503121561053257600080fd5b505080516020909101519092909150565b60006020828403121561055557600080fd5b815160ff8116811461056657600080fd5b9392505050565b600060208083528351808285015260005b8181101561059a5785810183015185820160400152820161057e565b818111156105ac576000604083870101525b50601f01601f1916929092016040019392505050565b6000826105df57634e487b7160e01b600052601260045260246000fd5b500490565b600181815b8085111561061f578160001904821115610605576106056106f3565b8085161561061257918102915b93841c93908002906105e9565b509250929050565b600061056660ff841683600082610640575060016106ce565b8161064d575060006106ce565b8160018114610663576002811461066d57610689565b60019150506106ce565b60ff84111561067e5761067e6106f3565b50506001821b6106ce565b5060208310610133831016604e8410600b84101617156106ac575081810a6106ce565b6106b683836105e4565b80600019048211156106ca576106ca6106f3565b0290505b92915050565b60008160001904831182151516156106ee576106ee6106f3565b500290565b634e487b7160e01b600052601160045260246000fdfea264697066735822122038ae7901e0fd825e474309750e454bf27d105a9bb7bb04749c8203b2754236c964736f6c63430008060033

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]

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.