More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 34,726 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Exchange | 16249588 | 16 mins ago | IN | 0 frxETH | 0.00000019 | ||||
Exchange | 16249567 | 17 mins ago | IN | 0 frxETH | 0.00000022 | ||||
Exchange | 16249542 | 18 mins ago | IN | 0 frxETH | 0.00000048 | ||||
Exchange | 16249405 | 22 mins ago | IN | 0.00409981 frxETH | 0.0000004 | ||||
Exchange | 16249379 | 23 mins ago | IN | 0 frxETH | 0.00000022 | ||||
Exchange | 16245555 | 2 hrs ago | IN | 0 frxETH | 0.00000024 | ||||
Exchange | 16244919 | 2 hrs ago | IN | 0 frxETH | 0.00000042 | ||||
Exchange | 16244797 | 2 hrs ago | IN | 0 frxETH | 0.00000042 | ||||
Exchange | 16244720 | 2 hrs ago | IN | 0 frxETH | 0.00000042 | ||||
Exchange | 16244498 | 3 hrs ago | IN | 0 frxETH | 0.00000057 | ||||
Exchange | 16244464 | 3 hrs ago | IN | 0 frxETH | 0.00000046 | ||||
Exchange | 16244168 | 3 hrs ago | IN | 0 frxETH | 0.00000041 | ||||
Exchange | 16240785 | 5 hrs ago | IN | 0 frxETH | 0.00000046 | ||||
Exchange | 16240777 | 5 hrs ago | IN | 0 frxETH | 0.00000035 | ||||
Exchange | 16240758 | 5 hrs ago | IN | 0 frxETH | 0.00000035 | ||||
Exchange | 16240538 | 5 hrs ago | IN | 0 frxETH | 0.00000035 | ||||
Exchange | 16240372 | 5 hrs ago | IN | 0 frxETH | 0.00000035 | ||||
Exchange | 16240213 | 5 hrs ago | IN | 0 frxETH | 0.00000035 | ||||
Exchange | 16240102 | 5 hrs ago | IN | 0 frxETH | 0.00000003 | ||||
Exchange | 16240068 | 5 hrs ago | IN | 0 frxETH | 0.00000033 | ||||
Exchange | 16239848 | 5 hrs ago | IN | 0 frxETH | 0.00000035 | ||||
Exchange | 16239832 | 5 hrs ago | IN | 0 frxETH | 0.00000048 | ||||
Exchange | 16237826 | 6 hrs ago | IN | 0 frxETH | 0.00000025 | ||||
Exchange | 16237258 | 7 hrs ago | IN | 0 frxETH | 0.00000024 | ||||
Exchange | 16237187 | 7 hrs ago | IN | 0 frxETH | 0.00000022 |
Latest 25 internal transactions (View All)
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
16249405 | 22 mins ago | 0.00409981 frxETH | ||||
16244168 | 3 hrs ago | 0.00660165 frxETH | ||||
16244168 | 3 hrs ago | 0.00660165 frxETH | ||||
16240102 | 5 hrs ago | 0.00060921 frxETH | ||||
16240102 | 5 hrs ago | 0.00060921 frxETH | ||||
16228795 | 11 hrs ago | 0.00312372 frxETH | ||||
16224582 | 14 hrs ago | 0.01834466 frxETH | ||||
16224582 | 14 hrs ago | 0.01834466 frxETH | ||||
16223590 | 14 hrs ago | 0.18073786 frxETH | ||||
16223590 | 14 hrs ago | 0.18073786 frxETH | ||||
16223560 | 14 hrs ago | 0.25146293 frxETH | ||||
16223560 | 14 hrs ago | 0.25146293 frxETH | ||||
16223203 | 14 hrs ago | 0.00160094 frxETH | ||||
16219293 | 17 hrs ago | 0.00022564 frxETH | ||||
16219293 | 17 hrs ago | 0.00022564 frxETH | ||||
16219164 | 17 hrs ago | 0.0015 frxETH | ||||
16214281 | 19 hrs ago | 0.01840569 frxETH | ||||
16214281 | 19 hrs ago | 0.01840569 frxETH | ||||
16213129 | 20 hrs ago | 0.004 frxETH | ||||
16213129 | 20 hrs ago | 0.004 frxETH | ||||
16212893 | 20 hrs ago | 0.004 frxETH | ||||
16210066 | 22 hrs ago | 0.01 frxETH | ||||
16207556 | 23 hrs ago | 0.00154 frxETH | ||||
16205492 | 24 hrs ago | 0.001 frxETH | ||||
16205438 | 24 hrs ago | 0.00763201 frxETH |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
CurveRouterNgPoolsOnly v1.1
Compiler Version
vyper:0.3.10
Contract Source Code (Vyper language format)
# @version 0.3.10 """ @title CurveRouterNgPoolsOnly v1.1 @author Curve.Fi @license Copyright (c) Curve.Fi, 2020-2024 - all rights reserved @notice Performs up to 5 swaps in a single transaction, can do estimations with get_dy and get_dx """ version: public(constant(String[8])) = "1.1.0" # ng pools from vyper.interfaces import ERC20 interface StableNgPool: def get_dy(i: int128, j: int128, in_amount: uint256) -> uint256: view def get_dx(i: int128, j: int128, out_amount: uint256) -> uint256: view def exchange(i: int128, j: int128, dx: uint256, min_dy: uint256): nonpayable def calc_token_amount(_amounts: DynArray[uint256, 8], _is_deposit: bool) -> uint256: view def add_liquidity(_amounts: DynArray[uint256, 8], _min_mint_amount: uint256) -> uint256: nonpayable def calc_withdraw_one_coin(token_amount: uint256, i: int128) -> uint256: view def remove_liquidity_one_coin(token_amount: uint256, i: int128, min_amount: uint256): nonpayable interface StableNgMetaPool: def BASE_POOL() -> address: view def get_dy_underlying(i: int128, j: int128, amount: uint256) -> uint256: view def get_dx_underlying(i: int128, j: int128, amount: uint256) -> uint256: view def exchange_underlying(i: int128, j: int128, dx: uint256, min_dy: uint256): nonpayable interface CryptoNgPool: def get_dy(i: uint256, j: uint256, in_amount: uint256) -> uint256: view def get_dx(i: uint256, j: uint256, out_amount: uint256) -> uint256: view def exchange(i: uint256, j: uint256, dx: uint256, min_dy: uint256): nonpayable def calc_withdraw_one_coin(token_amount: uint256, i: uint256) -> uint256: view def remove_liquidity_one_coin(token_amount: uint256, i: uint256, min_amount: uint256): nonpayable interface TwoCryptoNgPool: def calc_token_amount(amounts: uint256[2], is_deposit: bool) -> uint256: view def add_liquidity(amounts: uint256[2], min_mint_amount: uint256) -> uint256: nonpayable interface TriCryptoNgPool: def calc_token_amount(amounts: uint256[3], is_deposit: bool) -> uint256: view def add_liquidity(amounts: uint256[3], min_mint_amount: uint256) -> uint256: nonpayable interface WETH: def deposit(): payable def withdraw(_amount: uint256): nonpayable event Exchange: sender: indexed(address) receiver: indexed(address) route: address[11] swap_params: uint256[4][5] in_amount: uint256 out_amount: uint256 ETH_ADDRESS: constant(address) = 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE WETH_ADDRESS: immutable(address) is_approved: HashMap[address, HashMap[address, bool]] @external @payable def __default__(): pass @external def __init__( _weth: address): WETH_ADDRESS = _weth @external @payable @nonreentrant('lock') def exchange( _route: address[11], _swap_params: uint256[4][5], _amount: uint256, _min_dy: uint256, _receiver: address=msg.sender ) -> uint256: """ @notice Performs up to 5 swaps in a single transaction. @dev Routing and swap params must be determined off-chain. This functionality is designed for gas efficiency over ease-of-use. @param _route Array of [initial token, pool, token, pool, token, ...] The array is iterated until a pool address of 0x00, then the last given token is transferred to `_receiver` @param _swap_params Multidimensional array of [i, j, swap_type, pool_type] where i is the index of input token j is the index of output token The swap_type should be: 1. for `exchange`, 2. for `exchange_underlying` (stable-ng metapools), 3. -- legacy -- 4. for coin -> LP token "exchange" (actually `add_liquidity`), 5. -- legacy -- 6. for LP token -> coin "exchange" (actually `remove_liquidity_one_coin`) 7. -- legacy -- 8. for ETH <-> WETH pool_type: 10 - stable-ng, 20 - twocrypto-ng, 30 - tricrypto-ng, 4 - llamma @param _amount The amount of input token (`_route[0]`) to be sent. @param _min_dy The minimum amount received after the final swap. @param _receiver Address to transfer the final output token to. @return Received amount of the final output token. """ input_token: address = _route[0] output_token: address = empty(address) amount: uint256 = _amount # validate / transfer initial token if input_token == ETH_ADDRESS: assert msg.value == amount else: assert msg.value == 0 assert ERC20(input_token).transferFrom(msg.sender, self, amount, default_return_value=True) for i in range(5): # 5 rounds of iteration to perform up to 5 swaps swap: address = _route[i * 2 + 1] output_token = _route[(i + 1) * 2] params: uint256[4] = _swap_params[i] # i, j, swap_type, pool_type # store the initial balance of the output_token output_token_initial_balance: uint256 = self.balance if output_token != ETH_ADDRESS: output_token_initial_balance = ERC20(output_token).balanceOf(self) if not self.is_approved[input_token][swap]: assert ERC20(input_token).approve(swap, max_value(uint256), default_return_value=True, skip_contract_check=True) self.is_approved[input_token][swap] = True # perform the swap according to the swap type if params[2] == 1: if params[3] == 10: # stable-ng StableNgPool(swap).exchange(convert(params[0], int128), convert(params[1], int128), amount, 0) else: # twocrypto-ng, tricrypto-ng, llamma CryptoNgPool(swap).exchange(params[0], params[1], amount, 0) elif params[2] == 2: # stable-ng metapools StableNgMetaPool(swap).exchange_underlying(convert(params[0], int128), convert(params[1], int128), amount, 0) elif params[2] == 4: if params[3] == 10: # stable-ng amounts: DynArray[uint256, 8] = [0, 0, 0, 0, 0, 0, 0, 0] amounts[params[0]] = amount StableNgPool(swap).add_liquidity(amounts, 0) elif params[3] == 20: # twocrypto-ng amounts: uint256[2] = [0, 0] amounts[params[0]] = amount TwoCryptoNgPool(swap).add_liquidity(amounts, 0) elif params[3] == 30: # tricrypto-ng amounts: uint256[3] = [0, 0, 0] amounts[params[0]] = amount TriCryptoNgPool(swap).add_liquidity(amounts, 0) elif params[2] == 6: if params[3] == 10: # stable-ng StableNgPool(swap).remove_liquidity_one_coin(amount, convert(params[1], int128), 0) else: # twocrypto-ng, tricrypto-ng CryptoNgPool(swap).remove_liquidity_one_coin(amount, params[1], 0) elif params[2] == 8: if input_token == ETH_ADDRESS and output_token == WETH_ADDRESS: WETH(swap).deposit(value=amount) elif input_token == WETH_ADDRESS and output_token == ETH_ADDRESS: WETH(swap).withdraw(amount) else: raise "Swap type 8 is only for ETH <-> WETH" else: raise "Bad swap type" # update the amount received if output_token == ETH_ADDRESS: amount = self.balance else: amount = ERC20(output_token).balanceOf(self) # sanity check, if the routing data is incorrect we will have a 0 balance change and that is bad assert amount - output_token_initial_balance != 0, "Received nothing" # check if this was the last swap if i == 4 or _route[i * 2 + 3] == empty(address): break # if there is another swap, the output token becomes the input for the next round input_token = output_token amount -= 1 # Change non-zero -> non-zero costs less gas than zero -> non-zero assert amount >= _min_dy, "Slippage" # transfer the final token to the receiver if output_token == ETH_ADDRESS: raw_call(_receiver, b"", value=amount) else: assert ERC20(output_token).transfer(_receiver, amount, default_return_value=True) log Exchange(msg.sender, _receiver, _route, _swap_params, _amount, amount) return amount @view @external def get_dy( _route: address[11], _swap_params: uint256[4][5], _amount: uint256, ) -> uint256: """ @notice Get amount of the final output token received in an exchange @dev Routing and swap params must be determined off-chain. This functionality is designed for gas efficiency over ease-of-use. @param _route Array of [initial token, pool, token, pool, token, ...] The array is iterated until a pool address of 0x00, then the last given token is transferred to `_receiver` @param _swap_params Multidimensional array of [i, j, swap_type, pool_type] where i is the index of input token j is the index of output token The swap_type should be: 1. for `exchange`, 2. for `exchange_underlying` (stable-ng metapools), 3. -- legacy -- 4. for coin -> LP token "exchange" (actually `add_liquidity`), 5. -- legacy -- 6. for LP token -> coin "exchange" (actually `remove_liquidity_one_coin`) 7. -- legacy -- 8. for ETH <-> WETH pool_type: 10 - stable-ng, 20 - twocrypto-ng, 30 - tricrypto-ng, 4 - llamma @param _amount The amount of input token (`_route[0]`) to be sent. @return Expected amount of the final output token. """ amount: uint256 = _amount for i in range(5): # 5 rounds of iteration to perform up to 5 swaps swap: address = _route[i * 2 + 1] params: uint256[4] = _swap_params[i] # i, j, swap_type, pool_type # Calc output amount according to the swap type if params[2] == 1: if params[3] == 10: # stable_ng amount = StableNgPool(swap).get_dy(convert(params[0], int128), convert(params[1], int128), amount) else: # twocrypto-ng, tricrypto-ng, llamma amount = CryptoNgPool(swap).get_dy(params[0], params[1], amount) elif params[2] == 2: # stable-ng metapools amount = StableNgMetaPool(swap).get_dy_underlying(convert(params[0], int128), convert(params[1], int128), amount) elif params[2] == 4: if params[3] == 10: # stable-ng amounts: DynArray[uint256, 8] = [0, 0, 0, 0, 0, 0, 0, 0] amounts[params[0]] = amount amount = StableNgPool(swap).calc_token_amount(amounts, True) elif params[3] == 20: # twocrypto-ng amounts: uint256[2] = [0, 0] amounts[params[0]] = amount amount = TwoCryptoNgPool(swap).calc_token_amount(amounts, True) elif params[3] == 30: # tricrypto-ng amounts: uint256[3] = [0, 0, 0] amounts[params[0]] = amount amount = TriCryptoNgPool(swap).calc_token_amount(amounts, True) elif params[2] == 6: if params[3] == 10: # stable-ng amount = StableNgPool(swap).calc_withdraw_one_coin(amount, convert(params[1], int128)) else: # twocrypto-ng, tricrypto-ng amount = CryptoNgPool(swap).calc_withdraw_one_coin(amount, params[1]) elif params[2] == 8: # ETH <--> WETH rate is 1:1 pass else: raise "Bad swap type" # check if this was the last swap if i == 4 or _route[i * 2 + 3] == empty(address): break return amount - 1 @view @external def get_dx( _route: address[11], _swap_params: uint256[4][5], _out_amount: uint256, ) -> uint256: """ @notice Calculate the input amount required to receive the desired output amount. This method is NOT PRECISE for swap_type = 4 and 6. @dev Routing and swap params must be determined off-chain. This functionality is designed for gas efficiency over ease-of-use. @param _route Array of [initial token, pool, token, pool, token, ...] The array is iterated until a pool address of 0x00, then the last given token is transferred to `_receiver` @param _swap_params Multidimensional array of [i, j, swap_type, pool_type] where i is the index of input token j is the index of output token The swap_type should be: 1. for `exchange`, 2. for `exchange_underlying` (stable-ng metapools), 3. -- legacy -- 4. for coin -> LP token "exchange" (actually `add_liquidity`), 5. -- legacy -- 6. for LP token -> coin "exchange" (actually `remove_liquidity_one_coin`) 7. -- legacy -- 8. for ETH <-> WETH pool_type: 10 - stable-ng, 20 - twocrypto-ng, 30 - tricrypto-ng, 4 - llamma @param _out_amount The desired amount of output coin to receive. @return Required amount of input token to send. """ amount: uint256 = _out_amount for _i in range(5): # 5 rounds of iteration to perform up to 5 swaps i: uint256 = 4 - _i swap: address = _route[i * 2 + 1] if swap == empty(address): continue params: uint256[4] = _swap_params[i] # i, j, swap_type, pool_type # Calc a required input amount according to the swap type if params[2] == 1: if params[3] == 10: # stable-ng amount = StableNgPool(swap).get_dx(convert(params[0], int128), convert(params[1], int128), amount) else: # twocrypto-ng, tricrypto-ng, llamma amount = CryptoNgPool(swap).get_dx(params[0], params[1], amount) elif params[2] == 2: # stable-ng metapool _n: int128 = convert(params[0], int128) _k: int128 = convert(params[1], int128) if _n > 0 and _k > 0: base_pool: address = StableNgMetaPool(swap).BASE_POOL() amount = StableNgPool(base_pool).get_dx(_n - 1, _k - 1, amount) else: amount = StableNgMetaPool(swap).get_dx_underlying(_n, _k, amount) elif params[2] == 4: # This is not correct. Should be something like calc_add_one_coin. But tests say that it's precise enough. if params[3] == 10: # stable_ng amount = StableNgPool(swap).calc_withdraw_one_coin(amount, convert(params[0], int128)) else: # twocrypto-ng, tricrypto-ng amount = CryptoNgPool(swap).calc_withdraw_one_coin(amount, params[0]) elif params[2] == 6: if params[3] == 10: # stable-ng amounts: DynArray[uint256, 8] = [0, 0, 0, 0, 0, 0, 0, 0] amounts[params[1]] = amount amount = StableNgPool(swap).calc_token_amount(amounts, False) elif params[3] == 20: # twocrypto-ng amounts: uint256[2] = [0, 0] amounts[params[1]] = amount amount = TwoCryptoNgPool(swap).calc_token_amount(amounts, False) elif params[3] == 30: # tricrypto-ng amounts: uint256[3] = [0, 0, 0] amounts[params[1]] = amount amount = TriCryptoNgPool(swap).calc_token_amount(amounts, False) elif params[2] == 8: # ETH <--> WETH rate is 1:1 pass else: raise "Bad swap type" return amount
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"name":"Exchange","inputs":[{"name":"sender","type":"address","indexed":true},{"name":"receiver","type":"address","indexed":true},{"name":"route","type":"address[11]","indexed":false},{"name":"swap_params","type":"uint256[4][5]","indexed":false},{"name":"in_amount","type":"uint256","indexed":false},{"name":"out_amount","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"stateMutability":"payable","type":"fallback"},{"stateMutability":"nonpayable","type":"constructor","inputs":[{"name":"_weth","type":"address"}],"outputs":[]},{"stateMutability":"payable","type":"function","name":"exchange","inputs":[{"name":"_route","type":"address[11]"},{"name":"_swap_params","type":"uint256[4][5]"},{"name":"_amount","type":"uint256"},{"name":"_min_dy","type":"uint256"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"payable","type":"function","name":"exchange","inputs":[{"name":"_route","type":"address[11]"},{"name":"_swap_params","type":"uint256[4][5]"},{"name":"_amount","type":"uint256"},{"name":"_min_dy","type":"uint256"},{"name":"_receiver","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"get_dy","inputs":[{"name":"_route","type":"address[11]"},{"name":"_swap_params","type":"uint256[4][5]"},{"name":"_amount","type":"uint256"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"get_dx","inputs":[{"name":"_route","type":"address[11]"},{"name":"_swap_params","type":"uint256[4][5]"},{"name":"_out_amount","type":"uint256"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"version","inputs":[],"outputs":[{"name":"","type":"string"}]}]
Contract Creation Code
61196d5150346100365760206119bc5f395f518060a01c6100365760405260405161196d5261196d61003a6100003961198d610000f35b5f80fd5f3560e01c60026003821660011b61196501601e395f51565b6354fd4d50811861009657346119615760208060805260056040527f312e312e3000000000000000000000000000000000000000000000000000000060605260408160800181518152602082015160208201528051806020830101601f825f03163682375050601f19601f8251602001011690509050810190506080f35b63fd44959c811861195f5761044336111561196157610424358060a01c611961576101a0525b6004358060a01c611961576040526024358060a01c611961576060526044358060a01c611961576080526064358060a01c6119615760a0526084358060a01c6119615760c05260a4358060a01c6119615760e05260c4358060a01c611961576101005260e4358060a01c6119615761012052610104358060a01c6119615761014052610124358060a01c6119615761016052610144358060a01c61196157610180525f546002146119615760025f556040516101c0525f6101e0526103e4356102005273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6101c051186101ac5761020051341861196157610226565b34611961576101c0516323b872dd610220523361024052306102605261020051610280526020610220606461023c5f855af16101ea573d5f5f3e3d5ffd5b3d61020157803b156119615760016102a05261021a565b60203d1061196157610220518060011c611961576102a0525b6102a090505115611961575b5f6005905b8061022052610220518060011b818160011c1861196157905060018101818110611961579050600a81116119615760051b604001516102405261022051600181018181106119615790508060011b818160011c18611961579050600a81116119615760051b604001516101e05261022051600481116119615760071b6101640180356102605260208101356102805260408101356102a05260608101356102c05250476102e05273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6101e0511461032e576101e0516370a082316103005230610320526020610300602461031c845afa61031b573d5f5f3e3d5ffd5b60203d10611961576103009050516102e0525b60016101c0516020525f5260405f2080610240516020525f5260405f209050546103f5576101c05163095ea7b36103005261024051610320527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610340526020610300604461031c5f855af16103a6573d5f5f3e3d5ffd5b3d6103b6576001610360526103c7565b610300518060011c61196157610360525b6103609050511561196157600160016101c0516020525f5260405f2080610240516020525f5260405f209050555b60016102a051186104bb57600a6102c0511861046b5761024051633df02124610300526102605180607f1c61196157610320526102805180607f1c611961576103405261020051610360525f61038052803b15611961575f610300608461031c5f855af1610465573d5f5f3e3d5ffd5b50610982565b61024051635b41b908610300526102605161032052610280516103405261020051610360525f61038052803b15611961575f610300608461031c5f855af16104b5573d5f5f3e3d5ffd5b50610982565b60026102a05118610526576102405163a6417ed6610300526102605180607f1c61196157610320526102805180607f1c611961576103405261020051610360525f61038052803b15611961575f610300608461031c5f855af1610520573d5f5f3e3d5ffd5b50610982565b60046102a051186106f557600a6102c051186105fd5761010036610320376008610300526102005161026051610300518110156119615760051b61032001526102405163b72df5de610420526040806104405280610440015f610300518083528060051b5f82600881116119615780156105ba57905b8060051b61032001518160051b60208801015260010181811861059c575b505082016020019150509050810190505f6104605250602061042061016461043c5f855af16105eb573d5f5f3e3d5ffd5b60203d10611961576104205050610982565b60146102c0511861067557604036610300376102005161026051600181116119615760051b610300015261024051630b4c7e4d61034052610300516103605261032051610380525f6103a0526020610340606461035c5f855af1610663573d5f5f3e3d5ffd5b60203d10611961576103405050610982565b601e6102c0511861098257606036610300376102005161026051600281116119615760051b610300015261024051634515cef3610360526103005161038052610320516103a052610340516103c0525f6103e0526020610360608461037c5f855af16106e3573d5f5f3e3d5ffd5b60203d10611961576103605050610982565b60066102a051186107a357600a6102c0511861075b5761024051631a4d01d26103005261020051610320526102805180607f1c61196157610340525f61036052803b15611961575f610300606461031c5f855af1610755573d5f5f3e3d5ffd5b50610982565b6102405163f1dc3cc961030052610200516103205261028051610340525f61036052803b15611961575f610300606461031c5f855af161079d573d5f5f3e3d5ffd5b50610982565b60086102a0511861091d5773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6101c051186107e057602061196d5f395f516101e05118156107e2565b5f5b6108e757602061196d5f395f516101c051186108185773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6101e051181561081a565b5f5b6108ac576024610300527f5377617020747970652038206973206f6e6c7920666f7220455448203c2d3e20610320527f57455448000000000000000000000000000000000000000000000000000000006103405261030050610300518061032001601f825f031636823750506308c379a06102c05260206102e052601f19601f6103005101166044016102dcfd610982565b61024051632e1a7d4d610300526102005161032052803b15611961575f610300602461031c5f855af16108e1573d5f5f3e3d5ffd5b50610982565b6102405163d0e30db061030052803b15611961575f610300600461031c61020051855af1610917573d5f5f3e3d5ffd5b50610982565b600d610300527f42616420737761702074797065000000000000000000000000000000000000006103205261030050610300518061032001601f825f031636823750506308c379a06102c05260206102e052601f19601f6103005101166044016102dcfd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6101e051186109aa5747610200526109e8565b6101e0516370a082316103005230610320526020610300602461031c845afa6109d5573d5f5f3e3d5ffd5b60203d1061196157610300905051610200525b610200516102e0518082038281116119615790509050610a67576010610300527f5265636569766564206e6f7468696e67000000000000000000000000000000006103205261030050610300518061032001601f825f031636823750506308c379a06102c05260206102e052601f19601f6103005101166044016102dcfd5b60046102205118610a79576001610aab565b610220518060011b818160011c1861196157905060038101818110611961579050600a81116119615760051b60400151155b15610ab557610ac8565b6101e0516101c05260010181811861022b575b505061020051600181038181116119615790506102005261040435610200511015610b52576008610220527f536c6970706167650000000000000000000000000000000000000000000000006102405261022050610220518061024001601f825f031636823750506308c379a06101e052602061020052601f19601f6102205101166044016101fcfd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6101e05118610ba5576101a051610200515a5f61022052610220505f5f61022051610240858786f1905090509050610c18573d5f5f3e3d5ffd610c18565b6101e05163a9059cbb610220526101a0516102405261020051610260526020610220604461023c5f855af1610bdc573d5f5f3e3d5ffd5b3d610bf357803b1561196157600161028052610c0c565b60203d1061196157610220518060011c61196157610280525b61028090505115611961575b6101a051337f6324485a21bc5138ec352d4949d0adc75d8e1382a687e1aa1ce6863f40c9e463610160610220610160604060045afa5060806101646103803760806101e46104003760806102646104803760806102e4610500376080610364610580376103e435610600526102005161062052610420610220a3602061020060035f55f361195f565b63aad348a28118610cc05761042336111561196157336101a0526100bc565b6311e21386811861195f5761040436103417611961576004358060a01c611961576040526024358060a01c611961576060526044358060a01c611961576080526064358060a01c6119615760a0526084358060a01c6119615760c05260a4358060a01c6119615760e05260c4358060a01c611961576101005260e4358060a01c6119615761012052610104358060a01c6119615761014052610124358060a01c6119615761016052610144358060a01c61196157610180526103e4356101a0525f6005905b806101c0526101c0518060011b818160011c1861196157905060018101818110611961579050600a81116119615760051b604001516101e0526101c051600481116119615760071b610164018035610200526020810135610220526040810135610240526060810135610260525060016102405118610ec357600a6102605118610e6e576101e051635e0d443f610280526102005180607f1c611961576102a0526102205180607f1c611961576102c0526101a0516102e0526020610280606461029c845afa610e57573d5f5f3e3d5ffd5b60203d10611961576102809050516101a05261123e565b6101e05163556d6e9f61028052610200516102a052610220516102c0526101a0516102e0526020610280606461029c845afa610eac573d5f5f3e3d5ffd5b60203d10611961576102809050516101a05261123e565b60026102405118610f33576101e0516307211ef7610280526102005180607f1c611961576102a0526102205180607f1c611961576102c0526101a0516102e0526020610280606461029c845afa610f1c573d5f5f3e3d5ffd5b60203d10611961576102809050516101a05261123e565b6004610240511861111157600a610260511861100f57610100366102a0376008610280526101a05161020051610280518110156119615760051b6102a001526101e051633db06dd86103a0526040806103c052806103c0015f610280518083528060051b5f8260088111611961578015610fc757905b8060051b6102a001518160051b602088010152600101818118610fa9575b5050820160200191505090508101905060016103e0525060206103a06101646103bc845afa610ff8573d5f5f3e3d5ffd5b60203d10611961576103a09050516101a05261123e565b6014610260511861108c57604036610280376101a05161020051600181116119615760051b61028001526101e05163ed8e84f36102c052610280516102e0526102a0516103005260016103205260206102c060646102dc845afa611075573d5f5f3e3d5ffd5b60203d10611961576102c09050516101a05261123e565b601e610260511861123e57606036610280376101a05161020051600281116119615760051b61028001526101e051633883e1196102e05261028051610300526102a051610320526102c0516103405260016103605260206102e060846102fc845afa6110fa573d5f5f3e3d5ffd5b60203d10611961576102e09050516101a05261123e565b600661024051186111c957600a610260511861117c576101e05163cc2b27d7610280526101a0516102a0526102205180607f1c611961576102c0526020610280604461029c845afa611165573d5f5f3e3d5ffd5b60203d10611961576102809050516101a05261123e565b6101e051634fb08c5e610280526101a0516102a052610220516102c0526020610280604461029c845afa6111b2573d5f5f3e3d5ffd5b60203d10611961576102809050516101a05261123e565b600861024051186111d95761123e565b600d610280527f42616420737761702074797065000000000000000000000000000000000000006102a0526102805061028051806102a001601f825f031636823750506308c379a061024052602061026052601f19601f61028051011660440161025cfd5b60046101c05118611250576001611282565b6101c0518060011b818160011c1861196157905060038101818110611961579050600a81116119615760051b60400151155b1561128c57611297565b600101818118610d85575b50506101a051600181038181116119615790506101c05260206101c0f361195f565b637b5e2c7b811861195f5761040436103417611961576004358060a01c611961576040526024358060a01c611961576060526044358060a01c611961576080526064358060a01c6119615760a0526084358060a01c6119615760c05260a4358060a01c6119615760e05260c4358060a01c611961576101005260e4358060a01c6119615761012052610104358060a01c6119615761014052610124358060a01c6119615761016052610144358060a01c61196157610180526103e4356101a0525f6005905b806101c0526101c05180600403600481116119615790506101e0526101e0518060011b818160011c1861196157905060018101818110611961579050600a81116119615760051b6040015161020052610200516113da57611943565b6101e051600481116119615760071b6101640180356102205260208101356102405260408101356102605260608101356102805250600161026051186114df57600a610280511861148a57610200516367df02ca6102a0526102205180607f1c611961576102c0526102405180607f1c611961576102e0526101a0516103005260206102a060646102bc845afa611473573d5f5f3e3d5ffd5b60203d10611961576102a09050516101a052611943565b610200516337ed3a7a6102a052610220516102c052610240516102e0526101a0516103005260206102a060646102bc845afa6114c8573d5f5f3e3d5ffd5b60203d10611961576102a09050516101a052611943565b6002610260511861163b576102205180607f1c611961576102a0526102405180607f1c611961576102c05260016102a051121561151c575f611525565b60016102c05112155b61157e5761020051630e71d1b96102e0526102a051610300526102c051610320526101a0516103405260206102e060646102fc845afa611567573d5f5f3e3d5ffd5b60203d10611961576102e09050516101a052611943565b610200516371511a5e610300526020610300600461031c845afa6115a4573d5f5f3e3d5ffd5b60203d1061196157610300518060a01c61196157610340526103409050516102e0526102e0516367df02ca610300526102a0516001810380600f0b8118611961579050610320526102c0516001810380600f0b8118611961579050610340526101a051610360526020610300606461031c845afa611624573d5f5f3e3d5ffd5b60203d10611961576103009050516101a052611943565b600461026051186116f357600a61028051186116a6576102005163cc2b27d76102a0526101a0516102c0526102205180607f1c611961576102e05260206102a060446102bc845afa61168f573d5f5f3e3d5ffd5b60203d10611961576102a09050516101a052611943565b61020051634fb08c5e6102a0526101a0516102c052610220516102e05260206102a060446102bc845afa6116dc573d5f5f3e3d5ffd5b60203d10611961576102a09050516101a052611943565b600661026051186118ce57600a61028051186117ce57610100366102c03760086102a0526101a051610240516102a0518110156119615760051b6102c0015261020051633db06dd86103c0526040806103e052806103e0015f6102a0518083528060051b5f826008811161196157801561178757905b8060051b6102c001518160051b602088010152600101818118611769575b505082016020019150509050810190505f610400525060206103c06101646103dc845afa6117b7573d5f5f3e3d5ffd5b60203d10611961576103c09050516101a052611943565b6014610280511861184a576040366102a0376101a05161024051600181116119615760051b6102a001526102005163ed8e84f36102e0526102a051610300526102c051610320525f6103405260206102e060646102fc845afa611833573d5f5f3e3d5ffd5b60203d10611961576102e09050516101a052611943565b601e6102805118611943576060366102a0376101a05161024051600281116119615760051b6102a0015261020051633883e119610300526102a051610320526102c051610340526102e051610360525f610380526020610300608461031c845afa6118b7573d5f5f3e3d5ffd5b60203d10611961576103009050516101a052611943565b600861026051186118de57611943565b600d6102a0527f42616420737761702074797065000000000000000000000000000000000000006102c0526102a0506102a051806102c001601f825f031636823750506308c379a061026052602061028052601f19601f6102a051011660440161027cfd5b60010181811861137e57505060206101a0f361195f5661195f565b5b005b5f80fd0018195e0ca112b98419196d81081820a16576797065728300030a0015000000000000000000000000fc00000000000000000000000000000000000006
Deployed Bytecode
0x5f3560e01c60026003821660011b61196501601e395f51565b6354fd4d50811861009657346119615760208060805260056040527f312e312e3000000000000000000000000000000000000000000000000000000060605260408160800181518152602082015160208201528051806020830101601f825f03163682375050601f19601f8251602001011690509050810190506080f35b63fd44959c811861195f5761044336111561196157610424358060a01c611961576101a0525b6004358060a01c611961576040526024358060a01c611961576060526044358060a01c611961576080526064358060a01c6119615760a0526084358060a01c6119615760c05260a4358060a01c6119615760e05260c4358060a01c611961576101005260e4358060a01c6119615761012052610104358060a01c6119615761014052610124358060a01c6119615761016052610144358060a01c61196157610180525f546002146119615760025f556040516101c0525f6101e0526103e4356102005273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6101c051186101ac5761020051341861196157610226565b34611961576101c0516323b872dd610220523361024052306102605261020051610280526020610220606461023c5f855af16101ea573d5f5f3e3d5ffd5b3d61020157803b156119615760016102a05261021a565b60203d1061196157610220518060011c611961576102a0525b6102a090505115611961575b5f6005905b8061022052610220518060011b818160011c1861196157905060018101818110611961579050600a81116119615760051b604001516102405261022051600181018181106119615790508060011b818160011c18611961579050600a81116119615760051b604001516101e05261022051600481116119615760071b6101640180356102605260208101356102805260408101356102a05260608101356102c05250476102e05273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6101e0511461032e576101e0516370a082316103005230610320526020610300602461031c845afa61031b573d5f5f3e3d5ffd5b60203d10611961576103009050516102e0525b60016101c0516020525f5260405f2080610240516020525f5260405f209050546103f5576101c05163095ea7b36103005261024051610320527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610340526020610300604461031c5f855af16103a6573d5f5f3e3d5ffd5b3d6103b6576001610360526103c7565b610300518060011c61196157610360525b6103609050511561196157600160016101c0516020525f5260405f2080610240516020525f5260405f209050555b60016102a051186104bb57600a6102c0511861046b5761024051633df02124610300526102605180607f1c61196157610320526102805180607f1c611961576103405261020051610360525f61038052803b15611961575f610300608461031c5f855af1610465573d5f5f3e3d5ffd5b50610982565b61024051635b41b908610300526102605161032052610280516103405261020051610360525f61038052803b15611961575f610300608461031c5f855af16104b5573d5f5f3e3d5ffd5b50610982565b60026102a05118610526576102405163a6417ed6610300526102605180607f1c61196157610320526102805180607f1c611961576103405261020051610360525f61038052803b15611961575f610300608461031c5f855af1610520573d5f5f3e3d5ffd5b50610982565b60046102a051186106f557600a6102c051186105fd5761010036610320376008610300526102005161026051610300518110156119615760051b61032001526102405163b72df5de610420526040806104405280610440015f610300518083528060051b5f82600881116119615780156105ba57905b8060051b61032001518160051b60208801015260010181811861059c575b505082016020019150509050810190505f6104605250602061042061016461043c5f855af16105eb573d5f5f3e3d5ffd5b60203d10611961576104205050610982565b60146102c0511861067557604036610300376102005161026051600181116119615760051b610300015261024051630b4c7e4d61034052610300516103605261032051610380525f6103a0526020610340606461035c5f855af1610663573d5f5f3e3d5ffd5b60203d10611961576103405050610982565b601e6102c0511861098257606036610300376102005161026051600281116119615760051b610300015261024051634515cef3610360526103005161038052610320516103a052610340516103c0525f6103e0526020610360608461037c5f855af16106e3573d5f5f3e3d5ffd5b60203d10611961576103605050610982565b60066102a051186107a357600a6102c0511861075b5761024051631a4d01d26103005261020051610320526102805180607f1c61196157610340525f61036052803b15611961575f610300606461031c5f855af1610755573d5f5f3e3d5ffd5b50610982565b6102405163f1dc3cc961030052610200516103205261028051610340525f61036052803b15611961575f610300606461031c5f855af161079d573d5f5f3e3d5ffd5b50610982565b60086102a0511861091d5773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6101c051186107e057602061196d5f395f516101e05118156107e2565b5f5b6108e757602061196d5f395f516101c051186108185773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6101e051181561081a565b5f5b6108ac576024610300527f5377617020747970652038206973206f6e6c7920666f7220455448203c2d3e20610320527f57455448000000000000000000000000000000000000000000000000000000006103405261030050610300518061032001601f825f031636823750506308c379a06102c05260206102e052601f19601f6103005101166044016102dcfd610982565b61024051632e1a7d4d610300526102005161032052803b15611961575f610300602461031c5f855af16108e1573d5f5f3e3d5ffd5b50610982565b6102405163d0e30db061030052803b15611961575f610300600461031c61020051855af1610917573d5f5f3e3d5ffd5b50610982565b600d610300527f42616420737761702074797065000000000000000000000000000000000000006103205261030050610300518061032001601f825f031636823750506308c379a06102c05260206102e052601f19601f6103005101166044016102dcfd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6101e051186109aa5747610200526109e8565b6101e0516370a082316103005230610320526020610300602461031c845afa6109d5573d5f5f3e3d5ffd5b60203d1061196157610300905051610200525b610200516102e0518082038281116119615790509050610a67576010610300527f5265636569766564206e6f7468696e67000000000000000000000000000000006103205261030050610300518061032001601f825f031636823750506308c379a06102c05260206102e052601f19601f6103005101166044016102dcfd5b60046102205118610a79576001610aab565b610220518060011b818160011c1861196157905060038101818110611961579050600a81116119615760051b60400151155b15610ab557610ac8565b6101e0516101c05260010181811861022b575b505061020051600181038181116119615790506102005261040435610200511015610b52576008610220527f536c6970706167650000000000000000000000000000000000000000000000006102405261022050610220518061024001601f825f031636823750506308c379a06101e052602061020052601f19601f6102205101166044016101fcfd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6101e05118610ba5576101a051610200515a5f61022052610220505f5f61022051610240858786f1905090509050610c18573d5f5f3e3d5ffd610c18565b6101e05163a9059cbb610220526101a0516102405261020051610260526020610220604461023c5f855af1610bdc573d5f5f3e3d5ffd5b3d610bf357803b1561196157600161028052610c0c565b60203d1061196157610220518060011c61196157610280525b61028090505115611961575b6101a051337f6324485a21bc5138ec352d4949d0adc75d8e1382a687e1aa1ce6863f40c9e463610160610220610160604060045afa5060806101646103803760806101e46104003760806102646104803760806102e4610500376080610364610580376103e435610600526102005161062052610420610220a3602061020060035f55f361195f565b63aad348a28118610cc05761042336111561196157336101a0526100bc565b6311e21386811861195f5761040436103417611961576004358060a01c611961576040526024358060a01c611961576060526044358060a01c611961576080526064358060a01c6119615760a0526084358060a01c6119615760c05260a4358060a01c6119615760e05260c4358060a01c611961576101005260e4358060a01c6119615761012052610104358060a01c6119615761014052610124358060a01c6119615761016052610144358060a01c61196157610180526103e4356101a0525f6005905b806101c0526101c0518060011b818160011c1861196157905060018101818110611961579050600a81116119615760051b604001516101e0526101c051600481116119615760071b610164018035610200526020810135610220526040810135610240526060810135610260525060016102405118610ec357600a6102605118610e6e576101e051635e0d443f610280526102005180607f1c611961576102a0526102205180607f1c611961576102c0526101a0516102e0526020610280606461029c845afa610e57573d5f5f3e3d5ffd5b60203d10611961576102809050516101a05261123e565b6101e05163556d6e9f61028052610200516102a052610220516102c0526101a0516102e0526020610280606461029c845afa610eac573d5f5f3e3d5ffd5b60203d10611961576102809050516101a05261123e565b60026102405118610f33576101e0516307211ef7610280526102005180607f1c611961576102a0526102205180607f1c611961576102c0526101a0516102e0526020610280606461029c845afa610f1c573d5f5f3e3d5ffd5b60203d10611961576102809050516101a05261123e565b6004610240511861111157600a610260511861100f57610100366102a0376008610280526101a05161020051610280518110156119615760051b6102a001526101e051633db06dd86103a0526040806103c052806103c0015f610280518083528060051b5f8260088111611961578015610fc757905b8060051b6102a001518160051b602088010152600101818118610fa9575b5050820160200191505090508101905060016103e0525060206103a06101646103bc845afa610ff8573d5f5f3e3d5ffd5b60203d10611961576103a09050516101a05261123e565b6014610260511861108c57604036610280376101a05161020051600181116119615760051b61028001526101e05163ed8e84f36102c052610280516102e0526102a0516103005260016103205260206102c060646102dc845afa611075573d5f5f3e3d5ffd5b60203d10611961576102c09050516101a05261123e565b601e610260511861123e57606036610280376101a05161020051600281116119615760051b61028001526101e051633883e1196102e05261028051610300526102a051610320526102c0516103405260016103605260206102e060846102fc845afa6110fa573d5f5f3e3d5ffd5b60203d10611961576102e09050516101a05261123e565b600661024051186111c957600a610260511861117c576101e05163cc2b27d7610280526101a0516102a0526102205180607f1c611961576102c0526020610280604461029c845afa611165573d5f5f3e3d5ffd5b60203d10611961576102809050516101a05261123e565b6101e051634fb08c5e610280526101a0516102a052610220516102c0526020610280604461029c845afa6111b2573d5f5f3e3d5ffd5b60203d10611961576102809050516101a05261123e565b600861024051186111d95761123e565b600d610280527f42616420737761702074797065000000000000000000000000000000000000006102a0526102805061028051806102a001601f825f031636823750506308c379a061024052602061026052601f19601f61028051011660440161025cfd5b60046101c05118611250576001611282565b6101c0518060011b818160011c1861196157905060038101818110611961579050600a81116119615760051b60400151155b1561128c57611297565b600101818118610d85575b50506101a051600181038181116119615790506101c05260206101c0f361195f565b637b5e2c7b811861195f5761040436103417611961576004358060a01c611961576040526024358060a01c611961576060526044358060a01c611961576080526064358060a01c6119615760a0526084358060a01c6119615760c05260a4358060a01c6119615760e05260c4358060a01c611961576101005260e4358060a01c6119615761012052610104358060a01c6119615761014052610124358060a01c6119615761016052610144358060a01c61196157610180526103e4356101a0525f6005905b806101c0526101c05180600403600481116119615790506101e0526101e0518060011b818160011c1861196157905060018101818110611961579050600a81116119615760051b6040015161020052610200516113da57611943565b6101e051600481116119615760071b6101640180356102205260208101356102405260408101356102605260608101356102805250600161026051186114df57600a610280511861148a57610200516367df02ca6102a0526102205180607f1c611961576102c0526102405180607f1c611961576102e0526101a0516103005260206102a060646102bc845afa611473573d5f5f3e3d5ffd5b60203d10611961576102a09050516101a052611943565b610200516337ed3a7a6102a052610220516102c052610240516102e0526101a0516103005260206102a060646102bc845afa6114c8573d5f5f3e3d5ffd5b60203d10611961576102a09050516101a052611943565b6002610260511861163b576102205180607f1c611961576102a0526102405180607f1c611961576102c05260016102a051121561151c575f611525565b60016102c05112155b61157e5761020051630e71d1b96102e0526102a051610300526102c051610320526101a0516103405260206102e060646102fc845afa611567573d5f5f3e3d5ffd5b60203d10611961576102e09050516101a052611943565b610200516371511a5e610300526020610300600461031c845afa6115a4573d5f5f3e3d5ffd5b60203d1061196157610300518060a01c61196157610340526103409050516102e0526102e0516367df02ca610300526102a0516001810380600f0b8118611961579050610320526102c0516001810380600f0b8118611961579050610340526101a051610360526020610300606461031c845afa611624573d5f5f3e3d5ffd5b60203d10611961576103009050516101a052611943565b600461026051186116f357600a61028051186116a6576102005163cc2b27d76102a0526101a0516102c0526102205180607f1c611961576102e05260206102a060446102bc845afa61168f573d5f5f3e3d5ffd5b60203d10611961576102a09050516101a052611943565b61020051634fb08c5e6102a0526101a0516102c052610220516102e05260206102a060446102bc845afa6116dc573d5f5f3e3d5ffd5b60203d10611961576102a09050516101a052611943565b600661026051186118ce57600a61028051186117ce57610100366102c03760086102a0526101a051610240516102a0518110156119615760051b6102c0015261020051633db06dd86103c0526040806103e052806103e0015f6102a0518083528060051b5f826008811161196157801561178757905b8060051b6102c001518160051b602088010152600101818118611769575b505082016020019150509050810190505f610400525060206103c06101646103dc845afa6117b7573d5f5f3e3d5ffd5b60203d10611961576103c09050516101a052611943565b6014610280511861184a576040366102a0376101a05161024051600181116119615760051b6102a001526102005163ed8e84f36102e0526102a051610300526102c051610320525f6103405260206102e060646102fc845afa611833573d5f5f3e3d5ffd5b60203d10611961576102e09050516101a052611943565b601e6102805118611943576060366102a0376101a05161024051600281116119615760051b6102a0015261020051633883e119610300526102a051610320526102c051610340526102e051610360525f610380526020610300608461031c845afa6118b7573d5f5f3e3d5ffd5b60203d10611961576103009050516101a052611943565b600861026051186118de57611943565b600d6102a0527f42616420737761702074797065000000000000000000000000000000000000006102c0526102a0506102a051806102c001601f825f031636823750506308c379a061026052602061028052601f19601f6102a051011660440161027cfd5b60010181811861137e57505060206101a0f361195f5661195f565b5b005b5f80fd0018195e0ca112b9000000000000000000000000fc00000000000000000000000000000000000006
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000fc00000000000000000000000000000000000006
-----Decoded View---------------
Arg [0] : _weth (address): 0xFC00000000000000000000000000000000000006
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000fc00000000000000000000000000000000000006
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
FRAXTAL | 100.00% | $2,605.56 | 0.000000000000000001 | <$0.000001 |
[ Download: CSV Export ]
[ 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.