Contract 0x58e57ca18b7a47112b877e31929798cd3d703b0f 6

Txn Hash Method
Block
From
To
Value [Txn Fee]
0x3c160763c41164ccca6f26b12206d3b7dfa3cfb25560388dbfc1356848f94b9aExchange_underly...78747982021-12-06 8:22:5916 secs ago0x3d0e2029d558c489c4e8c6e5f830836fdfec43d6 IN  Curve 10 AVAX0.173731977707150.215708536
0xcbf11e705eabafbae46ac4ced61a1e86e5aaf3f82cdbd1552ad30cbc0c0186e2Exchange_underly...78747802021-12-06 8:22:2649 secs ago0xd95f33f9fb2eb7069421482c30100ca84087b21b IN  Curve 10 AVAX0.0352118130
0xa50ec4db7d5c71de15405ac28f95f6dcd5772b1eb2022daf7821456620174c78Exchange_underly...78747792021-12-06 8:22:2550 secs ago0x3d0e2029d558c489c4e8c6e5f830836fdfec43d6 IN  Curve 10 AVAX0.203755811396150.382837137
0x56e8f2973cd9f7826a4af77ac571b1165851871d08af89bae47a0cb153730887Exchange_underly...78747772021-12-06 8:22:1956 secs ago0xd95f33f9fb2eb7069421482c30100ca84087b21b IN  Curve 10 AVAX0.0406707630
0x8c990f94c300087a5fd3be5cc70eaf3451d03c233eed0680b9308214cc2ac75cExchange_underly...78747722021-12-06 8:22:121 min ago0xd95f33f9fb2eb7069421482c30100ca84087b21b IN  Curve 10 AVAX0.0406684830
0x72ef23f2d4fffe785f02dc58ca6d1889620e76874294db95c7b6c009cdfd1586Exchange_underly...78747672021-12-06 8:22:031 min ago0xd95f33f9fb2eb7069421482c30100ca84087b21b IN  Curve 10 AVAX0.0407175630
0x18f1d6bc9dc49d4cb72baf5b1648f358a3d39129abf8089c632164c126eacd74Exchange_underly...78746972021-12-06 8:19:383 mins ago0xd95f33f9fb2eb7069421482c30100ca84087b21b IN  Curve 10 AVAX0.0407221230
0x87e2179b486703da435926f530aec626a92be26de8ae938b5cf39ca0336ea025Exchange_underly...78746902021-12-06 8:19:283 mins ago0xd95f33f9fb2eb7069421482c30100ca84087b21b IN  Curve 10 AVAX0.0349766130
0x140f186962ca8fd5bfdbd80487ff9d06ce98843c6b2a82c197a6f11cb0c3daeaExchange_underly...78746852021-12-06 8:19:203 mins ago0xd95f33f9fb2eb7069421482c30100ca84087b21b IN  Curve 10 AVAX0.0406558230
0xc5fcb9d45e49c2f51bc8ca3d679ae825c4440f2fbaa028192ce7225d77010be5Exchange_underly...78746772021-12-06 8:19:044 mins ago0xd95f33f9fb2eb7069421482c30100ca84087b21b IN  Curve 10 AVAX0.0406708830
0x60e771117e8bf6d92a472abbbff7ea84ce4d90ff5550dfa120625b98a1b91ce4Exchange_underly...78746442021-12-06 8:17:565 mins ago0xd95f33f9fb2eb7069421482c30100ca84087b21b IN  Curve 10 AVAX0.0425467230
0xf5557aadcf3de429c566271fc1425587817971648775fb3b34cb13cb8a186c31Exchange_underly...78746402021-12-06 8:17:505 mins ago0xd95f33f9fb2eb7069421482c30100ca84087b21b IN  Curve 10 AVAX0.0009281130
0x522e6e6a842999a8a326d2360a9240a5ac9dd7dbd3f23218db9e2abefb519f25Exchange_underly...78746372021-12-06 8:17:425 mins ago0xd95f33f9fb2eb7069421482c30100ca84087b21b IN  Curve 10 AVAX0.0425658630
0x5c49b6c943e3f7b5237fed5395151d4eab4394fe0e6006782c08a6d80cf89ceeExchange_underly...78746322021-12-06 8:17:335 mins ago0xd95f33f9fb2eb7069421482c30100ca84087b21b IN  Curve 10 AVAX0.0425517630
0x725a5786596a0d117cb40dcd2a81afc45efa12113bc61c5f1430e1357720a309Exchange_underly...78746292021-12-06 8:17:275 mins ago0xd95f33f9fb2eb7069421482c30100ca84087b21b IN  Curve 10 AVAX0.0380269230
0x46672ea8ce70449d4f628647217e75bcd15ae751ae758cc99ef60b7c9d0cf9c9Exchange_underly...78746102021-12-06 8:16:506 mins ago0xd95f33f9fb2eb7069421482c30100ca84087b21b IN  Curve 10 AVAX0.0423350730
0x448f9955c7905365d0866bc48d1b388c005e71d71fdbb8f56aae09a78ff031acExchange_underly...78745912021-12-06 8:16:117 mins ago0xd95f33f9fb2eb7069421482c30100ca84087b21b IN  Curve 10 AVAX0.0422934930
0xfadce3350ac3b5113a3476b45de0de8c74cbe7f6402f9bdab77d100c87abb459Exchange_underly...78745862021-12-06 8:16:027 mins ago0xd95f33f9fb2eb7069421482c30100ca84087b21b IN  Curve 10 AVAX0.0426576630
0x992b377bb78cb48d545db656b8c450e393a950ec3e5ccc848a5f9d781498f7c7Exchange_underly...78745752021-12-06 8:15:407 mins ago0xd95f33f9fb2eb7069421482c30100ca84087b21b IN  Curve 10 AVAX0.0421468830
0x4f0bb1f33806be82e0342acd832fe6e495df985bdc167067ad8db7b68d4780adExchange_underly...78745662021-12-06 8:15:217 mins ago0xd95f33f9fb2eb7069421482c30100ca84087b21b IN  Curve 10 AVAX0.039507330
0x1808d5bde7c6d9e62d7437cc1620c306849e29e3b26b11617222f8cd5b6abcc8Exchange_underly...78745612021-12-06 8:15:128 mins ago0xd95f33f9fb2eb7069421482c30100ca84087b21b IN  Curve 10 AVAX0.0426793830
0x91802d1ae9ef7271ce7e5f76ca189545d81aa423feba2163facd3ae85432968bExchange_underly...78745282021-12-06 8:14:079 mins ago0xd95f33f9fb2eb7069421482c30100ca84087b21b IN  Curve 10 AVAX0.0429602130
0x8efe7d38159d7919f4efb4ed575dc981e804379f62e0ae9b9c185ca1fd6336dcExchange_underly...78745022021-12-06 8:13:1310 mins ago0xd95f33f9fb2eb7069421482c30100ca84087b21b IN  Curve 10 AVAX0.0409305330
0xc9fd0898222a0a6edc3dc041ad8d2930cd21adf4de9cb4e3b9eff196a2dc9cd6Exchange_underly...78744992021-12-06 8:13:0810 mins ago0xd95f33f9fb2eb7069421482c30100ca84087b21b IN  Curve 10 AVAX0.0404534730
0x2d372aee1a814b70e7e3725ca230ab7c48f5cbf94f9ee0799d18a329807fb384Exchange_underly...78744892021-12-06 8:12:4910 mins ago0xd95f33f9fb2eb7069421482c30100ca84087b21b IN  Curve 10 AVAX0.0397828530
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Vyper_contract

Compiler Version
vyper:0.2.15

Optimization Enabled:
N/A

Other Settings:
, None license

Contract Source Code (Vyper language format)

# @version 0.2.15

from vyper.interfaces import ERC20

interface CurveCryptoSwap:
    def token() -> address: view
    def coins(i: uint256) -> address: view
    def get_dy(i: uint256, j: uint256, dx: uint256) -> uint256: view
    def calc_token_amount(amounts: uint256[N_COINS], is_deposit: bool) -> uint256: view
    def calc_withdraw_one_coin(token_amount: uint256, i: uint256) -> uint256: view
    def add_liquidity(amounts: uint256[N_COINS], min_mint_amount: uint256): nonpayable
    def exchange(i: uint256, j: uint256, dx: uint256, min_dy: uint256): nonpayable
    def remove_liquidity(amount: uint256, min_amounts: uint256[N_COINS]): nonpayable
    def remove_liquidity_one_coin(token_amount: uint256, i: uint256, min_amount: uint256): nonpayable

interface StableSwap:
    def underlying_coins(i: uint256) -> address: view
    def get_dy(i: int128, j: int128, dx: uint256) -> uint256: view
    def calc_token_amount(amounts: uint256[N_COINS], is_deposit: bool) -> uint256: view
    def calc_withdraw_one_coin(token_amount: uint256, i: int128) -> uint256: view
    def add_liquidity(amounts: uint256[N_COINS], min_mint_amount: uint256, use_underlying: bool) -> uint256: nonpayable
    def remove_liquidity_one_coin(token_amount: uint256, i: int128, min_amount: uint256, use_underlying: bool) -> uint256: nonpayable
    def remove_liquidity(amount: uint256, min_amounts: uint256[N_COINS], use_underlying: bool) -> uint256[N_COINS]: nonpayable


interface LendingPool:
    def withdraw(underlying_asset: address, amount: uint256, receiver: address): nonpayable

interface aToken:
    def UNDERLYING_ASSET_ADDRESS() -> address: view


N_COINS: constant(int128) = 3
N_STABLECOINS: constant(int128) = 3
N_UL_COINS: constant(int128) = N_COINS + N_STABLECOINS - 1
AAVE_LENDING_POOL: constant(address) = 0x4F01AeD16D97E3aB5ab2B501154DC9bb0F1A5A2C

aave_referral: uint256
coins: public(address[N_COINS])
underlying_coins: public(address[N_UL_COINS])

pool: public(address)
base_pool: public(address)
token: public(address)


@external
def __init__(_pool: address, _base_pool: address):
    self.pool = _pool
    self.base_pool = _base_pool
    self.token = CurveCryptoSwap(_pool).token()

    for i in range(N_STABLECOINS):
        coin: address = StableSwap(_base_pool).underlying_coins(i)
        self.underlying_coins[i] = coin
        # approve transfer of underlying coin to base pool
        response: Bytes[32] = raw_call(
            coin,
            concat(
                method_id("approve(address,uint256)"),
                convert(_base_pool, bytes32),
                convert(MAX_UINT256, bytes32)
            ),
            max_outsize=32
        )
        if len(response) != 0:
            assert convert(response, bool)

    for i in range(N_COINS):
        coin: address = CurveCryptoSwap(_pool).coins(i)
        self.coins[i] = coin
        # approve transfer of coin to main pool
        response: Bytes[32] = raw_call(
            coin,
            concat(
                method_id("approve(address,uint256)"),
                convert(_pool, bytes32),
                convert(MAX_UINT256, bytes32)
            ),
            max_outsize=32
        )
        if len(response) != 0:
            assert convert(response, bool)

        if i != 0:
            # coins >= 1 are aTokens, we must get the underlying asset address
            # and approve transfer into the aave lending pool
            coin = aToken(coin).UNDERLYING_ASSET_ADDRESS()
            self.underlying_coins[i+(N_STABLECOINS-1)] = coin
            response = raw_call(
                coin,
                concat(
                    method_id("approve(address,uint256)"),
                    convert(AAVE_LENDING_POOL, bytes32),
                    convert(MAX_UINT256, bytes32)
                ),
                max_outsize=32
            )
            if len(response) != 0:
                assert convert(response, bool)


@external
def add_liquidity(_amounts: uint256[N_UL_COINS], _min_mint_amount: uint256, _receiver: address = msg.sender):
    base_deposit_amounts: uint256[N_STABLECOINS] = empty(uint256[N_STABLECOINS])
    deposit_amounts: uint256[N_COINS] = empty(uint256[N_COINS])
    is_base_deposit: bool = False

    # transfer base pool coins from caller and deposit to get LP tokens
    for i in range(N_STABLECOINS):
        amount: uint256 = _amounts[i]
        if amount != 0:
            coin: address = self.underlying_coins[i]
            # transfer underlying coin from msg.sender to self
            _response: Bytes[32] = raw_call(
                coin,
                concat(
                    method_id("transferFrom(address,address,uint256)"),
                    convert(msg.sender, bytes32),
                    convert(self, bytes32),
                    convert(amount, bytes32)
                ),
                max_outsize=32
            )
            if len(_response) != 0:
                assert convert(_response, bool)
            base_deposit_amounts[i] = ERC20(coin).balanceOf(self)
            is_base_deposit = True

    if is_base_deposit:
        deposit_amounts[0] = StableSwap(self.base_pool).add_liquidity(base_deposit_amounts, 0, True)

    # transfer remaining underlying coins and deposit into aave
    aave_referral: bytes32 = convert(self.aave_referral, bytes32)
    for i in range(N_STABLECOINS, N_UL_COINS):
        amount: uint256 = _amounts[i]
        if amount != 0:
            coin: address = self.underlying_coins[i]
            # transfer underlying coin from msg.sender to self
            _response: Bytes[32] = raw_call(
                coin,
                concat(
                    method_id("transferFrom(address,address,uint256)"),
                    convert(msg.sender, bytes32),
                    convert(self, bytes32),
                    convert(amount, bytes32)
                ),
                max_outsize=32
            )
            if len(_response) != 0:
                assert convert(_response, bool)

            # deposit to aave lending pool
            raw_call(
                AAVE_LENDING_POOL,
                concat(
                    method_id("deposit(address,uint256,address,uint16)"),
                    convert(coin, bytes32),
                    convert(amount, bytes32),
                    convert(self, bytes32),
                    aave_referral,
                )
            )
            deposit_amounts[i-(N_STABLECOINS-1)] = amount

    CurveCryptoSwap(self.pool).add_liquidity(deposit_amounts, _min_mint_amount)
    token: address = self.token
    amount: uint256 = ERC20(token).balanceOf(self)
    ERC20(token).transfer(_receiver, amount)


@external
def exchange_underlying(i: uint256, j: uint256, _dx: uint256, _min_dy: uint256, _receiver: address = msg.sender):
    # transfer `i` from caller into the zap
    response: Bytes[32] = raw_call(
        self.underlying_coins[i],
        concat(
            method_id("transferFrom(address,address,uint256)"),
            convert(msg.sender, bytes32),
            convert(self, bytes32),
            convert(_dx, bytes32)
        ),
        max_outsize=32
    )
    if len(response) != 0:
        assert convert(response, bool)

    dx: uint256 = _dx
    base_i: uint256 = 0
    base_j: uint256 = 0
    if j >= N_STABLECOINS:
        base_j = j - (N_STABLECOINS - 1)

    if i < N_STABLECOINS:
        # if `i` is in the base pool, deposit to get LP tokens
        base_deposit_amounts: uint256[N_STABLECOINS] = empty(uint256[N_STABLECOINS])
        base_deposit_amounts[i] = dx
        dx = StableSwap(self.base_pool).add_liquidity(base_deposit_amounts, 0, True)
    else:
        # if `i` is an aToken, deposit to the aave lending pool
        base_i = i - (N_STABLECOINS - 1)
        raw_call(
            AAVE_LENDING_POOL,
            concat(
                method_id("deposit(address,uint256,address,uint16)"),
                convert(self.underlying_coins[i], bytes32),
                convert(dx, bytes32),
                convert(self, bytes32),
                convert(self.aave_referral, bytes32),
            )
        )

    # perform the exchange
    if max(base_i, base_j) > 0:
        CurveCryptoSwap(self.pool).exchange(base_i, base_j, dx, 0)
    amount: uint256 = ERC20(self.coins[base_j]).balanceOf(self)

    if base_j == 0:
        # if `j` is in the base pool, withdraw the desired underlying asset and transfer to caller
        amount = StableSwap(self.base_pool).remove_liquidity_one_coin(amount, convert(j, int128), _min_dy, True)
        response = raw_call(
            self.underlying_coins[j],
            concat(
                method_id("transfer(address,uint256)"),
                convert(_receiver, bytes32),
                convert(amount, bytes32)
            ),
            max_outsize=32
        )
        if len(response) != 0:
            assert convert(response, bool)
    else:
        # withdraw `j` underlying from lending pool and transfer to caller
        assert amount >= _min_dy
        LendingPool(AAVE_LENDING_POOL).withdraw(self.underlying_coins[j], amount, _receiver)


@external
def remove_liquidity(_amount: uint256, _min_amounts: uint256[N_UL_COINS], _receiver: address = msg.sender):
    # transfer LP token from caller and remove liquidity
    ERC20(self.token).transferFrom(msg.sender, self, _amount)
    min_amounts: uint256[N_COINS] = [0, _min_amounts[3], _min_amounts[4]]
    CurveCryptoSwap(self.pool).remove_liquidity(_amount, min_amounts)

    # withdraw from base pool and transfer underlying assets to receiver
    value: uint256 = ERC20(self.coins[0]).balanceOf(self)
    base_min_amounts: uint256[N_STABLECOINS] = [_min_amounts[0], _min_amounts[1], _min_amounts[2]]
    received: uint256[N_STABLECOINS] = StableSwap(self.base_pool).remove_liquidity(value, base_min_amounts, True)
    for i in range(N_STABLECOINS):
        response: Bytes[32] = raw_call(
            self.underlying_coins[i],
            concat(
                method_id("transfer(address,uint256)"),
                convert(_receiver, bytes32),
                convert(received[i], bytes32)
            ),
            max_outsize=32
        )
        if len(response) != 0:
            assert convert(response, bool)

    # withdraw from aave lending pool and transfer to receiver
    for i in range(N_STABLECOINS, N_UL_COINS):
        value = ERC20(self.coins[i-(N_STABLECOINS-1)]).balanceOf(self)
        LendingPool(AAVE_LENDING_POOL).withdraw(self.underlying_coins[i], value, _receiver)


@external
def remove_liquidity_one_coin(_token_amount: uint256, i: uint256, _min_amount: uint256, _receiver: address = msg.sender):
    ERC20(self.token).transferFrom(msg.sender, self, _token_amount)
    base_i: uint256 = 0
    if i >= N_STABLECOINS:
        base_i = i - (N_STABLECOINS-1)
    CurveCryptoSwap(self.pool).remove_liquidity_one_coin(_token_amount, base_i, 0)

    value: uint256 = ERC20(self.coins[base_i]).balanceOf(self)
    if base_i == 0:
        value = StableSwap(self.base_pool).remove_liquidity_one_coin(value, convert(i, int128), _min_amount, True)
        response: Bytes[32] = raw_call(
            self.underlying_coins[i],
            concat(
                method_id("transfer(address,uint256)"),
                convert(_receiver, bytes32),
                convert(value, bytes32)
            ),
            max_outsize=32
        )
        if len(response) != 0:
            assert convert(response, bool)
    else:
        assert value >= _min_amount
        LendingPool(AAVE_LENDING_POOL).withdraw(self.underlying_coins[i], value, _receiver)


@view
@external
def get_dy_underlying(i: uint256, j: uint256, _dx: uint256) -> uint256:
    if max(i, j) < N_STABLECOINS:
        return StableSwap(self.base_pool).get_dy(convert(i, int128), convert(j, int128), _dx)

    dx: uint256 = _dx
    base_i: uint256 = 0
    base_j: uint256 = 0
    if j >= N_STABLECOINS:
        base_j = j - (N_STABLECOINS - 1)

    if i < N_STABLECOINS:
        amounts: uint256[N_STABLECOINS] = empty(uint256[N_STABLECOINS])
        amounts[i] = dx
        dx = StableSwap(self.base_pool).calc_token_amount(amounts, True)
    else:
        base_i = i - (N_STABLECOINS - 1)

    dy: uint256 = CurveCryptoSwap(self.pool).get_dy(base_i, base_j, dx)
    if base_j == 0:
        return StableSwap(self.base_pool).calc_withdraw_one_coin(dy, convert(j, int128))
    else:
        return dy


@view
@external
def calc_token_amount(_amounts: uint256[N_UL_COINS], _is_deposit: bool) -> uint256:
    base_amounts: uint256[N_COINS] = [_amounts[0], _amounts[1], _amounts[2]]
    base_lp: uint256 = StableSwap(self.base_pool).calc_token_amount(base_amounts, _is_deposit)
    amounts: uint256[N_COINS] = [base_lp, _amounts[3], _amounts[4]]
    return CurveCryptoSwap(self.pool).calc_token_amount(amounts, _is_deposit)


@view
@external
def calc_withdraw_one_coin(token_amount: uint256, i: uint256) -> uint256:
    if i >= N_STABLECOINS:
        return CurveCryptoSwap(self.pool).calc_withdraw_one_coin(token_amount, i - (N_STABLECOINS - 1))

    base_amount: uint256 = CurveCryptoSwap(self.pool).calc_withdraw_one_coin(token_amount, 0)
    return StableSwap(self.base_pool).calc_withdraw_one_coin(base_amount, convert(i, int128))

Contract ABI

[{"stateMutability":"nonpayable","type":"constructor","inputs":[{"name":"_pool","type":"address"},{"name":"_base_pool","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"add_liquidity","inputs":[{"name":"_amounts","type":"uint256[5]"},{"name":"_min_mint_amount","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"add_liquidity","inputs":[{"name":"_amounts","type":"uint256[5]"},{"name":"_min_mint_amount","type":"uint256"},{"name":"_receiver","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"exchange_underlying","inputs":[{"name":"i","type":"uint256"},{"name":"j","type":"uint256"},{"name":"_dx","type":"uint256"},{"name":"_min_dy","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"exchange_underlying","inputs":[{"name":"i","type":"uint256"},{"name":"j","type":"uint256"},{"name":"_dx","type":"uint256"},{"name":"_min_dy","type":"uint256"},{"name":"_receiver","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"remove_liquidity","inputs":[{"name":"_amount","type":"uint256"},{"name":"_min_amounts","type":"uint256[5]"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"remove_liquidity","inputs":[{"name":"_amount","type":"uint256"},{"name":"_min_amounts","type":"uint256[5]"},{"name":"_receiver","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"remove_liquidity_one_coin","inputs":[{"name":"_token_amount","type":"uint256"},{"name":"i","type":"uint256"},{"name":"_min_amount","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"remove_liquidity_one_coin","inputs":[{"name":"_token_amount","type":"uint256"},{"name":"i","type":"uint256"},{"name":"_min_amount","type":"uint256"},{"name":"_receiver","type":"address"}],"outputs":[]},{"stateMutability":"view","type":"function","name":"get_dy_underlying","inputs":[{"name":"i","type":"uint256"},{"name":"j","type":"uint256"},{"name":"_dx","type":"uint256"}],"outputs":[{"name":"","type":"uint256"}],"gas":19203},{"stateMutability":"view","type":"function","name":"calc_token_amount","inputs":[{"name":"_amounts","type":"uint256[5]"},{"name":"_is_deposit","type":"bool"}],"outputs":[{"name":"","type":"uint256"}],"gas":9705},{"stateMutability":"view","type":"function","name":"calc_withdraw_one_coin","inputs":[{"name":"token_amount","type":"uint256"},{"name":"i","type":"uint256"}],"outputs":[{"name":"","type":"uint256"}],"gas":14299},{"stateMutability":"view","type":"function","name":"coins","inputs":[{"name":"arg0","type":"uint256"}],"outputs":[{"name":"","type":"address"}],"gas":2643},{"stateMutability":"view","type":"function","name":"underlying_coins","inputs":[{"name":"arg0","type":"uint256"}],"outputs":[{"name":"","type":"address"}],"gas":2673},{"stateMutability":"view","type":"function","name":"pool","inputs":[],"outputs":[{"name":"","type":"address"}],"gas":2658},{"stateMutability":"view","type":"function","name":"base_pool","inputs":[],"outputs":[{"name":"","type":"address"}],"gas":2688},{"stateMutability":"view","type":"function","name":"token","inputs":[],"outputs":[{"name":"","type":"address"}],"gas":2718}]

6f7fffffffffffffffffffffffffffffff6040526040611d99610140396020611d9960c03960c05160a01c611d945760206020611d990160c03960c05160a01c611d94576101405160095561016051600a5560206101e0600463fc0c546a6101805261019c610140515afa15611d9457601f3d1115611d94576000506101e051600b5561018060006003818352015b6020610240602463b9947eb06101c052610180516101e0526101dc610160515afa15611d9457601f3d1115611d9457600050610240516101a0526101a0516001610180516005811015611d9457026004015560006004610220527f095ea7b3000000000000000000000000000000000000000000000000000000006102405261022060048060208461028001018260208501600060045af1505080518201915050610160516020826102800101526020810190507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602082610280010152602081019050806102805261028090508051602001806103208284600060045af115611d9457505060206103e06103205161034060006101a0515af115611d945760203d808211156101be57806101c0565b815b905090506103c0526103c08051602001806101c08284600060045af115611d9457505060006101c0511815610222576101c08060200151600082518060209013611d945780919012611d9457806020036101000a820490509050905015611d94575b5b815160010180835281141561008e575b505061018060006003818352015b6020610240602463c66106576101c052610180516101e0526101dc610140515afa15611d9457601f3d1115611d9457600050610240516101a0526101a0516001610180516003811015611d9457026001015560006004610220527f095ea7b3000000000000000000000000000000000000000000000000000000006102405261022060048060208461028001018260208501600060045af1505080518201915050610140516020826102800101526020810190507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602082610280010152602081019050806102805261028090508051602001806103208284600060045af115611d9457505060206103e06103205161034060006101a0515af115611d945760203d808211156103715780610373565b815b905090506103c0526103c08051602001806101c08284600060045af115611d9457505060006101c05118156103d5576101c08060200151600082518060209013611d945780919012611d9457806020036101000a820490509050905015611d94575b6000610180511815610591576020610280600463b16a19de6102205261023c6101a0515afa15611d9457601f3d1115611d9457600050610280516101a0526101a05160016101805160028181830110611d9457808201905090506005811015611d9457026004015560006004610220527f095ea7b3000000000000000000000000000000000000000000000000000000006102405261022060048060208461028001018260208501600060045af1505080518201915050734f01aed16d97e3ab5ab2b501154dc9bb0f1a5a2c6020826102800101526020810190507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602082610280010152602081019050806102805261028090508051602001806103208284600060045af115611d9457505060206103e06103205161034060006101a0515af115611d945760203d8082111561052c578061052e565b815b905090506103c0526103c08051602001806101c08284600060045af115611d9457505060006101c0511815610590576101c08060200151600082518060209013611d945780919012611d9457806020036101000a820490509050905015611d94575b5b5b8151600101808352811415610241575b5050611d7c56600436101561000d576117c8565b600035601c526f7fffffffffffffffffffffffffffffff604052600051346117ce576384738499811415610045573361014052610070565b63cf2b51b881141561006b5760c43560a01c6117ce57602060c461014037600050610070565b61061b565b60e0366101603761024060006003818352015b60046102405160058110156117ce5760200201356102605260006102605118156102405760016102405160058110156117ce5702600401546102805260006004610300527f23b872dd000000000000000000000000000000000000000000000000000000006103205261030060048060208461036001018260208501600060045af1505080518201915050336020826103600101526020810190503060208261036001015260208101905061026051602082610360010152602081019050806103605261036090508051602001806104208284600060045af1156117ce5750506020610500610420516104406000610280515af1156117ce5760203d8082111561018d578061018f565b815b905090506104e0526104e08051602001806102a08284600060045af1156117ce57505060006102a05118156101f1576102a080602001516000825180602090136117ce57809190126117ce57806020036101000a8204905090509050156117ce575b602061038060246370a0823161030052306103205261031c610280515afa156117ce57601f3d11156117ce57600050610380516101606102405160038110156117ce5760200201526001610220525b5b8151600101808352811415610083575b505061022051156102b457602061034060a4632b6e993a61024052610160516102605261018051610280526101a0516102a05260006102c05260016102e05261025c6000600a545af1156117ce57601f3d11156117ce57600050610340516101c0525b6000546102405261026060036002818352015b60046102605160058110156117ce5760200201356102805260006102805118156105425760016102605160058110156117ce5702600401546102a05260006004610320527f23b872dd000000000000000000000000000000000000000000000000000000006103405261032060048060208461038001018260208501600060045af1505080518201915050336020826103800101526020810190503060208261038001015260208101905061028051602082610380010152602081019050806103805261038090508051602001806104408284600060045af1156117ce57505060206105206104405161046060006102a0515af1156117ce5760203d808211156103d157806103d3565b815b90509050610500526105008051602001806102c08284600060045af1156117ce57505060006102c0511815610435576102c080602001516000825180602090136117ce57809190126117ce57806020036101000a8204905090509050156117ce575b60006004610320527fe8eda9df000000000000000000000000000000000000000000000000000000006103405261032060048060208461038001018260208501600060045af15050805182019150506102a051602082610380010152602081019050610280516020826103800101526020810190503060208261038001015260208101905061024051602082610380010152602081019050806103805261038090508051602001806104608284600060045af1156117ce57505060006000610460516104806000734f01aed16d97e3ab5ab2b501154dc9bb0f1a5a2c5af1156117ce57610280516101c06102605160028082106117ce578082039050905060038110156117ce5760200201525b5b81516001018083528114156102c7575b50506009543b156117ce57600060006084634515cef3610260526101c051610280526101e0516102a052610200516102c05260a4356102e05261027c60006009545af1156117ce57600b5461026052602061032060246370a082316102a052306102c0526102bc610260515afa156117ce57601f3d11156117ce5760005061032051610280526020610340604463a9059cbb6102a052610140516102c052610280516102e0526102bc6000610260515af1156117ce57601f3d11156117ce5760005061034050005b6365b2489b81141561063157336101405261065c565b63e2ad025a8114156106575760843560a01c6117ce57602060846101403760005061065c565b610c26565b600060046101c0527f23b872dd000000000000000000000000000000000000000000000000000000006101e0526101c060048060208461022001018260208501600060045af15050805182019150503360208261022001015260208101905030602082610220010152602081019050604435602082610220010152602081019050806102205261022090508051602001806102e08284600060045af1156117ce57505060206103c06102e0516103006000600160043560058110156117ce5702600401545af1156117ce5760203d80821115610738578061073a565b815b905090506103a0526103a08051602001806101608284600060045af1156117ce575050600061016051181561079c5761016080602001516000825180602090136117ce57809190126117ce57806020036101000a8204905090509050156117ce575b6044356101c0526040366101e0376003602435106107cc5760243560028082106117ce5780820390509050610200525b6003600435101561085257606036610220376101c05161022060043560038110156117ce576020020152602061038060a4632b6e993a61028052610220516102a052610240516102c052610260516102e05260006103005260016103205261029c6000600a545af1156117ce57601f3d11156117ce57600050610380516101c05261095b565b60043560028082106117ce57808203905090506101e05260006004610220527fe8eda9df000000000000000000000000000000000000000000000000000000006102405261022060048060208461028001018260208501600060045af1505080518201915050600160043560058110156117ce5702600401546020826102800101526020810190506101c05160208261028001015260208101905030602082610280010152602081019050600054602082610280010152602081019050806102805261028090508051602001806103608284600060045af1156117ce57505060006000610360516103806000734f01aed16d97e3ab5ab2b501154dc9bb0f1a5a2c5af1156117ce575b60006101e05161020051808210156109735780610975565b815b9050905011156109c5576009543b156117ce57600060006084635b41b908610220526101e0516102405261020051610260526101c0516102805260006102a05261023c60006009545af1156117ce575b60206102c060246370a0823161024052306102605261025c60016102005160038110156117ce5702600101545afa156117ce57601f3d11156117ce576000506102c0516102205261020051610ba5576020610320608463517a55a361024052610220516102605260243560405181116117ce57610280526064356102a05260016102c05261025c6000600a545af1156117ce57601f3d11156117ce57600050610320516102205260006004610240527fa9059cbb00000000000000000000000000000000000000000000000000000000610260526102406004806020846102a001018260208501600060045af1505080518201915050610140516020826102a0010152602081019050610220516020826102a0010152602081019050806102a0526102a090508051602001806103408284600060045af1156117ce5750506020610400610340516103606000600160243560058110156117ce5702600401545af1156117ce5760203d80821115610b3c5780610b3e565b815b905090506103e0526103e08051602001806101608284600060045af1156117ce5750506000610160511815610ba05761016080602001516000825180602090136117ce57809190126117ce57806020036101000a8204905090509050156117ce575b610c24565b60643561022051106117ce57734f01aed16d97e3ab5ab2b501154dc9bb0f1a5a2c3b156117ce576000600060646369328dec61024052600160243560058110156117ce570260040154610260526102205161028052610140516102a05261025c6000734f01aed16d97e3ab5ab2b501154dc9bb0f1a5a2c5af1156117ce575b005b63e3bff5ce811415610c3c573361014052610c67565b634f626a31811415610c625760c43560a01c6117ce57602060c461014037600050610c67565b611009565b602061022060646323b872dd610160523361018052306101a0526004356101c05261017c6000600b545af1156117ce57601f3d11156117ce57600050610220506000610160526084356101805260a4356101a0526009543b156117ce5760006000608463ecb586a56101c0526004356101e052610160516102005261018051610220526101a051610240526101dc60006009545af1156117ce57602061026060246370a082316101e05230610200526101fc6001545afa156117ce57601f3d11156117ce57600050610260516101c0526024356101e052604435610200526064356102205260606103a060a463fce647366102a0526101c0516102c0526101e0516102e052610200516103005261022051610320526001610340526102bc6000600a545af1156117ce57605f3d11156117ce576000506103a0805161024052806020015161026052806040015161028052506102a060006003818352015b60006004610320527fa9059cbb000000000000000000000000000000000000000000000000000000006103405261032060048060208461038001018260208501600060045af1505080518201915050610140516020826103800101526020810190506102406102a05160038110156117ce576020020151602082610380010152602081019050806103805261038090508051602001806104208284600060045af1156117ce57505060206104e061042051610440600060016102a05160058110156117ce5702600401545af1156117ce5760203d80821115610ea75780610ea9565b815b905090506104c0526104c08051602001806102c08284600060045af1156117ce57505060006102c0511815610f0b576102c080602001516000825180602090136117ce57809190126117ce57806020036101000a8204905090509050156117ce575b5b8151600101808352811415610dc5575b50506102a060036002818352015b602061034060246370a082316102c052306102e0526102dc60016102a05160028082106117ce578082039050905060038110156117ce5702600101545afa156117ce57601f3d11156117ce57600050610340516101c052734f01aed16d97e3ab5ab2b501154dc9bb0f1a5a2c3b156117ce576000600060646369328dec6102c05260016102a05160058110156117ce5702600401546102e0526101c0516103005261014051610320526102dc6000734f01aed16d97e3ab5ab2b501154dc9bb0f1a5a2c5af1156117ce575b8151600101808352811415610f2a575b5050005b63f1dc3cc981141561101f57336101405261104a565b630fbcee6e8114156110455760643560a01c6117ce57602060646101403760005061104a565b61134f565b602061022060646323b872dd610160523361018052306101a0526004356101c05261017c6000600b545af1156117ce57601f3d11156117ce57600050610220506000610160526003602435106110b25760243560028082106117ce5780820390509050610160525b6009543b156117ce5760006000606463f1dc3cc9610180526004356101a052610160516101c05260006101e05261019c60006009545af1156117ce57602061022060246370a082316101a052306101c0526101bc60016101605160038110156117ce5702600101545afa156117ce57601f3d11156117ce576000506102205161018052610160516112ce576020610280608463517a55a36101a052610180516101c05260243560405181116117ce576101e052604435610200526001610220526101bc6000600a545af1156117ce57601f3d11156117ce57600050610280516101805260006004610200527fa9059cbb000000000000000000000000000000000000000000000000000000006102205261020060048060208461026001018260208501600060045af15050805182019150506101405160208261026001015260208101905061018051602082610260010152602081019050806102605261026090508051602001806103008284600060045af1156117ce57505060206103c0610300516103206000600160243560058110156117ce5702600401545af1156117ce5760203d808211156112655780611267565b815b905090506103a0526103a08051602001806101a08284600060045af1156117ce57505060006101a05118156112c9576101a080602001516000825180602090136117ce57809190126117ce57806020036101000a8204905090509050156117ce575b61134d565b60443561018051106117ce57734f01aed16d97e3ab5ab2b501154dc9bb0f1a5a2c3b156117ce576000600060646369328dec6101a052600160243560058110156117ce5702600401546101c052610180516101e05261014051610200526101bc6000734f01aed16d97e3ab5ab2b501154dc9bb0f1a5a2c5af1156117ce575b005b6385f11d1e811415611552576003600435602435808210156113715780611373565b815b9050905010156113da5760206102006064635e0d443f6101405260043560405181116117ce576101605260243560405181116117ce57610180526044356101a05261015c600a545afa156117ce57601f3d11156117ce576000506102005160005260206000f35b604435610140526040366101603760036024351061140a5760243560028082106117ce5780820390509050610180525b60036004351015611488576060366101a037610140516101a060043560038110156117ce57602002015260206102e06084633883e119610200526101a051610220526101c051610240526101e0516102605260016102805261021c600a545afa156117ce57601f3d11156117ce576000506102e051610140526114a0565b60043560028082106117ce5780820390509050610160525b6020610280606463556d6e9f6101c052610160516101e052610180516102005261014051610220526101dc6009545afa156117ce57601f3d11156117ce57600050610280516101a05261018051611543576020610260604463cc2b27d76101c0526101a0516101e05260243560405181116117ce57610200526101dc600a545afa156117ce57601f3d11156117ce576000506102605160005260206000f3611550565b6101a05160005260206000f35b005b637ede89c58114156116385760a43560011c6117ce5760043561014052602435610160526044356101805260206102a06084633883e1196101c052610140516101e0526101605161020052610180516102205260a435610240526101dc600a545afa156117ce57601f3d11156117ce576000506102a0516101a0526101a0516101c0526064356101e0526084356102005260206103006084633883e119610220526101c051610240526101e05161026052610200516102805260a4356102a05261023c6009545afa156117ce57601f3d11156117ce576000506103005160005260206000f35b634fb08c5e81141561172e576003602435106116a25760206101e06044634fb08c5e610140526004356101605260243560028082106117ce57808203905090506101805261015c6009545afa156117ce57601f3d11156117ce576000506101e05160005260206000f35b60206102006044634fb08c5e610160526004356101805260006101a05261017c6009545afa156117ce57601f3d11156117ce5760005061020051610140526020610200604463cc2b27d761016052610140516101805260243560405181116117ce576101a05261017c600a545afa156117ce57601f3d11156117ce576000506102005160005260206000f35b63c661065781141561175657600160043560038110156117ce57026001015460005260206000f35b63b9947eb081141561177e57600160043560058110156117ce57026004015460005260206000f35b6316f0115b8114156117965760095460005260206000f35b635d6362bb8114156117ae57600a5460005260206000f35b63fc0c546a8114156117c657600b5460005260206000f35b505b60006000fd5b600080fd5b6105a9611d7c036105a96000396105a9611d7c036000f35b600080fd000000000000000000000000b755b949c126c04e0348dd881a5cf55d424742b20000000000000000000000007f90122bf0700f9e7e1f688fe926940e8839f353

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000b755b949c126c04e0348dd881a5cf55d424742b20000000000000000000000007f90122bf0700f9e7e1f688fe926940e8839f353

-----Decoded View---------------
Arg [0] : _pool (address): 0xb755b949c126c04e0348dd881a5cf55d424742b2
Arg [1] : _base_pool (address): 0x7f90122bf0700f9e7e1f688fe926940e8839f353

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000b755b949c126c04e0348dd881a5cf55d424742b2
Arg [1] : 0000000000000000000000007f90122bf0700f9e7e1f688fe926940e8839f353


Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.