ETH Price: $2,895.36 (-1.37%)

Contract

0x718A13230B18d6b7d17bAf987eA499A758355557

Overview

ETH Balance

Linea Mainnet LogoLinea Mainnet LogoLinea Mainnet Logo0 ETH

ETH Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Block
From
To
Update Price23908692024-02-20 9:29:27705 days ago1708421367IN
0x718A1323...758355557
0 ETH0.000141231.27412051
Update Executor ...23908682024-02-20 9:29:23705 days ago1708421363IN
0x718A1323...758355557
0 ETH0.000072041.27412051

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
283234092026-01-26 6:03:321 hr ago1769407412
0x718A1323...758355557
0 ETH
283234092026-01-26 6:03:321 hr ago1769407412
0x718A1323...758355557
0 ETH
283234092026-01-26 6:03:321 hr ago1769407412
0x718A1323...758355557
0 ETH
283233902026-01-26 6:02:521 hr ago1769407372
0x718A1323...758355557
0 ETH
283233902026-01-26 6:02:521 hr ago1769407372
0x718A1323...758355557
0 ETH
283233902026-01-26 6:02:521 hr ago1769407372
0x718A1323...758355557
0 ETH
283233732026-01-26 6:02:141 hr ago1769407334
0x718A1323...758355557
0 ETH
283233732026-01-26 6:02:141 hr ago1769407334
0x718A1323...758355557
0 ETH
283233732026-01-26 6:02:141 hr ago1769407334
0x718A1323...758355557
0 ETH
283233732026-01-26 6:02:141 hr ago1769407334
0x718A1323...758355557
0 ETH
283233732026-01-26 6:02:141 hr ago1769407334
0x718A1323...758355557
0 ETH
283233732026-01-26 6:02:141 hr ago1769407334
0x718A1323...758355557
0 ETH
283233542026-01-26 6:01:361 hr ago1769407296
0x718A1323...758355557
0 ETH
283233542026-01-26 6:01:361 hr ago1769407296
0x718A1323...758355557
0 ETH
283233542026-01-26 6:01:361 hr ago1769407296
0x718A1323...758355557
0 ETH
283233532026-01-26 6:01:341 hr ago1769407294
0x718A1323...758355557
0 ETH
283233532026-01-26 6:01:341 hr ago1769407294
0x718A1323...758355557
0 ETH
283233532026-01-26 6:01:341 hr ago1769407294
0x718A1323...758355557
0 ETH
283233352026-01-26 6:00:561 hr ago1769407256
0x718A1323...758355557
0 ETH
283233352026-01-26 6:00:561 hr ago1769407256
0x718A1323...758355557
0 ETH
283233352026-01-26 6:00:561 hr ago1769407256
0x718A1323...758355557
0 ETH
283233352026-01-26 6:00:561 hr ago1769407256
0x718A1323...758355557
0 ETH
283233352026-01-26 6:00:561 hr ago1769407256
0x718A1323...758355557
0 ETH
283233352026-01-26 6:00:561 hr ago1769407256
0x718A1323...758355557
0 ETH
283233172026-01-26 6:00:181 hr ago1769407218
0x718A1323...758355557
0 ETH
View All Internal Transactions
Cross-Chain Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
IndexPriceFeed

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import "../interfaces/IIndexPriceFeed.sol";

import "../interfaces/IAddressesProvider.sol";
import "../interfaces/IRoleManager.sol";

contract IndexPriceFeed is IIndexPriceFeed {
    IAddressesProvider public immutable ADDRESS_PROVIDER;
    uint256 public immutable PRICE_DECIMALS = 30;
    mapping(address => uint256) public assetPrices;

    address public executor;

    constructor(
        IAddressesProvider addressProvider,
        address[] memory assets,
        uint256[] memory prices,
        address _executor
    ) {
        ADDRESS_PROVIDER = addressProvider;
        _setAssetPrices(assets, prices);
        executor = _executor;
    }

    modifier onlyExecutorOrPoolAdmin() {
        require(executor == msg.sender || IRoleManager(ADDRESS_PROVIDER.roleManager()).isPoolAdmin(msg.sender), "oep");
        _;
    }

    modifier onlyPoolAdmin() {
        require(
            IRoleManager(ADDRESS_PROVIDER.roleManager()).isPoolAdmin(msg.sender),
            "onlyPoolAdmin"
        );
        _;
    }

    function updateExecutorAddress(address _executor) external onlyPoolAdmin {
        address oldAddress = executor;
        executor = _executor;
        emit UpdateExecutorAddress(msg.sender, oldAddress, _executor);
    }

    function decimals() public pure override returns (uint256) {
        return PRICE_DECIMALS;
    }

    function updatePrice(
        address[] calldata tokens,
        uint256[] memory prices
    ) external override onlyExecutorOrPoolAdmin {
        _setAssetPrices(tokens, prices);
    }

    function getPrice(address token) external view override returns (uint256) {
        return assetPrices[token];
    }

    function getPriceSafely(address token) external view override returns (uint256) {
        return assetPrices[token];
    }

    function _setAssetPrices(address[] memory assets, uint256[] memory prices) private {
        require(assets.length == prices.length, "inconsistent params length");
        for (uint256 i = 0; i < assets.length; i++) {
            assetPrices[assets[i]] = prices[i];
            emit PriceUpdate(assets[i], prices[i], msg.sender);
        }
    }
}

// SPDX-License-Identifier: AGPL-3.0
pragma solidity ^0.8.0;

interface IAddressesProvider {
    event AddressSet(bytes32 indexed id, address indexed oldAddress, address indexed newAddress);

    function WETH() external view returns (address);

    function timelock() external view returns (address);

    function priceOracle() external view returns (address);

    function indexPriceOracle() external view returns (address);

    function fundingRate() external view returns (address);

    function executionLogic() external view returns (address);

    function liquidationLogic() external view returns (address);

    function roleManager() external view returns (address);

    function backtracker() external view returns (address);
}

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

import "./IPriceFeed.sol";

interface IIndexPriceFeed is IPriceFeed {

    event UpdateExecutorAddress(address sender, address oldAddress, address newAddress);

    event PriceUpdate(address asset, uint256 price, address sender);

    function updatePrice(address[] calldata tokens, uint256[] memory prices) external;
}

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

interface IPriceFeed {

    event PriceAgeUpdated(uint256 oldAge, uint256 newAge);

    function getPrice(address token) external view returns (uint256);

    function getPriceSafely(address token) external view returns (uint256);

    function decimals() external pure returns (uint256);

}

// SPDX-License-Identifier: AGPL-3.0
pragma solidity ^0.8.0;

interface IRoleManager {
    function setRoleAdmin(bytes32 role, bytes32 adminRole) external;

    function isAdmin(address) external view returns (bool);

    function isPoolAdmin(address poolAdmin) external view returns (bool);

    function isOperator(address operator) external view returns (bool);

    function isTreasurer(address treasurer) external view returns (bool);

    function isKeeper(address) external view returns (bool);

    function isBlackList(address account) external view returns (bool);
}

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

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"contract IAddressesProvider","name":"addressProvider","type":"address"},{"internalType":"address[]","name":"assets","type":"address[]"},{"internalType":"uint256[]","name":"prices","type":"uint256[]"},{"internalType":"address","name":"_executor","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldAge","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newAge","type":"uint256"}],"name":"PriceAgeUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"asset","type":"address"},{"indexed":false,"internalType":"uint256","name":"price","type":"uint256"},{"indexed":false,"internalType":"address","name":"sender","type":"address"}],"name":"PriceUpdate","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"address","name":"oldAddress","type":"address"},{"indexed":false,"internalType":"address","name":"newAddress","type":"address"}],"name":"UpdateExecutorAddress","type":"event"},{"inputs":[],"name":"ADDRESS_PROVIDER","outputs":[{"internalType":"contract IAddressesProvider","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PRICE_DECIMALS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"assetPrices","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"executor","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"getPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"getPriceSafely","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_executor","type":"address"}],"name":"updateExecutorAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"tokens","type":"address[]"},{"internalType":"uint256[]","name":"prices","type":"uint256[]"}],"name":"updatePrice","outputs":[],"stateMutability":"nonpayable","type":"function"}]

604060c0815234620002685762000a5b803803806200001e8162000288565b928339810190608081830312620002685780516001600160a01b0393909290848416840362000268576020838101516001600160401b0390818111620002685785019084601f830112156200026857815191620000856200007f84620002c4565b62000288565b92848085838152019160051b83010191878311620002685785809101915b8383106200026d575050505083860151908111620002685785019380601f8601121562000268578451620000db6200007f82620002c4565b95848088848152019260051b820101928311620002685784809101915b838310620002575750505050620001136060809601620002dc565b95601e60a0526080528051845103620002145760005b8151811015620001d1576200013f8186620002f1565b51886200014d8385620002f1565b51166000526000845284600020557fc37a77b91cc3fc2d0e4b43fd2f347ec67adda10e39215de4742836cc3e42c97a86896200018a8486620002f1565b5116620001988489620002f1565b518751918252868201523387820152a16000198114620001bb5760010162000129565b634e487b7160e01b600052601160045260246000fd5b600180546001600160a01b031916888a16179055835161073e90816200031d82396080518181816102f20152818161044f0152610598015260a051816105df0152f35b50606491519062461bcd60e51b82526004820152601a60248201527f696e636f6e73697374656e7420706172616d73206c656e6774680000000000006044820152fd5b8251815291810191859101620000f8565b600080fd5b81906200027a84620002dc565b8152019101908590620000a3565b6040519190601f01601f191682016001600160401b03811183821017620002ae57604052565b634e487b7160e01b600052604160045260246000fd5b6001600160401b038111620002ae5760051b60200190565b51906001600160a01b03821682036200026857565b8051821015620003065760209160051b010190565b634e487b7160e01b600052603260045260246000fdfe608060408181526004908136101561001657600080fd5b600091823560e01c9384631848effa1461058457508363313ce5671461008a57836332343cec1461041657836341976e09146104115783634bb34153146104115783635e9a523c146103db57836368ae0944146100ba57508263c34c08e51461008f57505063f1a640f81461008a57600080fd5b6105c7565b346100b657816003193601126100b65760015490516001600160a01b039091168152602090f35b5080fd5b9250346100b657806003193601126100b65782359067ffffffffffffffff938483116103d757366023840112156103d75782810135948086116103d357602492838760051b8601013681116103cf5784359283116103cf57366023840112156103cf57828401359061012b8261068f565b9361013884519586610657565b828552602092878487019160051b830101913683116103cb5788859101915b8383106103bb575050505060018060a01b039060019782895416331480156102e0575b156102b8576101888b61068f565b9a61019586519c8d610657565b8b528701838b015b82821061029c57505050885184510361025a57869888995b6101bd578880f35b80518a1015610256576101d08a866106de565b51826101dc8c846106de565b51168a52898452848a20557fc37a77b91cc3fc2d0e4b43fd2f347ec67adda10e39215de4742836cc3e42c97a6060836102158d856106de565b51166102218d896106de565b518751918252868201523387820152a16000198a146102445798870198876101b5565b634e487b7160e01b8952601186528689fd5b8880f35b825162461bcd60e51b8152808601839052601a818801527f696e636f6e73697374656e7420706172616d73206c656e6774680000000000006044820152606490fd5b813584811681036102b457815290840190840161019d565b8b80fd5b845162461bcd60e51b81528088018590526003818a01526206f65760ec1b6044820152606490fd5b50845162435da560e01b8152848189817f000000000000000000000000000000000000000000000000000000000000000088165afa90811561038457849186918d9161038e575b508751637be53ca160e01b8152338b8201529283918c918391165afa908115610384578b91610357575b5061017a565b6103779150853d871161037d575b61036f8183610657565b8101906106c6565b38610351565b503d610365565b86513d8d823e3d90fd5b6103ae9150823d84116103b4575b6103a68183610657565b8101906106a7565b38610327565b503d61039c565b8235815291810191859101610157565b8a80fd5b8680fd5b8480fd5b8380fd5b50346100b65760203660031901126100b65760209181906001600160a01b03610402610607565b16815280845220549051908152f35b61061d565b3461058057602091826003193601126103d757610431610607565b815162435da560e01b815290936001600160a01b03939091828183817f000000000000000000000000000000000000000000000000000000000000000089165afa90811561055957859184918991610563575b506024865180948193637be53ca160e01b83523388840152165afa90811561055957879161053c575b501561050b5750917f49aef47427a17b78024aa06f13d2c150bd483250f907caf46db8d81ef2331734939160609382600154941692836bffffffffffffffffffffffff60a01b8616176001558251943386521690840152820152a180f35b915162461bcd60e51b815291820152600d60248201526c37b7363ca837b7b620b236b4b760991b6044820152606490fd5b6105539150833d851161037d5761036f8183610657565b876104ad565b84513d89823e3d90fd5b61057a9150823d84116103b4576103a68183610657565b89610484565b8280fd5b8390346100b657816003193601126100b6577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346106025760003660031901126106025760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b600080fd5b600435906001600160a01b038216820361060257565b34610602576020366003190112610602576001600160a01b0361063e610607565b1660005260006020526020604060002054604051908152f35b90601f8019910116810190811067ffffffffffffffff82111761067957604052565b634e487b7160e01b600052604160045260246000fd5b67ffffffffffffffff81116106795760051b60200190565b9081602091031261060257516001600160a01b03811681036106025790565b90816020910312610602575180151581036106025790565b80518210156106f25760209160051b010190565b634e487b7160e01b600052603260045260246000fdfea26469706673582212202ae72775afa5d70a6f9f93495ddf8cf82f4c9f4d08afd6aba99fa3144ad4c03c64736f6c6343000813003300000000000000000000000034df93f37f327757684ae502b47c787c38465037000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060408181526004908136101561001657600080fd5b600091823560e01c9384631848effa1461058457508363313ce5671461008a57836332343cec1461041657836341976e09146104115783634bb34153146104115783635e9a523c146103db57836368ae0944146100ba57508263c34c08e51461008f57505063f1a640f81461008a57600080fd5b6105c7565b346100b657816003193601126100b65760015490516001600160a01b039091168152602090f35b5080fd5b9250346100b657806003193601126100b65782359067ffffffffffffffff938483116103d757366023840112156103d75782810135948086116103d357602492838760051b8601013681116103cf5784359283116103cf57366023840112156103cf57828401359061012b8261068f565b9361013884519586610657565b828552602092878487019160051b830101913683116103cb5788859101915b8383106103bb575050505060018060a01b039060019782895416331480156102e0575b156102b8576101888b61068f565b9a61019586519c8d610657565b8b528701838b015b82821061029c57505050885184510361025a57869888995b6101bd578880f35b80518a1015610256576101d08a866106de565b51826101dc8c846106de565b51168a52898452848a20557fc37a77b91cc3fc2d0e4b43fd2f347ec67adda10e39215de4742836cc3e42c97a6060836102158d856106de565b51166102218d896106de565b518751918252868201523387820152a16000198a146102445798870198876101b5565b634e487b7160e01b8952601186528689fd5b8880f35b825162461bcd60e51b8152808601839052601a818801527f696e636f6e73697374656e7420706172616d73206c656e6774680000000000006044820152606490fd5b813584811681036102b457815290840190840161019d565b8b80fd5b845162461bcd60e51b81528088018590526003818a01526206f65760ec1b6044820152606490fd5b50845162435da560e01b8152848189817f00000000000000000000000034df93f37f327757684ae502b47c787c3846503788165afa90811561038457849186918d9161038e575b508751637be53ca160e01b8152338b8201529283918c918391165afa908115610384578b91610357575b5061017a565b6103779150853d871161037d575b61036f8183610657565b8101906106c6565b38610351565b503d610365565b86513d8d823e3d90fd5b6103ae9150823d84116103b4575b6103a68183610657565b8101906106a7565b38610327565b503d61039c565b8235815291810191859101610157565b8a80fd5b8680fd5b8480fd5b8380fd5b50346100b65760203660031901126100b65760209181906001600160a01b03610402610607565b16815280845220549051908152f35b61061d565b3461058057602091826003193601126103d757610431610607565b815162435da560e01b815290936001600160a01b03939091828183817f00000000000000000000000034df93f37f327757684ae502b47c787c3846503789165afa90811561055957859184918991610563575b506024865180948193637be53ca160e01b83523388840152165afa90811561055957879161053c575b501561050b5750917f49aef47427a17b78024aa06f13d2c150bd483250f907caf46db8d81ef2331734939160609382600154941692836bffffffffffffffffffffffff60a01b8616176001558251943386521690840152820152a180f35b915162461bcd60e51b815291820152600d60248201526c37b7363ca837b7b620b236b4b760991b6044820152606490fd5b6105539150833d851161037d5761036f8183610657565b876104ad565b84513d89823e3d90fd5b61057a9150823d84116103b4576103a68183610657565b89610484565b8280fd5b8390346100b657816003193601126100b6577f00000000000000000000000034df93f37f327757684ae502b47c787c384650376001600160a01b03168152602090f35b346106025760003660031901126106025760206040517f000000000000000000000000000000000000000000000000000000000000001e8152f35b600080fd5b600435906001600160a01b038216820361060257565b34610602576020366003190112610602576001600160a01b0361063e610607565b1660005260006020526020604060002054604051908152f35b90601f8019910116810190811067ffffffffffffffff82111761067957604052565b634e487b7160e01b600052604160045260246000fd5b67ffffffffffffffff81116106795760051b60200190565b9081602091031261060257516001600160a01b03811681036106025790565b90816020910312610602575180151581036106025790565b80518210156106f25760209160051b010190565b634e487b7160e01b600052603260045260246000fdfea26469706673582212202ae72775afa5d70a6f9f93495ddf8cf82f4c9f4d08afd6aba99fa3144ad4c03c64736f6c63430008130033

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

00000000000000000000000034df93f37f327757684ae502b47c787c38465037000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : addressProvider (address): 0x34df93f37F327757684Ae502b47C787C38465037
Arg [1] : assets (address[]):
Arg [2] : prices (uint256[]):
Arg [3] : _executor (address): 0x0000000000000000000000000000000000000000

-----Encoded View---------------
6 Constructor Arguments found :
Arg [0] : 00000000000000000000000034df93f37f327757684ae502b47c787c38465037
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [2] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000000


Block Transaction Gas Used Reward
view all blocks sequenced

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
Loading...
Loading
[ Download: CSV Export  ]
[ 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.