Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
ChainlinkProxyPriceProvider
Compiler Version
v0.5.14+commit.1f1aaa4
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-02-18 */ // File: openzeppelin-solidity/contracts/ownership/Ownable.sol pragma solidity ^0.5.0; /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be aplied to your functions to restrict their use to * the owner. */ contract Ownable { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor () internal { _owner = msg.sender; emit OwnershipTransferred(address(0), _owner); } /** * @dev Returns the address of the current owner. */ function owner() public view returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(isOwner(), "Ownable: caller is not the owner"); _; } /** * @dev Returns true if the caller is the current owner. */ function isOwner() public view returns (bool) { return msg.sender == _owner; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * > Note: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public onlyOwner { _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). */ function _transferOwnership(address newOwner) internal { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } // File: contracts/interfaces/IPriceOracleGetter.sol pragma solidity ^0.5.0; /** * @title IPriceOracleGetter interface * @notice Interface for the Aave price oracle. **/ interface IPriceOracleGetter { /** * @dev returns the asset price in ETH * @param _asset the address of the asset * @return the ETH price of the asset **/ function getAssetPrice(address _asset) external view returns (uint256); } // File: contracts/interfaces/IChainlinkAggregator.sol pragma solidity ^0.5.0; interface IChainlinkAggregator { 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 timestamp); event NewRound(uint256 indexed roundId, address indexed startedBy); } // File: contracts/libraries/EthAddressLib.sol pragma solidity ^0.5.0; library EthAddressLib { /** * @dev returns the address used within the protocol to identify ETH * @return the address assigned to ETH */ function ethAddress() internal pure returns(address) { return 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE; } } // File: contracts/misc/ChainlinkProxyPriceProvider.sol pragma solidity ^0.5.0; /// @title ChainlinkProxyPriceProvider /// @author Aave /// @notice Proxy smart contract to get the price of an asset from a price source, with Chainlink Aggregator /// smart contracts as primary option /// - If the returned price by a Chainlink aggregator is <= 0, the call is forwarded to a fallbackOracle /// - Owned by the Aave governance system, allowed to add sources for assets, replace them /// and change the fallbackOracle contract ChainlinkProxyPriceProvider is IPriceOracleGetter, Ownable { event AssetSourceUpdated(address indexed asset, address indexed source); event FallbackOracleUpdated(address indexed fallbackOracle); mapping(address => IChainlinkAggregator) private assetsSources; IPriceOracleGetter private fallbackOracle; /// @notice Constructor /// @param _assets The addresses of the assets /// @param _sources The address of the source of each asset /// @param _fallbackOracle The address of the fallback oracle to use if the data of an /// aggregator is not consistent constructor(address[] memory _assets, address[] memory _sources, address _fallbackOracle) public { internalSetFallbackOracle(_fallbackOracle); internalSetAssetsSources(_assets, _sources); } /// @notice External function called by the Aave governance to set or replace sources of assets /// @param _assets The addresses of the assets /// @param _sources The address of the source of each asset function setAssetSources(address[] calldata _assets, address[] calldata _sources) external onlyOwner { internalSetAssetsSources(_assets, _sources); } /// @notice Sets the fallbackOracle /// - Callable only by the Aave governance /// @param _fallbackOracle The address of the fallbackOracle function setFallbackOracle(address _fallbackOracle) external onlyOwner { internalSetFallbackOracle(_fallbackOracle); } /// @notice Internal function to set the sources for each asset /// @param _assets The addresses of the assets /// @param _sources The address of the source of each asset function internalSetAssetsSources(address[] memory _assets, address[] memory _sources) internal { require(_assets.length == _sources.length, "INCONSISTENT_PARAMS_LENGTH"); for (uint256 i = 0; i < _assets.length; i++) { assetsSources[_assets[i]] = IChainlinkAggregator(_sources[i]); emit AssetSourceUpdated(_assets[i], _sources[i]); } } /// @notice Internal function to set the fallbackOracle /// @param _fallbackOracle The address of the fallbackOracle function internalSetFallbackOracle(address _fallbackOracle) internal { fallbackOracle = IPriceOracleGetter(_fallbackOracle); emit FallbackOracleUpdated(_fallbackOracle); } /// @notice Gets an asset price by address /// @param _asset The asset address function getAssetPrice(address _asset) public view returns(uint256) { IChainlinkAggregator source = assetsSources[_asset]; if (_asset == EthAddressLib.ethAddress()) { return 1 ether; } else { // If there is no registered source for the asset, call the fallbackOracle if (address(source) == address(0)) { return IPriceOracleGetter(fallbackOracle).getAssetPrice(_asset); } else { int256 _price = IChainlinkAggregator(source).latestAnswer(); if (_price > 0) { return uint256(_price); } else { return IPriceOracleGetter(fallbackOracle).getAssetPrice(_asset); } } } } /// @notice Gets a list of prices from a list of assets addresses /// @param _assets The list of assets addresses function getAssetsPrices(address[] calldata _assets) external view returns(uint256[] memory) { uint256[] memory prices = new uint256[](_assets.length); for (uint256 i = 0; i < _assets.length; i++) { prices[i] = getAssetPrice(_assets[i]); } return prices; } /// @notice Gets the address of the source for an asset address /// @param _asset The address of the asset /// @return address The address of the source function getSourceOfAsset(address _asset) external view returns(address) { return address(assetsSources[_asset]); } /// @notice Gets the address of the fallback oracle /// @return address The addres of the fallback oracle function getFallbackOracle() external view returns(address) { return address(fallbackOracle); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address[]","name":"_assets","type":"address[]"},{"internalType":"address[]","name":"_sources","type":"address[]"},{"internalType":"address","name":"_fallbackOracle","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"asset","type":"address"},{"indexed":true,"internalType":"address","name":"source","type":"address"}],"name":"AssetSourceUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"fallbackOracle","type":"address"}],"name":"FallbackOracleUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"constant":true,"inputs":[{"internalType":"address","name":"_asset","type":"address"}],"name":"getAssetPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address[]","name":"_assets","type":"address[]"}],"name":"getAssetsPrices","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getFallbackOracle","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_asset","type":"address"}],"name":"getSourceOfAsset","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address[]","name":"_assets","type":"address[]"},{"internalType":"address[]","name":"_sources","type":"address[]"}],"name":"setAssetSources","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_fallbackOracle","type":"address"}],"name":"setFallbackOracle","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b5060405162000dee38038062000dee8339818101604052606081101561003557600080fd5b810190808051604051939291908464010000000082111561005557600080fd5b90830190602082018581111561006a57600080fd5b825186602082028301116401000000008211171561008757600080fd5b82525081516020918201928201910280838360005b838110156100b457818101518382015260200161009c565b50505050905001604052602001805160405193929190846401000000008211156100dd57600080fd5b9083019060208201858111156100f257600080fd5b825186602082028301116401000000008211171561010f57600080fd5b82525081516020918201928201910280838360005b8381101561013c578181015183820152602001610124565b5050505091909101604081905260209290920151600080546001600160a01b03191633178082559195506001600160a01b03919091169350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091508290a36101ad816001600160e01b036101c816565b6101c083836001600160e01b0361021216565b505050610357565b600280546001600160a01b0319166001600160a01b0383169081179091556040517fce7a780d33665b1ea097af5f155e3821b809ecbaa839d3b33aa83ba28168cefb90600090a250565b8051825114610268576040805162461bcd60e51b815260206004820152601a60248201527f494e434f4e53495354454e545f504152414d535f4c454e475448000000000000604482015290519081900360640190fd5b60005b82518110156103525781818151811061028057fe5b60200260200101516001600085848151811061029857fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055508181815181106102f057fe5b60200260200101516001600160a01b031683828151811061030d57fe5b60200260200101516001600160a01b03167f22c5b7b2d8561d39f7f210b6b326a1aa69f15311163082308ac4877db6339dc160405160405180910390a360010161026b565b505050565b610a8780620003676000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c806392bf2be01161006657806392bf2be01461011b5780639d23d9f214610141578063abfd531014610201578063b3596f07146102c3578063f2fde38b146102fb5761009e565b8063170aee73146100a35780636210308c146100cb578063715018a6146100ef5780638da5cb5b146100f75780638f32d59b146100ff575b600080fd5b6100c9600480360360208110156100b957600080fd5b50356001600160a01b0316610321565b005b6100d3610374565b604080516001600160a01b039092168252519081900360200190f35b6100c9610383565b6100d3610414565b610107610423565b604080519115158252519081900360200190f35b6100d36004803603602081101561013157600080fd5b50356001600160a01b0316610434565b6101b16004803603602081101561015757600080fd5b81019060208101813564010000000081111561017257600080fd5b82018360208201111561018457600080fd5b803590602001918460208302840111640100000000831117156101a657600080fd5b509092509050610455565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156101ed5781810151838201526020016101d5565b505050509050019250505060405180910390f35b6100c96004803603604081101561021757600080fd5b81019060208101813564010000000081111561023257600080fd5b82018360208201111561024457600080fd5b8035906020019184602083028401116401000000008311171561026657600080fd5b91939092909160208101903564010000000081111561028457600080fd5b82018360208201111561029657600080fd5b803590602001918460208302840111640100000000831117156102b857600080fd5b5090925090506104de565b6102e9600480360360208110156102d957600080fd5b50356001600160a01b0316610598565b60408051918252519081900360200190f35b6100c96004803603602081101561031157600080fd5b50356001600160a01b0316610775565b610329610423565b610368576040805162461bcd60e51b81526020600482018190526024820152600080516020610a33833981519152604482015290519081900360640190fd5b610371816107c5565b50565b6002546001600160a01b031690565b61038b610423565b6103ca576040805162461bcd60e51b81526020600482018190526024820152600080516020610a33833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b6001600160a01b03808216600090815260016020526040902054165b919050565b60608083839050604051908082528060200260200182016040528015610485578160200160208202803883390190505b50905060005b838110156104d6576104b78585838181106104a257fe5b905060200201356001600160a01b0316610598565b8282815181106104c357fe5b602090810291909101015260010161048b565b509392505050565b6104e6610423565b610525576040805162461bcd60e51b81526020600482018190526024820152600080516020610a33833981519152604482015290519081900360640190fd5b6105928484808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152505060408051602080880282810182019093528782529093508792508691829185019084908082843760009201919091525061080f92505050565b50505050565b6001600160a01b038082166000908152600160205260408120549091166105bd610954565b6001600160a01b0316836001600160a01b031614156105e757670de0b6b3a7640000915050610450565b6001600160a01b038116610677576002546040805163b3596f0760e01b81526001600160a01b0386811660048301529151919092169163b3596f07916024808301926020929190829003018186803b15801561064257600080fd5b505afa158015610656573d6000803e3d6000fd5b505050506040513d602081101561066c57600080fd5b505191506104509050565b6000816001600160a01b03166350d25bcd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156106b257600080fd5b505afa1580156106c6573d6000803e3d6000fd5b505050506040513d60208110156106dc57600080fd5b5051905060008113156106f25791506104509050565b6002546040805163b3596f0760e01b81526001600160a01b0387811660048301529151919092169163b3596f07916024808301926020929190829003018186803b15801561073f57600080fd5b505afa158015610753573d6000803e3d6000fd5b505050506040513d602081101561076957600080fd5b50519250610450915050565b61077d610423565b6107bc576040805162461bcd60e51b81526020600482018190526024820152600080516020610a33833981519152604482015290519081900360640190fd5b6103718161096c565b600280546001600160a01b0319166001600160a01b0383169081179091556040517fce7a780d33665b1ea097af5f155e3821b809ecbaa839d3b33aa83ba28168cefb90600090a250565b8051825114610865576040805162461bcd60e51b815260206004820152601a60248201527f494e434f4e53495354454e545f504152414d535f4c454e475448000000000000604482015290519081900360640190fd5b60005b825181101561094f5781818151811061087d57fe5b60200260200101516001600085848151811061089557fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055508181815181106108ed57fe5b60200260200101516001600160a01b031683828151811061090a57fe5b60200260200101516001600160a01b03167f22c5b7b2d8561d39f7f210b6b326a1aa69f15311163082308ac4877db6339dc160405160405180910390a3600101610868565b505050565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee90565b6001600160a01b0381166109b15760405162461bcd60e51b8152600401808060200182810382526026815260200180610a0d6026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b039290921691909117905556fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a265627a7a72315820cc0c9190753cba20cea8f02e68f8af86d4cf0d4b2f79bfd550849deecdd80e9e64736f6c634300050e003200000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000260000000000000000000000000f67a8b0e3e0ee303422f78b4c5b8da60df80a59c000000000000000000000000000000000000000000000000000000000000000f0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f0000000000000000000000000000000000085d4780b73119b644ae5ecd22b376000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000057ab1ec28d129707052df4df418d58a2d46d5f5100000000000000000000000080fb784b7ed66730e8b1dbd9820afd29931aab030000000000000000000000000d8775f648430679a709e98d2b0cb6250d2887ef0000000000000000000000001985365e9f78359a9b6ad760e32412f4a445e8620000000000000000000000009f8f72aa9304c8b593d555f12ef6589cc3a579a2000000000000000000000000514910771af9ca656af840dff83e8264ecf986ca000000000000000000000000dd974d5c2e2928dea5f71b9825b8b646686bd2000000000000000000000000002260fac5e5542a773aa44fbcfedf7c193bc2c5990000000000000000000000000f5d2fb29fb7d3cfee444a200298f468908cc942000000000000000000000000e41d2489571d322189246dafa5ebde1f4699f498000000000000000000000000c011a73ee8576fb46f5e1c5751ca3b9fe0af2a6f000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000037e8f2125bf532f3e228991e051c8a7253b642c00000000000000000000000073ead35fd6a572ef763b13be65a9db96f7643577000000000000000000000000de54467873c3bcaa76421061036053e371721708000000000000000000000000a874fe207df445ff19e7482c746c4d3fd0cb9ace0000000000000000000000006d626ff97f0e89f6f983de425dc5b24a18de26ea0000000000000000000000001eeaf25f2ecbcaf204ecadc8db7b0db9da8453270000000000000000000000009b4e2579895efa2b4765063310dc4109a7641129000000000000000000000000b8b513d9cf440c1b6f5c7142120d611c94fc220c000000000000000000000000da3d675d50ff6c555973c4f0424964e1f6a4e7d3000000000000000000000000ecfa53a8bda4f0c4dd39c55cc8def3757acfdd07000000000000000000000000d0e785973390ff8e77a83961efdb4f271e6b81520000000000000000000000000133aa47b6197d0ba090bf2cd96626eb71ffd13c000000000000000000000000c89c4ed8f52bb17314022f6c0dcb26210c905c97000000000000000000000000a0f9d94f060836756ffc84db4c78d097ca8c23e8000000000000000000000000e23d1142de4e83c08bb048bcab54d50907390828
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061009e5760003560e01c806392bf2be01161006657806392bf2be01461011b5780639d23d9f214610141578063abfd531014610201578063b3596f07146102c3578063f2fde38b146102fb5761009e565b8063170aee73146100a35780636210308c146100cb578063715018a6146100ef5780638da5cb5b146100f75780638f32d59b146100ff575b600080fd5b6100c9600480360360208110156100b957600080fd5b50356001600160a01b0316610321565b005b6100d3610374565b604080516001600160a01b039092168252519081900360200190f35b6100c9610383565b6100d3610414565b610107610423565b604080519115158252519081900360200190f35b6100d36004803603602081101561013157600080fd5b50356001600160a01b0316610434565b6101b16004803603602081101561015757600080fd5b81019060208101813564010000000081111561017257600080fd5b82018360208201111561018457600080fd5b803590602001918460208302840111640100000000831117156101a657600080fd5b509092509050610455565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156101ed5781810151838201526020016101d5565b505050509050019250505060405180910390f35b6100c96004803603604081101561021757600080fd5b81019060208101813564010000000081111561023257600080fd5b82018360208201111561024457600080fd5b8035906020019184602083028401116401000000008311171561026657600080fd5b91939092909160208101903564010000000081111561028457600080fd5b82018360208201111561029657600080fd5b803590602001918460208302840111640100000000831117156102b857600080fd5b5090925090506104de565b6102e9600480360360208110156102d957600080fd5b50356001600160a01b0316610598565b60408051918252519081900360200190f35b6100c96004803603602081101561031157600080fd5b50356001600160a01b0316610775565b610329610423565b610368576040805162461bcd60e51b81526020600482018190526024820152600080516020610a33833981519152604482015290519081900360640190fd5b610371816107c5565b50565b6002546001600160a01b031690565b61038b610423565b6103ca576040805162461bcd60e51b81526020600482018190526024820152600080516020610a33833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b6001600160a01b03808216600090815260016020526040902054165b919050565b60608083839050604051908082528060200260200182016040528015610485578160200160208202803883390190505b50905060005b838110156104d6576104b78585838181106104a257fe5b905060200201356001600160a01b0316610598565b8282815181106104c357fe5b602090810291909101015260010161048b565b509392505050565b6104e6610423565b610525576040805162461bcd60e51b81526020600482018190526024820152600080516020610a33833981519152604482015290519081900360640190fd5b6105928484808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152505060408051602080880282810182019093528782529093508792508691829185019084908082843760009201919091525061080f92505050565b50505050565b6001600160a01b038082166000908152600160205260408120549091166105bd610954565b6001600160a01b0316836001600160a01b031614156105e757670de0b6b3a7640000915050610450565b6001600160a01b038116610677576002546040805163b3596f0760e01b81526001600160a01b0386811660048301529151919092169163b3596f07916024808301926020929190829003018186803b15801561064257600080fd5b505afa158015610656573d6000803e3d6000fd5b505050506040513d602081101561066c57600080fd5b505191506104509050565b6000816001600160a01b03166350d25bcd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156106b257600080fd5b505afa1580156106c6573d6000803e3d6000fd5b505050506040513d60208110156106dc57600080fd5b5051905060008113156106f25791506104509050565b6002546040805163b3596f0760e01b81526001600160a01b0387811660048301529151919092169163b3596f07916024808301926020929190829003018186803b15801561073f57600080fd5b505afa158015610753573d6000803e3d6000fd5b505050506040513d602081101561076957600080fd5b50519250610450915050565b61077d610423565b6107bc576040805162461bcd60e51b81526020600482018190526024820152600080516020610a33833981519152604482015290519081900360640190fd5b6103718161096c565b600280546001600160a01b0319166001600160a01b0383169081179091556040517fce7a780d33665b1ea097af5f155e3821b809ecbaa839d3b33aa83ba28168cefb90600090a250565b8051825114610865576040805162461bcd60e51b815260206004820152601a60248201527f494e434f4e53495354454e545f504152414d535f4c454e475448000000000000604482015290519081900360640190fd5b60005b825181101561094f5781818151811061087d57fe5b60200260200101516001600085848151811061089557fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055508181815181106108ed57fe5b60200260200101516001600160a01b031683828151811061090a57fe5b60200260200101516001600160a01b03167f22c5b7b2d8561d39f7f210b6b326a1aa69f15311163082308ac4877db6339dc160405160405180910390a3600101610868565b505050565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee90565b6001600160a01b0381166109b15760405162461bcd60e51b8152600401808060200182810382526026815260200180610a0d6026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b039290921691909117905556fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a265627a7a72315820cc0c9190753cba20cea8f02e68f8af86d4cf0d4b2f79bfd550849deecdd80e9e64736f6c634300050e0032
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000260000000000000000000000000f67a8b0e3e0ee303422f78b4c5b8da60df80a59c000000000000000000000000000000000000000000000000000000000000000f0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f0000000000000000000000000000000000085d4780b73119b644ae5ecd22b376000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000057ab1ec28d129707052df4df418d58a2d46d5f5100000000000000000000000080fb784b7ed66730e8b1dbd9820afd29931aab030000000000000000000000000d8775f648430679a709e98d2b0cb6250d2887ef0000000000000000000000001985365e9f78359a9b6ad760e32412f4a445e8620000000000000000000000009f8f72aa9304c8b593d555f12ef6589cc3a579a2000000000000000000000000514910771af9ca656af840dff83e8264ecf986ca000000000000000000000000dd974d5c2e2928dea5f71b9825b8b646686bd2000000000000000000000000002260fac5e5542a773aa44fbcfedf7c193bc2c5990000000000000000000000000f5d2fb29fb7d3cfee444a200298f468908cc942000000000000000000000000e41d2489571d322189246dafa5ebde1f4699f498000000000000000000000000c011a73ee8576fb46f5e1c5751ca3b9fe0af2a6f000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000037e8f2125bf532f3e228991e051c8a7253b642c00000000000000000000000073ead35fd6a572ef763b13be65a9db96f7643577000000000000000000000000de54467873c3bcaa76421061036053e371721708000000000000000000000000a874fe207df445ff19e7482c746c4d3fd0cb9ace0000000000000000000000006d626ff97f0e89f6f983de425dc5b24a18de26ea0000000000000000000000001eeaf25f2ecbcaf204ecadc8db7b0db9da8453270000000000000000000000009b4e2579895efa2b4765063310dc4109a7641129000000000000000000000000b8b513d9cf440c1b6f5c7142120d611c94fc220c000000000000000000000000da3d675d50ff6c555973c4f0424964e1f6a4e7d3000000000000000000000000ecfa53a8bda4f0c4dd39c55cc8def3757acfdd07000000000000000000000000d0e785973390ff8e77a83961efdb4f271e6b81520000000000000000000000000133aa47b6197d0ba090bf2cd96626eb71ffd13c000000000000000000000000c89c4ed8f52bb17314022f6c0dcb26210c905c97000000000000000000000000a0f9d94f060836756ffc84db4c78d097ca8c23e8000000000000000000000000e23d1142de4e83c08bb048bcab54d50907390828
-----Decoded View---------------
Arg [0] : _assets (address[]): 0x6B175474E89094C44Da98b954EedeAC495271d0F,0x0000000000085d4780B73119b644AE5ecd22b376,0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48,0xdAC17F958D2ee523a2206206994597C13D831ec7,0x57Ab1ec28D129707052df4dF418D58a2D46d5f51,0x80fB784B7eD66730e8b1DBd9820aFD29931aab03,0x0D8775F648430679A709E98d2b0Cb6250d2887EF,0x1985365e9f78359a9B6AD760e32412f4a445E862,0x9f8F72aA9304c8B593d555F12eF6589cC3A579A2,0x514910771AF9Ca656af840dff83E8264EcF986CA,0xdd974D5C2e2928deA5F71b9825b8b646686BD200,0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599,0x0F5D2fB29fb7d3CFeE444a200298f468908cC942,0xE41d2489571d322189246DaFA5ebDe1F4699F498,0xC011a73ee8576Fb46F5E1c5751cA3B9Fe0af2a6F
Arg [1] : _sources (address[]): 0x037E8F2125bF532F3e228991e051c8A7253B642c,0x73ead35fd6A572EF763B13Be65a9db96f7643577,0xdE54467873c3BCAA76421061036053e371721708,0xa874fe207DF445ff19E7482C746C4D3fD0CB9AcE,0x6d626Ff97f0E89F6f983dE425dc5B24A18DE26Ea,0x1EeaF25f2ECbcAf204ECADc8Db7B0db9DA845327,0x9b4e2579895efa2b4765063310Dc4109a7641129,0xb8b513d9cf440C1b6f5C7142120d611C94fC220c,0xDa3d675d50fF6C555973C4f0424964e1F6A4e7D3,0xeCfA53A8bdA4F0c4dd39c55CC8deF3757aCFDD07,0xd0e785973390fF8E77a83961efDb4F271E6B8152,0x0133Aa47B6197D0BA090Bf2CD96626Eb71fFd13c,0xc89c4ed8f52Bb17314022f6c0dCB26210C905C97,0xA0F9D94f060836756FFC84Db4C78d097cA8C23E8,0xE23d1142dE4E83C08bb048bcab54d50907390828
Arg [2] : _fallbackOracle (address): 0xF67A8b0E3E0Ee303422f78b4C5b8dA60dF80A59C
-----Encoded View---------------
35 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000260
Arg [2] : 000000000000000000000000f67a8b0e3e0ee303422f78b4c5b8da60df80a59c
Arg [3] : 000000000000000000000000000000000000000000000000000000000000000f
Arg [4] : 0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f
Arg [5] : 0000000000000000000000000000000000085d4780b73119b644ae5ecd22b376
Arg [6] : 000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
Arg [7] : 000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7
Arg [8] : 00000000000000000000000057ab1ec28d129707052df4df418d58a2d46d5f51
Arg [9] : 00000000000000000000000080fb784b7ed66730e8b1dbd9820afd29931aab03
Arg [10] : 0000000000000000000000000d8775f648430679a709e98d2b0cb6250d2887ef
Arg [11] : 0000000000000000000000001985365e9f78359a9b6ad760e32412f4a445e862
Arg [12] : 0000000000000000000000009f8f72aa9304c8b593d555f12ef6589cc3a579a2
Arg [13] : 000000000000000000000000514910771af9ca656af840dff83e8264ecf986ca
Arg [14] : 000000000000000000000000dd974d5c2e2928dea5f71b9825b8b646686bd200
Arg [15] : 0000000000000000000000002260fac5e5542a773aa44fbcfedf7c193bc2c599
Arg [16] : 0000000000000000000000000f5d2fb29fb7d3cfee444a200298f468908cc942
Arg [17] : 000000000000000000000000e41d2489571d322189246dafa5ebde1f4699f498
Arg [18] : 000000000000000000000000c011a73ee8576fb46f5e1c5751ca3b9fe0af2a6f
Arg [19] : 000000000000000000000000000000000000000000000000000000000000000f
Arg [20] : 000000000000000000000000037e8f2125bf532f3e228991e051c8a7253b642c
Arg [21] : 00000000000000000000000073ead35fd6a572ef763b13be65a9db96f7643577
Arg [22] : 000000000000000000000000de54467873c3bcaa76421061036053e371721708
Arg [23] : 000000000000000000000000a874fe207df445ff19e7482c746c4d3fd0cb9ace
Arg [24] : 0000000000000000000000006d626ff97f0e89f6f983de425dc5b24a18de26ea
Arg [25] : 0000000000000000000000001eeaf25f2ecbcaf204ecadc8db7b0db9da845327
Arg [26] : 0000000000000000000000009b4e2579895efa2b4765063310dc4109a7641129
Arg [27] : 000000000000000000000000b8b513d9cf440c1b6f5c7142120d611c94fc220c
Arg [28] : 000000000000000000000000da3d675d50ff6c555973c4f0424964e1f6a4e7d3
Arg [29] : 000000000000000000000000ecfa53a8bda4f0c4dd39c55cc8def3757acfdd07
Arg [30] : 000000000000000000000000d0e785973390ff8e77a83961efdb4f271e6b8152
Arg [31] : 0000000000000000000000000133aa47b6197d0ba090bf2cd96626eb71ffd13c
Arg [32] : 000000000000000000000000c89c4ed8f52bb17314022f6c0dcb26210c905c97
Arg [33] : 000000000000000000000000a0f9d94f060836756ffc84db4c78d097ca8c23e8
Arg [34] : 000000000000000000000000e23d1142de4e83c08bb048bcab54d50907390828
Deployed Bytecode Sourcemap
4439:4312:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4439:4312:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5828:132;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5828:132:0;-1:-1:-1;;;;;5828:132:0;;:::i;:::-;;8639:109;;;:::i;:::-;;;;-1:-1:-1;;;;;8639:109:0;;;;;;;;;;;;;;1718:140;;;:::i;907:79::-;;;:::i;1273:92::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;8386:129;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8386:129:0;-1:-1:-1;;;;;8386:129:0;;:::i;7900:310::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7900:310:0;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;7900:310:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;7900:310:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;-1:-1;7900:310:0;;-1:-1:-1;7900:310:0;-1:-1:-1;7900:310:0;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;7900:310:0;;;;;;;;;;;;;;;;;5502:163;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5502:163:0;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;5502:163:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;5502:163:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;5502:163:0;;;;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;5502:163:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;5502:163:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;-1:-1;5502:163:0;;-1:-1:-1;5502:163:0;-1:-1:-1;5502:163:0;:::i;6973:795::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6973:795:0;-1:-1:-1;;;;;6973:795:0;;:::i;:::-;;;;;;;;;;;;;;;;2013:109;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2013:109:0;-1:-1:-1;;;;;2013:109:0;;:::i;5828:132::-;1119:9;:7;:9::i;:::-;1111:54;;;;;-1:-1:-1;;;1111:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1111:54:0;;;;;;;;;;;;;;;5910:42;5936:15;5910:25;:42::i;:::-;5828:132;:::o;8639:109::-;8725:14;;-1:-1:-1;;;;;8725:14:0;8639:109;:::o;1718:140::-;1119:9;:7;:9::i;:::-;1111:54;;;;;-1:-1:-1;;;1111:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1111:54:0;;;;;;;;;;;;;;;1817:1;1801:6;;1780:40;;-1:-1:-1;;;;;1801:6:0;;;;1780:40;;1817:1;;1780:40;1848:1;1831:19;;-1:-1:-1;;;;;;1831:19:0;;;1718:140::o;907:79::-;945:7;972:6;-1:-1:-1;;;;;972:6:0;907:79;:::o;1273:92::-;1313:4;1351:6;-1:-1:-1;;;;;1351:6:0;1337:10;:20;;1273:92::o;8386:129::-;-1:-1:-1;;;;;8485:21:0;;;8450:7;8485:21;;;:13;:21;;;;;;;8386:129;;;;:::o;7900:310::-;7975:16;8004:23;8044:7;;:14;;8030:29;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;8030:29:0;-1:-1:-1;8004:55:0;-1:-1:-1;8075:9:0;8070:109;8090:18;;;8070:109;;;8142:25;8156:7;;8164:1;8156:10;;;;;;;;;;;;;-1:-1:-1;;;;;8156:10:0;8142:13;:25::i;:::-;8130:6;8137:1;8130:9;;;;;;;;;;;;;;;;;:37;8110:3;;8070:109;;;-1:-1:-1;8196:6:0;7900:310;-1:-1:-1;;;7900:310:0:o;5502:163::-;1119:9;:7;:9::i;:::-;1111:54;;;;;-1:-1:-1;;;1111:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1111:54:0;;;;;;;;;;;;;;;5614:43;5639:7;;5614:43;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;;5614:43:0;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5648:8:0;;-1:-1:-1;5648:8:0;;;;5614:43;;;5648:8;;5614:43;5648:8;5614:43;1:33:-1;99:1;81:16;;74:27;;;;-1:-1;5614:24:0;;-1:-1:-1;;;5614:43:0:i;:::-;5502:163;;;;:::o;6973:795::-;-1:-1:-1;;;;;7082:21:0;;;7032:7;7082:21;;;:13;:21;;;;;;7032:7;;7082:21;7128:26;:24;:26::i;:::-;-1:-1:-1;;;;;7118:36:0;:6;-1:-1:-1;;;;;7118:36:0;;7114:647;;;7178:7;7171:14;;;;;7114:647;-1:-1:-1;;;;;7310:29:0;;7306:444;;7386:14;;7367:56;;;-1:-1:-1;;;7367:56:0;;-1:-1:-1;;;;;7367:56:0;;;;;;;;;7386:14;;;;;7367:48;;:56;;;;;;;;;;;;;;7386:14;7367:56;;;5:2:-1;;;;30:1;27;20:12;5:2;7367:56:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7367:56:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7367:56:0;;-1:-1:-1;7360:63:0;;-1:-1:-1;7360:63:0;7306:444;7464:13;7501:6;-1:-1:-1;;;;;7480:41:0;;:43;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7480:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7480:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7480:43:0;;-1:-1:-1;7555:1:0;7546:10;;7542:193;;;7596:6;-1:-1:-1;7581:22:0;;-1:-1:-1;7581:22:0;7542:193;7678:14;;7659:56;;;-1:-1:-1;;;7659:56:0;;-1:-1:-1;;;;;7659:56:0;;;;;;;;;7678:14;;;;;7659:48;;:56;;;;;;;;;;;;;;7678:14;7659:56;;;5:2:-1;;;;30:1;27;20:12;5:2;7659:56:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7659:56:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7659:56:0;;-1:-1:-1;7652:63:0;;-1:-1:-1;;7652:63:0;2013:109;1119:9;:7;:9::i;:::-;1111:54;;;;;-1:-1:-1;;;1111:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1111:54:0;;;;;;;;;;;;;;;2086:28;2105:8;2086:18;:28::i;6682:194::-;6762:14;:52;;-1:-1:-1;;;;;;6762:52:0;-1:-1:-1;;;;;6762:52:0;;;;;;;;6830:38;;;;-1:-1:-1;;6830:38:0;6682:194;:::o;6154:393::-;6287:8;:15;6269:7;:14;:33;6261:72;;;;;-1:-1:-1;;;6261:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;6349:9;6344:196;6368:7;:14;6364:1;:18;6344:196;;;6453:8;6462:1;6453:11;;;;;;;;;;;;;;6404:13;:25;6418:7;6426:1;6418:10;;;;;;;;;;;;;;-1:-1:-1;;;;;6404:25:0;-1:-1:-1;;;;;6404:25:0;;;;;;;;;;;;;:61;;;;;-1:-1:-1;;;;;6404:61:0;;;;;-1:-1:-1;;;;;6404:61:0;;;;;;6516:8;6525:1;6516:11;;;;;;;;;;;;;;-1:-1:-1;;;;;6485:43:0;6504:7;6512:1;6504:10;;;;;;;;;;;;;;-1:-1:-1;;;;;6485:43:0;;;;;;;;;;;6384:3;;6344:196;;;;6154:393;;:::o;3767:121::-;3838:42;3767:121;:::o;2228:229::-;-1:-1:-1;;;;;2302:22:0;;2294:73;;;;-1:-1:-1;;;2294:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2404:6;;;2383:38;;-1:-1:-1;;;;;2383:38:0;;;;2404:6;;;2383:38;;;2432:6;:17;;-1:-1:-1;;;;;;2432:17:0;-1:-1:-1;;;;;2432:17:0;;;;;;;;;;2228:229::o
Swarm Source
bzzr://cc0c9190753cba20cea8f02e68f8af86d4cf0d4b2f79bfd550849deecdd80e9e
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.