More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 5,320 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Remove_liquidity... | 39664950 | 2 days ago | IN | 0 xDAI | 0.00040983 | ||||
Add_liquidity | 39617773 | 5 days ago | IN | 0 xDAI | 0.00032994 | ||||
Remove_liquidity... | 39590760 | 6 days ago | IN | 0 xDAI | 0.00039979 | ||||
Exchange_underly... | 39541346 | 9 days ago | IN | 0 xDAI | 0.00044447 | ||||
Exchange_underly... | 39541283 | 9 days ago | IN | 0 xDAI | 0.00044285 | ||||
Remove_liquidity... | 39540112 | 9 days ago | IN | 0 xDAI | 0.00042008 | ||||
Exchange_underly... | 39520944 | 10 days ago | IN | 0 xDAI | 0.00054992 | ||||
Remove_liquidity... | 39474994 | 13 days ago | IN | 0 xDAI | 0.00041408 | ||||
Remove_liquidity... | 39444235 | 15 days ago | IN | 0 xDAI | 0.00048921 | ||||
Remove_liquidity... | 39442319 | 15 days ago | IN | 0 xDAI | 0.0003617 | ||||
Add_liquidity | 39442283 | 15 days ago | IN | 0 xDAI | 0.00035414 | ||||
Remove_liquidity... | 39432986 | 16 days ago | IN | 0 xDAI | 0.00045731 | ||||
Exchange_underly... | 39403634 | 17 days ago | IN | 0 xDAI | 0.00045414 | ||||
Add_liquidity | 39372387 | 19 days ago | IN | 0 xDAI | 0.00032513 | ||||
Remove_liquidity... | 39372340 | 19 days ago | IN | 0 xDAI | 0.00129669 | ||||
Exchange_underly... | 39369928 | 19 days ago | IN | 0 xDAI | 0.0005409 | ||||
Remove_liquidity... | 39369570 | 19 days ago | IN | 0 xDAI | 0.00048546 | ||||
Add_liquidity | 39351754 | 20 days ago | IN | 0 xDAI | 0.00030994 | ||||
Add_liquidity | 39351740 | 20 days ago | IN | 0 xDAI | 0.00033734 | ||||
Exchange_underly... | 39351401 | 20 days ago | IN | 0 xDAI | 0.00035269 | ||||
Exchange_underly... | 39351391 | 20 days ago | IN | 0 xDAI | 0.00035269 | ||||
Exchange_underly... | 39351384 | 20 days ago | IN | 0 xDAI | 0.00035768 | ||||
Exchange_underly... | 39351374 | 20 days ago | IN | 0 xDAI | 0.00037722 | ||||
Exchange_underly... | 39351365 | 20 days ago | IN | 0 xDAI | 0.0004183 | ||||
Add_liquidity | 39306883 | 23 days ago | IN | 0 xDAI | 0.00049131 |
View more zero value Internal Transactions in Advanced View mode
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
Vyper_contract
Compiler Version
vyper:0.3.3
Contract Source Code (Vyper language format)
# @version 0.3.3 # */3crv pool where 3crv is _second_, not first 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]) -> 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) -> uint256: nonpayable def exchange(i: uint256, j: uint256, dx: uint256, min_dy: uint256) -> 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) -> uint256: nonpayable def price_oracle() -> uint256: view def price_scale() -> uint256: view def lp_price() -> uint256: view interface StableSwap: def coins(i: uint256) -> address: view def get_dy(i: int128, j: int128, dx: uint256) -> uint256: view def calc_token_amount(amounts: uint256[N_STABLECOINS], is_deposit: bool) -> uint256: view def calc_withdraw_one_coin(token_amount: uint256, i: int128) -> uint256: view def add_liquidity(amounts: uint256[N_STABLECOINS], min_mint_amount: uint256): nonpayable def remove_liquidity_one_coin(token_amount: uint256, i: int128, min_amount: uint256): nonpayable def remove_liquidity(amount: uint256, min_amounts: uint256[N_STABLECOINS]): nonpayable def get_virtual_price() -> uint256: view N_COINS: constant(uint256) = 2 N_STABLECOINS: constant(int128) = 3 N_UL_COINS: constant(int128) = N_COINS + N_STABLECOINS - 1 # All the following properties can be replaced with constants for gas efficiency COINS: immutable(address[N_COINS]) UNDERLYING_COINS: immutable(address[N_UL_COINS]) POOL: immutable(address) BASE_POOL: immutable(address) TOKEN: immutable(address) @external def __init__(pool: address, base_pool: address): coins: address[N_COINS] = empty(address[N_COINS]) ul_coins: address[N_UL_COINS] = empty(address[N_UL_COINS]) POOL = pool BASE_POOL = base_pool TOKEN = CurveCryptoSwap(pool).token() for i in range(N_COINS): coins[i] = CurveCryptoSwap(pool).coins(i) ul_coins[0] = coins[0] for i in range(N_UL_COINS - 1): ul_coins[i + 1] = StableSwap(base_pool).coins(i) for coin in ul_coins: 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 coin in coins: 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) COINS = coins UNDERLYING_COINS = ul_coins @external @view def coins(i: uint256) -> address: _coins: address[N_COINS] = COINS return _coins[i] @external @view def underlying_coins(i: uint256) -> address: _ucoins: address[N_UL_COINS] = UNDERLYING_COINS return _ucoins[i] @external @view def pool() -> address: return POOL @external @view def base_pool() -> address: return BASE_POOL @external @view def token() -> address: return TOKEN @external @view def price_oracle() -> uint256: usd_tkn: uint256 = CurveCryptoSwap(POOL).price_oracle() vprice: uint256 = StableSwap(BASE_POOL).get_virtual_price() return vprice * 10**18 / usd_tkn @external @view def price_scale() -> uint256: usd_tkn: uint256 = CurveCryptoSwap(POOL).price_scale() vprice: uint256 = StableSwap(BASE_POOL).get_virtual_price() return vprice * 10**18 / usd_tkn @external @view def lp_price() -> uint256: p: uint256 = CurveCryptoSwap(POOL).lp_price() # price in tkn usd_tkn: uint256 = CurveCryptoSwap(POOL).price_oracle() vprice: uint256 = StableSwap(BASE_POOL).get_virtual_price() return p * vprice / usd_tkn @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 coins: address[N_COINS] = COINS underlying_coins: address[N_UL_COINS] = UNDERLYING_COINS # transfer base pool coins from caller and deposit to get LP tokens for i in range(N_UL_COINS - N_STABLECOINS, N_UL_COINS): amount: uint256 = _amounts[i] if amount != 0: coin: address = 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 - (N_COINS - 1)] = ERC20(coin).balanceOf(self) is_base_deposit = True if is_base_deposit: StableSwap(BASE_POOL).add_liquidity(base_deposit_amounts, 0) deposit_amounts[N_COINS - 1] = ERC20(coins[N_COINS-1]).balanceOf(self) # transfer remaining underlying coins for i in range(N_COINS - 1): amount: uint256 = _amounts[i] if amount != 0: coin: address = 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_amounts[i] = amount amount: uint256 = CurveCryptoSwap(POOL).add_liquidity(deposit_amounts, _min_mint_amount) ERC20(TOKEN).transfer(_receiver, amount) @external def exchange_underlying(i: uint256, j: uint256, _dx: uint256, _min_dy: uint256, _receiver: address = msg.sender) -> uint256: assert i != j # dev: coins must be different coins: address[N_COINS] = COINS underlying_coins: address[N_UL_COINS] = UNDERLYING_COINS # transfer `i` from caller into the zap response: Bytes[32] = raw_call( 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 outer_i: uint256 = min(i, N_COINS - 1) outer_j: uint256 = min(j, N_COINS - 1) if i >= N_COINS - 1: # 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 - (N_COINS - 1)] = dx StableSwap(BASE_POOL).add_liquidity(base_deposit_amounts, 0) dx = ERC20(coins[N_COINS-1]).balanceOf(self) # perform the exchange amount: uint256 = dx if outer_i != outer_j: amount = CurveCryptoSwap(POOL).exchange(outer_i, outer_j, dx, 0) if outer_j == N_COINS - 1: # if `j` is in the base pool, withdraw the desired underlying asset and transfer to caller StableSwap(BASE_POOL).remove_liquidity_one_coin(amount, convert(j - (N_COINS - 1), int128), _min_dy) amount = ERC20(underlying_coins[j]).balanceOf(self) else: # withdraw `j` underlying from lending pool and transfer to caller assert amount >= _min_dy response = raw_call( 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) return amount @external def remove_liquidity(_amount: uint256, _min_amounts: uint256[N_UL_COINS], _receiver: address = msg.sender): underlying_coins: address[N_UL_COINS] = UNDERLYING_COINS # transfer LP token from caller and remove liquidity ERC20(TOKEN).transferFrom(msg.sender, self, _amount) min_amounts: uint256[N_COINS] = [_min_amounts[0], 0] CurveCryptoSwap(POOL).remove_liquidity(_amount, min_amounts) # withdraw from base pool and transfer underlying assets to receiver value: uint256 = ERC20(COINS[1]).balanceOf(self) base_min_amounts: uint256[N_STABLECOINS] = [_min_amounts[1], _min_amounts[2], _min_amounts[3]] StableSwap(BASE_POOL).remove_liquidity(value, base_min_amounts) for i in range(N_UL_COINS): value = ERC20(underlying_coins[i]).balanceOf(self) response: Bytes[32] = raw_call( 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) @external def remove_liquidity_one_coin(_token_amount: uint256, i: uint256, _min_amount: uint256, _receiver: address = msg.sender): underlying_coins: address[N_UL_COINS] = UNDERLYING_COINS ERC20(TOKEN).transferFrom(msg.sender, self, _token_amount) outer_i: uint256 = min(i, N_COINS - 1) value: uint256 = CurveCryptoSwap(POOL).remove_liquidity_one_coin(_token_amount, outer_i, 0) if outer_i == N_COINS - 1: StableSwap(BASE_POOL).remove_liquidity_one_coin(value, convert(i - (N_COINS - 1), int128), _min_amount) value = ERC20(underlying_coins[i]).balanceOf(self) else: assert value >= _min_amount response: Bytes[32] = raw_call( 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) @view @external def get_dy_underlying(i: uint256, j: uint256, _dx: uint256) -> uint256: if min(i, j) >= N_COINS - 1: return StableSwap(BASE_POOL).get_dy(convert(i - (N_COINS-1), int128), convert(j - (N_COINS-1), int128), _dx) dx: uint256 = _dx outer_i: uint256 = min(i, N_COINS - 1) outer_j: uint256 = min(j, N_COINS - 1) if outer_i == N_COINS-1: amounts: uint256[N_STABLECOINS] = empty(uint256[N_STABLECOINS]) amounts[i - (N_COINS-1)] = dx dx = StableSwap(BASE_POOL).calc_token_amount(amounts, True) dy: uint256 = CurveCryptoSwap(POOL).get_dy(outer_i, outer_j, dx) if outer_j == N_COINS-1: return StableSwap(BASE_POOL).calc_withdraw_one_coin(dy, convert(j - (N_COINS-1), int128)) else: return dy @view @external def calc_token_amount(_amounts: uint256[N_UL_COINS]) -> uint256: base_amounts: uint256[N_STABLECOINS] = [_amounts[1], _amounts[2], _amounts[3]] base_lp: uint256 = 0 if _amounts[1] + _amounts[2] + _amounts[3] > 0: base_lp = StableSwap(BASE_POOL).calc_token_amount(base_amounts, True) amounts: uint256[N_COINS] = [_amounts[0], base_lp] return CurveCryptoSwap(POOL).calc_token_amount(amounts) @view @external def calc_withdraw_one_coin(token_amount: uint256, i: uint256) -> uint256: if i < N_COINS-1: return CurveCryptoSwap(POOL).calc_withdraw_one_coin(token_amount, i) base_amount: uint256 = CurveCryptoSwap(POOL).calc_withdraw_one_coin(token_amount, N_COINS-1) return StableSwap(BASE_POOL).calc_withdraw_one_coin(base_amount, convert(i - (N_COINS-1), int128))
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"stateMutability":"nonpayable","type":"constructor","inputs":[{"name":"pool","type":"address"},{"name":"base_pool","type":"address"}],"outputs":[]},{"stateMutability":"view","type":"function","name":"coins","inputs":[{"name":"i","type":"uint256"}],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"underlying_coins","inputs":[{"name":"i","type":"uint256"}],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"pool","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"base_pool","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"token","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"price_oracle","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"price_scale","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"lp_price","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"nonpayable","type":"function","name":"add_liquidity","inputs":[{"name":"_amounts","type":"uint256[4]"},{"name":"_min_mint_amount","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"add_liquidity","inputs":[{"name":"_amounts","type":"uint256[4]"},{"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":[{"name":"","type":"uint256"}]},{"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":[{"name":"","type":"uint256"}]},{"stateMutability":"nonpayable","type":"function","name":"remove_liquidity","inputs":[{"name":"_amount","type":"uint256"},{"name":"_min_amounts","type":"uint256[4]"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"remove_liquidity","inputs":[{"name":"_amount","type":"uint256"},{"name":"_min_amounts","type":"uint256[4]"},{"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"}]},{"stateMutability":"view","type":"function","name":"calc_token_amount","inputs":[{"name":"_amounts","type":"uint256[4]"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"calc_withdraw_one_coin","inputs":[{"name":"token_amount","type":"uint256"},{"name":"i","type":"uint256"}],"outputs":[{"name":"","type":"uint256"}]}]
Contract Creation Code
6020611ba96000396000518060a01c611ba4576040526020611bc96000396000518060a01c611ba45760605260c03660803760405163000018455260605163000018655263fc0c546a610140526020610140600461015c6040515afa61006a573d600060003e3d6000fd5b60203d10611ba457610140518060a01c611ba457610180526101805163000018855260006002905b806101405263c66106576101605261014051610180526020610160602461017c6040515afa6100c6573d600060003e3d6000fd5b60203d10611ba457610160518060a01c611ba4576101a0526101a0516020610140516002811015611ba457026080015260010181811861009257505060805160c05260006003905b806101405263c66106576101605261014051610180526020610160602461017c6060515afa610142573d600060003e3d6000fd5b60203d10611ba457610160518060a01c611ba4576101a0526101a05160206101405160018181830110611ba457808201905090506004811015611ba4570260c0015260010181811861010e57505060006004905b6020810260c0015161014052600060046101a0527f095ea7b3000000000000000000000000000000000000000000000000000000006101c0526101a08051602082018361020001815181525050808301925050506060518161020001526020810190507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff816102000152602081019050806101e0526101e0505060206102806101e0516102006000610140515af1610253573d600060003e3d6000fd5b61026060203d8082116102665781610268565b805b9050905081528051806101605260208201805161018052505050600061016051146102a25761018051610160516020036008021c15611ba4575b60010181811861019657505060006002905b602081026080015161014052600060046101a0527f095ea7b3000000000000000000000000000000000000000000000000000000006101c0526101a08051602082018361020001815181525050808301925050506040518161020001526020810190507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff816102000152602081019050806101e0526101e0505060206102806101e0516102006000610140515af1610371573d600060003e3d6000fd5b61026060203d8082116103845781610386565b805b9050905081528051806101605260208201805161018052505050600061016051146103c05761018051610160516020036008021c15611ba4575b6001018181186102b457505060805163000017855260a05163000017a55260c05163000017c55260e05163000017e552610100516300001805526101205163000018255261178561041e630000000039611785610120016300000000f3600436101561000d5761177a565b60003560e01c346117805763c6610657811861005557602061178560003960005160405260206117a56000396000516060526020602060043560028110156117805702604001f35b63b9947eb081186100ae5760206117c560003960005160405260206117e56000396000516060526020611805600039600051608052602061182560003960005160a0526020602060043560048110156117805702604001f35b6316f0115b81186100cd57602061184560003960005160405260206040f35b635d6362bb81186100ec57602061186560003960005160405260206040f35b63fc0c546a811861010b57602061188560003960005160405260206040f35b6386fc88d381186101c3576386fc88d3606052602060606004607c60206118456000396000515afa610142573d600060003e3d6000fd5b60203d106117805760605160405263bb7b8b80608052602060806004609c60206118656000396000515afa61017c573d600060003e3d6000fd5b60203d1061178057608051606052606051670de0b6b3a764000080820282158284830414171561178057905090506040518080156117805782049050905060805260206080f35b63b9e8c9fd811861027b5763b9e8c9fd606052602060606004607c60206118456000396000515afa6101fa573d600060003e3d6000fd5b60203d106117805760605160405263bb7b8b80608052602060806004609c60206118656000396000515afa610234573d600060003e3d6000fd5b60203d1061178057608051606052606051670de0b6b3a764000080820282158284830414171561178057905090506040518080156117805782049050905060805260206080f35b6354f0f7d58118610367576354f0f7d5606052602060606004607c60206118456000396000515afa6102b2573d600060003e3d6000fd5b60203d10611780576060516040526386fc88d3608052602060806004609c60206118456000396000515afa6102ec573d600060003e3d6000fd5b60203d106117805760805160605263bb7b8b8060a052602060a0600460bc60206118656000396000515afa610326573d600060003e3d6000fd5b60203d106117805760a05160805260405160805180820282158284830414171561178057905090506060518080156117805782049050905060a052602060a0f35b63029b2f34811861037b5733604052610395565b63cb495064811861084f5760a4358060a01c611780576040525b60c03660603760206117856000396000516101205260206117a56000396000516101405260206117c56000396000516101605260206117e56000396000516101805260206118056000396000516101a05260206118256000396000516101c052600160038101905b806101e05260206101e051600481101561178057026004013561020052600061020051146105935760206101e0516004811015611780570261016001516102205260006004610280527f23b872dd000000000000000000000000000000000000000000000000000000006102a052610280805160208201836102e0018151815250508083019250505033816102e0015260208101905030816102e0015260208101905061020051816102e00152602081019050806102c0526102c0505060206103806102c0516102e06000610220515af16104dd573d600060003e3d6000fd5b61036060203d8082116104f057816104f2565b805b90509050815280518061024052602082018051610260525050506000610240511461052c5761026051610240516020036008021c15611780575b6370a0823161028052306102a0526020610280602461029c610220515afa610559573d600060003e3d6000fd5b60203d10611780576102805160206101e051600180820380600f0b8118611780579050905060038110156117805702606001526001610100525b6001018181186103fd575050610100511561064157634515cef36101e052606051610200526080516102205260a0516102405260006102605260206118656000396000513b15611780576000600060846101fc600060206118656000396000515af1610604573d600060003e3d6000fd5b6370a082316101e052306102005260206101e060246101fc610140515afa610631573d600060003e3d6000fd5b60203d10611780576101e05160e0525b60006001905b806101e05260206101e0516004811015611780570260040135610200526000610200511461078f5760206101e0516004811015611780570261016001516102205260006004610280527f23b872dd000000000000000000000000000000000000000000000000000000006102a052610280805160208201836102e0018151815250508083019250505033816102e0015260208101905030816102e0015260208101905061020051816102e00152602081019050806102c0526102c0505060206103806102c0516102e06000610220515af1610727573d600060003e3d6000fd5b61036060203d80821161073a578161073c565b805b9050905081528051806102405260208201805161026052505050600061024051146107765761026051610240516020036008021c15611780575b6102005160206101e0516002811015611780570260c001525b600101818118610647575050630b4c7e4d6102005260c0516102205260e05161024052608435610260526020610200606461021c600060206118456000396000515af16107e1573d600060003e3d6000fd5b60203d1061178057610200516101e05263a9059cbb61020052604051610220526101e051610240526020610200604461021c600060206118856000396000515af1610831573d600060003e3d6000fd5b60203d1061178057610200518060011c611780576102605261026050005b6365b2489b8118610863573360405261087d565b63e2ad025a8118610d23576084358060a01c611780576040525b6024356004351461178057602061178560003960005160605260206117a560003960005160805260206117c560003960005160a05260206117e560003960005160c052602061180560003960005160e05260206118256000396000516101005260006004610160527f23b872dd0000000000000000000000000000000000000000000000000000000061018052610160805160208201836101c0018151815250508083019250505033816101c0015260208101905030816101c00152602081019050604435816101c00152602081019050806101a0526101a0505060206102606101a0516101c0600060206004356004811015611780570260a001515af161098a573d600060003e3d6000fd5b61024060203d80821161099d578161099f565b805b9050905081528051806101205260208201805161014052505050600061012051146109d95761014051610120516020036008021c15611780575b604435610160526004356001818118600183100218905061018052602435600181811860018310021890506101a052600160043510610add576060366101c03761016051602060043560018082106117805780820390509050600381101561178057026101c00152634515cef3610220526101c051610240526101e05161026052610200516102805260006102a05260206118656000396000513b156117805760006000608461023c600060206118656000396000515af1610aa0573d600060003e3d6000fd5b6370a082316102205230610240526020610220602461023c6080515afa610acc573d600060003e3d6000fd5b60203d106117805761022051610160525b610160516101c0526101a0516101805114610b5257635b41b9086101e05261018051610200526101a05161022052610160516102405260006102605260206101e060846101fc600060206118456000396000515af1610b41573d600060003e3d6000fd5b60203d10611780576101e0516101c0525b60016101a05118610c1d57631a4d01d26101e0526101c051610200526024356001808210611780578082039050905080607f1c61178057610220526064356102405260206118656000396000513b15611780576000600060646101fc600060206118656000396000515af1610bcc573d600060003e3d6000fd5b6370a082316101e052306102005260206101e060246101fc60206024356004811015611780570260a001515afa610c08573d600060003e3d6000fd5b60203d10611780576101e0516101c052610c2a565b6064356101c05110611780575b600060046101e0527fa9059cbb00000000000000000000000000000000000000000000000000000000610200526101e08051602082018361024001815181525050808301925050506040518161024001526020810190506101c0518161024001526020810190508061022052610220505060206102c061022051610240600060206024356004811015611780570260a001515af1610ccd573d600060003e3d6000fd5b6102a060203d808211610ce05781610ce2565b805b905090508152805180610120526020820180516101405250505060006101205114610d1c5761014051610120516020036008021c15611780575b60206101c0f35b637d49d8758118610d375733604052610d51565b63b2fdb76f81186110595760a4358060a01c611780576040525b60206117c560003960005160605260206117e5600039600051608052602061180560003960005160a052602061182560003960005160c0526323b872dd60e0523361010052306101205260043561014052602060e0606460fc600060206118856000396000515af1610dc8573d600060003e3d6000fd5b60203d106117805760e0518060011c61178057610160526101605060243560e052600061010052635b36389c610120526004356101405260e05161016052610100516101805260206118456000396000513b156117805760006000606461013c600060206118456000396000515af1610e46573d600060003e3d6000fd5b6370a082316101405230610160526020610140602461015c60206117a56000396000515afa610e7a573d600060003e3d6000fd5b60203d1061178057610140516101205260443561014052606435610160526084356101805263ecb586a56101a052610120516101c052610140516101e0526101605161020052610180516102205260206118656000396000513b15611780576000600060846101bc600060206118656000396000515af1610f00573d600060003e3d6000fd5b60006004905b806101a0526370a082316101c052306101e05260206101c060246101dc60206101a05160048110156117805702606001515afa610f48573d600060003e3d6000fd5b60203d10611780576101c0516101205260006004610200527fa9059cbb0000000000000000000000000000000000000000000000000000000061022052610200805160208201836102600181518152505080830192505050604051816102600152602081019050610120518161026001526020810190508061024052610240505060206102e061024051610260600060206101a05160048110156117805702606001515af1610ffc573d600060003e3d6000fd5b6102c060203d80821161100f5781611011565b805b9050905081528051806101c0526020820180516101e05250505060006101c0511461104b576101e0516101c0516020036008021c15611780575b600101818118610f06575050005b63f1dc3cc9811861106d5733604052611087565b630fbcee6e811861134c576064358060a01c611780576040525b60206117c560003960005160605260206117e5600039600051608052602061180560003960005160a052602061182560003960005160c0526323b872dd60e0523361010052306101205260043561014052602060e0606460fc600060206118856000396000515af16110fe573d600060003e3d6000fd5b60203d106117805760e0518060011c6117805761016052610160506024356001818118600183100218905060e05263f1dc3cc9610120526004356101405260e051610160526000610180526020610120606461013c600060206118456000396000515af1611171573d600060003e3d6000fd5b60203d10611780576101205161010052600160e0511861124b57631a4d01d26101205261010051610140526024356001808210611780578082039050905080607f1c61178057610160526044356101805260206118656000396000513b156117805760006000606461013c600060206118656000396000515af16111fa573d600060003e3d6000fd5b6370a082316101205230610140526020610120602461013c602060243560048110156117805702606001515afa611236573d600060003e3d6000fd5b60203d10611780576101205161010052611258565b6044356101005110611780575b60006004610160527fa9059cbb0000000000000000000000000000000000000000000000000000000061018052610160805160208201836101c00181518152505080830192505050604051816101c0015260208101905061010051816101c00152602081019050806101a0526101a0505060206102406101a0516101c06000602060243560048110156117805702606001515af16112fb573d600060003e3d6000fd5b61022060203d80821161130e5781611310565b805b90509050815280518061012052602082018051610140525050506000610120511461134a5761014051610120516020036008021c15611780575b005b6385f11d1e811861157557600160043560243580828118828410021890509050106113f0576020635e0d443f6040526004356001808210611780578082039050905080607f1c611780576060526024356001808210611780578082039050905080607f1c6117805760805260443560a052602060406064605c60206118656000396000515afa6113e1573d600060003e3d6000fd5b60203d10611780576040611573565b60443560405260043560018181186001831002189050606052602435600181811860018310021890506080526001606051186114ac5760603660a0376040516020600435600180821061178057808203905090506003811015611780570260a00152633883e1196101005260a0516101205260c0516101405260e051610160526001610180526020610100608461011c60206118656000396000515afa61149c573d600060003e3d6000fd5b60203d1061178057610100516040525b63556d6e9f60c05260605160e0526080516101005260405161012052602060c0606460dc60206118456000396000515afa6114ec573d600060003e3d6000fd5b60203d106117805760c05160a05260016080511861156a57602063cc2b27d760c05260a05160e0526024356001808210611780578082039050905080607f1c6117805761010052602060c0604460dc60206118656000396000515afa611557573d600060003e3d6000fd5b60203d106117805760c061157356611573565b602060a0611573565bf35b631a805185811861167557602435604052604435606052606435608052600060a05260006024356044358181830110611780578082019050905060643581818301106117805780820190509050111561161d57633883e11960c05260405160e0526060516101005260805161012052600161014052602060c0608460dc60206118656000396000515afa61160e573d600060003e3d6000fd5b60203d106117805760c05160a0525b60043560c05260a05160e0526020638d8ea7276101005260c0516101205260e051610140526020610100604461011c60206118456000396000515afa611668573d600060003e3d6000fd5b60203d1061178057610100f35b634fb08c5e811861177857600160243510156116d4576020634fb08c5e604052600435606052602435608052602060406044605c60206118456000396000515afa6116c5573d600060003e3d6000fd5b60203d10611780576040611776565b634fb08c5e606052600435608052600160a052602060606044607c60206118456000396000515afa61170b573d600060003e3d6000fd5b60203d1061178057606051604052602063cc2b27d76060526040516080526024356001808210611780578082039050905080607f1c6117805760a052602060606044607c60206118656000396000515afa61176b573d600060003e3d6000fd5b60203d106117805760605bf35b505b60006000fd5b600080fd005b600080fd000000000000000000000000056c6c5e684cec248635ed86033378cc444459b00000000000000000000000007f90122bf0700f9e7e1f688fe926940e8839f353
Deployed Bytecode
0x600436101561000d5761177a565b60003560e01c346117805763c6610657811861005557602061178560003960005160405260206117a56000396000516060526020602060043560028110156117805702604001f35b63b9947eb081186100ae5760206117c560003960005160405260206117e56000396000516060526020611805600039600051608052602061182560003960005160a0526020602060043560048110156117805702604001f35b6316f0115b81186100cd57602061184560003960005160405260206040f35b635d6362bb81186100ec57602061186560003960005160405260206040f35b63fc0c546a811861010b57602061188560003960005160405260206040f35b6386fc88d381186101c3576386fc88d3606052602060606004607c60206118456000396000515afa610142573d600060003e3d6000fd5b60203d106117805760605160405263bb7b8b80608052602060806004609c60206118656000396000515afa61017c573d600060003e3d6000fd5b60203d1061178057608051606052606051670de0b6b3a764000080820282158284830414171561178057905090506040518080156117805782049050905060805260206080f35b63b9e8c9fd811861027b5763b9e8c9fd606052602060606004607c60206118456000396000515afa6101fa573d600060003e3d6000fd5b60203d106117805760605160405263bb7b8b80608052602060806004609c60206118656000396000515afa610234573d600060003e3d6000fd5b60203d1061178057608051606052606051670de0b6b3a764000080820282158284830414171561178057905090506040518080156117805782049050905060805260206080f35b6354f0f7d58118610367576354f0f7d5606052602060606004607c60206118456000396000515afa6102b2573d600060003e3d6000fd5b60203d10611780576060516040526386fc88d3608052602060806004609c60206118456000396000515afa6102ec573d600060003e3d6000fd5b60203d106117805760805160605263bb7b8b8060a052602060a0600460bc60206118656000396000515afa610326573d600060003e3d6000fd5b60203d106117805760a05160805260405160805180820282158284830414171561178057905090506060518080156117805782049050905060a052602060a0f35b63029b2f34811861037b5733604052610395565b63cb495064811861084f5760a4358060a01c611780576040525b60c03660603760206117856000396000516101205260206117a56000396000516101405260206117c56000396000516101605260206117e56000396000516101805260206118056000396000516101a05260206118256000396000516101c052600160038101905b806101e05260206101e051600481101561178057026004013561020052600061020051146105935760206101e0516004811015611780570261016001516102205260006004610280527f23b872dd000000000000000000000000000000000000000000000000000000006102a052610280805160208201836102e0018151815250508083019250505033816102e0015260208101905030816102e0015260208101905061020051816102e00152602081019050806102c0526102c0505060206103806102c0516102e06000610220515af16104dd573d600060003e3d6000fd5b61036060203d8082116104f057816104f2565b805b90509050815280518061024052602082018051610260525050506000610240511461052c5761026051610240516020036008021c15611780575b6370a0823161028052306102a0526020610280602461029c610220515afa610559573d600060003e3d6000fd5b60203d10611780576102805160206101e051600180820380600f0b8118611780579050905060038110156117805702606001526001610100525b6001018181186103fd575050610100511561064157634515cef36101e052606051610200526080516102205260a0516102405260006102605260206118656000396000513b15611780576000600060846101fc600060206118656000396000515af1610604573d600060003e3d6000fd5b6370a082316101e052306102005260206101e060246101fc610140515afa610631573d600060003e3d6000fd5b60203d10611780576101e05160e0525b60006001905b806101e05260206101e0516004811015611780570260040135610200526000610200511461078f5760206101e0516004811015611780570261016001516102205260006004610280527f23b872dd000000000000000000000000000000000000000000000000000000006102a052610280805160208201836102e0018151815250508083019250505033816102e0015260208101905030816102e0015260208101905061020051816102e00152602081019050806102c0526102c0505060206103806102c0516102e06000610220515af1610727573d600060003e3d6000fd5b61036060203d80821161073a578161073c565b805b9050905081528051806102405260208201805161026052505050600061024051146107765761026051610240516020036008021c15611780575b6102005160206101e0516002811015611780570260c001525b600101818118610647575050630b4c7e4d6102005260c0516102205260e05161024052608435610260526020610200606461021c600060206118456000396000515af16107e1573d600060003e3d6000fd5b60203d1061178057610200516101e05263a9059cbb61020052604051610220526101e051610240526020610200604461021c600060206118856000396000515af1610831573d600060003e3d6000fd5b60203d1061178057610200518060011c611780576102605261026050005b6365b2489b8118610863573360405261087d565b63e2ad025a8118610d23576084358060a01c611780576040525b6024356004351461178057602061178560003960005160605260206117a560003960005160805260206117c560003960005160a05260206117e560003960005160c052602061180560003960005160e05260206118256000396000516101005260006004610160527f23b872dd0000000000000000000000000000000000000000000000000000000061018052610160805160208201836101c0018151815250508083019250505033816101c0015260208101905030816101c00152602081019050604435816101c00152602081019050806101a0526101a0505060206102606101a0516101c0600060206004356004811015611780570260a001515af161098a573d600060003e3d6000fd5b61024060203d80821161099d578161099f565b805b9050905081528051806101205260208201805161014052505050600061012051146109d95761014051610120516020036008021c15611780575b604435610160526004356001818118600183100218905061018052602435600181811860018310021890506101a052600160043510610add576060366101c03761016051602060043560018082106117805780820390509050600381101561178057026101c00152634515cef3610220526101c051610240526101e05161026052610200516102805260006102a05260206118656000396000513b156117805760006000608461023c600060206118656000396000515af1610aa0573d600060003e3d6000fd5b6370a082316102205230610240526020610220602461023c6080515afa610acc573d600060003e3d6000fd5b60203d106117805761022051610160525b610160516101c0526101a0516101805114610b5257635b41b9086101e05261018051610200526101a05161022052610160516102405260006102605260206101e060846101fc600060206118456000396000515af1610b41573d600060003e3d6000fd5b60203d10611780576101e0516101c0525b60016101a05118610c1d57631a4d01d26101e0526101c051610200526024356001808210611780578082039050905080607f1c61178057610220526064356102405260206118656000396000513b15611780576000600060646101fc600060206118656000396000515af1610bcc573d600060003e3d6000fd5b6370a082316101e052306102005260206101e060246101fc60206024356004811015611780570260a001515afa610c08573d600060003e3d6000fd5b60203d10611780576101e0516101c052610c2a565b6064356101c05110611780575b600060046101e0527fa9059cbb00000000000000000000000000000000000000000000000000000000610200526101e08051602082018361024001815181525050808301925050506040518161024001526020810190506101c0518161024001526020810190508061022052610220505060206102c061022051610240600060206024356004811015611780570260a001515af1610ccd573d600060003e3d6000fd5b6102a060203d808211610ce05781610ce2565b805b905090508152805180610120526020820180516101405250505060006101205114610d1c5761014051610120516020036008021c15611780575b60206101c0f35b637d49d8758118610d375733604052610d51565b63b2fdb76f81186110595760a4358060a01c611780576040525b60206117c560003960005160605260206117e5600039600051608052602061180560003960005160a052602061182560003960005160c0526323b872dd60e0523361010052306101205260043561014052602060e0606460fc600060206118856000396000515af1610dc8573d600060003e3d6000fd5b60203d106117805760e0518060011c61178057610160526101605060243560e052600061010052635b36389c610120526004356101405260e05161016052610100516101805260206118456000396000513b156117805760006000606461013c600060206118456000396000515af1610e46573d600060003e3d6000fd5b6370a082316101405230610160526020610140602461015c60206117a56000396000515afa610e7a573d600060003e3d6000fd5b60203d1061178057610140516101205260443561014052606435610160526084356101805263ecb586a56101a052610120516101c052610140516101e0526101605161020052610180516102205260206118656000396000513b15611780576000600060846101bc600060206118656000396000515af1610f00573d600060003e3d6000fd5b60006004905b806101a0526370a082316101c052306101e05260206101c060246101dc60206101a05160048110156117805702606001515afa610f48573d600060003e3d6000fd5b60203d10611780576101c0516101205260006004610200527fa9059cbb0000000000000000000000000000000000000000000000000000000061022052610200805160208201836102600181518152505080830192505050604051816102600152602081019050610120518161026001526020810190508061024052610240505060206102e061024051610260600060206101a05160048110156117805702606001515af1610ffc573d600060003e3d6000fd5b6102c060203d80821161100f5781611011565b805b9050905081528051806101c0526020820180516101e05250505060006101c0511461104b576101e0516101c0516020036008021c15611780575b600101818118610f06575050005b63f1dc3cc9811861106d5733604052611087565b630fbcee6e811861134c576064358060a01c611780576040525b60206117c560003960005160605260206117e5600039600051608052602061180560003960005160a052602061182560003960005160c0526323b872dd60e0523361010052306101205260043561014052602060e0606460fc600060206118856000396000515af16110fe573d600060003e3d6000fd5b60203d106117805760e0518060011c6117805761016052610160506024356001818118600183100218905060e05263f1dc3cc9610120526004356101405260e051610160526000610180526020610120606461013c600060206118456000396000515af1611171573d600060003e3d6000fd5b60203d10611780576101205161010052600160e0511861124b57631a4d01d26101205261010051610140526024356001808210611780578082039050905080607f1c61178057610160526044356101805260206118656000396000513b156117805760006000606461013c600060206118656000396000515af16111fa573d600060003e3d6000fd5b6370a082316101205230610140526020610120602461013c602060243560048110156117805702606001515afa611236573d600060003e3d6000fd5b60203d10611780576101205161010052611258565b6044356101005110611780575b60006004610160527fa9059cbb0000000000000000000000000000000000000000000000000000000061018052610160805160208201836101c00181518152505080830192505050604051816101c0015260208101905061010051816101c00152602081019050806101a0526101a0505060206102406101a0516101c06000602060243560048110156117805702606001515af16112fb573d600060003e3d6000fd5b61022060203d80821161130e5781611310565b805b90509050815280518061012052602082018051610140525050506000610120511461134a5761014051610120516020036008021c15611780575b005b6385f11d1e811861157557600160043560243580828118828410021890509050106113f0576020635e0d443f6040526004356001808210611780578082039050905080607f1c611780576060526024356001808210611780578082039050905080607f1c6117805760805260443560a052602060406064605c60206118656000396000515afa6113e1573d600060003e3d6000fd5b60203d10611780576040611573565b60443560405260043560018181186001831002189050606052602435600181811860018310021890506080526001606051186114ac5760603660a0376040516020600435600180821061178057808203905090506003811015611780570260a00152633883e1196101005260a0516101205260c0516101405260e051610160526001610180526020610100608461011c60206118656000396000515afa61149c573d600060003e3d6000fd5b60203d1061178057610100516040525b63556d6e9f60c05260605160e0526080516101005260405161012052602060c0606460dc60206118456000396000515afa6114ec573d600060003e3d6000fd5b60203d106117805760c05160a05260016080511861156a57602063cc2b27d760c05260a05160e0526024356001808210611780578082039050905080607f1c6117805761010052602060c0604460dc60206118656000396000515afa611557573d600060003e3d6000fd5b60203d106117805760c061157356611573565b602060a0611573565bf35b631a805185811861167557602435604052604435606052606435608052600060a05260006024356044358181830110611780578082019050905060643581818301106117805780820190509050111561161d57633883e11960c05260405160e0526060516101005260805161012052600161014052602060c0608460dc60206118656000396000515afa61160e573d600060003e3d6000fd5b60203d106117805760c05160a0525b60043560c05260a05160e0526020638d8ea7276101005260c0516101205260e051610140526020610100604461011c60206118456000396000515afa611668573d600060003e3d6000fd5b60203d1061178057610100f35b634fb08c5e811861177857600160243510156116d4576020634fb08c5e604052600435606052602435608052602060406044605c60206118456000396000515afa6116c5573d600060003e3d6000fd5b60203d10611780576040611776565b634fb08c5e606052600435608052600160a052602060606044607c60206118456000396000515afa61170b573d600060003e3d6000fd5b60203d1061178057606051604052602063cc2b27d76060526040516080526024356001808210611780578082039050905080607f1c6117805760a052602060606044607c60206118656000396000515afa61176b573d600060003e3d6000fd5b60203d106117805760605bf35b505b60006000fd5b600080fd000000000000000000000000cb444e90d8198415266c6a2724b7900fb12fc56e0000000000000000000000001337bedc9d22ecbe766df105c9623922a27963ec000000000000000000000000cb444e90d8198415266c6a2724b7900fb12fc56e000000000000000000000000e91d153e0b41518a2ce8dd3d7944fa863463a97d000000000000000000000000ddafbb505ad214d7b80b1f830fccc89b60fb7a830000000000000000000000004ecaba5870353805a9f068101a40e0f32ed605c6000000000000000000000000056c6c5e684cec248635ed86033378cc444459b00000000000000000000000007f90122bf0700f9e7e1f688fe926940e8839f3530000000000000000000000000ca1c1ec4ebf3cc67a9f545ff90a3795b318ca4a
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000056c6c5e684cec248635ed86033378cc444459b00000000000000000000000007f90122bf0700f9e7e1f688fe926940e8839f353
-----Decoded View---------------
Arg [0] : pool (address): 0x056C6C5e684CeC248635eD86033378Cc444459B0
Arg [1] : base_pool (address): 0x7f90122BF0700F9E7e1F688fe926940E8839F353
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000056c6c5e684cec248635ed86033378cc444459b0
Arg [1] : 0000000000000000000000007f90122bf0700f9e7e1f688fe926940e8839f353
Loading...
Loading
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 34 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
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.