Contract 0xf6e65b33370ee6a49eb0dbcaa9f43839c1ac04d5 2

 
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x36290e80a3083ad35f0a5442ef469b04f0f62a59af2eef2b7d4cf822990c67ddAdd_liquidity110958752021-09-21 2:37:053 mins ago0x7e7279372c8a8f2700700a668de98bde49d2a6d7 IN  0xf6e65b33370ee6a49eb0dbcaa9f43839c1ac04d50 BNB0.01508851
0x1754e9151163f2c250f01d761f3780f45905cef4225b8500d936dde58394f6b6Remove_liquidity...110958382021-09-21 2:35:145 mins ago0xad1a5ab624fbc993e1f2fa9f93209c6b75afe841 IN  0xf6e65b33370ee6a49eb0dbcaa9f43839c1ac04d50 BNB0.015237205
0x43d3e9aa8636874264242fc4c03470a30eeb7bb8dce0ee1c45443622b7f3640eRemove_liquidity...110957402021-09-21 2:30:2010 mins ago0x6c2def2d78d06b3f568b575aadd92440f8f7a5b7 IN  0xf6e65b33370ee6a49eb0dbcaa9f43839c1ac04d50 BNB0.01582349
0x30579f43ecb573d9cc7abc8f0db18925f307931cceab2f4e2464c35f6cab4fd2Remove_liquidity...110957402021-09-21 2:30:2010 mins ago0xeed7e24e80ada97d091d66c8b78c846098fc7a10 IN  0xf6e65b33370ee6a49eb0dbcaa9f43839c1ac04d50 BNB0.016944845
0xddcfcfe92b002cd22ef390f7200918ffcbfc80b538c2fd5ae96d6acc40b14f36Remove_liquidity...110956092021-09-21 2:23:4717 mins ago0xa3cc45912e681644f1704cea0a9bb978b096bd12 IN  0xf6e65b33370ee6a49eb0dbcaa9f43839c1ac04d50 BNB0.016872455
0x627a0765356bd5f7b8cc608a61dae0723e588cb1f04896f18d1d533aca149cceRemove_liquidity...110954492021-09-21 2:15:4725 mins ago0x3fede4c9cb91a16065a55367b5c67af3ff2392c5 IN  0xf6e65b33370ee6a49eb0dbcaa9f43839c1ac04d50 BNB0.017022395
0xcb33dfd700b9a823f5af11d246aacbd0c572463f6d8683915a7731f96e25f63cRemove_liquidity...110954432021-09-21 2:15:2925 mins ago0x13c3720fcd7ef27117df5e4b85f2a78e37103e6b IN  0xf6e65b33370ee6a49eb0dbcaa9f43839c1ac04d50 BNB0.016623865
0xe4a41e03c66332e27bd10868074a5ed37e0d21a90ed4048b55e2c519858fe5e8Remove_liquidity...110953032021-09-21 2:08:2932 mins ago0x6b729275ceda5081ae36613c8172ab06d49da7f7 IN  0xf6e65b33370ee6a49eb0dbcaa9f43839c1ac04d50 BNB0.01700882
0x02a83d43d97eff4660e27aa95ed718f27d0b951b2e5e1d11d0627fe4a7119ec4Remove_liquidity...110951222021-09-21 1:59:2641 mins ago0x5cd0ba064be3a5c16c8af9a3b9a6bf59ff592f81 IN  0xf6e65b33370ee6a49eb0dbcaa9f43839c1ac04d50 BNB0.016623745
0x98ffa194401207c3945324b7185bbef1dd0c57f0bc8653ea1d5de158f7ba49c0Add_liquidity110951192021-09-21 1:59:1741 mins ago0x00a2c3d755c21bc837a3ca9a32279275eae9e3d6 IN  0xf6e65b33370ee6a49eb0dbcaa9f43839c1ac04d50 BNB0.013443
0x1df07f678eb2a5a22821b08729d6ad33339d5433ddacd1241e1381f19e3629eeRemove_liquidity...110951002021-09-21 1:58:2042 mins ago0x036ecec007b1cc0dd3da4d5f5968ca2a51a64a99 IN  0xf6e65b33370ee6a49eb0dbcaa9f43839c1ac04d50 BNB0.015312205
0x065d51030107282bd810c956fc459d534ac370b8030909cc2d3d495dc52c21d2Remove_liquidity...110949012021-09-21 1:47:4753 mins ago0xc0661ebb172731f2443531de9cf041c3b94a633b IN  0xf6e65b33370ee6a49eb0dbcaa9f43839c1ac04d50 BNB0.01389834
0xf77005545976f46762fffbf48dc25cf30e451e9f58489342e59c00eadd5b946aAdd_liquidity110948262021-09-21 1:44:0256 mins ago0x2ada4c881a2458cc80e5f8aa3d2afc9321f8dba8 IN  0xf6e65b33370ee6a49eb0dbcaa9f43839c1ac04d50 BNB0.015014165
0x5826194e99498535e9a09becb1f3fba8b190b775f2d06e8b632cc86d0ed7a252Remove_liquidity...110947522021-09-21 1:40:201 hr ago0x513001bb0160fe6da28baac6bc98ea725bfe2741 IN  0xf6e65b33370ee6a49eb0dbcaa9f43839c1ac04d50 BNB0.038771675
0x4636ff6ff18dfe3eb7307e31d6d64eed1600464239bc4a45343f5c0ddb9b63fbRemove_liquidity...110947072021-09-21 1:38:051 hr 2 mins ago0x5d2a382480db167a67276d88c39f5a755f28fec7 IN  0xf6e65b33370ee6a49eb0dbcaa9f43839c1ac04d50 BNB0.015311965
0x0e5d5017dd80d170e767c5a8b2c386906bbd4e505bd8ceb8e45c10b55ed039c7Add_liquidity110945492021-09-21 1:30:111 hr 10 mins ago0x00a2c3d755c21bc837a3ca9a32279275eae9e3d6 IN  0xf6e65b33370ee6a49eb0dbcaa9f43839c1ac04d50 BNB0.018830935
0x4e0457d96fdfb922cddfb1869b9d52a32fec2bb0fd313b5f7da846fd83f4757cAdd_liquidity110945412021-09-21 1:29:471 hr 11 mins ago0x136e6f25117af5e5ff5d353dc41a0e91f013d461 IN  0xf6e65b33370ee6a49eb0dbcaa9f43839c1ac04d50 BNB0.015014165
0x6461ca2ecf218b1767eea657003ebd494634c45dd1eb46f0e5dc852aa5fd0debRemove_liquidity...110944982021-09-21 1:27:381 hr 13 mins ago0xa23139785673fcc9023c6016f079de17252cde9f IN  0xf6e65b33370ee6a49eb0dbcaa9f43839c1ac04d50 BNB0.01382322
0xab5438b62ecc1773835c2c07524fd3dafed94c449dd7870059e4632109ef7b26Remove_liquidity...110943532021-09-21 1:20:231 hr 20 mins ago0xb432b502f9a4694333fa3b464b5598bdee878bb9 IN  0xf6e65b33370ee6a49eb0dbcaa9f43839c1ac04d50 BNB0.017137595
0x8116fef5001e3650f4f61251f85883df38a880a0150883fea8cf9763e91f8c06Remove_liquidity...110942092021-09-21 1:13:111 hr 27 mins ago0x92952475e525b84f23a503cdd1a322c0210a6564 IN  0xf6e65b33370ee6a49eb0dbcaa9f43839c1ac04d50 BNB0.015237205
0xf94a850cbddce6f52f1eb7710a8ace9142aa9deda9fb16d26b11e7156f4df422Remove_liquidity...110941532021-09-21 1:10:231 hr 30 mins ago0x6c532c7ff0cc4e09770993611a61688c3dd1d259 IN  0xf6e65b33370ee6a49eb0dbcaa9f43839c1ac04d50 BNB0.016944965
0xe2b038dd2a008742b63b456983bd6ca23ee82d19c7f3633d2bfb81d4f3ee717fRemove_liquidity...110941362021-09-21 1:09:321 hr 31 mins ago0x3847461aab396b2ac94fadf52aa0df587e2e2eb3 IN  0xf6e65b33370ee6a49eb0dbcaa9f43839c1ac04d50 BNB0.01389834
0x0b412aa62da6b86e1952cbde402f90e57b229f3bf69c53f07064a2e072160e7fRemove_liquidity...110941182021-09-21 1:08:381 hr 32 mins ago0x4519a023c87b381007ccd63276834ae26ebd67c5 IN  0xf6e65b33370ee6a49eb0dbcaa9f43839c1ac04d50 BNB0.015387085
0x3c5eb14b9ef56f444b00582437b552141d02fa90e11cff6ed700601157cc3875Remove_liquidity...110941112021-09-21 1:08:171 hr 32 mins ago0x1dbe1df6b52fa1cfe6a4760496826995db8613ec IN  0xf6e65b33370ee6a49eb0dbcaa9f43839c1ac04d50 BNB0.016623865
0x991a0702cc535cc201ac5f42d93ad2ab21af9cdc02598cc4c005ab2e0c2d936dRemove_liquidity...110941092021-09-21 1:08:111 hr 32 mins ago0x4519a023c87b381007ccd63276834ae26ebd67c5 IN  0xf6e65b33370ee6a49eb0dbcaa9f43839c1ac04d50 BNB0.016374095
[ 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.1.0b16

Optimization Enabled:
N/A

Other Settings:
, None license

Contract Source Code (Vyper language format)

from vyper.interfaces import ERC20

contract bERC20:
    def totalSupply() -> uint256: constant
    def allowance(_owner: address, _spender: address) -> uint256: constant
    def transfer(_to: address, _value: uint256) -> bool: modifying
    def transferFrom(_from: address, _to: address, _value: uint256) -> bool: modifying
    def approve(_spender: address, _value: uint256) -> bool: modifying
    def name() -> string[64]: constant
    def symbol() -> string[32]: constant
    def decimals() -> uint256: constant
    def balanceOf(arg0: address) -> uint256: constant
    def deposit(depositAmount: uint256, minShare: uint256): modifying
    def withdraw(withdrawTokens: uint256, minShare: uint256): modifying
    def getPricePerFullShare() -> uint256: constant

contract BeltLP:
    def add_liquidity(amounts: uint256[N_COINS], min_mint_amount: uint256): modifying
    def remove_liquidity(_amount: uint256, min_amounts: uint256[N_COINS]): modifying
    def remove_liquidity_imbalance(amounts: uint256[N_COINS], max_burn_amount: uint256): modifying
    def balances(i: int128) -> uint256: constant
    def A() -> uint256: constant
    def fee() -> uint256: constant
    def owner() -> address: constant


N_COINS: constant(int128) = 4
ZERO256: constant(uint256) = 0 
ZEROS: constant(uint256[N_COINS]) = [ZERO256, ZERO256, ZERO256, ZERO256]
LENDING_PRECISION: constant(uint256) = 10 ** 18
PRECISION: constant(uint256) = 10 ** 18
PRECISION_MUL: constant(uint256[N_COINS]) = [convert(1, uint256), convert(1, uint256), convert(1, uint256), convert(1, uint256)]
FEE_DENOMINATOR: constant(uint256) = 10 ** 10
FEE_IMPRECISION: constant(uint256) = 25 * 10 ** 8 

coins: public(address[N_COINS])
underlying_coins: public(address[N_COINS])
beltLP: public(address)
token: public(address)


@public
def __init__(_coins: address[N_COINS], _underlying_coins: address[N_COINS],
             _beltLP: address, _token: address):
    self.coins = _coins
    self.underlying_coins = _underlying_coins
    self.beltLP = _beltLP
    self.token = _token


@public
@nonreentrant('lock')
def add_liquidity(uamounts: uint256[N_COINS], min_mint_amount: uint256):
    amounts: uint256[N_COINS] = ZEROS

    for i in range(N_COINS):
        uamount: uint256 = uamounts[i]

        if uamount > 0:
            assert_modifiable(ERC20(self.underlying_coins[i])\
                .transferFrom(msg.sender, self, uamount))

            ERC20(self.underlying_coins[i]).approve(self.coins[i], uamount)
            bERC20(self.coins[i]).deposit(uamount, 0)
            amounts[i] = bERC20(self.coins[i]).balanceOf(self)
            ERC20(self.coins[i]).approve(self.beltLP, amounts[i])

    BeltLP(self.beltLP).add_liquidity(amounts, min_mint_amount)

    tokens: uint256 = ERC20(self.token).balanceOf(self)
    assert_modifiable(ERC20(self.token).transfer(msg.sender, tokens))


@private
def _send_all(_addr: address, min_uamounts: uint256[N_COINS], one: int128):

    for i in range(N_COINS):
        if (one < 0) or (i == one):
            _coin: address = self.coins[i]
            _balance: uint256 = bERC20(_coin).balanceOf(self)
            if _balance == 0:
                continue
            bERC20(_coin).withdraw(_balance, 0)

            _ucoin: address = self.underlying_coins[i]
            _uamount: uint256 = ERC20(_ucoin).balanceOf(self)
            assert _uamount >= min_uamounts[i], "Not enough coins withdrawn"
            assert_modifiable(ERC20(_ucoin).transfer(_addr, _uamount))


@public
@nonreentrant('lock')
def remove_liquidity(_amount: uint256, min_uamounts: uint256[N_COINS]):
    zeros: uint256[N_COINS] = ZEROS

    assert_modifiable(ERC20(self.token).transferFrom(msg.sender, self, _amount))
    BeltLP(self.beltLP).remove_liquidity(_amount, zeros)

    self._send_all(msg.sender, min_uamounts, -1)


@public
@nonreentrant('lock')
def remove_liquidity_imbalance(uamounts: uint256[N_COINS], max_burn_amount: uint256):
    _token: address = self.token

    amounts: uint256[N_COINS] = uamounts
    for i in range(N_COINS):
        if amounts[i] > 0:
            rate: uint256 = bERC20(self.coins[i]).getPricePerFullShare()
            amounts[i] = amounts[i] * LENDING_PRECISION / rate

    _tokens: uint256 = ERC20(_token).balanceOf(msg.sender)
    if _tokens > max_burn_amount:
        _tokens = max_burn_amount
    assert_modifiable(ERC20(_token).transferFrom(msg.sender, self, _tokens))

    BeltLP(self.beltLP).remove_liquidity_imbalance(amounts, max_burn_amount)

    _tokens = ERC20(_token).balanceOf(self)
    assert_modifiable(ERC20(_token).transfer(msg.sender, _tokens))

    self._send_all(msg.sender, ZEROS, -1)


@private
@constant
def _xp_mem(rates: uint256[N_COINS], _balances: uint256[N_COINS]) -> uint256[N_COINS]:
    result: uint256[N_COINS] = rates
    for i in range(N_COINS):
        result[i] = result[i] * _balances[i] / PRECISION
    return result


@private
@constant
def get_D(A: uint256, xp: uint256[N_COINS]) -> uint256:
    S: uint256 = 0
    for _x in xp:
        S += _x
    if S == 0:
        return 0

    Dprev: uint256 = 0
    D: uint256 = S
    Ann: uint256 = A * N_COINS
    for _i in range(255):
        D_P: uint256 = D
        for _x in xp:
            D_P = D_P * D / (_x * N_COINS + 1)
        Dprev = D
        D = (Ann * S + D_P * N_COINS) * D / ((Ann - 1) * D + (N_COINS + 1) * D_P)
        
        if D > Dprev:
            if D - Dprev <= 1:
                break
        else:
            if Dprev - D <= 1:
                break
    return D


@private
@constant
def get_y(A: uint256, i: int128, _xp: uint256[N_COINS], D: uint256) -> uint256:
    assert (i >= 0) and (i < N_COINS)

    c: uint256 = D
    S_: uint256 = 0
    Ann: uint256 = A * N_COINS

    _x: uint256 = 0
    for _i in range(N_COINS):
        if _i != i:
            _x = _xp[_i]
        else:
            continue
        S_ += _x
        c = c * D / (_x * N_COINS)
    c = c * D / (Ann * N_COINS)
    b: uint256 = S_ + D / Ann
    y_prev: uint256 = 0
    y: uint256 = D
    for _i in range(255):
        y_prev = y
        y = (y*y + c) / (2 * y + b - D)

        if y > y_prev:
            if y - y_prev <= 1:
                break
        else:
            if y_prev - y <= 1:
                break
    return y


@private
@constant
def _calc_withdraw_one_coin(_token_amount: uint256, i: int128, rates: uint256[N_COINS]) -> uint256:
    blp: address = self.beltLP
    A: uint256 = BeltLP(blp).A()
    fee: uint256 = BeltLP(blp).fee() * N_COINS / (4 * (N_COINS - 1))
    fee += fee * FEE_IMPRECISION / FEE_DENOMINATOR 
    precisions: uint256[N_COINS] = PRECISION_MUL
    total_supply: uint256 = ERC20(self.token).totalSupply()

    xp: uint256[N_COINS] = PRECISION_MUL
    S: uint256 = 0
    for j in range(N_COINS):
        xp[j] *= BeltLP(blp).balances(j)
        xp[j] = xp[j] * rates[j] / LENDING_PRECISION
        S += xp[j]

    D0: uint256 = self.get_D(A, xp)
    D1: uint256 = D0 - _token_amount * D0 / total_supply
    xp_reduced: uint256[N_COINS] = xp


    for j in range(N_COINS):
        dx_expected: uint256 = 0
        b_ideal: uint256 = xp[j] * D1 / D0
        b_expected: uint256 = xp[j]
        if j == i:
            b_expected -= S * (D0 - D1) / D0
        if b_ideal >= b_expected:
            dx_expected += (b_ideal - b_expected)
        else:
            dx_expected += (b_expected - b_ideal)
        xp_reduced[j] -= fee * dx_expected / FEE_DENOMINATOR

    dy: uint256 = xp_reduced[i] - self.get_y(A, i, xp_reduced, D1)
    dy = dy / precisions[i]

    return dy


@public
@constant
def calc_withdraw_one_coin(_token_amount: uint256, i: int128) -> uint256:
    rates: uint256[N_COINS] = ZEROS

    for j in range(N_COINS):
        rates[j] = bERC20(self.coins[j]).getPricePerFullShare()

    return self._calc_withdraw_one_coin(_token_amount, i, rates)


@public
@nonreentrant('lock')
def remove_liquidity_one_coin(_token_amount: uint256, i: int128, min_uamount: uint256, donate_dust: bool = False):
    rates: uint256[N_COINS] = ZEROS
    _token: address = self.token

    for j in range(N_COINS):
        rates[j] = bERC20(self.coins[j]).getPricePerFullShare()

    dy: uint256 = self._calc_withdraw_one_coin(_token_amount, i, rates)
    assert dy >= min_uamount, "Not enough coins removed"

    assert_modifiable(
        ERC20(self.token).transferFrom(msg.sender, self, _token_amount))

    amounts: uint256[N_COINS] = ZEROS
    amounts[i] = dy * LENDING_PRECISION / rates[i]
    token_amount_before: uint256 = ERC20(_token).balanceOf(self)
    BeltLP(self.beltLP).remove_liquidity_imbalance(amounts, _token_amount)


    self._send_all(msg.sender, ZEROS, i)

    if not donate_dust:
        token_amount_after: uint256 = ERC20(_token).balanceOf(self)
        if token_amount_after > token_amount_before:
            assert_modifiable(ERC20(_token).transfer(
                msg.sender, token_amount_after - token_amount_before)
            )


@public
@nonreentrant('lock')
def withdraw_donated_dust():
    owner: address = BeltLP(self.beltLP).owner()
    assert msg.sender == owner

    _token: address = self.token
    assert_modifiable(
        ERC20(_token).transfer(owner, ERC20(_token).balanceOf(self)))

Contract Security Audit

Contract ABI

[{"outputs":[],"inputs":[{"type":"address[4]","name":"_coins"},{"type":"address[4]","name":"_underlying_coins"},{"type":"address","name":"_beltLP"},{"type":"address","name":"_token"}],"constant":false,"payable":false,"type":"constructor"},{"name":"add_liquidity","outputs":[],"inputs":[{"type":"uint256[4]","name":"uamounts"},{"type":"uint256","name":"min_mint_amount"}],"constant":false,"payable":false,"type":"function","gas":164124},{"name":"remove_liquidity","outputs":[],"inputs":[{"type":"uint256","name":"_amount"},{"type":"uint256[4]","name":"min_uamounts"}],"constant":false,"payable":false,"type":"function","gas":99050},{"name":"remove_liquidity_imbalance","outputs":[],"inputs":[{"type":"uint256[4]","name":"uamounts"},{"type":"uint256","name":"max_burn_amount"}],"constant":false,"payable":false,"type":"function","gas":119565},{"name":"calc_withdraw_one_coin","outputs":[{"type":"uint256","name":"out"}],"inputs":[{"type":"uint256","name":"_token_amount"},{"type":"int128","name":"i"}],"constant":true,"payable":false,"type":"function","gas":3881601},{"name":"remove_liquidity_one_coin","outputs":[],"inputs":[{"type":"uint256","name":"_token_amount"},{"type":"int128","name":"i"},{"type":"uint256","name":"min_uamount"}],"constant":false,"payable":false,"type":"function"},{"name":"remove_liquidity_one_coin","outputs":[],"inputs":[{"type":"uint256","name":"_token_amount"},{"type":"int128","name":"i"},{"type":"uint256","name":"min_uamount"},{"type":"bool","name":"donate_dust"}],"constant":false,"payable":false,"type":"function"},{"name":"withdraw_donated_dust","outputs":[],"inputs":[],"constant":false,"payable":false,"type":"function","gas":63973},{"name":"coins","outputs":[{"type":"address","name":"out"}],"inputs":[{"type":"int128","name":"arg0"}],"constant":true,"payable":false,"type":"function","gas":1680},{"name":"underlying_coins","outputs":[{"type":"address","name":"out"}],"inputs":[{"type":"int128","name":"arg0"}],"constant":true,"payable":false,"type":"function","gas":1710},{"name":"beltLP","outputs":[{"type":"address","name":"out"}],"inputs":[],"constant":true,"payable":false,"type":"function","gas":1541},{"name":"token","outputs":[{"type":"address","name":"out"}],"inputs":[],"constant":true,"payable":false,"type":"function","gas":1571}]

740100000000000000000000000000000000000000006020526f7fffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff8000000000000000000000000000000060605274012a05f1fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffed5fa0e000000000000000000000000000000000060a0526101406129ac6101403934156100a257600080fd5b60206129ac60c03960c05160205181106100bb57600080fd5b50602060206129ac0160c03960c05160205181106100d857600080fd5b50602060406129ac0160c03960c05160205181106100f557600080fd5b50602060606129ac0160c03960c051602051811061011257600080fd5b50602060806129ac0160c03960c051602051811061012f57600080fd5b50602060a06129ac0160c03960c051602051811061014c57600080fd5b50602060c06129ac0160c03960c051602051811061016957600080fd5b50602060e06129ac0160c03960c051602051811061018657600080fd5b5060206101006129ac0160c03960c05160205181106101a457600080fd5b5060206101206129ac0160c03960c05160205181106101c257600080fd5b50600060c052602060c020610140805182558060200151600183015580604001516002830155806060015160038301555050600160c052602060c0206101c0805182558060200151600183015580604001516002830155806060015160038301555050610240516002556102605160035561299456600436101561000d57612756565b600035601c52740100000000000000000000000000000000000000006020526f7fffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff8000000000000000000000000000000060605274012a05f1fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffed5fa0e000000000000000000000000000000000060a05263029b2f3460005114156105bc5762ffffff54156100be57600080fd5b600162ffffff5534156100d057600080fd5b61014060008152600081602001526000816040015260008160600152506101c060006004818352015b60046101c0516004811061010c57600080fd5b60200201356101e05260006101e051111561048b576101c0516004811061013257600080fd5b600160c052602060c02001543b61014857600080fd5b6101c0516004811061015957600080fd5b600160c052602060c0200154301861017057600080fd5b60206102c060646323b872dd61020052336102205230610240526101e0516102605261021c60006101c051600481106101a857600080fd5b600160c052602060c02001545af16101bf57600080fd5b6000506102c0516101cf57600080fd5b6101c051600481106101e057600080fd5b600160c052602060c02001543b6101f657600080fd5b6101c0516004811061020757600080fd5b600160c052602060c0200154301861021e57600080fd5b6020610380604463095ea7b36102e0526101c0516004811061023f57600080fd5b600060c052602060c0200154610300526101e051610320526102fc60006101c0516004811061026d57600080fd5b600160c052602060c02001545af161028457600080fd5b600050610380506101c0516004811061029c57600080fd5b600060c052602060c02001543b6102b257600080fd5b6101c051600481106102c357600080fd5b600060c052602060c020015430186102da57600080fd5b60006000604463e2bbb1586103a0526101e0516103c05260006103e0526103bc60006101c0516004811061030d57600080fd5b600060c052602060c02001545af161032457600080fd5b6101c0516004811061033557600080fd5b600060c052602060c02001543b61034b57600080fd5b6101c0516004811061035c57600080fd5b600060c052602060c0200154301861037357600080fd5b60206104c060246370a0823161044052306104605261045c6101c0516004811061039c57600080fd5b600060c052602060c02001545afa6103b357600080fd5b6000506104c0516101406101c051600481106103ce57600080fd5b60200201526101c051600481106103e457600080fd5b600060c052602060c02001543b6103fa57600080fd5b6101c0516004811061040b57600080fd5b600060c052602060c0200154301861042257600080fd5b6020610580604463095ea7b36104e052600254610500526101406101c0516004811061044d57600080fd5b6020020151610520526104fc60006101c0516004811061046c57600080fd5b600060c052602060c02001545af161048357600080fd5b600050610580505b5b81516001018083528114156100f9575b50506002543b6104ab57600080fd5b60025430186104b957600080fd5b6000600060a463029b2f346105a0526105c0610140805182528060200151826020015280604001518260400152806060015182606001525050608435610640526105bc60006002545af161050c57600080fd5b6003543b61051957600080fd5b600354301861052757600080fd5b602061074060246370a082316106c052306106e0526106dc6003545afa61054d57600080fd5b600050610740516106a0526003543b61056557600080fd5b600354301861057357600080fd5b6020610800604463a9059cbb6107605233610780526106a0516107a05261077c60006003545af16105a357600080fd5b600050610800516105b357600080fd5b600062ffffff55005b600015610822575b610200526101405261016052610180526101a0526101c0526101e05261022060006004818352015b6101e051610220511460006101e05112171561080957610220516004811061061357600080fd5b600060c052602060c020015461024052610240513b61063157600080fd5b61024051301861064057600080fd5b602061030060246370a0823161028052306102a05261029c610240515afa61066757600080fd5b60005061030051610260526102605115156106815761080a565b610240513b61068f57600080fd5b61024051301861069e57600080fd5b60006000604463441a3e7061032052610260516103405260006103605261033c6000610240515af16106cf57600080fd5b61022051600481106106e057600080fd5b600160c052602060c02001546103c0526103c0513b6106fe57600080fd5b6103c051301861070d57600080fd5b602061048060246370a0823161040052306104205261041c6103c0515afa61073457600080fd5b600050610480516103e0526308c379a06104a05260206104c052601a6104e0527f4e6f7420656e6f75676820636f696e732077697468647261776e000000000000610500526104e050610160610220516004811061079157600080fd5b60200201516103e05110156107a75760846104bcfd5b6103c0513b6107b557600080fd5b6103c05130186107c457600080fd5b60206105e0604463a9059cbb6105405261014051610560526103e0516105805261055c60006103c0515af16107f857600080fd5b6000506105e05161080857600080fd5b5b5b81516001018083528114156105ec575b505061020051565b637d49d8756000511415610a195762ffffff541561083f57600080fd5b600162ffffff55341561085157600080fd5b61014060008152600081602001526000816040015260008160600152506003543b61087b57600080fd5b600354301861088957600080fd5b602061028060646323b872dd6101c052336101e0523061020052600435610220526101dc60006003545af16108bd57600080fd5b600050610280516108cd57600080fd5b6002543b6108da57600080fd5b60025430186108e857600080fd5b6000600060a4637d49d8756102a0526004356102c0526102e06101408051825280602001518260200152806040015182604001528060600151826060015250506102bc60006002545af161093b57600080fd5b6101406103a0525b6103a0515160206103a051016103a0526103a06103a051101561096557610943565b63eb9ec6916103c052336103e05261040060248035825280602001358260200152806040013582604001528060600135826060015250507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6104805261048051610460516104405161042051610400516103e051600658016105c4565b6103806103a0525b6103a0515260206103a051036103a0526101406103a051101515610a0d576109ea565b600050600062ffffff55005b6318a7bd766000511415610e6d5762ffffff5415610a3657600080fd5b600162ffffff553415610a4857600080fd5b6003546101405261016060048035825280602001358260200152806040013582604001528060600135826060015250506101e060006004818352015b60006101606101e05160048110610a9a57600080fd5b60200201511115610ba6576101e05160048110610ab657600080fd5b600060c052602060c02001543b610acc57600080fd5b6101e05160048110610add57600080fd5b600060c052602060c02001543018610af457600080fd5b602061028060046377c7b8fc6102205261023c6101e05160048110610b1857600080fd5b600060c052602060c02001545afa610b2f57600080fd5b60005061028051610200526101606101e05160048110610b4e57600080fd5b6020020151670de0b6b3a76400008082028215828483041417610b7057600080fd5b80905090509050610200518080610b8657600080fd5b8204905090506101606101e05160048110610ba057600080fd5b60200201525b5b8151600101808352811415610a84575b5050610140513b610bc757600080fd5b610140513018610bd657600080fd5b602061034060246370a082316102c052336102e0526102dc610140515afa610bfd57600080fd5b600050610340516102a0526084356102a0511115610c1d576084356102a0525b610140513b610c2b57600080fd5b610140513018610c3a57600080fd5b602061042060646323b872dd610360523361038052306103a0526102a0516103c05261037c6000610140515af1610c7057600080fd5b60005061042051610c8057600080fd5b6002543b610c8d57600080fd5b6002543018610c9b57600080fd5b6000600060a46318a7bd76610440526104606101608051825280602001518260200152806040015182604001528060600151826060015250506084356104e05261045c60006002545af1610cee57600080fd5b610140513b610cfc57600080fd5b610140513018610d0b57600080fd5b60206105c060246370a0823161054052306105605261055c610140515afa610d3257600080fd5b6000506105c0516102a052610140513b610d4b57600080fd5b610140513018610d5a57600080fd5b6020610680604463a9059cbb6105e05233610600526102a051610620526105fc6000610140515af1610d8b57600080fd5b60005061068051610d9b57600080fd5b6101406106a0525b6106a0515160206106a051016106a0526106a06106a0511015610dc557610da3565b63eb9ec6916106c052336106e05261070060008152600081602001526000816040015260008160600152507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6107805261078051610760516107405161072051610700516106e051600658016105c4565b6106806106a0525b6106a0515260206106a051036106a0526101406106a051101515610e6157610e3e565b600050600062ffffff55005b600015610f9e575b610240526101405261016052610180526101a0526101c0526101e05261020052610220526102606101408051825280602001518260200152806040015182604001528060600151826060015250506102e060006004818352015b6102606102e05160048110610ee357600080fd5b60200201516101c06102e05160048110610efc57600080fd5b60200201518082028215828483041417610f1557600080fd5b80905090509050670de0b6b3a76400008080610f3057600080fd5b8204905090506102606102e05160048110610f4a57600080fd5b60200201525b8151600101808352811415610ecf575b50506080610300525b600061030051111515610f7b57610f97565b6020610300510361026001516020610300510361030052610f69565b6102405156005b6000156112a8575b6101e0526101405261016052610180526101a0526101c05260006102005261024060006004818352015b60206102405102610160015161022052610200805161022051818183011015610ff857600080fd5b808201905090508152505b8151600101808352811415610fd0575b505061020051151561102e5760006000526000516101e05156505b600061028052610200516102a052610140516004808202821582848304141761105657600080fd5b809050905090506102c0526102e0600060ff818352015b6102a0516103005261034060006004818352015b60206103405102610160015161032052610300516102a05180820282158284830414176110ad57600080fd5b8090509050905061032051600480820282158284830414176110ce57600080fd5b8090509050905060018181830110156110e657600080fd5b8082019050905080806110f857600080fd5b820490509050610300525b8151600101808352811415611081575b50506102a051610280526102c05161020051808202821582848304141761113957600080fd5b80905090509050610300516004808202821582848304141761115a57600080fd5b8090509050905081818301101561117057600080fd5b808201905090506102a051808202821582848304141761118f57600080fd5b809050905090506102c0516001808210156111a957600080fd5b808203905090506102a05180820282158284830414176111c857600080fd5b8090509050905060056103005180820282158284830414176111e957600080fd5b809050905090508181830110156111ff57600080fd5b80820190509050808061121157600080fd5b8204905090506102a052610280516102a05111156112585760016102a051610280518082101561124057600080fd5b8082039050905011151561125357611294565b611283565b6001610280516102a0518082101561126f57600080fd5b8082039050905011151561128257611294565b5b5b815160010180835281141561106d575b50506102a0516000526000516101e0515650005b6000156115d5575b610220526101405261016052610180526101a0526101c0526101e05261020052600461016051126000610160511215166112e957600080fd5b6102005161024052600061026052610140516004808202821582848304141761131157600080fd5b809050905090506102805260006102a0526102c060006004818352015b610160516102c051181561135e576101806102c0516004811061135057600080fd5b60200201516102a052611363565b6113df565b61026080516102a05181818301101561137b57600080fd5b80820190509050815250610240516102005180820282158284830414176113a157600080fd5b809050905090506102a051600480820282158284830414176113c257600080fd5b8090509050905080806113d457600080fd5b820490509050610240525b815160010180835281141561132e575b50506102405161020051808202821582848304141761140d57600080fd5b80905090509050610280516004808202821582848304141761142e57600080fd5b80905090509050808061144057600080fd5b82049050905061024052610260516102005161028051808061146157600080fd5b82049050905081818301101561147657600080fd5b808201905090506102e0526000610300526102005161032052610340600060ff818352015b6103205161030052610320516103205180820282158284830414176114bf57600080fd5b80905090509050610240518181830110156114d957600080fd5b8082019050905060026103205180820282158284830414176114fa57600080fd5b809050905090506102e05181818301101561151457600080fd5b80820190509050610200518082101561152c57600080fd5b80820390509050808061153e57600080fd5b820490509050610320526103005161032051111561158557600161032051610300518082101561156d57600080fd5b80820390509050111515611580576115c1565b6115b0565b600161030051610320518082101561159c57600080fd5b808203905090501115156115af576115c1565b5b5b815160010180835281141561149b575b505061032051600052600051610220515650005b600015611d7b575b610200526101405261016052610180526101a0526101c0526101e05260025461022052610220513b61160e57600080fd5b61022051301861161d57600080fd5b60206102c0600463f446c1d06102605261027c610220515afa61163f57600080fd5b6000506102c05161024052610220513b61165857600080fd5b61022051301861166757600080fd5b6020610360600463ddca3f436103005261031c610220515afa61168957600080fd5b60005061036051600480820282158284830414176116a657600080fd5b80905090509050600c80806116ba57600080fd5b8204905090506102e0526102e080516102e051639502f90080820282158284830414176116e657600080fd5b809050905090506402540be40080806116fe57600080fd5b82049050905081818301101561171357600080fd5b8082019050905081525061038060018152600181602001526001816040015260018160600152506003543b61174757600080fd5b600354301861175557600080fd5b602061048060046318160ddd6104205261043c6003545afa61177657600080fd5b60005061048051610400526104a0600181526001816020015260018160400152600181606001525060006105205261054060006004818352015b6104a061054051600481106117c457600080fd5b602002018051610220513b6117d857600080fd5b6102205130186117e757600080fd5b60206105e0602463065a80d861056052610540516105805261057c610220515afa61181157600080fd5b6000506105e051808202821582848304141761182c57600080fd5b809050905090508152506104a0610540516004811061184a57600080fd5b6020020151610180610540516004811061186357600080fd5b6020020151808202821582848304141761187c57600080fd5b80905090509050670de0b6b3a7640000808061189757600080fd5b8204905090506104a061054051600481106118b157600080fd5b602002015261052080516104a061054051600481106118cf57600080fd5b60200201518181830110156118e357600080fd5b808201905090508152505b81516001018083528114156117b0575b5050610140610620525b6106205151602061062051016106205261062061062051101561192a57611908565b637b7241516106405261024051610660526106806104a08051825280602001518260200152806040015182604001528060600151826060015250506106e0516106c0516106a051610680516106605160065801610fa6565b61074052610600610620525b61062051526020610620510361062052610140610620511015156119b15761198e565b610740516106005261060051610140516106005180820282158284830414176119d957600080fd5b809050905090506104005180806119ef57600080fd5b82049050905080821015611a0257600080fd5b80820390509050610760526107806104a080518252806020015182602001528060400151826040015280606001518260600152505061080060006004818352015b6000610820526104a06108005160048110611a5d57600080fd5b6020020151610760518082028215828483041417611a7a57600080fd5b80905090509050610600518080611a9057600080fd5b820490509050610840526104a06108005160048110611aae57600080fd5b60200201516108605261016051610800511415611b3257610860805161052051610600516107605180821015611ae357600080fd5b808203905090508082028215828483041417611afe57600080fd5b80905090509050610600518080611b1457600080fd5b82049050905080821015611b2757600080fd5b808203905090508152505b6108605161084051101515611b80576108208051610840516108605180821015611b5b57600080fd5b80820390509050818183011015611b7157600080fd5b80820190509050815250611bbb565b6108208051610860516108405180821015611b9a57600080fd5b80820390509050818183011015611bb057600080fd5b808201905090508152505b6107806108005160048110611bcf57600080fd5b6020020180516102e051610820518082028215828483041417611bf157600080fd5b809050905090506402540be4008080611c0957600080fd5b82049050905080821015611c1c57600080fd5b808203905090508152505b8151600101808352811415611a43575b50506107806101605160048110611c4d57600080fd5b60200201516101406108a0525b6108a0515160206108a051016108a0526108a06108a0511015611c7c57611c5a565b638643731f6108c052610240516108e0526101605161090052610920610780805182528060200151826020015280604001518260400152806060015182606001525050610760516109a0526109a05161098051610960516109405161092051610900516108e051600658016112b0565b610a00526108806108a0525b6108a0515260206108a051036108a0526101406108a051101515611d1b57611cf8565b610a005180821015611d2c57600080fd5b8082039050905061088052610880516103806101605160048110611d4f57600080fd5b60200201518080611d5f57600080fd5b8204905090506108805261088051600052600051610200515650005b63cc2b27d76000511415611f34573415611d9457600080fd5b60605160243580604051901315611daa57600080fd5b8091901215611db857600080fd5b5061014060008152600081602001526000816040015260008160600152506101c060006004818352015b6101c05160048110611df357600080fd5b600060c052602060c02001543b611e0957600080fd5b6101c05160048110611e1a57600080fd5b600060c052602060c02001543018611e3157600080fd5b602061024060046377c7b8fc6101e0526101fc6101c05160048110611e5557600080fd5b600060c052602060c02001545afa611e6c57600080fd5b600050610240516101406101c05160048110611e8757600080fd5b60200201525b8151600101808352811415611de2575b50506101405161016051610180516101a05163800c1cbc610280526004356102a0526024356102c0526102e06101408051825280602001518260200152806040015182604001528060600151826060015250506103405161032051610300516102e0516102c0516102a051600658016115dd565b6103a0526101a0526101805261016052610140526103a05160005260206000f350005b631a4d01d26000511415611f4d57600061014052611f83565b63517a55a36000511415611f7b5760643560028110611f6b57600080fd5b6020606461014037600050611f83565b600015612500575b62ffffff5415611f9257600080fd5b600162ffffff553415611fa457600080fd5b60605160243580604051901315611fba57600080fd5b8091901215611fc857600080fd5b5061016060008152600081602001526000816040015260008160600152506003546101e05261020060006004818352015b610200516004811061200a57600080fd5b600060c052602060c02001543b61202057600080fd5b610200516004811061203157600080fd5b600060c052602060c0200154301861204857600080fd5b602061028060046377c7b8fc6102205261023c610200516004811061206c57600080fd5b600060c052602060c02001545afa61208357600080fd5b60005061028051610160610200516004811061209e57600080fd5b60200201525b8151600101808352811415611ff9575b50506101406102c0525b6102c0515160206102c051016102c0526102c06102c05110156120e0576120be565b63800c1cbc6102e05260043561030052602435610320526103406101608051825280602001518260200152806040015182604001528060600151826060015250506103a0516103805161036051610340516103205161030051600658016115dd565b610400526102a06102c0525b6102c0515260206102c051036102c0526101406102c0511015156121715761214e565b610400516102a0526308c379a0610420526020610440526018610460527f4e6f7420656e6f75676820636f696e732072656d6f766564000000000000000061048052610460506044356102a05110156121cb57608461043cfd5b6003543b6121d857600080fd5b60035430186121e657600080fd5b602061058060646323b872dd6104c052336104e0523061050052600435610520526104dc60006003545af161221a57600080fd5b6000506105805161222a57600080fd5b6105a060008152600081602001526000816040015260008160600152506102a051670de0b6b3a7640000808202821582848304141761226857600080fd5b809050905090506101606024356004811061228257600080fd5b6020020151808061229257600080fd5b8204905090506105a0602435600481106122ab57600080fd5b60200201526101e0513b6122be57600080fd5b6101e05130186122cd57600080fd5b60206106c060246370a0823161064052306106605261065c6101e0515afa6122f457600080fd5b6000506106c051610620526002543b61230c57600080fd5b600254301861231a57600080fd5b6000600060a46318a7bd766106e0526107006105a0805182528060200151826020015280604001518260400152806060015182606001525050600435610780526106fc60006002545af161236d57600080fd5b6101406107e0525b6107e0515160206107e051016107e0526107e06107e051101561239757612375565b63eb9ec69161080052336108205261084060008152600081602001526000816040015260008160600152506024356108c0526108c0516108a05161088051610860516108405161082051600658016105c4565b6107c06107e0525b6107e0515260206107e051036107e0526101406107e051101515612415576123f2565b6000506101405115156124f7576101e0513b61243057600080fd5b6101e051301861243f57600080fd5b60206109c060246370a0823161094052306109605261095c6101e0515afa61246657600080fd5b6000506109c05161092052610620516109205111156124f6576101e0513b61248d57600080fd5b6101e051301861249c57600080fd5b6020610a80604463a9059cbb6109e05233610a00526109205161062051808210156124c657600080fd5b80820390509050610a20526109fc60006101e0515af16124e557600080fd5b600050610a80516124f557600080fd5b5b5b600062ffffff55005b636c956a54600051141561263d5762ffffff541561251d57600080fd5b600162ffffff55341561252f57600080fd5b6002543b61253c57600080fd5b600254301861254a57600080fd5b60206101c06004638da5cb5b6101605261017c6002545afa61256b57600080fd5b6000506101c0516101405261014051331461258557600080fd5b6003546101e0526101e0513b61259a57600080fd5b6101e05130186125a957600080fd5b6020610340604463a9059cbb6102a052610140516102c0526101e0513b6125cf57600080fd5b6101e05130186125de57600080fd5b602061028060246370a0823161020052306102205261021c6101e0515afa61260557600080fd5b600050610280516102e0526102bc60006101e0515af161262457600080fd5b6000506103405161263457600080fd5b600062ffffff55005b6323746eb860005114156126a257341561265657600080fd5b6060516004358060405190131561266c57600080fd5b809190121561267a57600080fd5b506004356004811061268b57600080fd5b600060c052602060c020015460005260206000f350005b63b739953e60005114156127075734156126bb57600080fd5b606051600435806040519013156126d157600080fd5b80919012156126df57600080fd5b50600435600481106126f057600080fd5b600160c052602060c020015460005260206000f350005b634ef2a14d600051141561272e57341561272057600080fd5b60025460005260206000f350005b63fc0c546a600051141561275557341561274757600080fd5b60035460005260206000f350005b5b60006000fd5b61023861299403610238600039610238612994036000f30000000000000000000000009a86fc508a423ae8a243445dba7ed5364118ab1d0000000000000000000000007a59bf07d529a5fdbab67d597d63d7d5a83e61e500000000000000000000000055e1b1e49b969c018f2722445cd2dd9818ddcc250000000000000000000000009171bf7c050ac8b4cf7835e51f7b4841dfb2ccd00000000000000000000000001af3f329e8be154074d8769d1ffa4ee058b1dbc30000000000000000000000008ac76a51cc950d9822d68b83fe1ad97b32cd580d00000000000000000000000055d398326f99059ff775485246999027b3197955000000000000000000000000e9e7cea3dedca5984780bafc599bd69add087d56000000000000000000000000aea4f7dcd172997947809ce6f12018a6d5c1e8b60000000000000000000000009cb73f20164e399958261c289eb5f9846f4d1404

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

0000000000000000000000009a86fc508a423ae8a243445dba7ed5364118ab1d0000000000000000000000007a59bf07d529a5fdbab67d597d63d7d5a83e61e500000000000000000000000055e1b1e49b969c018f2722445cd2dd9818ddcc250000000000000000000000009171bf7c050ac8b4cf7835e51f7b4841dfb2ccd00000000000000000000000001af3f329e8be154074d8769d1ffa4ee058b1dbc30000000000000000000000008ac76a51cc950d9822d68b83fe1ad97b32cd580d00000000000000000000000055d398326f99059ff775485246999027b3197955000000000000000000000000e9e7cea3dedca5984780bafc599bd69add087d56000000000000000000000000aea4f7dcd172997947809ce6f12018a6d5c1e8b60000000000000000000000009cb73f20164e399958261c289eb5f9846f4d1404

-----Decoded View---------------
Arg [0] : _coins (address[4]): 0x9a86fc508a423ae8a243445dba7ed5364118ab1d,0x7a59bf07d529a5fdbab67d597d63d7d5a83e61e5,0x55e1b1e49b969c018f2722445cd2dd9818ddcc25,0x9171bf7c050ac8b4cf7835e51f7b4841dfb2ccd0
Arg [1] : _underlying_coins (address[4]): 0x1af3f329e8be154074d8769d1ffa4ee058b1dbc3,0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d,0x55d398326f99059ff775485246999027b3197955,0xe9e7cea3dedca5984780bafc599bd69add087d56
Arg [2] : _beltLP (address): 0xaea4f7dcd172997947809ce6f12018a6d5c1e8b6
Arg [3] : _token (address): 0x9cb73f20164e399958261c289eb5f9846f4d1404

-----Encoded View---------------
10 Constructor Arguments found :
Arg [0] : 0000000000000000000000009a86fc508a423ae8a243445dba7ed5364118ab1d
Arg [1] : 0000000000000000000000007a59bf07d529a5fdbab67d597d63d7d5a83e61e5
Arg [2] : 00000000000000000000000055e1b1e49b969c018f2722445cd2dd9818ddcc25
Arg [3] : 0000000000000000000000009171bf7c050ac8b4cf7835e51f7b4841dfb2ccd0
Arg [4] : 0000000000000000000000001af3f329e8be154074d8769d1ffa4ee058b1dbc3
Arg [5] : 0000000000000000000000008ac76a51cc950d9822d68b83fe1ad97b32cd580d
Arg [6] : 00000000000000000000000055d398326f99059ff775485246999027b3197955
Arg [7] : 000000000000000000000000e9e7cea3dedca5984780bafc599bd69add087d56
Arg [8] : 000000000000000000000000aea4f7dcd172997947809ce6f12018a6d5c1e8b6
Arg [9] : 0000000000000000000000009cb73f20164e399958261c289eb5f9846f4d1404


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