Overview
ETH Balance
0 ETH
Eth Value
$0.00Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
TvlAdapterIronBank
Compiler Version
v0.8.2+commit.661d1103
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2021-04-15
*/
/**
*Submitted for verification at Etherscan.io on 2021-04-14
*/
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.2;
/*******************************************************
* Interfaces *
*******************************************************/
interface CyToken {
function underlying() external view returns (address);
function exchangeRateStored() external view returns (uint256);
function getCash() external view returns (uint256);
function totalBorrows() external view returns (uint256);
function totalReserves() external view returns (uint256);
function balanceOf() external view returns (uint256);
function borrowBalanceStored() external view returns (uint256);
function decimals() external view returns (uint8);
}
interface IERC20 {
function decimals() external view returns (uint8);
}
interface IOracle {
function getNormalizedValueUsdc(address tokenAddress, uint256 amount)
external
view
returns (uint256);
function getNormalizedValueUsdc(
address tokenAddress,
uint256 amount,
uint256 priceUsdc
) external view returns (uint256);
function getPriceUsdcRecommended(address tokenAddress)
external
view
returns (uint256);
}
interface IDelegationMapping {
function assetBalanceIsDelegated(address) external view returns (bool);
}
interface IAddressesGenerator {
function assetsAddresses() external view returns (address[] memory);
function assetsLength() external view returns (uint256);
}
/*******************************************************
* Adapter Logic *
*******************************************************/
contract TvlAdapterIronBank {
/*******************************************************
* Common code shared by all adapters *
*******************************************************/
IOracle public oracle; // The oracle is used to fetch USDC normalized pricing data
IAddressesGenerator public addressesGenerator; // A utility for fetching assets addresses and length
IDelegationMapping public delegationMapping;
/**
* TVL breakdown for an asset
*/
struct AssetTvlBreakdown {
address assetId; // Asset address
address tokenId; // Token address
uint256 tokenPriceUsdc; // Token price in USDC
uint256 underlyingTokenBalance; // Amount of underlying token in asset
uint256 delegatedBalance; // Amount of underlying token balance that is delegated
uint256 adjustedBalance; // underlyingTokenBalance - delegatedBalance
uint256 adjustedBalanceUsdc; // TVL
}
/**
* Information about the adapter
*/
struct AdapterInfo {
address id; // Adapter address
string typeId; // Adapter typeId (for example "VAULT_V2" or "IRON_BANK_MARKET")
string categoryId; // Adapter categoryId (for example "VAULT")
}
/**
* Configure adapter
*/
constructor(
address _oracleAddress,
address _addressesGeneratorAddress,
address _delegationMappingAddress
) {
oracle = IOracle(_oracleAddress);
addressesGenerator = IAddressesGenerator(_addressesGeneratorAddress);
delegationMapping = IDelegationMapping(_delegationMappingAddress);
}
/**
* Fetch the total number of assets for this adapter
*/
function assetsLength() public view returns (uint256) {
return addressesGenerator.assetsLength();
}
/**
* Fetch all asset addresses for this adapter
*/
function assetsAddresses() public view returns (address[] memory) {
return addressesGenerator.assetsAddresses();
}
// Fetch TVL breakdown for adapter given an array of addresses
function assetsTvlBreakdown(address[] memory _assetsAddresses)
public
view
returns (AssetTvlBreakdown[] memory)
{
uint256 numberOfAssets = _assetsAddresses.length;
AssetTvlBreakdown[] memory tvlData =
new AssetTvlBreakdown[](numberOfAssets);
for (uint256 assetIdx = 0; assetIdx < numberOfAssets; assetIdx++) {
address assetAddress = _assetsAddresses[assetIdx];
tvlData[assetIdx] = assetTvlBreakdown(assetAddress);
}
return tvlData;
}
/**
* Fetch TVL breakdown for adapter
*/
function assetsTvlBreakdown()
external
view
returns (AssetTvlBreakdown[] memory)
{
address[] memory _assetsAddresses = assetsAddresses();
return assetsTvlBreakdown(_assetsAddresses);
}
/**
* Fetch TVL breakdown of an asset
*/
function assetTvlBreakdown(address assetAddress)
public
view
returns (AssetTvlBreakdown memory)
{
address tokenAddress = underlyingTokenAddress(assetAddress);
uint256 underlyingBalanceAmount = assetBalance(assetAddress);
uint256 delegatedBalanceAmount = assetDelegatedBalance(assetAddress);
uint256 adjustedBalance =
underlyingBalanceAmount - delegatedBalanceAmount;
uint256 tokenPriceUsdc = oracle.getPriceUsdcRecommended(tokenAddress);
return
AssetTvlBreakdown({
assetId: assetAddress,
tokenId: tokenAddress,
tokenPriceUsdc: tokenPriceUsdc,
underlyingTokenBalance: underlyingBalanceAmount,
delegatedBalance: delegatedBalanceAmount,
adjustedBalance: adjustedBalance,
adjustedBalanceUsdc: oracle.getNormalizedValueUsdc(
tokenAddress,
adjustedBalance,
tokenPriceUsdc
)
});
}
/**
* Fetch TVL for adapter in USDC
*/
function assetsTvlUsdc(address[] memory _assetsAddresses)
public
view
returns (uint256)
{
uint256 tvl;
uint256 numberOfAssets = assetsLength();
for (uint256 assetIdx = 0; assetIdx < numberOfAssets; assetIdx++) {
address assetAddress = _assetsAddresses[assetIdx];
uint256 _assetTvl = assetTvlUsdc(assetAddress);
tvl += _assetTvl;
}
return tvl;
}
/**
* Fetch TVL for adapter in USDC given an array of addresses
*/
function assetsTvlUsdc() external view returns (uint256) {
address[] memory _assetsAddresses = assetsAddresses();
return assetsTvlUsdc(_assetsAddresses);
}
/*******************************************************
* Asset-specific Logic *
*******************************************************/
/**
* Fetch adapter info
*/
function adapterInfo() public view returns (AdapterInfo memory) {
return
AdapterInfo({
id: address(this),
typeId: "IRON_BANK_MARKET",
categoryId: "LENDING"
});
}
/**
* Fetch the underlying token address of an asset
*/
function underlyingTokenAddress(address assetAddress)
public
view
returns (address)
{
CyToken cyToken = CyToken(assetAddress);
address tokenAddress = cyToken.underlying();
return tokenAddress;
}
/**
* Fetch asset balance in underlying tokens
*/
function assetBalance(address assetAddress) public view returns (uint256) {
CyToken cyToken = CyToken(assetAddress);
uint256 cash = cyToken.getCash();
uint256 totalBorrows = cyToken.totalBorrows();
uint256 totalReserves = cyToken.totalReserves();
uint256 totalSupplied = (cash + totalBorrows - totalReserves);
return totalSupplied;
}
/**
* Fetch TVL of an asset in USDC
*/
function assetTvlUsdc(address assetAddress) public view returns (uint256) {
address tokenAddress = underlyingTokenAddress(assetAddress);
uint256 underlyingBalanceAmount = assetBalance(assetAddress);
uint256 delegatedBalanceAmount = assetDelegatedBalance(assetAddress);
uint256 adjustedBalanceAmount =
underlyingBalanceAmount - delegatedBalanceAmount;
uint256 adjustedBalanceUsdc =
oracle.getNormalizedValueUsdc(tokenAddress, adjustedBalanceAmount);
return adjustedBalanceUsdc;
}
function assetDelegatedBalance(address assetAddress)
public
view
returns (uint256)
{
bool balanceIsDelegated =
delegationMapping.assetBalanceIsDelegated(assetAddress);
if (balanceIsDelegated) {
return assetBalance(assetAddress);
}
return 0;
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_oracleAddress","type":"address"},{"internalType":"address","name":"_addressesGeneratorAddress","type":"address"},{"internalType":"address","name":"_delegationMappingAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"adapterInfo","outputs":[{"components":[{"internalType":"address","name":"id","type":"address"},{"internalType":"string","name":"typeId","type":"string"},{"internalType":"string","name":"categoryId","type":"string"}],"internalType":"struct TvlAdapterIronBank.AdapterInfo","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addressesGenerator","outputs":[{"internalType":"contract IAddressesGenerator","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"assetAddress","type":"address"}],"name":"assetBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"assetAddress","type":"address"}],"name":"assetDelegatedBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"assetAddress","type":"address"}],"name":"assetTvlBreakdown","outputs":[{"components":[{"internalType":"address","name":"assetId","type":"address"},{"internalType":"address","name":"tokenId","type":"address"},{"internalType":"uint256","name":"tokenPriceUsdc","type":"uint256"},{"internalType":"uint256","name":"underlyingTokenBalance","type":"uint256"},{"internalType":"uint256","name":"delegatedBalance","type":"uint256"},{"internalType":"uint256","name":"adjustedBalance","type":"uint256"},{"internalType":"uint256","name":"adjustedBalanceUsdc","type":"uint256"}],"internalType":"struct TvlAdapterIronBank.AssetTvlBreakdown","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"assetAddress","type":"address"}],"name":"assetTvlUsdc","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"assetsAddresses","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"assetsLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"assetsTvlBreakdown","outputs":[{"components":[{"internalType":"address","name":"assetId","type":"address"},{"internalType":"address","name":"tokenId","type":"address"},{"internalType":"uint256","name":"tokenPriceUsdc","type":"uint256"},{"internalType":"uint256","name":"underlyingTokenBalance","type":"uint256"},{"internalType":"uint256","name":"delegatedBalance","type":"uint256"},{"internalType":"uint256","name":"adjustedBalance","type":"uint256"},{"internalType":"uint256","name":"adjustedBalanceUsdc","type":"uint256"}],"internalType":"struct TvlAdapterIronBank.AssetTvlBreakdown[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"_assetsAddresses","type":"address[]"}],"name":"assetsTvlBreakdown","outputs":[{"components":[{"internalType":"address","name":"assetId","type":"address"},{"internalType":"address","name":"tokenId","type":"address"},{"internalType":"uint256","name":"tokenPriceUsdc","type":"uint256"},{"internalType":"uint256","name":"underlyingTokenBalance","type":"uint256"},{"internalType":"uint256","name":"delegatedBalance","type":"uint256"},{"internalType":"uint256","name":"adjustedBalance","type":"uint256"},{"internalType":"uint256","name":"adjustedBalanceUsdc","type":"uint256"}],"internalType":"struct TvlAdapterIronBank.AssetTvlBreakdown[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"_assetsAddresses","type":"address[]"}],"name":"assetsTvlUsdc","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"assetsTvlUsdc","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"delegationMapping","outputs":[{"internalType":"contract IDelegationMapping","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"oracle","outputs":[{"internalType":"contract IOracle","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"assetAddress","type":"address"}],"name":"underlyingTokenAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]Contract Creation Code
60806040523480156200001157600080fd5b5060405162001afb38038062001afb833981810160405281019062000037919062000119565b826000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050620001bd565b6000815190506200011381620001a3565b92915050565b6000806000606084860312156200012f57600080fd5b60006200013f8682870162000102565b9350506020620001528682870162000102565b9250506040620001658682870162000102565b9150509250925092565b60006200017c8262000183565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b620001ae816200016f565b8114620001ba57600080fd5b50565b61192e80620001cd6000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c8063a96e830311610097578063cd88e55811610066578063cd88e5581461028c578063d2377b55146102bc578063f50477a2146102ec578063f75c04711461030a576100f5565b8063a96e8303146101de578063baac517b1461020e578063c10e0eeb1461023e578063caa5a86d1461025c576100f5565b80637dc0d1d0116100d35780637dc0d1d01461016657806393c1bddc14610184578063a31091c7146101a2578063a704abca146101c0576100f5565b80630ca33a05146100fa57806332ade4791461012a5780636227d2de14610148575b600080fd5b610114600480360381019061010f919061103d565b61033a565b604051610121919061155f565b60405180910390f35b6101326103d4565b60405161013f91906114ec565b60405180910390f35b6101506103fa565b60405161015d91906114af565b60405180910390f35b61016e610417565b60405161017b9190611507565b60405180910390f35b61018c61043b565b604051610199919061155f565b60405180910390f35b6101aa610457565b6040516101b7919061148d565b60405180910390f35b6101c8610503565b6040516101d591906114d1565b60405180910390f35b6101f860048036038101906101f39190610feb565b610529565b6040516102059190611412565b60405180910390f35b61022860048036038101906102239190610feb565b6105bb565b6040516102359190611544565b60405180910390f35b6102466107bf565b6040516102539190611522565b60405180910390f35b6102766004803603810190610271919061103d565b610867565b60405161028391906114af565b60405180910390f35b6102a660048036038101906102a19190610feb565b6109a9565b6040516102b3919061155f565b60405180910390f35b6102d660048036038101906102d19190610feb565b610b5d565b6040516102e3919061155f565b60405180910390f35b6102f4610c52565b604051610301919061155f565b60405180910390f35b610324600480360381019061031f9190610feb565b610cf9565b604051610331919061155f565b60405180910390f35b6000806000610347610c52565b905060005b818110156103c957600085828151811061038f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151905060006103a482610b5d565b905080856103b29190611659565b9450505080806103c1906117fb565b91505061034c565b508192505050919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606000610406610457565b905061041181610867565b91505090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080610446610457565b90506104518161033a565b91505090565b6060600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a31091c76040518163ffffffff1660e01b815260040160006040518083038186803b1580156104c157600080fd5b505afa1580156104d5573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906104fe919061107e565b905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008082905060008173ffffffffffffffffffffffffffffffffffffffff16636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b15801561057757600080fd5b505afa15801561058b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105af9190611014565b90508092505050919050565b6105c3610dcb565b60006105ce83610529565b905060006105db846109a9565b905060006105e885610cf9565b9050600081836105f891906116af565b905060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663482ba306866040518263ffffffff1660e01b81526004016106569190611412565b60206040518083038186803b15801561066e57600080fd5b505afa158015610682573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106a691906110e8565b90506040518060e001604052808873ffffffffffffffffffffffffffffffffffffffff1681526020018673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200185815260200184815260200183815260200160008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d02d20aa8886866040518463ffffffff1660e01b815260040161076093929190611456565b60206040518083038186803b15801561077857600080fd5b505afa15801561078c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b091906110e8565b81525095505050505050919050565b6107c7610e34565b60405180606001604052803073ffffffffffffffffffffffffffffffffffffffff1681526020016040518060400160405280601081526020017f49524f4e5f42414e4b5f4d41524b45540000000000000000000000000000000081525081526020016040518060400160405280600781526020017f4c454e44494e4700000000000000000000000000000000000000000000000000815250815250905090565b606060008251905060008167ffffffffffffffff8111156108b1577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156108ea57816020015b6108d7610dcb565b8152602001906001900390816108cf5790505b50905060005b8281101561099e576000858281518110610933577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101519050610946816105bb565b83838151811061097f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010181905250508080610996906117fb565b9150506108f0565b508092505050919050565b60008082905060008173ffffffffffffffffffffffffffffffffffffffff16633b1d21a26040518163ffffffff1660e01b815260040160206040518083038186803b1580156109f757600080fd5b505afa158015610a0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2f91906110e8565b905060008273ffffffffffffffffffffffffffffffffffffffff166347bd37186040518163ffffffff1660e01b815260040160206040518083038186803b158015610a7957600080fd5b505afa158015610a8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab191906110e8565b905060008373ffffffffffffffffffffffffffffffffffffffff16638f840ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610afb57600080fd5b505afa158015610b0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b3391906110e8565b90506000818385610b449190611659565b610b4e91906116af565b90508095505050505050919050565b600080610b6983610529565b90506000610b76846109a9565b90506000610b8385610cf9565b905060008183610b9391906116af565b905060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638a7f668086846040518363ffffffff1660e01b8152600401610bf392919061142d565b60206040518083038186803b158015610c0b57600080fd5b505afa158015610c1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4391906110e8565b90508095505050505050919050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f50477a26040518163ffffffff1660e01b815260040160206040518083038186803b158015610cbc57600080fd5b505afa158015610cd0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf491906110e8565b905090565b600080600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166391814920846040518263ffffffff1660e01b8152600401610d579190611412565b60206040518083038186803b158015610d6f57600080fd5b505afa158015610d83573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610da791906110bf565b90508015610dc057610db8836109a9565b915050610dc6565b60009150505b919050565b6040518060e00160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081526020016000815260200160008152602001600081525090565b6040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff16815260200160608152602001606081525090565b6000610e7e610e798461159f565b61157a565b90508083825260208201905082856020860282011115610e9d57600080fd5b60005b85811015610ecd5781610eb38882610f43565b845260208401935060208301925050600181019050610ea0565b5050509392505050565b6000610eea610ee58461159f565b61157a565b90508083825260208201905082856020860282011115610f0957600080fd5b60005b85811015610f395781610f1f8882610f58565b845260208401935060208301925050600181019050610f0c565b5050509392505050565b600081359050610f52816118b3565b92915050565b600081519050610f67816118b3565b92915050565b600082601f830112610f7e57600080fd5b8135610f8e848260208601610e6b565b91505092915050565b600082601f830112610fa857600080fd5b8151610fb8848260208601610ed7565b91505092915050565b600081519050610fd0816118ca565b92915050565b600081519050610fe5816118e1565b92915050565b600060208284031215610ffd57600080fd5b600061100b84828501610f43565b91505092915050565b60006020828403121561102657600080fd5b600061103484828501610f58565b91505092915050565b60006020828403121561104f57600080fd5b600082013567ffffffffffffffff81111561106957600080fd5b61107584828501610f6d565b91505092915050565b60006020828403121561109057600080fd5b600082015167ffffffffffffffff8111156110aa57600080fd5b6110b684828501610f97565b91505092915050565b6000602082840312156110d157600080fd5b60006110df84828501610fc1565b91505092915050565b6000602082840312156110fa57600080fd5b600061110884828501610fd6565b91505092915050565b600061111d8383611141565b60208301905092915050565b600061113583836112d8565b60e08301905092915050565b61114a816116e3565b82525050565b611159816116e3565b82525050565b600061116a826115eb565b6111748185611626565b935061117f836115cb565b8060005b838110156111b05781516111978882611111565b97506111a28361160c565b925050600181019050611183565b5085935050505092915050565b60006111c8826115f6565b6111d28185611637565b93506111dd836115db565b8060005b8381101561120e5781516111f58882611129565b975061120083611619565b9250506001810190506111e1565b5085935050505092915050565b6112248161172b565b82525050565b6112338161174f565b82525050565b61124281611773565b82525050565b600061125382611601565b61125d8185611648565b935061126d818560208601611797565b611276816118a2565b840191505092915050565b60006060830160008301516112996000860182611141565b50602083015184820360208601526112b18282611248565b915050604083015184820360408601526112cb8282611248565b9150508091505092915050565b60e0820160008201516112ee6000850182611141565b5060208201516113016020850182611141565b50604082015161131460408501826113f4565b50606082015161132760608501826113f4565b50608082015161133a60808501826113f4565b5060a082015161134d60a08501826113f4565b5060c082015161136060c08501826113f4565b50505050565b60e08201600082015161137c6000850182611141565b50602082015161138f6020850182611141565b5060408201516113a260408501826113f4565b5060608201516113b560608501826113f4565b5060808201516113c860808501826113f4565b5060a08201516113db60a08501826113f4565b5060c08201516113ee60c08501826113f4565b50505050565b6113fd81611721565b82525050565b61140c81611721565b82525050565b60006020820190506114276000830184611150565b92915050565b60006040820190506114426000830185611150565b61144f6020830184611403565b9392505050565b600060608201905061146b6000830186611150565b6114786020830185611403565b6114856040830184611403565b949350505050565b600060208201905081810360008301526114a7818461115f565b905092915050565b600060208201905081810360008301526114c981846111bd565b905092915050565b60006020820190506114e6600083018461121b565b92915050565b6000602082019050611501600083018461122a565b92915050565b600060208201905061151c6000830184611239565b92915050565b6000602082019050818103600083015261153c8184611281565b905092915050565b600060e0820190506115596000830184611366565b92915050565b60006020820190506115746000830184611403565b92915050565b6000611584611595565b905061159082826117ca565b919050565b6000604051905090565b600067ffffffffffffffff8211156115ba576115b9611873565b5b602082029050602081019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600061166482611721565b915061166f83611721565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156116a4576116a3611844565b5b828201905092915050565b60006116ba82611721565b91506116c583611721565b9250828210156116d8576116d7611844565b5b828203905092915050565b60006116ee82611701565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006117368261173d565b9050919050565b600061174882611701565b9050919050565b600061175a82611761565b9050919050565b600061176c82611701565b9050919050565b600061177e82611785565b9050919050565b600061179082611701565b9050919050565b60005b838110156117b557808201518184015260208101905061179a565b838111156117c4576000848401525b50505050565b6117d3826118a2565b810181811067ffffffffffffffff821117156117f2576117f1611873565b5b80604052505050565b600061180682611721565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561183957611838611844565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b6118bc816116e3565b81146118c757600080fd5b50565b6118d3816116f5565b81146118de57600080fd5b50565b6118ea81611721565b81146118f557600080fd5b5056fea264697066735822122059b26a8de33ffbfd3ebd05777b86ba7b5c40d38d5babc44b478772eb5586cb1564736f6c6343000802003300000000000000000000000083d95e0d5f402511db06817aff3f9ea88224b030000000000000000000000000a0b57619a980dfefd50f24f310ee1b55a40a9d46000000000000000000000000c01a529c01f9399c928a4afc50e25f12d1e5b142
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100f55760003560e01c8063a96e830311610097578063cd88e55811610066578063cd88e5581461028c578063d2377b55146102bc578063f50477a2146102ec578063f75c04711461030a576100f5565b8063a96e8303146101de578063baac517b1461020e578063c10e0eeb1461023e578063caa5a86d1461025c576100f5565b80637dc0d1d0116100d35780637dc0d1d01461016657806393c1bddc14610184578063a31091c7146101a2578063a704abca146101c0576100f5565b80630ca33a05146100fa57806332ade4791461012a5780636227d2de14610148575b600080fd5b610114600480360381019061010f919061103d565b61033a565b604051610121919061155f565b60405180910390f35b6101326103d4565b60405161013f91906114ec565b60405180910390f35b6101506103fa565b60405161015d91906114af565b60405180910390f35b61016e610417565b60405161017b9190611507565b60405180910390f35b61018c61043b565b604051610199919061155f565b60405180910390f35b6101aa610457565b6040516101b7919061148d565b60405180910390f35b6101c8610503565b6040516101d591906114d1565b60405180910390f35b6101f860048036038101906101f39190610feb565b610529565b6040516102059190611412565b60405180910390f35b61022860048036038101906102239190610feb565b6105bb565b6040516102359190611544565b60405180910390f35b6102466107bf565b6040516102539190611522565b60405180910390f35b6102766004803603810190610271919061103d565b610867565b60405161028391906114af565b60405180910390f35b6102a660048036038101906102a19190610feb565b6109a9565b6040516102b3919061155f565b60405180910390f35b6102d660048036038101906102d19190610feb565b610b5d565b6040516102e3919061155f565b60405180910390f35b6102f4610c52565b604051610301919061155f565b60405180910390f35b610324600480360381019061031f9190610feb565b610cf9565b604051610331919061155f565b60405180910390f35b6000806000610347610c52565b905060005b818110156103c957600085828151811061038f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151905060006103a482610b5d565b905080856103b29190611659565b9450505080806103c1906117fb565b91505061034c565b508192505050919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606000610406610457565b905061041181610867565b91505090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080610446610457565b90506104518161033a565b91505090565b6060600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a31091c76040518163ffffffff1660e01b815260040160006040518083038186803b1580156104c157600080fd5b505afa1580156104d5573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906104fe919061107e565b905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008082905060008173ffffffffffffffffffffffffffffffffffffffff16636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b15801561057757600080fd5b505afa15801561058b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105af9190611014565b90508092505050919050565b6105c3610dcb565b60006105ce83610529565b905060006105db846109a9565b905060006105e885610cf9565b9050600081836105f891906116af565b905060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663482ba306866040518263ffffffff1660e01b81526004016106569190611412565b60206040518083038186803b15801561066e57600080fd5b505afa158015610682573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106a691906110e8565b90506040518060e001604052808873ffffffffffffffffffffffffffffffffffffffff1681526020018673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200185815260200184815260200183815260200160008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d02d20aa8886866040518463ffffffff1660e01b815260040161076093929190611456565b60206040518083038186803b15801561077857600080fd5b505afa15801561078c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b091906110e8565b81525095505050505050919050565b6107c7610e34565b60405180606001604052803073ffffffffffffffffffffffffffffffffffffffff1681526020016040518060400160405280601081526020017f49524f4e5f42414e4b5f4d41524b45540000000000000000000000000000000081525081526020016040518060400160405280600781526020017f4c454e44494e4700000000000000000000000000000000000000000000000000815250815250905090565b606060008251905060008167ffffffffffffffff8111156108b1577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156108ea57816020015b6108d7610dcb565b8152602001906001900390816108cf5790505b50905060005b8281101561099e576000858281518110610933577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101519050610946816105bb565b83838151811061097f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010181905250508080610996906117fb565b9150506108f0565b508092505050919050565b60008082905060008173ffffffffffffffffffffffffffffffffffffffff16633b1d21a26040518163ffffffff1660e01b815260040160206040518083038186803b1580156109f757600080fd5b505afa158015610a0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2f91906110e8565b905060008273ffffffffffffffffffffffffffffffffffffffff166347bd37186040518163ffffffff1660e01b815260040160206040518083038186803b158015610a7957600080fd5b505afa158015610a8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab191906110e8565b905060008373ffffffffffffffffffffffffffffffffffffffff16638f840ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610afb57600080fd5b505afa158015610b0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b3391906110e8565b90506000818385610b449190611659565b610b4e91906116af565b90508095505050505050919050565b600080610b6983610529565b90506000610b76846109a9565b90506000610b8385610cf9565b905060008183610b9391906116af565b905060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638a7f668086846040518363ffffffff1660e01b8152600401610bf392919061142d565b60206040518083038186803b158015610c0b57600080fd5b505afa158015610c1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4391906110e8565b90508095505050505050919050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f50477a26040518163ffffffff1660e01b815260040160206040518083038186803b158015610cbc57600080fd5b505afa158015610cd0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf491906110e8565b905090565b600080600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166391814920846040518263ffffffff1660e01b8152600401610d579190611412565b60206040518083038186803b158015610d6f57600080fd5b505afa158015610d83573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610da791906110bf565b90508015610dc057610db8836109a9565b915050610dc6565b60009150505b919050565b6040518060e00160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081526020016000815260200160008152602001600081525090565b6040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff16815260200160608152602001606081525090565b6000610e7e610e798461159f565b61157a565b90508083825260208201905082856020860282011115610e9d57600080fd5b60005b85811015610ecd5781610eb38882610f43565b845260208401935060208301925050600181019050610ea0565b5050509392505050565b6000610eea610ee58461159f565b61157a565b90508083825260208201905082856020860282011115610f0957600080fd5b60005b85811015610f395781610f1f8882610f58565b845260208401935060208301925050600181019050610f0c565b5050509392505050565b600081359050610f52816118b3565b92915050565b600081519050610f67816118b3565b92915050565b600082601f830112610f7e57600080fd5b8135610f8e848260208601610e6b565b91505092915050565b600082601f830112610fa857600080fd5b8151610fb8848260208601610ed7565b91505092915050565b600081519050610fd0816118ca565b92915050565b600081519050610fe5816118e1565b92915050565b600060208284031215610ffd57600080fd5b600061100b84828501610f43565b91505092915050565b60006020828403121561102657600080fd5b600061103484828501610f58565b91505092915050565b60006020828403121561104f57600080fd5b600082013567ffffffffffffffff81111561106957600080fd5b61107584828501610f6d565b91505092915050565b60006020828403121561109057600080fd5b600082015167ffffffffffffffff8111156110aa57600080fd5b6110b684828501610f97565b91505092915050565b6000602082840312156110d157600080fd5b60006110df84828501610fc1565b91505092915050565b6000602082840312156110fa57600080fd5b600061110884828501610fd6565b91505092915050565b600061111d8383611141565b60208301905092915050565b600061113583836112d8565b60e08301905092915050565b61114a816116e3565b82525050565b611159816116e3565b82525050565b600061116a826115eb565b6111748185611626565b935061117f836115cb565b8060005b838110156111b05781516111978882611111565b97506111a28361160c565b925050600181019050611183565b5085935050505092915050565b60006111c8826115f6565b6111d28185611637565b93506111dd836115db565b8060005b8381101561120e5781516111f58882611129565b975061120083611619565b9250506001810190506111e1565b5085935050505092915050565b6112248161172b565b82525050565b6112338161174f565b82525050565b61124281611773565b82525050565b600061125382611601565b61125d8185611648565b935061126d818560208601611797565b611276816118a2565b840191505092915050565b60006060830160008301516112996000860182611141565b50602083015184820360208601526112b18282611248565b915050604083015184820360408601526112cb8282611248565b9150508091505092915050565b60e0820160008201516112ee6000850182611141565b5060208201516113016020850182611141565b50604082015161131460408501826113f4565b50606082015161132760608501826113f4565b50608082015161133a60808501826113f4565b5060a082015161134d60a08501826113f4565b5060c082015161136060c08501826113f4565b50505050565b60e08201600082015161137c6000850182611141565b50602082015161138f6020850182611141565b5060408201516113a260408501826113f4565b5060608201516113b560608501826113f4565b5060808201516113c860808501826113f4565b5060a08201516113db60a08501826113f4565b5060c08201516113ee60c08501826113f4565b50505050565b6113fd81611721565b82525050565b61140c81611721565b82525050565b60006020820190506114276000830184611150565b92915050565b60006040820190506114426000830185611150565b61144f6020830184611403565b9392505050565b600060608201905061146b6000830186611150565b6114786020830185611403565b6114856040830184611403565b949350505050565b600060208201905081810360008301526114a7818461115f565b905092915050565b600060208201905081810360008301526114c981846111bd565b905092915050565b60006020820190506114e6600083018461121b565b92915050565b6000602082019050611501600083018461122a565b92915050565b600060208201905061151c6000830184611239565b92915050565b6000602082019050818103600083015261153c8184611281565b905092915050565b600060e0820190506115596000830184611366565b92915050565b60006020820190506115746000830184611403565b92915050565b6000611584611595565b905061159082826117ca565b919050565b6000604051905090565b600067ffffffffffffffff8211156115ba576115b9611873565b5b602082029050602081019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600061166482611721565b915061166f83611721565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156116a4576116a3611844565b5b828201905092915050565b60006116ba82611721565b91506116c583611721565b9250828210156116d8576116d7611844565b5b828203905092915050565b60006116ee82611701565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006117368261173d565b9050919050565b600061174882611701565b9050919050565b600061175a82611761565b9050919050565b600061176c82611701565b9050919050565b600061177e82611785565b9050919050565b600061179082611701565b9050919050565b60005b838110156117b557808201518184015260208101905061179a565b838111156117c4576000848401525b50505050565b6117d3826118a2565b810181811067ffffffffffffffff821117156117f2576117f1611873565b5b80604052505050565b600061180682611721565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561183957611838611844565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b6118bc816116e3565b81146118c757600080fd5b50565b6118d3816116f5565b81146118de57600080fd5b50565b6118ea81611721565b81146118f557600080fd5b5056fea264697066735822122059b26a8de33ffbfd3ebd05777b86ba7b5c40d38d5babc44b478772eb5586cb1564736f6c63430008020033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000083d95e0d5f402511db06817aff3f9ea88224b030000000000000000000000000a0b57619a980dfefd50f24f310ee1b55a40a9d46000000000000000000000000c01a529c01f9399c928a4afc50e25f12d1e5b142
-----Decoded View---------------
Arg [0] : _oracleAddress (address): 0x83d95e0D5f402511dB06817Aff3f9eA88224B030
Arg [1] : _addressesGeneratorAddress (address): 0xa0B57619A980DFEfD50f24F310EE1b55A40A9D46
Arg [2] : _delegationMappingAddress (address): 0xC01a529c01f9399c928a4aFc50E25f12D1e5b142
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 00000000000000000000000083d95e0d5f402511db06817aff3f9ea88224b030
Arg [1] : 000000000000000000000000a0b57619a980dfefd50f24f310ee1b55a40a9d46
Arg [2] : 000000000000000000000000c01a529c01f9399c928a4afc50e25f12d1e5b142
Deployed Bytecode Sourcemap
1835:7269:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6090:465;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2253:43;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4619:239;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2059:21;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6647:178;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3793:128;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2147:45;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7400:258;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4924:1102;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7067:252;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3997:556;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7733:392;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8189:563;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3603:113;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8760:341;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6090:465;6196:7;6221:11;6243:22;6268:14;:12;:14::i;:::-;6243:39;;6298:16;6293:234;6331:14;6320:8;:25;6293:234;;;6374:20;6397:16;6414:8;6397:26;;;;;;;;;;;;;;;;;;;;;;6374:49;;6438:17;6458:26;6471:12;6458;:26::i;:::-;6438:46;;6506:9;6499:16;;;;;:::i;:::-;;;6293:234;;6347:10;;;;;:::i;:::-;;;;6293:234;;;;6544:3;6537:10;;;;6090:465;;;:::o;2253:43::-;;;;;;;;;;;;;:::o;4619:239::-;4699:26;4743:33;4779:17;:15;:17::i;:::-;4743:53;;4814:36;4833:16;4814:18;:36::i;:::-;4807:43;;;4619:239;:::o;2059:21::-;;;;;;;;;;;;:::o;6647:178::-;6695:7;6715:33;6751:17;:15;:17::i;:::-;6715:53;;6786:31;6800:16;6786:13;:31::i;:::-;6779:38;;;6647:178;:::o;3793:128::-;3841:16;3877:18;;;;;;;;;;;:34;;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3870:43;;3793:128;:::o;2147:45::-;;;;;;;;;;;;;:::o;7400:258::-;7502:7;7527:15;7553:12;7527:39;;7577:20;7600:7;:18;;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7577:43;;7638:12;7631:19;;;;7400:258;;;:::o;4924:1102::-;5021:24;;:::i;:::-;5063:20;5086:36;5109:12;5086:22;:36::i;:::-;5063:59;;5133:31;5167:26;5180:12;5167;:26::i;:::-;5133:60;;5204:30;5237:35;5259:12;5237:21;:35::i;:::-;5204:68;;5283:23;5348:22;5322:23;:48;;;;:::i;:::-;5283:87;;5381:22;5406:6;;;;;;;;;;;:30;;;5437:12;5406:44;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5381:69;;5481:537;;;;;;;;5527:12;5481:537;;;;;;5567:12;5481:537;;;;;;5614:14;5481:537;;;;5671:23;5481:537;;;;5731:22;5481:537;;;;5789:15;5481:537;;;;5844:6;;;;;;;;;;:29;;;5896:12;5931:15;5969:14;5844:158;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5481:537;;;5461:557;;;;;;;4924:1102;;;:::o;7067:252::-;7111:18;;:::i;:::-;7162:149;;;;;;;;7205:4;7162:149;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7142:169;;7067:252;:::o;3997:556::-;4108:26;4152:22;4177:16;:23;4152:48;;4213:34;4287:14;4263:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;4213:89;;4318:16;4313:208;4351:14;4340:8;:25;4313:208;;;4394:20;4417:16;4434:8;4417:26;;;;;;;;;;;;;;;;;;;;;;4394:49;;4478:31;4496:12;4478:17;:31::i;:::-;4458:7;4466:8;4458:17;;;;;;;;;;;;;;;;;;;;;:51;;;;4313:208;4367:10;;;;;:::i;:::-;;;;4313:208;;;;4538:7;4531:14;;;;3997:556;;;:::o;7733:392::-;7798:7;7818:15;7844:12;7818:39;;7868:12;7883:7;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7868:32;;7911:20;7934:7;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7911:45;;7967:21;7991:7;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7967:47;;8025:21;8072:13;8057:12;8050:4;:19;;;;:::i;:::-;:35;;;;:::i;:::-;8025:61;;8104:13;8097:20;;;;;;;7733:392;;;:::o;8189:563::-;8254:7;8274:20;8297:36;8320:12;8297:22;:36::i;:::-;8274:59;;8344:31;8378:26;8391:12;8378;:26::i;:::-;8344:60;;8415:30;8448:35;8470:12;8448:21;:35::i;:::-;8415:68;;8494:29;8565:22;8539:23;:48;;;;:::i;:::-;8494:93;;8598:27;8641:6;;;;;;;;;;;:29;;;8671:12;8685:21;8641:66;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8598:109;;8725:19;8718:26;;;;;;;8189:563;;;:::o;3603:113::-;3648:7;3675:18;;;;;;;;;;;:31;;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3668:40;;3603:113;:::o;8760:341::-;8861:7;8886:23;8925:17;;;;;;;;;;;:41;;;8967:12;8925:55;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8886:94;;8995:18;8991:84;;;9037:26;9050:12;9037;:26::i;:::-;9030:33;;;;;8991:84;9092:1;9085:8;;;8760:341;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;24:623:1:-;;145:81;161:64;218:6;161:64;:::i;:::-;145:81;:::i;:::-;136:90;;246:5;274:6;267:5;260:21;300:4;293:5;289:16;282:23;;325:6;375:3;367:4;359:6;355:17;350:3;346:27;343:36;340:2;;;392:1;389;382:12;340:2;420:1;405:236;430:6;427:1;424:13;405:236;;;497:3;525:37;558:3;546:10;525:37;:::i;:::-;520:3;513:50;592:4;587:3;583:14;576:21;;626:4;621:3;617:14;610:21;;465:176;452:1;449;445:9;440:14;;405:236;;;409:14;126:521;;;;;;;:::o;670:645::-;;802:81;818:64;875:6;818:64;:::i;:::-;802:81;:::i;:::-;793:90;;903:5;931:6;924:5;917:21;957:4;950:5;946:16;939:23;;982:6;1032:3;1024:4;1016:6;1012:17;1007:3;1003:27;1000:36;997:2;;;1049:1;1046;1039:12;997:2;1077:1;1062:247;1087:6;1084:1;1081:13;1062:247;;;1154:3;1182:48;1226:3;1214:10;1182:48;:::i;:::-;1177:3;1170:61;1260:4;1255:3;1251:14;1244:21;;1294:4;1289:3;1285:14;1278:21;;1122:187;1109:1;1106;1102:9;1097:14;;1062:247;;;1066:14;783:532;;;;;;;:::o;1321:139::-;;1405:6;1392:20;1383:29;;1421:33;1448:5;1421:33;:::i;:::-;1373:87;;;;:::o;1466:143::-;;1554:6;1548:13;1539:22;;1570:33;1597:5;1570:33;:::i;:::-;1529:80;;;;:::o;1632:303::-;;1752:3;1745:4;1737:6;1733:17;1729:27;1719:2;;1770:1;1767;1760:12;1719:2;1810:6;1797:20;1835:94;1925:3;1917:6;1910:4;1902:6;1898:17;1835:94;:::i;:::-;1826:103;;1709:226;;;;;:::o;1958:318::-;;2089:3;2082:4;2074:6;2070:17;2066:27;2056:2;;2107:1;2104;2097:12;2056:2;2140:6;2134:13;2165:105;2266:3;2258:6;2251:4;2243:6;2239:17;2165:105;:::i;:::-;2156:114;;2046:230;;;;;:::o;2282:137::-;;2367:6;2361:13;2352:22;;2383:30;2407:5;2383:30;:::i;:::-;2342:77;;;;:::o;2425:143::-;;2513:6;2507:13;2498:22;;2529:33;2556:5;2529:33;:::i;:::-;2488:80;;;;:::o;2574:262::-;;2682:2;2670:9;2661:7;2657:23;2653:32;2650:2;;;2698:1;2695;2688:12;2650:2;2741:1;2766:53;2811:7;2802:6;2791:9;2787:22;2766:53;:::i;:::-;2756:63;;2712:117;2640:196;;;;:::o;2842:284::-;;2961:2;2949:9;2940:7;2936:23;2932:32;2929:2;;;2977:1;2974;2967:12;2929:2;3020:1;3045:64;3101:7;3092:6;3081:9;3077:22;3045:64;:::i;:::-;3035:74;;2991:128;2919:207;;;;:::o;3132:405::-;;3265:2;3253:9;3244:7;3240:23;3236:32;3233:2;;;3281:1;3278;3271:12;3233:2;3352:1;3341:9;3337:17;3324:31;3382:18;3374:6;3371:30;3368:2;;;3414:1;3411;3404:12;3368:2;3442:78;3512:7;3503:6;3492:9;3488:22;3442:78;:::i;:::-;3432:88;;3295:235;3223:314;;;;:::o;3543:420::-;;3687:2;3675:9;3666:7;3662:23;3658:32;3655:2;;;3703:1;3700;3693:12;3655:2;3767:1;3756:9;3752:17;3746:24;3797:18;3789:6;3786:30;3783:2;;;3829:1;3826;3819:12;3783:2;3857:89;3938:7;3929:6;3918:9;3914:22;3857:89;:::i;:::-;3847:99;;3717:239;3645:318;;;;:::o;3969:278::-;;4085:2;4073:9;4064:7;4060:23;4056:32;4053:2;;;4101:1;4098;4091:12;4053:2;4144:1;4169:61;4222:7;4213:6;4202:9;4198:22;4169:61;:::i;:::-;4159:71;;4115:125;4043:204;;;;:::o;4253:284::-;;4372:2;4360:9;4351:7;4347:23;4343:32;4340:2;;;4388:1;4385;4378:12;4340:2;4431:1;4456:64;4512:7;4503:6;4492:9;4488:22;4456:64;:::i;:::-;4446:74;;4402:128;4330:207;;;;:::o;4543:179::-;;4633:46;4675:3;4667:6;4633:46;:::i;:::-;4711:4;4706:3;4702:14;4688:28;;4623:99;;;;:::o;4728:315::-;;4886:114;4996:3;4988:6;4886:114;:::i;:::-;5032:4;5027:3;5023:14;5009:28;;4876:167;;;;:::o;5049:108::-;5126:24;5144:5;5126:24;:::i;:::-;5121:3;5114:37;5104:53;;:::o;5163:118::-;5250:24;5268:5;5250:24;:::i;:::-;5245:3;5238:37;5228:53;;:::o;5317:732::-;;5465:54;5513:5;5465:54;:::i;:::-;5535:86;5614:6;5609:3;5535:86;:::i;:::-;5528:93;;5645:56;5695:5;5645:56;:::i;:::-;5724:7;5755:1;5740:284;5765:6;5762:1;5759:13;5740:284;;;5841:6;5835:13;5868:63;5927:3;5912:13;5868:63;:::i;:::-;5861:70;;5954:60;6007:6;5954:60;:::i;:::-;5944:70;;5800:224;5787:1;5784;5780:9;5775:14;;5740:284;;;5744:14;6040:3;6033:10;;5441:608;;;;;;;:::o;6157:1004::-;;6373:88;6455:5;6373:88;:::i;:::-;6477:120;6590:6;6585:3;6477:120;:::i;:::-;6470:127;;6621:90;6705:5;6621:90;:::i;:::-;6734:7;6765:1;6750:386;6775:6;6772:1;6769:13;6750:386;;;6851:6;6845:13;6878:131;7005:3;6990:13;6878:131;:::i;:::-;6871:138;;7032:94;7119:6;7032:94;:::i;:::-;7022:104;;6810:326;6797:1;6794;6790:9;6785:14;;6750:386;;;6754:14;7152:3;7145:10;;6349:812;;;;;;;:::o;7167:183::-;7280:63;7337:5;7280:63;:::i;:::-;7275:3;7268:76;7258:92;;:::o;7356:181::-;7468:62;7524:5;7468:62;:::i;:::-;7463:3;7456:75;7446:91;;:::o;7543:159::-;7644:51;7689:5;7644:51;:::i;:::-;7639:3;7632:64;7622:80;;:::o;7708:344::-;;7814:39;7847:5;7814:39;:::i;:::-;7869:61;7923:6;7918:3;7869:61;:::i;:::-;7862:68;;7939:52;7984:6;7979:3;7972:4;7965:5;7961:16;7939:52;:::i;:::-;8016:29;8038:6;8016:29;:::i;:::-;8011:3;8007:39;8000:46;;7790:262;;;;;:::o;8144:863::-;;8305:4;8300:3;8296:14;8390:4;8383:5;8379:16;8373:23;8409:63;8466:4;8461:3;8457:14;8443:12;8409:63;:::i;:::-;8320:162;8566:4;8559:5;8555:16;8549:23;8619:3;8613:4;8609:14;8602:4;8597:3;8593:14;8586:38;8645:73;8713:4;8699:12;8645:73;:::i;:::-;8637:81;;8492:237;8817:4;8810:5;8806:16;8800:23;8870:3;8864:4;8860:14;8853:4;8848:3;8844:14;8837:38;8896:73;8964:4;8950:12;8896:73;:::i;:::-;8888:81;;8739:241;8997:4;8990:11;;8274:733;;;;;:::o;9111:1457::-;9266:4;9261:3;9257:14;9356:4;9349:5;9345:16;9339:23;9375:63;9432:4;9427:3;9423:14;9409:12;9375:63;:::i;:::-;9281:167;9533:4;9526:5;9522:16;9516:23;9552:63;9609:4;9604:3;9600:14;9586:12;9552:63;:::i;:::-;9458:167;9717:4;9710:5;9706:16;9700:23;9736:63;9793:4;9788:3;9784:14;9770:12;9736:63;:::i;:::-;9635:174;9909:4;9902:5;9898:16;9892:23;9928:63;9985:4;9980:3;9976:14;9962:12;9928:63;:::i;:::-;9819:182;10095:4;10088:5;10084:16;10078:23;10114:63;10171:4;10166:3;10162:14;10148:12;10114:63;:::i;:::-;10011:176;10280:4;10273:5;10269:16;10263:23;10299:63;10356:4;10351:3;10347:14;10333:12;10299:63;:::i;:::-;10197:175;10469:4;10462:5;10458:16;10452:23;10488:63;10545:4;10540:3;10536:14;10522:12;10488:63;:::i;:::-;10382:179;9235:1333;;;:::o;10672:1467::-;10837:4;10832:3;10828:14;10927:4;10920:5;10916:16;10910:23;10946:63;11003:4;10998:3;10994:14;10980:12;10946:63;:::i;:::-;10852:167;11104:4;11097:5;11093:16;11087:23;11123:63;11180:4;11175:3;11171:14;11157:12;11123:63;:::i;:::-;11029:167;11288:4;11281:5;11277:16;11271:23;11307:63;11364:4;11359:3;11355:14;11341:12;11307:63;:::i;:::-;11206:174;11480:4;11473:5;11469:16;11463:23;11499:63;11556:4;11551:3;11547:14;11533:12;11499:63;:::i;:::-;11390:182;11666:4;11659:5;11655:16;11649:23;11685:63;11742:4;11737:3;11733:14;11719:12;11685:63;:::i;:::-;11582:176;11851:4;11844:5;11840:16;11834:23;11870:63;11927:4;11922:3;11918:14;11904:12;11870:63;:::i;:::-;11768:175;12040:4;12033:5;12029:16;12023:23;12059:63;12116:4;12111:3;12107:14;12093:12;12059:63;:::i;:::-;11953:179;10806:1333;;;:::o;12145:108::-;12222:24;12240:5;12222:24;:::i;:::-;12217:3;12210:37;12200:53;;:::o;12259:118::-;12346:24;12364:5;12346:24;:::i;:::-;12341:3;12334:37;12324:53;;:::o;12383:222::-;;12514:2;12503:9;12499:18;12491:26;;12527:71;12595:1;12584:9;12580:17;12571:6;12527:71;:::i;:::-;12481:124;;;;:::o;12611:332::-;;12770:2;12759:9;12755:18;12747:26;;12783:71;12851:1;12840:9;12836:17;12827:6;12783:71;:::i;:::-;12864:72;12932:2;12921:9;12917:18;12908:6;12864:72;:::i;:::-;12737:206;;;;;:::o;12949:442::-;;13136:2;13125:9;13121:18;13113:26;;13149:71;13217:1;13206:9;13202:17;13193:6;13149:71;:::i;:::-;13230:72;13298:2;13287:9;13283:18;13274:6;13230:72;:::i;:::-;13312;13380:2;13369:9;13365:18;13356:6;13312:72;:::i;:::-;13103:288;;;;;;:::o;13397:373::-;;13578:2;13567:9;13563:18;13555:26;;13627:9;13621:4;13617:20;13613:1;13602:9;13598:17;13591:47;13655:108;13758:4;13749:6;13655:108;:::i;:::-;13647:116;;13545:225;;;;:::o;13776:509::-;;14025:2;14014:9;14010:18;14002:26;;14074:9;14068:4;14064:20;14060:1;14049:9;14045:17;14038:47;14102:176;14273:4;14264:6;14102:176;:::i;:::-;14094:184;;13992:293;;;;:::o;14291:274::-;;14448:2;14437:9;14433:18;14425:26;;14461:97;14555:1;14544:9;14540:17;14531:6;14461:97;:::i;:::-;14415:150;;;;:::o;14571:272::-;;14727:2;14716:9;14712:18;14704:26;;14740:96;14833:1;14822:9;14818:17;14809:6;14740:96;:::i;:::-;14694:149;;;;:::o;14849:250::-;;14994:2;14983:9;14979:18;14971:26;;15007:85;15089:1;15078:9;15074:17;15065:6;15007:85;:::i;:::-;14961:138;;;;:::o;15105:385::-;;15292:2;15281:9;15277:18;15269:26;;15341:9;15335:4;15331:20;15327:1;15316:9;15312:17;15305:47;15369:114;15478:4;15469:6;15369:114;:::i;:::-;15361:122;;15259:231;;;;:::o;15496:359::-;;15695:3;15684:9;15680:19;15672:27;;15709:139;15845:1;15834:9;15830:17;15821:6;15709:139;:::i;:::-;15662:193;;;;:::o;15861:222::-;;15992:2;15981:9;15977:18;15969:26;;16005:71;16073:1;16062:9;16058:17;16049:6;16005:71;:::i;:::-;15959:124;;;;:::o;16089:129::-;;16150:20;;:::i;:::-;16140:30;;16179:33;16207:4;16199:6;16179:33;:::i;:::-;16130:88;;;:::o;16224:75::-;;16290:2;16284:9;16274:19;;16264:35;:::o;16305:311::-;;16472:18;16464:6;16461:30;16458:2;;;16494:18;;:::i;:::-;16458:2;16544:4;16536:6;16532:17;16524:25;;16604:4;16598;16594:15;16586:23;;16387:229;;;:::o;16622:132::-;;16712:3;16704:11;;16742:4;16737:3;16733:14;16725:22;;16694:60;;;:::o;16760:166::-;;16884:3;16876:11;;16914:4;16909:3;16905:14;16897:22;;16866:60;;;:::o;16932:114::-;;17033:5;17027:12;17017:22;;17006:40;;;:::o;17052:148::-;;17187:5;17181:12;17171:22;;17160:40;;;:::o;17206:99::-;;17292:5;17286:12;17276:22;;17265:40;;;:::o;17311:113::-;;17413:4;17408:3;17404:14;17396:22;;17386:38;;;:::o;17430:147::-;;17566:4;17561:3;17557:14;17549:22;;17539:38;;;:::o;17583:184::-;;17716:6;17711:3;17704:19;17756:4;17751:3;17747:14;17732:29;;17694:73;;;;:::o;17773:218::-;;17940:6;17935:3;17928:19;17980:4;17975:3;17971:14;17956:29;;17918:73;;;;:::o;17997:159::-;;18105:6;18100:3;18093:19;18145:4;18140:3;18136:14;18121:29;;18083:73;;;;:::o;18162:305::-;;18221:20;18239:1;18221:20;:::i;:::-;18216:25;;18255:20;18273:1;18255:20;:::i;:::-;18250:25;;18409:1;18341:66;18337:74;18334:1;18331:81;18328:2;;;18415:18;;:::i;:::-;18328:2;18459:1;18456;18452:9;18445:16;;18206:261;;;;:::o;18473:191::-;;18533:20;18551:1;18533:20;:::i;:::-;18528:25;;18567:20;18585:1;18567:20;:::i;:::-;18562:25;;18606:1;18603;18600:8;18597:2;;;18611:18;;:::i;:::-;18597:2;18656:1;18653;18649:9;18641:17;;18518:146;;;;:::o;18670:96::-;;18736:24;18754:5;18736:24;:::i;:::-;18725:35;;18715:51;;;:::o;18772:90::-;;18849:5;18842:13;18835:21;18824:32;;18814:48;;;:::o;18868:126::-;;18945:42;18938:5;18934:54;18923:65;;18913:81;;;:::o;19000:77::-;;19066:5;19055:16;;19045:32;;;:::o;19083:178::-;;19192:63;19249:5;19192:63;:::i;:::-;19179:76;;19169:92;;;:::o;19267:139::-;;19376:24;19394:5;19376:24;:::i;:::-;19363:37;;19353:53;;;:::o;19412:176::-;;19520:62;19576:5;19520:62;:::i;:::-;19507:75;;19497:91;;;:::o;19594:138::-;;19702:24;19720:5;19702:24;:::i;:::-;19689:37;;19679:53;;;:::o;19738:154::-;;19835:51;19880:5;19835:51;:::i;:::-;19822:64;;19812:80;;;:::o;19898:127::-;;19995:24;20013:5;19995:24;:::i;:::-;19982:37;;19972:53;;;:::o;20031:307::-;20099:1;20109:113;20123:6;20120:1;20117:13;20109:113;;;20208:1;20203:3;20199:11;20193:18;20189:1;20184:3;20180:11;20173:39;20145:2;20142:1;20138:10;20133:15;;20109:113;;;20240:6;20237:1;20234:13;20231:2;;;20320:1;20311:6;20306:3;20302:16;20295:27;20231:2;20080:258;;;;:::o;20344:281::-;20427:27;20449:4;20427:27;:::i;:::-;20419:6;20415:40;20557:6;20545:10;20542:22;20521:18;20509:10;20506:34;20503:62;20500:2;;;20568:18;;:::i;:::-;20500:2;20608:10;20604:2;20597:22;20387:238;;;:::o;20631:233::-;;20693:24;20711:5;20693:24;:::i;:::-;20684:33;;20739:66;20732:5;20729:77;20726:2;;;20809:18;;:::i;:::-;20726:2;20856:1;20849:5;20845:13;20838:20;;20674:190;;;:::o;20870:180::-;20918:77;20915:1;20908:88;21015:4;21012:1;21005:15;21039:4;21036:1;21029:15;21056:180;21104:77;21101:1;21094:88;21201:4;21198:1;21191:15;21225:4;21222:1;21215:15;21242:102;;21334:2;21330:7;21325:2;21318:5;21314:14;21310:28;21300:38;;21290:54;;;:::o;21350:122::-;21423:24;21441:5;21423:24;:::i;:::-;21416:5;21413:35;21403:2;;21462:1;21459;21452:12;21403:2;21393:79;:::o;21478:116::-;21548:21;21563:5;21548:21;:::i;:::-;21541:5;21538:32;21528:2;;21584:1;21581;21574:12;21528:2;21518:76;:::o;21600:122::-;21673:24;21691:5;21673:24;:::i;:::-;21666:5;21663:35;21653:2;;21712:1;21709;21702:12;21653:2;21643:79;:::o
Swarm Source
ipfs://59b26a8de33ffbfd3ebd05777b86ba7b5c40d38d5babc44b478772eb5586cb15
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 34 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
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.