Source Code
| Transaction Hash |
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Cross-Chain Transactions
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
CryptoFromPoolsRate
Compiler Version
vyper:0.3.10
Contract Source Code (Vyper language format)
# @version 0.3.10
#pragma optimize gas
#pragma evm-version shanghai
"""
@title CryptoFromPoolsRate
@notice Price oracle for pools which contain cryptos and crvUSD. This is NOT suitable for minted crvUSD - only for lent out
The oracle chains multiple pool oracles, and at the same time applies rate oracles if they are applicable
@author Curve.Fi
@license MIT
"""
MAX_COINS: constant(uint256) = 8
MAX_POOLS: constant(uint256) = 8
interface Pool:
def price_oracle(i: uint256 = 0) -> uint256: view # Universal method!
def coins(i: uint256) -> address: view
def stored_rates() -> DynArray[uint256, MAX_COINS]: view
POOLS: public(immutable(DynArray[Pool, MAX_POOLS]))
BORROWED_IX: public(immutable(DynArray[uint256, MAX_POOLS]))
COLLATERAL_IX: public(immutable(DynArray[uint256, MAX_POOLS]))
NO_ARGUMENT: public(immutable(DynArray[bool, MAX_POOLS]))
POOL_COUNT: public(immutable(uint256))
USE_RATES: public(immutable(DynArray[bool, MAX_POOLS]))
RATE_MAX_SPEED: constant(uint256) = 10**16 / 60 # Max speed of Rate change
cached_timestamp: public(uint256)
cached_rate: public(uint256)
@external
def __init__(
pools: DynArray[Pool, MAX_POOLS],
borrowed_ixs: DynArray[uint256, MAX_POOLS],
collateral_ixs: DynArray[uint256, MAX_POOLS]
):
POOLS = pools
pool_count: uint256 = 0
no_arguments: DynArray[bool, MAX_POOLS] = empty(DynArray[bool, MAX_POOLS])
use_rates: DynArray[bool, MAX_POOLS] = empty(DynArray[bool, MAX_POOLS])
for i in range(MAX_POOLS):
if i == len(pools):
assert i != 0, "Wrong pool counts"
pool_count = i
break
# Find N
N: uint256 = 0
for j in range(MAX_COINS + 1):
success: bool = False
res: Bytes[32] = empty(Bytes[32])
success, res = raw_call(
pools[i].address,
_abi_encode(j, method_id=method_id("coins(uint256)")),
max_outsize=32, is_static_call=True, revert_on_failure=False)
if not success:
assert j != 0, "No coins(0)"
N = j
break
assert borrowed_ixs[i] != collateral_ixs[i]
assert borrowed_ixs[i] < N
assert collateral_ixs[i] < N
# Init variables for raw call
success: bool = False
# Check and record if pool requires coin id in argument or no
if N == 2:
res: Bytes[32] = empty(Bytes[32])
success, res = raw_call(
pools[i].address,
_abi_encode(empty(uint256), method_id=method_id("price_oracle(uint256)")),
max_outsize=32, is_static_call=True, revert_on_failure=False)
if not success:
no_arguments.append(True)
else:
no_arguments.append(False)
else:
no_arguments.append(False)
res: Bytes[1024] = empty(Bytes[1024])
success, res = raw_call(pools[i].address, method_id("stored_rates()"), max_outsize=1024, is_static_call=True, revert_on_failure=False)
stored_rates: DynArray[uint256, MAX_COINS] = empty(DynArray[uint256, MAX_COINS])
if success and len(res) > 0:
stored_rates = _abi_decode(res, DynArray[uint256, MAX_COINS])
u: bool = False
for r in stored_rates:
if r != 10**18:
u = True
use_rates.append(u)
NO_ARGUMENT = no_arguments
BORROWED_IX = borrowed_ixs
COLLATERAL_IX = collateral_ixs
if pool_count == 0:
pool_count = MAX_POOLS
POOL_COUNT = pool_count
USE_RATES = use_rates
@internal
@view
def _raw_stored_rate() -> (uint256, bool):
rate: uint256 = 10**18
use_rates: bool = False
for i in range(MAX_POOLS):
if i == POOL_COUNT:
break
if USE_RATES[i]:
use_rates = True
rates: DynArray[uint256, MAX_COINS] = POOLS[i].stored_rates()
rate = rate * rates[COLLATERAL_IX[i]] / rates[BORROWED_IX[i]]
return rate, use_rates
@internal
@view
def _stored_rate() -> (uint256, bool):
use_rates: bool = False
rate: uint256 = 0
rate, use_rates = self._raw_stored_rate()
if not use_rates:
return rate, use_rates
cached_rate: uint256 = self.cached_rate
if cached_rate == 0 or cached_rate == rate:
return rate, use_rates
if rate > cached_rate:
return min(rate, cached_rate * (10**18 + RATE_MAX_SPEED * (block.timestamp - self.cached_timestamp)) / 10**18), use_rates
else:
return max(rate, cached_rate * (10**18 - min(RATE_MAX_SPEED * (block.timestamp - self.cached_timestamp), 10**18)) / 10**18), use_rates
@external
@view
def stored_rate() -> uint256:
return self._stored_rate()[0]
@internal
def _stored_rate_w() -> uint256:
rate: uint256 = 0
use_rates: bool = False
rate, use_rates = self._stored_rate()
if use_rates:
self.cached_rate = rate
self.cached_timestamp = block.timestamp
return rate
@internal
@view
def _unscaled_price() -> uint256:
_price: uint256 = 10**18
for i in range(MAX_POOLS):
if i >= POOL_COUNT:
break
p_borrowed: uint256 = 10**18
p_collateral: uint256 = 10**18
if NO_ARGUMENT[i]:
p: uint256 = POOLS[i].price_oracle()
if COLLATERAL_IX[i] > 0:
p_collateral = p
else:
p_borrowed = p
else:
if BORROWED_IX[i] > 0:
p_borrowed = POOLS[i].price_oracle(unsafe_sub(BORROWED_IX[i], 1))
if COLLATERAL_IX[i] > 0:
p_collateral = POOLS[i].price_oracle(unsafe_sub(COLLATERAL_IX[i], 1))
_price = _price * p_collateral / p_borrowed
return _price
@external
@view
def price() -> uint256:
return self._unscaled_price() * self._stored_rate()[0] / 10**18
@external
def price_w() -> uint256:
return self._unscaled_price() * self._stored_rate_w() / 10**18Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"stateMutability":"nonpayable","type":"constructor","inputs":[{"name":"pools","type":"address[]"},{"name":"borrowed_ixs","type":"uint256[]"},{"name":"collateral_ixs","type":"uint256[]"}],"outputs":[]},{"stateMutability":"view","type":"function","name":"stored_rate","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"price","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"nonpayable","type":"function","name":"price_w","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"POOLS","inputs":[{"name":"arg0","type":"uint256"}],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"BORROWED_IX","inputs":[{"name":"arg0","type":"uint256"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"COLLATERAL_IX","inputs":[{"name":"arg0","type":"uint256"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"NO_ARGUMENT","inputs":[{"name":"arg0","type":"uint256"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"view","type":"function","name":"POOL_COUNT","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"USE_RATES","inputs":[{"name":"arg0","type":"uint256"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"view","type":"function","name":"cached_timestamp","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"cached_rate","inputs":[],"outputs":[{"name":"","type":"uint256"}]}]Contract Creation Code
611480515034610703576020610ff15f395f516008602082610ff1015f395f511161070357602081610ff1015f395f515f816008811161070357801561006f57905b60208160051b6020860101610ff1015f395f518060a01c610703578160051b60600152600101818118610041575b505080604052505060206110115f395f516008602082610ff1015f395f511161070357602081610ff1015f395f5160208160051b018083610ff1016101603950505060206110315f395f516008602082610ff1015f395f511161070357602081610ff1015f395f5160208160051b018083610ff1016102803950505060405160208160051b015f81601f0160051c6009811161070357801561012957905b8060051b604001518160051b610ee0015260010181811861010d575b505050506040366103a0375f6104e0525f6008905b806106005260405161060051186101c957610600516101bc576011610620527f57726f6e6720706f6f6c20636f756e74730000000000000000000000000000006106405261062050610620518061064001601f825f031636823750506308c379a06105e052602061060052601f19601f6106205101166044016105fcfd5b610600516103a0526105b8565b5f610620525f6009905b806106405260403661066037610600516040518110156107035760051b606001515a63c66106576106c4526004610640516106e4526020016106c0526106c05060206107406106c0516106e08585fa90509050610660523d602081183d60201002186107205261072080516106805260208101516106a05250610660516102ce57610640516102c157600b6106c0527f4e6f20636f696e732830290000000000000000000000000000000000000000006106e0526106c0506106c051806106e001601f825f031636823750506308c379a06106805260206106a052601f19601f6106c051011660440161069cfd5b61064051610620526102d9565b6001018181186101d3575b505061060051610280518110156107035760051b6102a0015161060051610160518110156107035760051b610180015114610703576106205161060051610160518110156107035760051b61018001511015610703576106205161060051610280518110156107035760051b6102a001511015610703575f6106405260026106205118610420575f61066052610600516040518110156107035760051b606001515a63687276536106a45260045f6106c4526020016106a0526106a05060206107206106a0516106c08585fa90509050610640523d602081183d60201002186107005261070080516106605260208101516106805250610640516103fc576103c051600781116107035760018160051b6103e00152600181016103c05250610440565b6103c05160078111610703575f8160051b6103e00152600181016103c05250610440565b6103c05160078111610703575f8160051b6103e00152600181016103c052505b5f61066052610600516040518110156107035760051b606001515a6004610a80527ffd0684b100000000000000000000000000000000000000000000000000000000610aa052610a8050610400610ae0610a8051610aa08585fa90509050610640523d61040081183d610400100218610ac052610ac0602081510180610660828460045afa5050505f610a8052610640516104db575f6104e2565b6106605115155b1561053e57610660516101418110603f8211161561070357506106805161068001600881511161070357805160208160051b0180610ba0828560045afa50505050610ba0805160208160051b0180610a80828560045afa505050505b5f610ba0525f610a80516008811161070357801561058957905b8060051b610aa00151610bc052670de0b6b3a7640000610bc0511461057e576001610ba0525b600101818118610558575b50506104e0516007811161070357610ba0518160051b6105000152600181016104e0525060010181811861013e575b50506103c05160208160051b015f81601f0160051c600981116107035780156105fe57905b8060051b6103c001518160051b61036001610ee001526001018181186105dd575b505050506101605160208160051b015f81601f0160051c6009811161070357801561064657905b8060051b61016001518160051b61012001610ee00152600101818118610625575b505050506102805160208160051b015f81601f0160051c6009811161070357801561068e57905b8060051b61028001518160051b61024001610ee0015260010181811861066d575b505050506103a0516106a15760086103a0525b6103a051611360526104e05160208160051b015f81601f0160051c600981116107035780156106ed57905b8060051b6104e001518160051b6104a001610ee001526001018181186106cc575b505050506108d461070761060c39610e9461060cf35b5f80fd5f3560e01c6002600a820660011b6108c001601e395f51565b63a8423c088118610055576024361034176108bc57602060043560206108d45f395f518110156108bc5760051b6020016108d40160403960206040f35b633304c622811861028c576024361034176108bc5760206004356020610d745f395f518110156108bc5760051b6104c0016108d40160403960206040f361028c565b6398f306a781186100d5576024361034176108bc57602060043560206109f45f395f518110156108bc5760051b610140016108d40160403960206040f35b63e7c222d1811861028c57346108bc575f5460405260206040f361028c565b6349ed544c8118610132576024361034176108bc5760206004356020610b145f395f518110156108bc5760051b610260016108d40160403960206040f35b6349abf236811861028c57346108bc576020610d5460403960206040f361028c565b63ce497f648118610192576024361034176108bc5760206004356020610c345f395f518110156108bc5760051b610380016108d40160403960206040f35b63fb4e5a0c811861028c57346108bc5760206101af6104c061042d565b6104c0f361028c565b63816239f181186101d457346108bc5760015460405260206040f35b63ceb7f759811861028c57346108bc576101ef610540610632565b610540516101fe6105606105f0565b610560518082028115838383041417156108bc5790509050670de0b6b3a764000081049050610580526020610580f361028c565b63a035b1fe811861028c57346108bc5761024d6104c0610632565b6104c05161025c6104e061042d565b6104e0518082028115838383041417156108bc5790509050670de0b6b3a764000081049050610520526020610520f35b5f5ffd5b670de0b6b3a76400006040525f6060525f6008905b806080526020610d545f395f51608051186102bf5761041b565b60206080516020610d745f395f518110156108bc5760051b6104c0016108d4015f395f5115610410576001606052602060805160206108d45f395f518110156108bc5760051b6020016108d4015f395f5163fd0684b16101c0526101406101c060046101dc845afa610333573d5f5f3e3d5ffd5b60403d106108bc576101c0516101c00160088151116108bc57805160208160051b0180610320828560045afa505050506103209050805160208160051b018060a0828560045afa5050505060405160206080516020610b145f395f518110156108bc5760051b610260016108d4015f395f5160a0518110156108bc5760051b60c001518082028115838383041417156108bc5790509050602060805160206109f45f395f518110156108bc5760051b610140016108d4015f395f5160a0518110156108bc5760051b60c0015180156108bc57808204905090506040525b6001018181186102a5575b50506040518152606051602082015250565b6040366104403761043f610480610290565b610480805161046052602081015161044052506104405161046f57610460518152610440516020820152506105ee565b6001546104805261048051610485576001610490565b610460516104805118155b156104aa57610460518152610440516020820152506105ee565b610480516104605111610564576104605161048051425f548082038281116108bc57905090506597951b766aaa8102816597951b766aaa8204186108bc579050670de0b6b3a7640000818118670de0b6b3a764000083100218905080670de0b6b3a764000003670de0b6b3a764000081116108bc5790508082028115838383041417156108bc5790509050670de0b6b3a764000081049050808281188284110218905090508152610440516020820152506105ee566105ee565b6104605161048051425f548082038281116108bc57905090506597951b766aaa8102816597951b766aaa8204186108bc57905080670de0b6b3a764000001670de0b6b3a764000081106108bc5790508082028115838383041417156108bc5790509050670de0b6b3a764000081049050808281188284100218905090508152610440516020820152505b565b6040366104c03761060261050061042d565b61050080516104c05260208101516104e052506104e05115610629576104c051600155425f555b6104c051815250565b670de0b6b3a76400006040525f6008905b806060526020610d545f395f516060511061065d576108b2565b670de0b6b3a7640000608052670de0b6b3a764000060a05260206060516020610c345f395f518110156108bc5760051b610380016108d4015f395f516107ed57602060605160206109f45f395f518110156108bc5760051b610140016108d4015f395f511561074357602060605160206108d45f395f518110156108bc5760051b6020016108d4015f395f51636872765360c0526001602060605160206109f45f395f518110156108bc5760051b610140016108d4015f395f510360e052602060c0602460dc845afa610732573d5f5f3e3d5ffd5b60203d106108bc5760c09050516080525b60206060516020610b145f395f518110156108bc5760051b610260016108d4015f395f511561087a57602060605160206108d45f395f518110156108bc5760051b6020016108d4015f395f51636872765360c052600160206060516020610b145f395f518110156108bc5760051b610260016108d4015f395f510360e052602060c0602460dc845afa6107d8573d5f5f3e3d5ffd5b60203d106108bc5760c090505160a05261087a565b602060605160206108d45f395f518110156108bc5760051b6020016108d4015f395f516386fc88d360e052602060e0600460fc845afa61082f573d5f5f3e3d5ffd5b60203d106108bc5760e090505160c05260206060516020610b145f395f518110156108bc5760051b610260016108d4015f395f51156108735760c05160a05261087a565b60c0516080525b60405160a0518082028115838383041417156108bc579050905060805180156108bc5780820490509050604052600101818118610643575b5050604051815250565b5f80fd00f4028c00180097023201b80154028c028c028c841908d481141905c0a16576797065728300030a0016000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000277fa53c8a53c880e0625c92c92a62a9f60f3f04000000000000000000000000f593ae314749d0c92b450f0a13e7e1791f352bb7000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001
Deployed Bytecode
0x5f3560e01c6002600a820660011b6108c001601e395f51565b63a8423c088118610055576024361034176108bc57602060043560206108d45f395f518110156108bc5760051b6020016108d40160403960206040f35b633304c622811861028c576024361034176108bc5760206004356020610d745f395f518110156108bc5760051b6104c0016108d40160403960206040f361028c565b6398f306a781186100d5576024361034176108bc57602060043560206109f45f395f518110156108bc5760051b610140016108d40160403960206040f35b63e7c222d1811861028c57346108bc575f5460405260206040f361028c565b6349ed544c8118610132576024361034176108bc5760206004356020610b145f395f518110156108bc5760051b610260016108d40160403960206040f35b6349abf236811861028c57346108bc576020610d5460403960206040f361028c565b63ce497f648118610192576024361034176108bc5760206004356020610c345f395f518110156108bc5760051b610380016108d40160403960206040f35b63fb4e5a0c811861028c57346108bc5760206101af6104c061042d565b6104c0f361028c565b63816239f181186101d457346108bc5760015460405260206040f35b63ceb7f759811861028c57346108bc576101ef610540610632565b610540516101fe6105606105f0565b610560518082028115838383041417156108bc5790509050670de0b6b3a764000081049050610580526020610580f361028c565b63a035b1fe811861028c57346108bc5761024d6104c0610632565b6104c05161025c6104e061042d565b6104e0518082028115838383041417156108bc5790509050670de0b6b3a764000081049050610520526020610520f35b5f5ffd5b670de0b6b3a76400006040525f6060525f6008905b806080526020610d545f395f51608051186102bf5761041b565b60206080516020610d745f395f518110156108bc5760051b6104c0016108d4015f395f5115610410576001606052602060805160206108d45f395f518110156108bc5760051b6020016108d4015f395f5163fd0684b16101c0526101406101c060046101dc845afa610333573d5f5f3e3d5ffd5b60403d106108bc576101c0516101c00160088151116108bc57805160208160051b0180610320828560045afa505050506103209050805160208160051b018060a0828560045afa5050505060405160206080516020610b145f395f518110156108bc5760051b610260016108d4015f395f5160a0518110156108bc5760051b60c001518082028115838383041417156108bc5790509050602060805160206109f45f395f518110156108bc5760051b610140016108d4015f395f5160a0518110156108bc5760051b60c0015180156108bc57808204905090506040525b6001018181186102a5575b50506040518152606051602082015250565b6040366104403761043f610480610290565b610480805161046052602081015161044052506104405161046f57610460518152610440516020820152506105ee565b6001546104805261048051610485576001610490565b610460516104805118155b156104aa57610460518152610440516020820152506105ee565b610480516104605111610564576104605161048051425f548082038281116108bc57905090506597951b766aaa8102816597951b766aaa8204186108bc579050670de0b6b3a7640000818118670de0b6b3a764000083100218905080670de0b6b3a764000003670de0b6b3a764000081116108bc5790508082028115838383041417156108bc5790509050670de0b6b3a764000081049050808281188284110218905090508152610440516020820152506105ee566105ee565b6104605161048051425f548082038281116108bc57905090506597951b766aaa8102816597951b766aaa8204186108bc57905080670de0b6b3a764000001670de0b6b3a764000081106108bc5790508082028115838383041417156108bc5790509050670de0b6b3a764000081049050808281188284100218905090508152610440516020820152505b565b6040366104c03761060261050061042d565b61050080516104c05260208101516104e052506104e05115610629576104c051600155425f555b6104c051815250565b670de0b6b3a76400006040525f6008905b806060526020610d545f395f516060511061065d576108b2565b670de0b6b3a7640000608052670de0b6b3a764000060a05260206060516020610c345f395f518110156108bc5760051b610380016108d4015f395f516107ed57602060605160206109f45f395f518110156108bc5760051b610140016108d4015f395f511561074357602060605160206108d45f395f518110156108bc5760051b6020016108d4015f395f51636872765360c0526001602060605160206109f45f395f518110156108bc5760051b610140016108d4015f395f510360e052602060c0602460dc845afa610732573d5f5f3e3d5ffd5b60203d106108bc5760c09050516080525b60206060516020610b145f395f518110156108bc5760051b610260016108d4015f395f511561087a57602060605160206108d45f395f518110156108bc5760051b6020016108d4015f395f51636872765360c052600160206060516020610b145f395f518110156108bc5760051b610260016108d4015f395f510360e052602060c0602460dc845afa6107d8573d5f5f3e3d5ffd5b60203d106108bc5760c090505160a05261087a565b602060605160206108d45f395f518110156108bc5760051b6020016108d4015f395f516386fc88d360e052602060e0600460fc845afa61082f573d5f5f3e3d5ffd5b60203d106108bc5760e090505160c05260206060516020610b145f395f518110156108bc5760051b610260016108d4015f395f51156108735760c05160a05261087a565b60c0516080525b60405160a0518082028115838383041417156108bc579050905060805180156108bc5780820490509050604052600101818118610643575b5050604051815250565b5f80fd00f4028c00180097023201b80154028c028c028c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000277fa53c8a53c880e0625c92c92a62a9f60f3f04000000000000000000000000f593ae314749d0c92b450f0a13e7e1791f352bb70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000277fa53c8a53c880e0625c92c92a62a9f60f3f04000000000000000000000000f593ae314749d0c92b450f0a13e7e1791f352bb7000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001
-----Decoded View---------------
Arg [0] : pools (address[]): 0x277FA53c8a53C880E0625c92C92a62a9F60f3f04,0xF593aE314749d0c92B450F0a13E7e1791f352bB7
Arg [1] : borrowed_ixs (uint256[]): 0,0
Arg [2] : collateral_ixs (uint256[]): 1,1
-----Encoded View---------------
12 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000120
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000002
Arg [4] : 000000000000000000000000277fa53c8a53c880e0625c92c92a62a9f60f3f04
Arg [5] : 000000000000000000000000f593ae314749d0c92b450f0a13e7e1791f352bb7
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000002
Arg [7] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [8] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [9] : 0000000000000000000000000000000000000000000000000000000000000002
Arg [10] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [11] : 0000000000000000000000000000000000000000000000000000000000000001
Loading...
Loading
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in FRAX
0
Multichain Portfolio | 35 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.