This nametag was submitted by Kleros Curate.
More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 669,790 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Exchange_underly... | 70645789 | 54 mins ago | IN | 0 POL | 0.00099126 | ||||
Exchange_underly... | 70645777 | 54 mins ago | IN | 0 POL | 0.00099162 | ||||
Add_liquidity | 70643794 | 2 hrs ago | IN | 0 POL | 0.02682333 | ||||
Exchange_underly... | 70638152 | 5 hrs ago | IN | 0 POL | 0.03310181 | ||||
Exchange_underly... | 70637708 | 5 hrs ago | IN | 0 POL | 0.03452988 | ||||
Remove_liquidity... | 70636185 | 6 hrs ago | IN | 0 POL | 0.0249693 | ||||
Exchange_underly... | 70636052 | 6 hrs ago | IN | 0 POL | 0.04774633 | ||||
Exchange_underly... | 70636021 | 6 hrs ago | IN | 0 POL | 0.04213604 | ||||
Add_liquidity | 70630939 | 9 hrs ago | IN | 0 POL | 0.01896865 | ||||
Remove_liquidity... | 70630489 | 9 hrs ago | IN | 0 POL | 0.02273641 | ||||
Exchange_underly... | 70630435 | 9 hrs ago | IN | 0 POL | 0.07194593 | ||||
Exchange_underly... | 70630318 | 10 hrs ago | IN | 0 POL | 0.05466767 | ||||
Exchange_underly... | 70630259 | 10 hrs ago | IN | 0 POL | 0.03930149 | ||||
Add_liquidity | 70630084 | 10 hrs ago | IN | 0 POL | 0.0197757 | ||||
Exchange_underly... | 70629853 | 10 hrs ago | IN | 0 POL | 0.03874293 | ||||
Exchange_underly... | 70629849 | 10 hrs ago | IN | 0 POL | 0.03830984 | ||||
Exchange_underly... | 70629623 | 10 hrs ago | IN | 0 POL | 0.05289676 | ||||
Exchange_underly... | 70629557 | 10 hrs ago | IN | 0 POL | 0.03949976 | ||||
Remove_liquidity... | 70619678 | 16 hrs ago | IN | 0 POL | 0.04795157 | ||||
Exchange_underly... | 70619571 | 16 hrs ago | IN | 0 POL | 0.05976791 | ||||
Remove_liquidity... | 70607313 | 23 hrs ago | IN | 0 POL | 0.02548771 | ||||
Exchange_underly... | 70606444 | 24 hrs ago | IN | 0 POL | 0.0495927 | ||||
Exchange_underly... | 70606327 | 24 hrs ago | IN | 0 POL | 0.03996627 | ||||
Exchange_underly... | 70606316 | 24 hrs ago | IN | 0 POL | 0.038404 | ||||
Exchange_underly... | 70605908 | 24 hrs ago | IN | 0 POL | 0.03309151 |
Loading...
Loading
Similar Match Source Code This contract matches the deployed Bytecode of the Source Code for Contract 0x3Fa8ebd5...94eA99aBC The constructor portion of the code might be different and could alter the actual behaviour of the contract
Contract Name:
Vyper_contract
Compiler Version
vyper:0.2.15
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) = 0x8dFf5E27EA6b7AC08EbFdf9eB090F32ee9a30fcf 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 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":"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}]
Deployed Bytecode
0x600436101561000d576117c8565b600035601c526f7fffffffffffffffffffffffffffffff604052600051346117ce576384738499811415610045573361014052610070565b63cf2b51b881141561006b5760c43560a01c6117ce57602060c461014037600050610070565b61061b565b60e0366101603761024060006003818352015b60046102405160058110156117ce5760200201356102605260006102605118156102405760016102405160058110156117ce5702600401546102805260006004610300527f23b872dd000000000000000000000000000000000000000000000000000000006103205261030060048060208461036001018260208501600060045af1505080518201915050336020826103600101526020810190503060208261036001015260208101905061026051602082610360010152602081019050806103605261036090508051602001806104208284600060045af1156117ce5750506020610500610420516104406000610280515af1156117ce5760203d8082111561018d578061018f565b815b905090506104e0526104e08051602001806102a08284600060045af1156117ce57505060006102a05118156101f1576102a080602001516000825180602090136117ce57809190126117ce57806020036101000a8204905090509050156117ce575b602061038060246370a0823161030052306103205261031c610280515afa156117ce57601f3d11156117ce57600050610380516101606102405160038110156117ce5760200201526001610220525b5b8151600101808352811415610083575b505061022051156102b457602061034060a4632b6e993a61024052610160516102605261018051610280526101a0516102a05260006102c05260016102e05261025c6000600a545af1156117ce57601f3d11156117ce57600050610340516101c0525b6000546102405261026060036002818352015b60046102605160058110156117ce5760200201356102805260006102805118156105425760016102605160058110156117ce5702600401546102a05260006004610320527f23b872dd000000000000000000000000000000000000000000000000000000006103405261032060048060208461038001018260208501600060045af1505080518201915050336020826103800101526020810190503060208261038001015260208101905061028051602082610380010152602081019050806103805261038090508051602001806104408284600060045af1156117ce57505060206105206104405161046060006102a0515af1156117ce5760203d808211156103d157806103d3565b815b90509050610500526105008051602001806102c08284600060045af1156117ce57505060006102c0511815610435576102c080602001516000825180602090136117ce57809190126117ce57806020036101000a8204905090509050156117ce575b60006004610320527fe8eda9df000000000000000000000000000000000000000000000000000000006103405261032060048060208461038001018260208501600060045af15050805182019150506102a051602082610380010152602081019050610280516020826103800101526020810190503060208261038001015260208101905061024051602082610380010152602081019050806103805261038090508051602001806104608284600060045af1156117ce57505060006000610460516104806000738dff5e27ea6b7ac08ebfdf9eb090f32ee9a30fcf5af1156117ce57610280516101c06102605160028082106117ce578082039050905060038110156117ce5760200201525b5b81516001018083528114156102c7575b50506009543b156117ce57600060006084634515cef3610260526101c051610280526101e0516102a052610200516102c05260a4356102e05261027c60006009545af1156117ce57600b5461026052602061032060246370a082316102a052306102c0526102bc610260515afa156117ce57601f3d11156117ce5760005061032051610280526020610340604463a9059cbb6102a052610140516102c052610280516102e0526102bc6000610260515af1156117ce57601f3d11156117ce5760005061034050005b6365b2489b81141561063157336101405261065c565b63e2ad025a8114156106575760843560a01c6117ce57602060846101403760005061065c565b610c26565b600060046101c0527f23b872dd000000000000000000000000000000000000000000000000000000006101e0526101c060048060208461022001018260208501600060045af15050805182019150503360208261022001015260208101905030602082610220010152602081019050604435602082610220010152602081019050806102205261022090508051602001806102e08284600060045af1156117ce57505060206103c06102e0516103006000600160043560058110156117ce5702600401545af1156117ce5760203d80821115610738578061073a565b815b905090506103a0526103a08051602001806101608284600060045af1156117ce575050600061016051181561079c5761016080602001516000825180602090136117ce57809190126117ce57806020036101000a8204905090509050156117ce575b6044356101c0526040366101e0376003602435106107cc5760243560028082106117ce5780820390509050610200525b6003600435101561085257606036610220376101c05161022060043560038110156117ce576020020152602061038060a4632b6e993a61028052610220516102a052610240516102c052610260516102e05260006103005260016103205261029c6000600a545af1156117ce57601f3d11156117ce57600050610380516101c05261095b565b60043560028082106117ce57808203905090506101e05260006004610220527fe8eda9df000000000000000000000000000000000000000000000000000000006102405261022060048060208461028001018260208501600060045af1505080518201915050600160043560058110156117ce5702600401546020826102800101526020810190506101c05160208261028001015260208101905030602082610280010152602081019050600054602082610280010152602081019050806102805261028090508051602001806103608284600060045af1156117ce57505060006000610360516103806000738dff5e27ea6b7ac08ebfdf9eb090f32ee9a30fcf5af1156117ce575b60006101e05161020051808210156109735780610975565b815b9050905011156109c5576009543b156117ce57600060006084635b41b908610220526101e0516102405261020051610260526101c0516102805260006102a05261023c60006009545af1156117ce575b60206102c060246370a0823161024052306102605261025c60016102005160038110156117ce5702600101545afa156117ce57601f3d11156117ce576000506102c0516102205261020051610ba5576020610320608463517a55a361024052610220516102605260243560405181116117ce57610280526064356102a05260016102c05261025c6000600a545af1156117ce57601f3d11156117ce57600050610320516102205260006004610240527fa9059cbb00000000000000000000000000000000000000000000000000000000610260526102406004806020846102a001018260208501600060045af1505080518201915050610140516020826102a0010152602081019050610220516020826102a0010152602081019050806102a0526102a090508051602001806103408284600060045af1156117ce5750506020610400610340516103606000600160243560058110156117ce5702600401545af1156117ce5760203d80821115610b3c5780610b3e565b815b905090506103e0526103e08051602001806101608284600060045af1156117ce5750506000610160511815610ba05761016080602001516000825180602090136117ce57809190126117ce57806020036101000a8204905090509050156117ce575b610c24565b60643561022051106117ce57738dff5e27ea6b7ac08ebfdf9eb090f32ee9a30fcf3b156117ce576000600060646369328dec61024052600160243560058110156117ce570260040154610260526102205161028052610140516102a05261025c6000738dff5e27ea6b7ac08ebfdf9eb090f32ee9a30fcf5af1156117ce575b005b63e3bff5ce811415610c3c573361014052610c67565b634f626a31811415610c625760c43560a01c6117ce57602060c461014037600050610c67565b611009565b602061022060646323b872dd610160523361018052306101a0526004356101c05261017c6000600b545af1156117ce57601f3d11156117ce57600050610220506000610160526084356101805260a4356101a0526009543b156117ce5760006000608463ecb586a56101c0526004356101e052610160516102005261018051610220526101a051610240526101dc60006009545af1156117ce57602061026060246370a082316101e05230610200526101fc6001545afa156117ce57601f3d11156117ce57600050610260516101c0526024356101e052604435610200526064356102205260606103a060a463fce647366102a0526101c0516102c0526101e0516102e052610200516103005261022051610320526001610340526102bc6000600a545af1156117ce57605f3d11156117ce576000506103a0805161024052806020015161026052806040015161028052506102a060006003818352015b60006004610320527fa9059cbb000000000000000000000000000000000000000000000000000000006103405261032060048060208461038001018260208501600060045af1505080518201915050610140516020826103800101526020810190506102406102a05160038110156117ce576020020151602082610380010152602081019050806103805261038090508051602001806104208284600060045af1156117ce57505060206104e061042051610440600060016102a05160058110156117ce5702600401545af1156117ce5760203d80821115610ea75780610ea9565b815b905090506104c0526104c08051602001806102c08284600060045af1156117ce57505060006102c0511815610f0b576102c080602001516000825180602090136117ce57809190126117ce57806020036101000a8204905090509050156117ce575b5b8151600101808352811415610dc5575b50506102a060036002818352015b602061034060246370a082316102c052306102e0526102dc60016102a05160028082106117ce578082039050905060038110156117ce5702600101545afa156117ce57601f3d11156117ce57600050610340516101c052738dff5e27ea6b7ac08ebfdf9eb090f32ee9a30fcf3b156117ce576000600060646369328dec6102c05260016102a05160058110156117ce5702600401546102e0526101c0516103005261014051610320526102dc6000738dff5e27ea6b7ac08ebfdf9eb090f32ee9a30fcf5af1156117ce575b8151600101808352811415610f2a575b5050005b63f1dc3cc981141561101f57336101405261104a565b630fbcee6e8114156110455760643560a01c6117ce57602060646101403760005061104a565b61134f565b602061022060646323b872dd610160523361018052306101a0526004356101c05261017c6000600b545af1156117ce57601f3d11156117ce57600050610220506000610160526003602435106110b25760243560028082106117ce5780820390509050610160525b6009543b156117ce5760006000606463f1dc3cc9610180526004356101a052610160516101c05260006101e05261019c60006009545af1156117ce57602061022060246370a082316101a052306101c0526101bc60016101605160038110156117ce5702600101545afa156117ce57601f3d11156117ce576000506102205161018052610160516112ce576020610280608463517a55a36101a052610180516101c05260243560405181116117ce576101e052604435610200526001610220526101bc6000600a545af1156117ce57601f3d11156117ce57600050610280516101805260006004610200527fa9059cbb000000000000000000000000000000000000000000000000000000006102205261020060048060208461026001018260208501600060045af15050805182019150506101405160208261026001015260208101905061018051602082610260010152602081019050806102605261026090508051602001806103008284600060045af1156117ce57505060206103c0610300516103206000600160243560058110156117ce5702600401545af1156117ce5760203d808211156112655780611267565b815b905090506103a0526103a08051602001806101a08284600060045af1156117ce57505060006101a05118156112c9576101a080602001516000825180602090136117ce57809190126117ce57806020036101000a8204905090509050156117ce575b61134d565b60443561018051106117ce57738dff5e27ea6b7ac08ebfdf9eb090f32ee9a30fcf3b156117ce576000600060646369328dec6101a052600160243560058110156117ce5702600401546101c052610180516101e05261014051610200526101bc6000738dff5e27ea6b7ac08ebfdf9eb090f32ee9a30fcf5af1156117ce575b005b6385f11d1e811415611552576003600435602435808210156113715780611373565b815b9050905010156113da5760206102006064635e0d443f6101405260043560405181116117ce576101605260243560405181116117ce57610180526044356101a05261015c600a545afa156117ce57601f3d11156117ce576000506102005160005260206000f35b604435610140526040366101603760036024351061140a5760243560028082106117ce5780820390509050610180525b60036004351015611488576060366101a037610140516101a060043560038110156117ce57602002015260206102e06084633883e119610200526101a051610220526101c051610240526101e0516102605260016102805261021c600a545afa156117ce57601f3d11156117ce576000506102e051610140526114a0565b60043560028082106117ce5780820390509050610160525b6020610280606463556d6e9f6101c052610160516101e052610180516102005261014051610220526101dc6009545afa156117ce57601f3d11156117ce57600050610280516101a05261018051611543576020610260604463cc2b27d76101c0526101a0516101e05260243560405181116117ce57610200526101dc600a545afa156117ce57601f3d11156117ce576000506102605160005260206000f3611550565b6101a05160005260206000f35b005b637ede89c58114156116385760a43560011c6117ce5760043561014052602435610160526044356101805260206102a06084633883e1196101c052610140516101e0526101605161020052610180516102205260a435610240526101dc600a545afa156117ce57601f3d11156117ce576000506102a0516101a0526101a0516101c0526064356101e0526084356102005260206103006084633883e119610220526101c051610240526101e05161026052610200516102805260a4356102a05261023c6009545afa156117ce57601f3d11156117ce576000506103005160005260206000f35b634fb08c5e81141561172e576003602435106116a25760206101e06044634fb08c5e610140526004356101605260243560028082106117ce57808203905090506101805261015c6009545afa156117ce57601f3d11156117ce576000506101e05160005260206000f35b60206102006044634fb08c5e610160526004356101805260006101a05261017c6009545afa156117ce57601f3d11156117ce5760005061020051610140526020610200604463cc2b27d761016052610140516101805260243560405181116117ce576101a05261017c600a545afa156117ce57601f3d11156117ce576000506102005160005260206000f35b63c661065781141561175657600160043560038110156117ce57026001015460005260206000f35b63b9947eb081141561177e57600160043560058110156117ce57026004015460005260206000f35b6316f0115b8114156117965760095460005260206000f35b635d6362bb8114156117ae57600a5460005260206000f35b63fc0c546a8114156117c657600b5460005260206000f35b505b60006000fd5b600080fd
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.