FRAX Price: $0.88 (-12.83%)

Contract

0x5e57690282bF4e1d136e8C74eF1C75C56411fC22

Overview

FRAX Balance | FXTL Balance

0 FRAX | 8,205 FXTL

FRAX Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Age:30D
Reset Filter

Transaction Hash
Block
From
To

There are no matching entries

> 10 Token Transfers found.

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

Optimization Enabled:
N/A

Other Settings:
default evmVersion, None license

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**18

Contract Security Audit

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"}]}]

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


Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
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.