More Info
Private Name Tags
ContractCreator
Sponsored
Latest 5 from a total of 5 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Set Calculations | 33434743 | 684 days ago | IN | 0 ETH | 0.000080700031 | ||||
Add Token Alias | 29246014 | 703 days ago | IN | 0 ETH | 0.000044674502 | ||||
Set Calculations | 18369119 | 769 days ago | IN | 0 ETH | 0.000607904518 | ||||
Set Calculations | 18218795 | 770 days ago | IN | 0 ETH | 0.000025251054 | ||||
0x60806040 | 18109291 | 771 days ago | IN | 0 ETH | 0.000449540064 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
Oracle
Compiler Version
v0.8.2+commit.661d1103
Contract Source Code (Solidity)
/** *Submitted for verification at optimistic.etherscan.io on 2022-08-06 */ // SPDX-License-Identifier: GPL-3.0-or-later pragma solidity ^0.8.2; interface ManagementList { function isManager(address accountAddress) external returns (bool); } contract Manageable { ManagementList public managementList; constructor(address _managementListAddress) { managementList = ManagementList(_managementListAddress); } modifier onlyManagers() { bool isManager = managementList.isManager(msg.sender); require(isManager, "ManagementList: caller is not a manager"); _; } } interface IERC20 { function decimals() external view returns (uint8); } contract Oracle is Manageable { 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 _managementListAddress, address _usdcAddress) Manageable(_managementListAddress) { usdcAddress = _usdcAddress; } /** * The oracle supports an array of calculation contracts. Each calculation contract must implement getPriceUsdc(). * When setting calculation contracts all calculations must be set at the same time (we intentionally do not support for adding/removing calculations). * The order of calculation contracts matters as it determines the order preference in the cascading fallback mechanism. */ function setCalculations(address[] memory calculationAddresses) external onlyManagers { _calculations = calculationAddresses; } function calculations() external view returns (address[] memory) { return (_calculations); } function addTokenAlias(address tokenAddress, address tokenAliasAddress) public onlyManagers { tokenAliases[tokenAddress] = tokenAliasAddress; emit TokenAliasAdded(tokenAddress, tokenAliasAddress); } function addTokenAliases(TokenAlias[] memory _tokenAliases) public onlyManagers { for (uint256 i = 0; i < _tokenAliases.length; i++) { addTokenAlias( _tokenAliases[i].tokenAddress, _tokenAliases[i].tokenAliasAddress ); } } function removeTokenAlias(address tokenAddress) public onlyManagers { 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; } /** * Cascading fallback proxy * * Loop through all contracts in _calculations and attempt to forward the method call to each underlying contract. * This allows users to call getPriceUsdc() on the oracle contract and the result of the first non-reverting contract that * implements getPriceUsdc() will be returned. * * This mechanism also exposes all public methods for calculation contracts. This allows a user to * call oracle.isIronBankMarket() or oracle.isCurveLpToken() even though these methods live on different contracts. */ 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":"_managementListAddress","type":"address"},{"internalType":"address","name":"_usdcAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"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":"managementList","outputs":[{"internalType":"contract ManagementList","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"removeTokenAlias","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":[],"name":"usdcAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b50604051610fd9380380610fd983398101604081905261002f9161007c565b600080546001600160a01b039384166001600160a01b031991821617909155600280549290931691161790556100ae565b80516001600160a01b038116811461007757600080fd5b919050565b6000806040838503121561008e578182fd5b61009783610060565b91506100a560208401610060565b90509250929050565b610f1c806100bd6000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c806358443a3b1161007157806358443a3b1461022c5780636a4cb36c1461023f57806388dea52a146102525780638a7f668014610265578063d02d20aa14610278578063f3ae30771461028b576100a9565b806302d4545714610188578063255aacf1146101b85780633d71473b146101cd57806341394ced146101e2578063482ba3061461020b575b60005b600154811015610125576000600182815481106100d957634e487b7160e01b600052603260045260246000fd5b60009182526020822001546001600160a01b03169150819036908037600080366000845afa90503d6000803e8015610110573d6000f35b5050808061011d90610e9f565b9150506100ac565b5060405162461bcd60e51b815260206004820152602c60248201527f4f7261636c653a2046616c6c6261636b2070726f7879206661696c656420746f60448201526b2072657475726e206461746160a01b60648201526084015b60405180910390fd5b60025461019b906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6101cb6101c6366004610a41565b61029e565b005b6101d5610353565b6040516101af9190610c34565b61019b6101f036600461099a565b6003602052600090815260409020546001600160a01b031681565b61021e61021936600461099a565b6103b5565b6040519081526020016101af565b60005461019b906001600160a01b031681565b6101cb61024d3660046109b4565b6104a5565b6101cb610260366004610add565b6105ae565b61021e6102733660046109e6565b6106c9565b61021e610286366004610a0f565b6106ea565b6101cb61029936600461099a565b61080e565b6000805460405163f3ae241560e01b81523360048201526001600160a01b039091169063f3ae241590602401602060405180830381600087803b1580156102e457600080fd5b505af11580156102f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061031c9190610ba2565b90508061033b5760405162461bcd60e51b815260040161017f90610c81565b815161034e906001906020850190610909565b505050565b606060018054806020026020016040519081016040528092919081815260200182805480156103ab57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161038d575b5050505050905090565b6001600160a01b038082166000908152600360205260408120549091168281156103dc5750805b6040516001600160a01b03821660248201526000908190309060440160408051601f198184030181529181526020820180516001600160e01b031663d61a784760e01b1790525161042d9190610bfb565b600060405180830381855afa9150503d8060008114610468576040519150601f19603f3d011682016040523d82523d6000602084013e61046d565b606091505b50915091508115610497578080602001905181019061048c9190610bc2565b9450505050506104a0565b60009450505050505b919050565b6000805460405163f3ae241560e01b81523360048201526001600160a01b039091169063f3ae241590602401602060405180830381600087803b1580156104eb57600080fd5b505af11580156104ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105239190610ba2565b9050806105425760405162461bcd60e51b815260040161017f90610c81565b6001600160a01b0383811660008181526003602090815260409182902080546001600160a01b031916948716948517905581519283528201929092527fa98e06f16867476bbb2764587292fb84dbd09b5502001113bc12b8359cb954f1910160405180910390a1505050565b6000805460405163f3ae241560e01b81523360048201526001600160a01b039091169063f3ae241590602401602060405180830381600087803b1580156105f457600080fd5b505af1158015610608573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061062c9190610ba2565b90508061064b5760405162461bcd60e51b815260040161017f90610c81565b60005b825181101561034e576106b783828151811061067a57634e487b7160e01b600052603260045260246000fd5b6020026020010151600001518483815181106106a657634e487b7160e01b600052603260045260246000fd5b6020026020010151602001516104a5565b806106c181610e9f565b91505061064e565b6000806106d5846103b5565b90506106e28484836106ea565b949350505050565b6000808490506000816001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561072b57600080fd5b505afa15801561073f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107639190610bda565b60ff169050600660008183106107845761077d8284610e88565b9050610791565b61078e8383610e88565b90505b600081156107de576107a38483610d1d565b6107ae90600a610d9b565b6107b983600a610d9b565b6107c3898b610e69565b6107cd9190610e69565b6107d79190610d35565b9050610800565b6107e983600a610d9b565b6107f3888a610e69565b6107fd9190610d35565b90505b9450505050505b9392505050565b6000805460405163f3ae241560e01b81523360048201526001600160a01b039091169063f3ae241590602401602060405180830381600087803b15801561085457600080fd5b505af1158015610868573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061088c9190610ba2565b9050806108ab5760405162461bcd60e51b815260040161017f90610c81565b6001600160a01b03821660008181526003602090815260409182902080546001600160a01b031916905590519182527f1262aa3d0f0c652f1a55888d946c631f1a234f587d9e3e9f8ee39974b628fe7f910160405180910390a15050565b82805482825590600052602060002090810192821561095e579160200282015b8281111561095e57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190610929565b5061096a92915061096e565b5090565b5b8082111561096a576000815560010161096f565b80356001600160a01b03811681146104a057600080fd5b6000602082840312156109ab578081fd5b61080782610983565b600080604083850312156109c6578081fd5b6109cf83610983565b91506109dd60208401610983565b90509250929050565b600080604083850312156109f8578182fd5b610a0183610983565b946020939093013593505050565b600080600060608486031215610a23578081fd5b610a2c84610983565b95602085013595506040909401359392505050565b60006020808385031215610a53578182fd5b823567ffffffffffffffff811115610a69578283fd5b8301601f81018513610a79578283fd5b8035610a8c610a8782610cf9565b610cc8565b8181528381019083850185840285018601891015610aa8578687fd5b8694505b83851015610ad157610abd81610983565b835260019490940193918501918501610aac565b50979650505050505050565b60006020808385031215610aef578182fd5b823567ffffffffffffffff811115610b05578283fd5b8301601f81018513610b15578283fd5b8035610b23610a8782610cf9565b818152838101908385016040808502860187018a1015610b41578788fd5b8795505b84861015610b945780828b031215610b5b578788fd5b610b6481610cc8565b610b6d83610983565b8152610b7a888401610983565b818901528452600195909501949286019290810190610b45565b509098975050505050505050565b600060208284031215610bb3578081fd5b81518015158114610807578182fd5b600060208284031215610bd3578081fd5b5051919050565b600060208284031215610beb578081fd5b815160ff81168114610807578182fd5b60008251815b81811015610c1b5760208186018101518583015201610c01565b81811115610c295782828501525b509190910192915050565b6020808252825182820181905260009190848201906040850190845b81811015610c755783516001600160a01b031683529284019291840191600101610c50565b50909695505050505050565b60208082526027908201527f4d616e6167656d656e744c6973743a2063616c6c6572206973206e6f7420612060408201526636b0b730b3b2b960c91b606082015260800190565b604051601f8201601f1916810167ffffffffffffffff81118282101715610cf157610cf1610ed0565b604052919050565b600067ffffffffffffffff821115610d1357610d13610ed0565b5060209081020190565b60008219821115610d3057610d30610eba565b500190565b600082610d5057634e487b7160e01b81526012600452602481fd5b500490565b80825b6001808611610d675750610d92565b818704821115610d7957610d79610eba565b80861615610d8657918102915b9490941c938002610d58565b94509492505050565b60006108076000198484600082610db457506001610807565b81610dc157506000610807565b8160018114610dd75760028114610de157610e0e565b6001915050610807565b60ff841115610df257610df2610eba565b6001841b915084821115610e0857610e08610eba565b50610807565b5060208310610133831016604e8410600b8410161715610e41575081810a83811115610e3c57610e3c610eba565b610807565b610e4e8484846001610d55565b808604821115610e6057610e60610eba565b02949350505050565b6000816000190483118215151615610e8357610e83610eba565b500290565b600082821015610e9a57610e9a610eba565b500390565b6000600019821415610eb357610eb3610eba565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fdfea2646970667358221220d3eff517ea05bcbfc1b0f165b919965a9871008920f722510f534c328b9e115f64736f6c634300080200330000000000000000000000007e9756e1427b3c38f001f9d272d8d62bef63d6190000000000000000000000007f5c764cbc14f9669b88837ca1490cca17c31607
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100a95760003560e01c806358443a3b1161007157806358443a3b1461022c5780636a4cb36c1461023f57806388dea52a146102525780638a7f668014610265578063d02d20aa14610278578063f3ae30771461028b576100a9565b806302d4545714610188578063255aacf1146101b85780633d71473b146101cd57806341394ced146101e2578063482ba3061461020b575b60005b600154811015610125576000600182815481106100d957634e487b7160e01b600052603260045260246000fd5b60009182526020822001546001600160a01b03169150819036908037600080366000845afa90503d6000803e8015610110573d6000f35b5050808061011d90610e9f565b9150506100ac565b5060405162461bcd60e51b815260206004820152602c60248201527f4f7261636c653a2046616c6c6261636b2070726f7879206661696c656420746f60448201526b2072657475726e206461746160a01b60648201526084015b60405180910390fd5b60025461019b906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6101cb6101c6366004610a41565b61029e565b005b6101d5610353565b6040516101af9190610c34565b61019b6101f036600461099a565b6003602052600090815260409020546001600160a01b031681565b61021e61021936600461099a565b6103b5565b6040519081526020016101af565b60005461019b906001600160a01b031681565b6101cb61024d3660046109b4565b6104a5565b6101cb610260366004610add565b6105ae565b61021e6102733660046109e6565b6106c9565b61021e610286366004610a0f565b6106ea565b6101cb61029936600461099a565b61080e565b6000805460405163f3ae241560e01b81523360048201526001600160a01b039091169063f3ae241590602401602060405180830381600087803b1580156102e457600080fd5b505af11580156102f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061031c9190610ba2565b90508061033b5760405162461bcd60e51b815260040161017f90610c81565b815161034e906001906020850190610909565b505050565b606060018054806020026020016040519081016040528092919081815260200182805480156103ab57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161038d575b5050505050905090565b6001600160a01b038082166000908152600360205260408120549091168281156103dc5750805b6040516001600160a01b03821660248201526000908190309060440160408051601f198184030181529181526020820180516001600160e01b031663d61a784760e01b1790525161042d9190610bfb565b600060405180830381855afa9150503d8060008114610468576040519150601f19603f3d011682016040523d82523d6000602084013e61046d565b606091505b50915091508115610497578080602001905181019061048c9190610bc2565b9450505050506104a0565b60009450505050505b919050565b6000805460405163f3ae241560e01b81523360048201526001600160a01b039091169063f3ae241590602401602060405180830381600087803b1580156104eb57600080fd5b505af11580156104ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105239190610ba2565b9050806105425760405162461bcd60e51b815260040161017f90610c81565b6001600160a01b0383811660008181526003602090815260409182902080546001600160a01b031916948716948517905581519283528201929092527fa98e06f16867476bbb2764587292fb84dbd09b5502001113bc12b8359cb954f1910160405180910390a1505050565b6000805460405163f3ae241560e01b81523360048201526001600160a01b039091169063f3ae241590602401602060405180830381600087803b1580156105f457600080fd5b505af1158015610608573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061062c9190610ba2565b90508061064b5760405162461bcd60e51b815260040161017f90610c81565b60005b825181101561034e576106b783828151811061067a57634e487b7160e01b600052603260045260246000fd5b6020026020010151600001518483815181106106a657634e487b7160e01b600052603260045260246000fd5b6020026020010151602001516104a5565b806106c181610e9f565b91505061064e565b6000806106d5846103b5565b90506106e28484836106ea565b949350505050565b6000808490506000816001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561072b57600080fd5b505afa15801561073f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107639190610bda565b60ff169050600660008183106107845761077d8284610e88565b9050610791565b61078e8383610e88565b90505b600081156107de576107a38483610d1d565b6107ae90600a610d9b565b6107b983600a610d9b565b6107c3898b610e69565b6107cd9190610e69565b6107d79190610d35565b9050610800565b6107e983600a610d9b565b6107f3888a610e69565b6107fd9190610d35565b90505b9450505050505b9392505050565b6000805460405163f3ae241560e01b81523360048201526001600160a01b039091169063f3ae241590602401602060405180830381600087803b15801561085457600080fd5b505af1158015610868573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061088c9190610ba2565b9050806108ab5760405162461bcd60e51b815260040161017f90610c81565b6001600160a01b03821660008181526003602090815260409182902080546001600160a01b031916905590519182527f1262aa3d0f0c652f1a55888d946c631f1a234f587d9e3e9f8ee39974b628fe7f910160405180910390a15050565b82805482825590600052602060002090810192821561095e579160200282015b8281111561095e57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190610929565b5061096a92915061096e565b5090565b5b8082111561096a576000815560010161096f565b80356001600160a01b03811681146104a057600080fd5b6000602082840312156109ab578081fd5b61080782610983565b600080604083850312156109c6578081fd5b6109cf83610983565b91506109dd60208401610983565b90509250929050565b600080604083850312156109f8578182fd5b610a0183610983565b946020939093013593505050565b600080600060608486031215610a23578081fd5b610a2c84610983565b95602085013595506040909401359392505050565b60006020808385031215610a53578182fd5b823567ffffffffffffffff811115610a69578283fd5b8301601f81018513610a79578283fd5b8035610a8c610a8782610cf9565b610cc8565b8181528381019083850185840285018601891015610aa8578687fd5b8694505b83851015610ad157610abd81610983565b835260019490940193918501918501610aac565b50979650505050505050565b60006020808385031215610aef578182fd5b823567ffffffffffffffff811115610b05578283fd5b8301601f81018513610b15578283fd5b8035610b23610a8782610cf9565b818152838101908385016040808502860187018a1015610b41578788fd5b8795505b84861015610b945780828b031215610b5b578788fd5b610b6481610cc8565b610b6d83610983565b8152610b7a888401610983565b818901528452600195909501949286019290810190610b45565b509098975050505050505050565b600060208284031215610bb3578081fd5b81518015158114610807578182fd5b600060208284031215610bd3578081fd5b5051919050565b600060208284031215610beb578081fd5b815160ff81168114610807578182fd5b60008251815b81811015610c1b5760208186018101518583015201610c01565b81811115610c295782828501525b509190910192915050565b6020808252825182820181905260009190848201906040850190845b81811015610c755783516001600160a01b031683529284019291840191600101610c50565b50909695505050505050565b60208082526027908201527f4d616e6167656d656e744c6973743a2063616c6c6572206973206e6f7420612060408201526636b0b730b3b2b960c91b606082015260800190565b604051601f8201601f1916810167ffffffffffffffff81118282101715610cf157610cf1610ed0565b604052919050565b600067ffffffffffffffff821115610d1357610d13610ed0565b5060209081020190565b60008219821115610d3057610d30610eba565b500190565b600082610d5057634e487b7160e01b81526012600452602481fd5b500490565b80825b6001808611610d675750610d92565b818704821115610d7957610d79610eba565b80861615610d8657918102915b9490941c938002610d58565b94509492505050565b60006108076000198484600082610db457506001610807565b81610dc157506000610807565b8160018114610dd75760028114610de157610e0e565b6001915050610807565b60ff841115610df257610df2610eba565b6001841b915084821115610e0857610e08610eba565b50610807565b5060208310610133831016604e8410600b8410161715610e41575081810a83811115610e3c57610e3c610eba565b610807565b610e4e8484846001610d55565b808604821115610e6057610e60610eba565b02949350505050565b6000816000190483118215151615610e8357610e83610eba565b500290565b600082821015610e9a57610e9a610eba565b500390565b6000600019821415610eb357610eb3610eba565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fdfea2646970667358221220d3eff517ea05bcbfc1b0f165b919965a9871008920f722510f534c328b9e115f64736f6c63430008020033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000007e9756e1427b3c38f001f9d272d8d62bef63d6190000000000000000000000007f5c764cbc14f9669b88837ca1490cca17c31607
-----Decoded View---------------
Arg [0] : _managementListAddress (address): 0x7E9756E1427B3c38F001F9D272D8d62BEF63D619
Arg [1] : _usdcAddress (address): 0x7F5c764cBc14f9669B88837ca1490cCa17c31607
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000007e9756e1427b3c38f001f9d272d8d62bef63d619
Arg [1] : 0000000000000000000000007f5c764cbc14f9669b88837ca1490cca17c31607
Deployed Bytecode Sourcemap
645:5157:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5098:9;5093:634;5117:13;:20;5113:24;;5093:634;;;5159:19;5181:13;5195:1;5181:16;;;;;;-1:-1:-1;;;5181:16:0;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5181:16:0;;-1:-1:-1;5181:16:0;;5303:14;;5181:16;5284:34;5527:1;5503;5466:14;5442:1;5412:7;5384:5;5351:196;5336:211;;5586:16;5583:1;5580;5565:38;5624:7;5621:2;;;5665:16;5662:1;5655:27;5621:2;;5221:495;5139:3;;;;;:::i;:::-;;;;5093:634;;;-1:-1:-1;5737:54:0;;-1:-1:-1;;;5737:54:0;;6304:2:1;5737:54:0;;;6286:21:1;6343:2;6323:18;;;6316:30;6382:34;6362:18;;;6355:62;-1:-1:-1;;;6433:18:1;;;6426:42;6485:19;;5737:54:0;;;;;;;;720:26;;;;;-1:-1:-1;;;;;720:26:0;;;;;;-1:-1:-1;;;;;4855:32:1;;;4837:51;;4825:2;4810:18;720:26:0;;;;;;;;1630:164;;;;;;:::i;:::-;;:::i;:::-;;1802:106;;;:::i;:::-;;;;;;;:::i;753:47::-;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;753:47:0;;;3837:625;;;;;;:::i;:::-;;:::i;:::-;;;7069:25:1;;;7057:2;7042:18;3837:625:0;7024:76:1;206:36:0;;;;;-1:-1:-1;;;;;206:36:0;;;1916:244;;;;;;:::i;:::-;;:::i;2168:328::-;;;;;;:::i;:::-;;:::i;3546:283::-;;;;;;:::i;:::-;;:::i;2679:859::-;;;;;;:::i;:::-;;:::i;2504:167::-;;;;;;:::i;:::-;;:::i;1630:164::-;412:14;429;;:36;;-1:-1:-1;;;429:36:0;;454:10;429:36;;;4837:51:1;-1:-1:-1;;;;;429:14:0;;;;:24;;4810:18:1;;429:36:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;412:53;;484:9;476:61;;;;-1:-1:-1;;;476:61:0;;;;;;;:::i;:::-;1750:36;;::::1;::::0;:13:::1;::::0;:36:::1;::::0;::::1;::::0;::::1;:::i;:::-;;1630:164:::0;;:::o;1802:106::-;1849:16;1886:13;1878:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1878:22:0;;;;;;;;;;;;;;;;;;;;;;;1802:106;:::o;3837:625::-;-1:-1:-1;;;;;3993:26:0;;;3940:7;3993:26;;;:12;:26;;;;;;3940:7;;3993:26;4006:12;4080:31;;4076:96;;-1:-1:-1;4143:17:0;4076:96;4274:62;;-1:-1:-1;;;;;4855:32:1;;4274:62:0;;;4837:51:1;4183:12:0;;;;4239:4;;4810:18:1;;4274:62:0;;;-1:-1:-1;;4274:62:0;;;;;;;;;;;;;;-1:-1:-1;;;;;4274:62:0;-1:-1:-1;;;4274:62:0;;;4231:120;;;4274:62;4231:120;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4182:169;;;;4366:7;4362:74;;;4408:4;4397:27;;;;;;;;;;;;:::i;:::-;4390:34;;;;;;;;4362:74;4453:1;4446:8;;;;;;3837:625;;;;:::o;1916:244::-;412:14;429;;:36;;-1:-1:-1;;;429:36:0;;454:10;429:36;;;4837:51:1;-1:-1:-1;;;;;429:14:0;;;;:24;;4810:18:1;;429:36:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;412:53;;484:9;476:61;;;;-1:-1:-1;;;476:61:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2042:26:0;;::::1;;::::0;;;:12:::1;:26;::::0;;;;;;;;:46;;-1:-1:-1;;;;;;2042:46:0::1;::::0;;::::1;::::0;;::::1;::::0;;2104:48;;5111:34:1;;;5161:18;;5154:43;;;;2104:48:0::1;::::0;5046:18:1;2104:48:0::1;;;;;;;1916:244:::0;;;:::o;2168:328::-;412:14;429;;:36;;-1:-1:-1;;;429:36:0;;454:10;429:36;;;4837:51:1;-1:-1:-1;;;;;429:14:0;;;;:24;;4810:18:1;;429:36:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;412:53;;484:9;476:61;;;;-1:-1:-1;;;476:61:0;;;;;;;:::i;:::-;2287:9:::1;2282:207;2306:13;:20;2302:1;:24;2282:207;;;2348:129;2380:13;2394:1;2380:16;;;;;;-1:-1:-1::0;;;2380:16:0::1;;;;;;;;;;;;;;;:29;;;2428:13;2442:1;2428:16;;;;;;-1:-1:-1::0;;;2428:16:0::1;;;;;;;;;;;;;;;:34;;;2348:13;:129::i;:::-;2328:3:::0;::::1;::::0;::::1;:::i;:::-;;;;2282:207;;3546:283:::0;3666:7;3691:17;3711:37;3735:12;3711:23;:37::i;:::-;3691:57;;3766:55;3789:12;3803:6;3811:9;3766:22;:55::i;:::-;3759:62;3546:283;-1:-1:-1;;;;3546:283:0:o;2679:859::-;2823:7;2843:12;2865;2843:35;;2889:21;2913:5;-1:-1:-1;;;;;2913:14:0;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2889:40;;;-1:-1:-1;2965:1:0;2942:20;3018:29;;;3014:193;;3085:28;3101:12;3085:13;:28;:::i;:::-;3064:49;;3014:193;;;3167:28;3182:13;3167:12;:28;:::i;:::-;3146:49;;3014:193;3217:13;3245:22;;3241:267;;3381:34;3402:13;3381:18;:34;:::i;:::-;3376:40;;:2;:40;:::i;:::-;3332:22;3336:18;3332:2;:22;:::i;:::-;3310:18;3319:9;3310:6;:18;:::i;:::-;:45;;;;:::i;:::-;3309:107;;;;:::i;:::-;3284:132;;3241:267;;;3480:16;3484:12;3480:2;:16;:::i;:::-;3458:18;3467:9;3458:6;:18;:::i;:::-;3457:39;;;;:::i;:::-;3449:47;;3241:267;3525:5;-1:-1:-1;;;;;2679:859:0;;;;;;:::o;2504:167::-;412:14;429;;:36;;-1:-1:-1;;;429:36:0;;454:10;429:36;;;4837:51:1;-1:-1:-1;;;;;429:14:0;;;;:24;;4810:18:1;;429:36:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;412:53;;484:9;476:61;;;;-1:-1:-1;;;476:61:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2590:26:0;::::1;;::::0;;;:12:::1;:26;::::0;;;;;;;;2583:33;;-1:-1:-1;;;;;;2583:33:0::1;::::0;;2632:31;;4837:51:1;;;2632:31:0::1;::::0;4810:18:1;2632:31:0::1;;;;;;;2504:167:::0;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:173:1;82:20;;-1:-1:-1;;;;;131:31:1;;121:42;;111:2;;177:1;174;167:12;192:196;;304:2;292:9;283:7;279:23;275:32;272:2;;;325:6;317;310:22;272:2;353:29;372:9;353:29;:::i;393:270::-;;;522:2;510:9;501:7;497:23;493:32;490:2;;;543:6;535;528:22;490:2;571:29;590:9;571:29;:::i;:::-;561:39;;619:38;653:2;642:9;638:18;619:38;:::i;:::-;609:48;;480:183;;;;;:::o;668:264::-;;;797:2;785:9;776:7;772:23;768:32;765:2;;;818:6;810;803:22;765:2;846:29;865:9;846:29;:::i;:::-;836:39;922:2;907:18;;;;894:32;;-1:-1:-1;;;755:177:1:o;937:332::-;;;;1083:2;1071:9;1062:7;1058:23;1054:32;1051:2;;;1104:6;1096;1089:22;1051:2;1132:29;1151:9;1132:29;:::i;:::-;1122:39;1208:2;1193:18;;1180:32;;-1:-1:-1;1259:2:1;1244:18;;;1231:32;;1041:228;-1:-1:-1;;;1041:228:1:o;1274:954::-;;1389:2;1432;1420:9;1411:7;1407:23;1403:32;1400:2;;;1453:6;1445;1438:22;1400:2;1498:9;1485:23;1531:18;1523:6;1520:30;1517:2;;;1568:6;1560;1553:22;1517:2;1596:22;;1649:4;1641:13;;1637:27;-1:-1:-1;1627:2:1;;1683:6;1675;1668:22;1627:2;1724;1711:16;1747:60;1763:43;1803:2;1763:43;:::i;:::-;1747:60;:::i;:::-;1841:15;;;1872:12;;;;1904:11;;;1942;;;1934:20;;1930:29;;1927:42;-1:-1:-1;1924:2:1;;;1987:6;1979;1972:22;1924:2;2014:6;2005:15;;2029:169;2043:2;2040:1;2037:9;2029:169;;;2100:23;2119:3;2100:23;:::i;:::-;2088:36;;2061:1;2054:9;;;;;2144:12;;;;2176;;2029:169;;;-1:-1:-1;2217:5:1;1369:859;-1:-1:-1;;;;;;;1369:859:1:o;2233:1219::-;;2374:2;2417;2405:9;2396:7;2392:23;2388:32;2385:2;;;2438:6;2430;2423:22;2385:2;2483:9;2470:23;2516:18;2508:6;2505:30;2502:2;;;2553:6;2545;2538:22;2502:2;2581:22;;2634:4;2626:13;;2622:27;-1:-1:-1;2612:2:1;;2668:6;2660;2653:22;2612:2;2709;2696:16;2732:60;2748:43;2788:2;2748:43;:::i;2732:60::-;2826:15;;;2857:12;;;;2889:11;;;2919:4;2950:11;;;2942:20;;2938:29;;2935:42;-1:-1:-1;2932:2:1;;;2995:6;2987;2980:22;2932:2;3022:6;3013:15;;3037:385;3051:2;3048:1;3045:9;3037:385;;;3122:2;3116:3;3107:7;3103:17;3099:26;3096:2;;;3143:6;3135;3128:22;3096:2;3178:19;3194:2;3178:19;:::i;:::-;3224:23;3243:3;3224:23;:::i;:::-;3217:5;3210:38;3284:32;3312:2;3307:3;3303:12;3284:32;:::i;:::-;3268:14;;;3261:56;3330:18;;3069:1;3062:9;;;;;3368:12;;;;3400;;;;3037:385;;;-1:-1:-1;3441:5:1;;2354:1098;-1:-1:-1;;;;;;;;2354:1098:1:o;3457:297::-;;3577:2;3565:9;3556:7;3552:23;3548:32;3545:2;;;3598:6;3590;3583:22;3545:2;3635:9;3629:16;3688:5;3681:13;3674:21;3667:5;3664:32;3654:2;;3715:6;3707;3700:22;3759:194;;3882:2;3870:9;3861:7;3857:23;3853:32;3850:2;;;3903:6;3895;3888:22;3850:2;-1:-1:-1;3931:16:1;;3840:113;-1:-1:-1;3840:113:1:o;3958:293::-;;4079:2;4067:9;4058:7;4054:23;4050:32;4047:2;;;4100:6;4092;4085:22;4047:2;4137:9;4131:16;4187:4;4180:5;4176:16;4169:5;4166:27;4156:2;;4212:6;4204;4197:22;4256:430;;4423:6;4417:13;4448:3;4460:129;4474:6;4471:1;4468:13;4460:129;;;4572:4;4556:14;;;4552:25;;4546:32;4533:11;;;4526:53;4489:12;4460:129;;;4607:6;4604:1;4601:13;4598:2;;;4642:3;4633:6;4628:3;4624:16;4617:29;4598:2;-1:-1:-1;4664:16:1;;;;;4393:293;-1:-1:-1;;4393:293:1:o;5208:661::-;5379:2;5431:21;;;5501:13;;5404:18;;;5523:22;;;5208:661;;5379:2;5602:15;;;;5576:2;5561:18;;;5208:661;5648:195;5662:6;5659:1;5656:13;5648:195;;;5727:13;;-1:-1:-1;;;;;5723:39:1;5711:52;;5818:15;;;;5783:12;;;;5759:1;5677:9;5648:195;;;-1:-1:-1;5860:3:1;;5359:510;-1:-1:-1;;;;;;5359:510:1:o;6515:403::-;6717:2;6699:21;;;6756:2;6736:18;;;6729:30;6795:34;6790:2;6775:18;;6768:62;-1:-1:-1;;;6861:2:1;6846:18;;6839:37;6908:3;6893:19;;6689:229::o;7105:275::-;7176:2;7170:9;7241:2;7222:13;;-1:-1:-1;;7218:27:1;7206:40;;7276:18;7261:34;;7297:22;;;7258:62;7255:2;;;7323:18;;:::i;:::-;7359:2;7352:22;7150:230;;-1:-1:-1;7150:230:1:o;7385:186::-;;7478:18;7470:6;7467:30;7464:2;;;7500:18;;:::i;:::-;-1:-1:-1;7560:4:1;7541:17;;;7537:28;;7454:117::o;7576:128::-;;7647:1;7643:6;7640:1;7637:13;7634:2;;;7653:18;;:::i;:::-;-1:-1:-1;7689:9:1;;7624:80::o;7709:217::-;;7775:1;7765:2;;-1:-1:-1;;;7800:31:1;;7854:4;7851:1;7844:15;7882:4;7807:1;7872:15;7765:2;-1:-1:-1;7911:9:1;;7755:171::o;7931:453::-;8027:6;8050:5;8064:314;8113:1;8150:2;8140:8;8137:16;8127:2;;8157:5;;;8127:2;8198:4;8193:3;8189:14;8183:4;8180:24;8177:2;;;8207:18;;:::i;:::-;8257:2;8247:8;8243:17;8240:2;;;8272:16;;;;8240:2;8351:17;;;;;8311:15;;8064:314;;;8008:376;;;;;;;:::o;8389:139::-;;8478:44;-1:-1:-1;;8505:8:1;8499:4;8533:922;8617:8;8607:2;;-1:-1:-1;8658:1:1;8672:5;;8607:2;8706:4;8696:2;;-1:-1:-1;8743:1:1;8757:5;;8696:2;8788:4;8806:1;8801:59;;;;8874:1;8869:183;;;;8781:271;;8801:59;8831:1;8822:10;;8845:5;;;8869:183;8906:3;8896:8;8893:17;8890:2;;;8913:18;;:::i;:::-;8969:1;8959:8;8955:16;8946:25;;8997:3;8990:5;8987:14;8984:2;;;9004:18;;:::i;:::-;9037:5;;;8781:271;;9136:2;9126:8;9123:16;9117:3;9111:4;9108:13;9104:36;9098:2;9088:8;9085:16;9080:2;9074:4;9071:12;9067:35;9064:77;9061:2;;;-1:-1:-1;9173:19:1;;;9208:14;;;9205:2;;;9225:18;;:::i;:::-;9258:5;;9061:2;9305:42;9343:3;9333:8;9327:4;9324:1;9305:42;:::i;:::-;9380:6;9375:3;9371:16;9362:7;9359:29;9356:2;;;9391:18;;:::i;:::-;9429:20;;8597:858;-1:-1:-1;;;;8597:858:1:o;9460:168::-;;9566:1;9562;9558:6;9554:14;9551:1;9548:21;9543:1;9536:9;9529:17;9525:45;9522:2;;;9573:18;;:::i;:::-;-1:-1:-1;9613:9:1;;9512:116::o;9633:125::-;;9701:1;9698;9695:8;9692:2;;;9706:18;;:::i;:::-;-1:-1:-1;9743:9:1;;9682:76::o;9763:135::-;;-1:-1:-1;;9823:17:1;;9820:2;;;9843:18;;:::i;:::-;-1:-1:-1;9890:1:1;9879:13;;9810:88::o;9903:127::-;9964:10;9959:3;9955:20;9952:1;9945:31;9995:4;9992:1;9985:15;10019:4;10016:1;10009:15;10035:127;10096:10;10091:3;10087:20;10084:1;10077:31;10127:4;10124:1;10117:15;10151:4;10148:1;10141:15
Swarm Source
ipfs://d3eff517ea05bcbfc1b0f165b919965a9871008920f722510f534c328b9e115f
Loading...
Loading
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.