Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Loading...
Loading
Contract Name:
Oracle
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-09-23 */ // SPDX-License-Identifier: GPL-3.0-or-later pragma solidity ^0.6.12; pragma experimental ABIEncoderV2; interface IERC20 { function decimals() external view returns (uint8); } // Part: OpenZeppelin/[email protected]/Context /* * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with GSN meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return msg.sender; } function _msgData() internal view virtual returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () internal { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } contract Oracle is Ownable { address[] private _calculations; address public usdcAddress; mapping(address => address) public tokenAliases; event TokenAliasAdded(address tokenAddress, address tokenAliasAddress); event TokenAliasRemoved(address tokenAddress); struct TokenAlias { address tokenAddress; address tokenAliasAddress; } constructor(address _usdcAddress) public { usdcAddress = _usdcAddress; } function setCalculations(address[] memory calculationAddresses) external onlyOwner { _calculations = calculationAddresses; } function calculations() external view returns (address[] memory) { return (_calculations); } function addTokenAlias(address tokenAddress, address tokenAliasAddress) public onlyOwner { tokenAliases[tokenAddress] = tokenAliasAddress; emit TokenAliasAdded(tokenAddress, tokenAliasAddress); } function addTokenAliases(TokenAlias[] memory _tokenAliases) public onlyOwner { for (uint256 i = 0; i < _tokenAliases.length; i++) { addTokenAlias( _tokenAliases[i].tokenAddress, _tokenAliases[i].tokenAliasAddress ); } } function removeTokenAlias(address tokenAddress) public onlyOwner { delete tokenAliases[tokenAddress]; emit TokenAliasRemoved(tokenAddress); } function getNormalizedValueUsdc( address tokenAddress, uint256 amount, uint256 priceUsdc ) public view returns (uint256) { IERC20 token = IERC20(tokenAddress); uint256 tokenDecimals = token.decimals(); uint256 usdcDecimals = 6; uint256 decimalsAdjustment; if (tokenDecimals >= usdcDecimals) { decimalsAdjustment = tokenDecimals - usdcDecimals; } else { decimalsAdjustment = usdcDecimals - tokenDecimals; } uint256 value; if (decimalsAdjustment > 0) { value = (amount * priceUsdc * (10**decimalsAdjustment)) / 10**(decimalsAdjustment + tokenDecimals); } else { value = (amount * priceUsdc) / 10**usdcDecimals; } return value; } function getNormalizedValueUsdc(address tokenAddress, uint256 amount) external view returns (uint256) { uint256 priceUsdc = getPriceUsdcRecommended(tokenAddress); return getNormalizedValueUsdc(tokenAddress, amount, priceUsdc); } function getPriceUsdcRecommended(address tokenAddress) public view returns (uint256) { address tokenAddressAlias = tokenAliases[tokenAddress]; address tokenToQuery = tokenAddress; if (tokenAddressAlias != address(0)) { tokenToQuery = tokenAddressAlias; } (bool success, bytes memory data) = address(this).staticcall( abi.encodeWithSignature("getPriceUsdc(address)", tokenToQuery) ); if (success) { return abi.decode(data, (uint256)); } return 0; } fallback() external { for (uint256 i = 0; i < _calculations.length; i++) { address calculation = _calculations[i]; assembly { let _target := calculation calldatacopy(0, 0, calldatasize()) let success := staticcall( gas(), _target, 0, calldatasize(), 0, 0 ) returndatacopy(0, 0, returndatasize()) if success { return(0, returndatasize()) } } } revert("Oracle: Fallback proxy failed to return data"); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_usdcAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"tokenAddress","type":"address"},{"indexed":false,"internalType":"address","name":"tokenAliasAddress","type":"address"}],"name":"TokenAliasAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"tokenAddress","type":"address"}],"name":"TokenAliasRemoved","type":"event"},{"stateMutability":"nonpayable","type":"fallback"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"address","name":"tokenAliasAddress","type":"address"}],"name":"addTokenAlias","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"address","name":"tokenAliasAddress","type":"address"}],"internalType":"struct Oracle.TokenAlias[]","name":"_tokenAliases","type":"tuple[]"}],"name":"addTokenAliases","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"calculations","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"getNormalizedValueUsdc","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"priceUsdc","type":"uint256"}],"name":"getNormalizedValueUsdc","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"getPriceUsdcRecommended","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"removeTokenAlias","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"calculationAddresses","type":"address[]"}],"name":"setCalculations","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"tokenAliases","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"usdcAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b50604051610e1b380380610e1b83398101604081905261002f916100ac565b60006100396100a8565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600280546001600160a01b0319166001600160a01b03929092169190911790556100da565b3390565b6000602082840312156100bd578081fd5b81516001600160a01b03811681146100d3578182fd5b9392505050565b610d32806100e96000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063715018a61161008c5780638da5cb5b116100665780638da5cb5b1461020a578063d02d20aa14610212578063f2fde38b14610225578063f3ae307714610238576100cf565b8063715018a6146101dc57806388dea52a146101e45780638a7f6680146101f7576100cf565b806302d454571461014e578063255aacf11461016c5780633d71473b1461018157806341394ced14610196578063482ba306146101a95780636a4cb36c146101c9575b60005b60015481101561012c576000600182815481106100eb57fe5b60009182526020822001546001600160a01b03169150819036908037600080366000845afa90503d6000803e8015610122573d6000f35b50506001016100d2565b5060405162461bcd60e51b815260040161014590610c13565b60405180910390fd5b61015661024b565b6040516101639190610b52565b60405180910390f35b61017f61017a3660046109a5565b61025a565b005b6101896102a6565b6040516101639190610b80565b6101566101a43660046108f2565b610308565b6101bc6101b73660046108f2565b610323565b6040516101639190610c94565b61017f6101d7366004610914565b610416565b61017f6104b8565b61017f6101f2366004610a42565b610537565b6101bc610205366004610948565b6105b8565b6101566105db565b6101bc610220366004610972565b6105ea565b61017f6102333660046108f2565b6106c4565b61017f6102463660046108f2565b61077a565b6002546001600160a01b031681565b610262610810565b6000546001600160a01b0390811691161461028f5760405162461bcd60e51b815260040161014590610c5f565b80516102a2906001906020840190610814565b5050565b606060018054806020026020016040519081016040528092919081815260200182805480156102fe57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116102e0575b5050505050905090565b6003602052600090815260409020546001600160a01b031681565b6001600160a01b0380821660009081526003602052604081205490911682811561034a5750805b60006060306001600160a01b0316836040516024016103699190610b52565b60408051601f198184030181529181526020820180516001600160e01b031663d61a784760e01b1790525161039e9190610b19565b600060405180830381855afa9150503d80600081146103d9576040519150601f19603f3d011682016040523d82523d6000602084013e6103de565b606091505b5091509150811561040857808060200190518101906103fd9190610ae0565b945050505050610411565b60009450505050505b919050565b61041e610810565b6000546001600160a01b0390811691161461044b5760405162461bcd60e51b815260040161014590610c5f565b6001600160a01b038281166000908152600360205260409081902080546001600160a01b03191692841692909217909155517fa98e06f16867476bbb2764587292fb84dbd09b5502001113bc12b8359cb954f1906104ac9084908490610b66565b60405180910390a15050565b6104c0610810565b6000546001600160a01b039081169116146104ed5760405162461bcd60e51b815260040161014590610c5f565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b61053f610810565b6000546001600160a01b0390811691161461056c5760405162461bcd60e51b815260040161014590610c5f565b60005b81518110156102a2576105b082828151811061058757fe5b60200260200101516000015183838151811061059f57fe5b602002602001015160200151610416565b60010161056f565b6000806105c484610323565b90506105d18484836105ea565b9150505b92915050565b6000546001600160a01b031690565b6000808490506000816001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561062b57600080fd5b505afa15801561063f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106639190610af8565b60ff1690506006600081831061067c5750808203610681565b508181035b600081156106a657838201600a0a82600a0a888a02028161069e57fe5b0490506106b8565b82600a0a878902816106b457fe5b0490505b98975050505050505050565b6106cc610810565b6000546001600160a01b039081169116146106f95760405162461bcd60e51b815260040161014590610c5f565b6001600160a01b03811661071f5760405162461bcd60e51b815260040161014590610bcd565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b610782610810565b6000546001600160a01b039081169116146107af5760405162461bcd60e51b815260040161014590610c5f565b6001600160a01b0381166000908152600360205260409081902080546001600160a01b0319169055517f1262aa3d0f0c652f1a55888d946c631f1a234f587d9e3e9f8ee39974b628fe7f90610805908390610b52565b60405180910390a150565b3390565b828054828255906000526020600020908101928215610869579160200282015b8281111561086957825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190610834565b50610875929150610879565b5090565b5b808211156108755780546001600160a01b031916815560010161087a565b80356001600160a01b03811681146105d557600080fd5b6000604082840312156108c0578081fd5b6108ca6040610c9d565b905081356108d781610ce4565b815260208201356108e781610ce4565b602082015292915050565b600060208284031215610903578081fd5b61090d8383610898565b9392505050565b60008060408385031215610926578081fd5b6109308484610898565b915061093f8460208501610898565b90509250929050565b6000806040838503121561095a578182fd5b6109648484610898565b946020939093013593505050565b600080600060608486031215610986578081fd5b6109908585610898565b95602085013595506040909401359392505050565b600060208083850312156109b7578182fd5b823567ffffffffffffffff8111156109cd578283fd5b8301601f810185136109dd578283fd5b80356109f06109eb82610cc4565b610c9d565b8181528381019083850185840285018601891015610a0c578687fd5b8694505b83851015610a3657610a228982610898565b835260019490940193918501918501610a10565b50979650505050505050565b60006020808385031215610a54578182fd5b823567ffffffffffffffff811115610a6a578283fd5b8301601f81018513610a7a578283fd5b8035610a886109eb82610cc4565b818152838101908385016040808502860187018a1015610aa6578788fd5b8795505b84861015610ad257610abc8a836108af565b8452600195909501949286019290810190610aaa565b509098975050505050505050565b600060208284031215610af1578081fd5b5051919050565b600060208284031215610b09578081fd5b815160ff8116811461090d578182fd5b60008251815b81811015610b395760208186018101518583015201610b1f565b81811115610b475782828501525b509190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6020808252825182820181905260009190848201906040850190845b81811015610bc15783516001600160a01b031683529284019291840191600101610b9c565b50909695505050505050565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b6020808252602c908201527f4f7261636c653a2046616c6c6261636b2070726f7879206661696c656420746f60408201526b2072657475726e206461746160a01b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b90815260200190565b60405181810167ffffffffffffffff81118282101715610cbc57600080fd5b604052919050565b600067ffffffffffffffff821115610cda578081fd5b5060209081020190565b6001600160a01b0381168114610cf957600080fd5b5056fea26469706673582212207123800eca0c464fb17769a9aabdce406f33d85a8db82a91a5a2861fbe9d731664736f6c634300060c0033000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063715018a61161008c5780638da5cb5b116100665780638da5cb5b1461020a578063d02d20aa14610212578063f2fde38b14610225578063f3ae307714610238576100cf565b8063715018a6146101dc57806388dea52a146101e45780638a7f6680146101f7576100cf565b806302d454571461014e578063255aacf11461016c5780633d71473b1461018157806341394ced14610196578063482ba306146101a95780636a4cb36c146101c9575b60005b60015481101561012c576000600182815481106100eb57fe5b60009182526020822001546001600160a01b03169150819036908037600080366000845afa90503d6000803e8015610122573d6000f35b50506001016100d2565b5060405162461bcd60e51b815260040161014590610c13565b60405180910390fd5b61015661024b565b6040516101639190610b52565b60405180910390f35b61017f61017a3660046109a5565b61025a565b005b6101896102a6565b6040516101639190610b80565b6101566101a43660046108f2565b610308565b6101bc6101b73660046108f2565b610323565b6040516101639190610c94565b61017f6101d7366004610914565b610416565b61017f6104b8565b61017f6101f2366004610a42565b610537565b6101bc610205366004610948565b6105b8565b6101566105db565b6101bc610220366004610972565b6105ea565b61017f6102333660046108f2565b6106c4565b61017f6102463660046108f2565b61077a565b6002546001600160a01b031681565b610262610810565b6000546001600160a01b0390811691161461028f5760405162461bcd60e51b815260040161014590610c5f565b80516102a2906001906020840190610814565b5050565b606060018054806020026020016040519081016040528092919081815260200182805480156102fe57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116102e0575b5050505050905090565b6003602052600090815260409020546001600160a01b031681565b6001600160a01b0380821660009081526003602052604081205490911682811561034a5750805b60006060306001600160a01b0316836040516024016103699190610b52565b60408051601f198184030181529181526020820180516001600160e01b031663d61a784760e01b1790525161039e9190610b19565b600060405180830381855afa9150503d80600081146103d9576040519150601f19603f3d011682016040523d82523d6000602084013e6103de565b606091505b5091509150811561040857808060200190518101906103fd9190610ae0565b945050505050610411565b60009450505050505b919050565b61041e610810565b6000546001600160a01b0390811691161461044b5760405162461bcd60e51b815260040161014590610c5f565b6001600160a01b038281166000908152600360205260409081902080546001600160a01b03191692841692909217909155517fa98e06f16867476bbb2764587292fb84dbd09b5502001113bc12b8359cb954f1906104ac9084908490610b66565b60405180910390a15050565b6104c0610810565b6000546001600160a01b039081169116146104ed5760405162461bcd60e51b815260040161014590610c5f565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b61053f610810565b6000546001600160a01b0390811691161461056c5760405162461bcd60e51b815260040161014590610c5f565b60005b81518110156102a2576105b082828151811061058757fe5b60200260200101516000015183838151811061059f57fe5b602002602001015160200151610416565b60010161056f565b6000806105c484610323565b90506105d18484836105ea565b9150505b92915050565b6000546001600160a01b031690565b6000808490506000816001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561062b57600080fd5b505afa15801561063f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106639190610af8565b60ff1690506006600081831061067c5750808203610681565b508181035b600081156106a657838201600a0a82600a0a888a02028161069e57fe5b0490506106b8565b82600a0a878902816106b457fe5b0490505b98975050505050505050565b6106cc610810565b6000546001600160a01b039081169116146106f95760405162461bcd60e51b815260040161014590610c5f565b6001600160a01b03811661071f5760405162461bcd60e51b815260040161014590610bcd565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b610782610810565b6000546001600160a01b039081169116146107af5760405162461bcd60e51b815260040161014590610c5f565b6001600160a01b0381166000908152600360205260409081902080546001600160a01b0319169055517f1262aa3d0f0c652f1a55888d946c631f1a234f587d9e3e9f8ee39974b628fe7f90610805908390610b52565b60405180910390a150565b3390565b828054828255906000526020600020908101928215610869579160200282015b8281111561086957825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190610834565b50610875929150610879565b5090565b5b808211156108755780546001600160a01b031916815560010161087a565b80356001600160a01b03811681146105d557600080fd5b6000604082840312156108c0578081fd5b6108ca6040610c9d565b905081356108d781610ce4565b815260208201356108e781610ce4565b602082015292915050565b600060208284031215610903578081fd5b61090d8383610898565b9392505050565b60008060408385031215610926578081fd5b6109308484610898565b915061093f8460208501610898565b90509250929050565b6000806040838503121561095a578182fd5b6109648484610898565b946020939093013593505050565b600080600060608486031215610986578081fd5b6109908585610898565b95602085013595506040909401359392505050565b600060208083850312156109b7578182fd5b823567ffffffffffffffff8111156109cd578283fd5b8301601f810185136109dd578283fd5b80356109f06109eb82610cc4565b610c9d565b8181528381019083850185840285018601891015610a0c578687fd5b8694505b83851015610a3657610a228982610898565b835260019490940193918501918501610a10565b50979650505050505050565b60006020808385031215610a54578182fd5b823567ffffffffffffffff811115610a6a578283fd5b8301601f81018513610a7a578283fd5b8035610a886109eb82610cc4565b818152838101908385016040808502860187018a1015610aa6578788fd5b8795505b84861015610ad257610abc8a836108af565b8452600195909501949286019290810190610aaa565b509098975050505050505050565b600060208284031215610af1578081fd5b5051919050565b600060208284031215610b09578081fd5b815160ff8116811461090d578182fd5b60008251815b81811015610b395760208186018101518583015201610b1f565b81811115610b475782828501525b509190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6020808252825182820181905260009190848201906040850190845b81811015610bc15783516001600160a01b031683529284019291840191600101610b9c565b50909695505050505050565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b6020808252602c908201527f4f7261636c653a2046616c6c6261636b2070726f7879206661696c656420746f60408201526b2072657475726e206461746160a01b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b90815260200190565b60405181810167ffffffffffffffff81118282101715610cbc57600080fd5b604052919050565b600067ffffffffffffffff821115610cda578081fd5b5060209081020190565b6001600160a01b0381168114610cf957600080fd5b5056fea26469706673582212207123800eca0c464fb17769a9aabdce406f33d85a8db82a91a5a2861fbe9d731664736f6c634300060c0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
-----Decoded View---------------
Arg [0] : _usdcAddress (address): 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
Deployed Bytecode Sourcemap
2108:4061:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5465:9;5460:634;5484:13;:20;5480:24;;5460:634;;;5526:19;5548:13;5562:1;5548:16;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5548:16:0;;-1:-1:-1;5548:16:0;;5670:14;;5548:16;5651:34;5894:1;5870;5833:14;5809:1;5779:7;5751:5;5718:196;5703:211;;5953:16;5950:1;5947;5932:38;5991:7;5988:2;;;6032:16;6029:1;6022:27;5988:2;-1:-1:-1;;5506:3:0;;5460:634;;;;6104:54;;-1:-1:-1;;;6104:54:0;;;;;;;:::i;:::-;;;;;;;;2180:26;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2601:161;;;;;;:::i;:::-;;:::i;:::-;;2770:106;;;:::i;:::-;;;;;;;:::i;2213:47::-;;;;;;:::i;:::-;;:::i;4796:625::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;2884:241::-;;;;;;:::i;:::-;;:::i;1701:148::-;;;:::i;3133:325::-;;;;;;:::i;:::-;;:::i;4505:283::-;;;;;;:::i;:::-;;:::i;1487:79::-;;;:::i;3638:859::-;;;;;;:::i;:::-;;:::i;1857:244::-;;;;;;:::i;:::-;;:::i;3466:164::-;;;;;;:::i;:::-;;:::i;2180:26::-;;;-1:-1:-1;;;;;2180:26:0;;:::o;2601:161::-;1624:12;:10;:12::i;:::-;1614:6;;-1:-1:-1;;;;;1614:6:0;;;:22;;;1606:67;;;;-1:-1:-1;;;1606:67:0;;;;;;;:::i;:::-;2718:36;;::::1;::::0;:13:::1;::::0;:36:::1;::::0;::::1;::::0;::::1;:::i;:::-;;2601:161:::0;:::o;2770:106::-;2817:16;2854:13;2846:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2846:22:0;;;;;;;;;;;;;;;;;;;;;;;2770:106;:::o;2213:47::-;;;;;;;;;;;;-1:-1:-1;;;;;2213:47:0;;:::o;4796:625::-;-1:-1:-1;;;;;4952:26:0;;;4899:7;4952:26;;;:12;:26;;;;;;4899:7;;4952:26;4965:12;5039:31;;5035:96;;-1:-1:-1;5102:17:0;5035:96;5142:12;5156:17;5198:4;-1:-1:-1;;;;;5190:24:0;5282:12;5233:62;;;;;;;;:::i;:::-;;;;-1:-1:-1;;5233:62:0;;;;;;;;;;;;;;-1:-1:-1;;;;;5233:62:0;-1:-1:-1;;;5233:62:0;;;5190:120;;;5233:62;5190:120;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5141:169;;;;5325:7;5321:74;;;5367:4;5356:27;;;;;;;;;;;;:::i;:::-;5349:34;;;;;;;;5321:74;5412:1;5405:8;;;;;;4796:625;;;;:::o;2884:241::-;1624:12;:10;:12::i;:::-;1614:6;;-1:-1:-1;;;;;1614:6:0;;;:22;;;1606:67;;;;-1:-1:-1;;;1606:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3007:26:0;;::::1;;::::0;;;:12:::1;:26;::::0;;;;;;:46;;-1:-1:-1;;;;;;3007:46:0::1;::::0;;::::1;::::0;;;::::1;::::0;;;3069:48;::::1;::::0;::::1;::::0;3007:26;;:46;;3069:48:::1;:::i;:::-;;;;;;;;2884:241:::0;;:::o;1701:148::-;1624:12;:10;:12::i;:::-;1614:6;;-1:-1:-1;;;;;1614:6:0;;;:22;;;1606:67;;;;-1:-1:-1;;;1606:67:0;;;;;;;:::i;:::-;1808:1:::1;1792:6:::0;;1771:40:::1;::::0;-1:-1:-1;;;;;1792:6:0;;::::1;::::0;1771:40:::1;::::0;1808:1;;1771:40:::1;1839:1;1822:19:::0;;-1:-1:-1;;;;;;1822:19:0::1;::::0;;1701:148::o;3133:325::-;1624:12;:10;:12::i;:::-;1614:6;;-1:-1:-1;;;;;1614:6:0;;;:22;;;1606:67;;;;-1:-1:-1;;;1606:67:0;;;;;;;:::i;:::-;3249:9:::1;3244:207;3268:13;:20;3264:1;:24;3244:207;;;3310:129;3342:13;3356:1;3342:16;;;;;;;;;;;;;;:29;;;3390:13;3404:1;3390:16;;;;;;;;;;;;;;:34;;;3310:13;:129::i;:::-;3290:3;;3244:207;;4505:283:::0;4625:7;4650:17;4670:37;4694:12;4670:23;:37::i;:::-;4650:57;;4725:55;4748:12;4762:6;4770:9;4725:22;:55::i;:::-;4718:62;;;4505:283;;;;;:::o;1487:79::-;1525:7;1552:6;-1:-1:-1;;;;;1552:6:0;1487:79;:::o;3638:859::-;3782:7;3802:12;3824;3802:35;;3848:21;3872:5;-1:-1:-1;;;;;3872:14:0;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3848:40;;;-1:-1:-1;3924:1:0;3901:20;3977:29;;;3973:193;;-1:-1:-1;4044:28:0;;;3973:193;;;-1:-1:-1;4126:28:0;;;3973:193;4176:13;4204:22;;4200:267;;4361:13;4340:18;:34;4335:2;:40;4295:18;4291:2;:22;4278:9;4269:6;:18;:45;4268:107;;;;;;4243:132;;4200:267;;;4443:12;4439:2;:16;4426:9;4417:6;:18;4416:39;;;;;;4408:47;;4200:267;4484:5;3638:859;-1:-1:-1;;;;;;;;3638:859:0:o;1857:244::-;1624:12;:10;:12::i;:::-;1614:6;;-1:-1:-1;;;;;1614:6:0;;;:22;;;1606:67;;;;-1:-1:-1;;;1606:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1946:22:0;::::1;1938:73;;;;-1:-1:-1::0;;;1938:73:0::1;;;;;;;:::i;:::-;2048:6;::::0;;2027:38:::1;::::0;-1:-1:-1;;;;;2027:38:0;;::::1;::::0;2048:6;::::1;::::0;2027:38:::1;::::0;::::1;2076:6;:17:::0;;-1:-1:-1;;;;;;2076:17:0::1;-1:-1:-1::0;;;;;2076:17:0;;;::::1;::::0;;;::::1;::::0;;1857:244::o;3466:164::-;1624:12;:10;:12::i;:::-;1614:6;;-1:-1:-1;;;;;1614:6:0;;;:22;;;1606:67;;;;-1:-1:-1;;;1606:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3549:26:0;::::1;;::::0;;;:12:::1;:26;::::0;;;;;;3542:33;;-1:-1:-1;;;;;;3542:33:0::1;::::0;;3591:31;::::1;::::0;::::1;::::0;3562:12;;3591:31:::1;:::i;:::-;;;;;;;;3466:164:::0;:::o;804:106::-;892:10;804:106;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;5:130;72:20;;-1:-1;;;;;13089:54;;13658:35;;13648:2;;13707:1;;13697:12;1737:490;;1853:4;1841:9;1836:3;1832:19;1828:30;1825:2;;;-1:-1;;1861:12;1825:2;1889:20;1853:4;1889:20;:::i;:::-;1880:29;;85:6;72:20;97:33;124:5;97:33;:::i;:::-;1974:75;;2123:2;2177:22;;72:20;97:33;72:20;97:33;:::i;:::-;2123:2;2138:16;;2131:75;2142:5;1819:408;-1:-1;;1819:408::o;2649:241::-;;2753:2;2741:9;2732:7;2728:23;2724:32;2721:2;;;-1:-1;;2759:12;2721:2;2821:53;2866:7;2842:22;2821:53;:::i;:::-;2811:63;2715:175;-1:-1;;;2715:175::o;2897:366::-;;;3018:2;3006:9;2997:7;2993:23;2989:32;2986:2;;;-1:-1;;3024:12;2986:2;3086:53;3131:7;3107:22;3086:53;:::i;:::-;3076:63;;3194:53;3239:7;3176:2;3219:9;3215:22;3194:53;:::i;:::-;3184:63;;2980:283;;;;;:::o;3270:366::-;;;3391:2;3379:9;3370:7;3366:23;3362:32;3359:2;;;-1:-1;;3397:12;3359:2;3459:53;3504:7;3480:22;3459:53;:::i;:::-;3449:63;3549:2;3588:22;;;;2301:20;;-1:-1;;;3353:283::o;3643:491::-;;;;3781:2;3769:9;3760:7;3756:23;3752:32;3749:2;;;-1:-1;;3787:12;3749:2;3849:53;3894:7;3870:22;3849:53;:::i;:::-;3839:63;3939:2;3978:22;;2301:20;;-1:-1;4047:2;4086:22;;;2301:20;;3743:391;-1:-1;;;3743:391::o;4141:377::-;;4270:2;;4258:9;4249:7;4245:23;4241:32;4238:2;;;-1:-1;;4276:12;4238:2;4334:17;4321:31;4372:18;4364:6;4361:30;4358:2;;;-1:-1;;4394:12;4358:2;4470:22;;270:4;258:17;;254:27;-1:-1;244:2;;-1:-1;;285:12;244:2;332:6;319:20;354:80;369:64;426:6;369:64;:::i;:::-;354:80;:::i;:::-;462:21;;;519:14;;;;494:17;;;608;;;599:27;;;;596:36;-1:-1;593:2;;;-1:-1;;635:12;593:2;-1:-1;661:10;;655:206;680:6;677:1;674:13;655:206;;;760:37;793:3;781:10;760:37;:::i;:::-;748:50;;702:1;695:9;;;;;812:14;;;;840;;655:206;;;-1:-1;4414:88;4232:286;-1:-1;;;;;;;4232:286::o;4525:431::-;;4681:2;;4669:9;4660:7;4656:23;4652:32;4649:2;;;-1:-1;;4687:12;4649:2;4745:17;4732:31;4783:18;4775:6;4772:30;4769:2;;;-1:-1;;4805:12;4769:2;4908:22;;1047:4;1035:17;;1031:27;-1:-1;1021:2;;-1:-1;;1062:12;1021:2;1109:6;1096:20;1131:107;1146:91;1230:6;1146:91;:::i;1131:107::-;1266:21;;;1323:14;;;;1298:17;;;1424:4;1412:17;;;1403:27;;;;1400:36;-1:-1;1397:2;;;-1:-1;;1439:12;1397:2;-1:-1;1465:10;;1459:233;1484:6;1481:1;1478:13;1459:233;;;1564:64;1624:3;1612:10;1564:64;:::i;:::-;1552:77;;1506:1;1499:9;;;;;1643:14;;;;1671;;;;1459:233;;;-1:-1;4825:115;;4643:313;-1:-1;;;;;;;;4643:313::o;4963:263::-;;5078:2;5066:9;5057:7;5053:23;5049:32;5046:2;;;-1:-1;;5084:12;5046:2;-1:-1;2449:13;;5040:186;-1:-1;5040:186::o;5233:259::-;;5346:2;5334:9;5325:7;5321:23;5317:32;5314:2;;;-1:-1;;5352:12;5314:2;2594:6;2588:13;13305:4;13930:5;13294:16;13907:5;13904:33;13894:2;;-1:-1;;13941:12;8238:271;;6800:5;12133:12;-1:-1;13395:101;13409:6;13406:1;13403:13;13395:101;;;6944:4;13476:11;;;;;13470:18;13457:11;;;13450:39;13424:10;13395:101;;;13511:6;13508:1;13505:13;13502:2;;;-1:-1;13567:6;13562:3;13558:16;13551:27;13502:2;-1:-1;6975:16;;;;;8372:137;-1:-1;;8372:137::o;8516:222::-;-1:-1;;;;;13089:54;;;;5742:37;;8643:2;8628:18;;8614:124::o;8745:333::-;-1:-1;;;;;13089:54;;;5742:37;;13089:54;;9064:2;9049:18;;5742:37;8900:2;8885:18;;8871:207::o;9085:370::-;9262:2;9276:47;;;12133:12;;9247:18;;;12536:19;;;9085:370;;9262:2;11987:14;;;;12576;;;;9085:370;6350:260;6375:6;6372:1;6369:13;6350:260;;;6436:13;;-1:-1;;;;;13089:54;5742:37;;12391:14;;;;5653;;;;13100:42;6390:9;6350:260;;;-1:-1;9329:116;;9233:222;-1:-1;;;;;;9233:222::o;9462:416::-;9662:2;9676:47;;;7228:2;9647:18;;;12536:19;7264:34;12576:14;;;7244:55;-1:-1;;;7319:12;;;7312:30;7361:12;;;9633:245::o;9885:416::-;10085:2;10099:47;;;7612:2;10070:18;;;12536:19;7648:34;12576:14;;;7628:55;-1:-1;;;7703:12;;;7696:36;7751:12;;;10056:245::o;10308:416::-;10508:2;10522:47;;;10493:18;;;12536:19;8038:34;12576:14;;;8018:55;8092:12;;;10479:245::o;10731:222::-;8189:37;;;10858:2;10843:18;;10829:124::o;10960:256::-;11022:2;11016:9;11048:17;;;11123:18;11108:34;;11144:22;;;11105:62;11102:2;;;11180:1;;11170:12;11102:2;11022;11189:22;11000:216;;-1:-1;11000:216::o;11223:304::-;;11382:18;11374:6;11371:30;11368:2;;;-1:-1;;11404:12;11368:2;-1:-1;11449:4;11437:17;;;11502:15;;11305:222::o;13599:117::-;-1:-1;;;;;13089:54;;13658:35;;13648:2;;13707:1;;13697:12;13648:2;13642:74;:::o
Swarm Source
ipfs://7123800eca0c464fb17769a9aabdce406f33d85a8db82a91a5a2861fbe9d7316
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
BSC | 100.00% | $0.024191 | 6,079.9195 | $147.08 |
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.