Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
Stable Deposit Burner
Compiler Version
vyper:0.3.7
Contract Source Code (Vyper language format)
# @version 0.3.7 """ @title Stable Deposit Burner @notice Deposits assets into the 3pool """ interface ERC20: def approve(_to: address, _value: uint256): nonpayable def transfer(_to: address, _value: uint256) -> bool: nonpayable def transferFrom(_from: address, _to: address, _value: uint256) -> bool: nonpayable def balanceOf(_owner: address) -> uint256: view def decimals() -> uint256: view interface StableSwap: def add_liquidity(amounts: uint256[N_COINS], min_mint_amount: uint256): nonpayable def coins(_i: uint256) -> address: view def get_virtual_price() -> uint256: view interface Proxy: def burners(_coin: address) -> address: view N_COINS: constant(uint256) = 3 ETH_ADDRESS: constant(address) = 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE ONE: constant(uint256) = 10 ** 18 # Precision BPS: constant(uint256) = 100 * 100 slippage: public(uint256) PROXY: immutable(Proxy) FEE_DISTRIBUTER: constant(address) = 0xA464e6DCda8AC41e03616F95f4BC98a13b8922Dc POOL: immutable(StableSwap) LP: immutable(ERC20) COINS: immutable(ERC20[N_COINS]) DEC: immutable(uint256[N_COINS]) is_killed: public(bool) owner: public(address) emergency_owner: public(address) future_owner: public(address) future_emergency_owner: public(address) @external def __init__(_owner: address, _emergency_owner: address): """ @notice Contract constructor @param _owner Owner address. Can kill the contract and set slippage @param _emergency_owner Emergency owner address. Can kill the contract. """ PROXY = Proxy(0xeCb456EA5365865EbAb8a2661B0c503410e9B347) POOL = StableSwap(0xbEbc44782C7dB0a1A60Cb6fe97d0b483032FF1C7) LP = ERC20(0x6c3F90f043a72FA612cbac8115EE7e52BDe6E490) self.owner = _owner self.emergency_owner = _emergency_owner self.slippage = 50 # 0.5% coins: ERC20[N_COINS] = empty(ERC20[N_COINS]) dec: uint256[N_COINS] = empty(uint256[N_COINS]) for i in range(N_COINS): coins[i] = ERC20(POOL.coins(i)) coins[i].approve(POOL.address, max_value(uint256)) dec[i] = 10 ** (18 - coins[i].decimals()) COINS = coins DEC = dec @internal def _burn(_amounts: uint256[N_COINS]): amount: uint256 = 0 for i in range(N_COINS): amount += _amounts[i] * DEC[i] min_amount: uint256 = amount * ONE / POOL.get_virtual_price() min_amount -= min_amount * self.slippage / BPS POOL.add_liquidity(_amounts, min_amount) amount = LP.balanceOf(self) LP.transfer(FEE_DISTRIBUTER, amount) @external def burn(_coin: ERC20) -> bool: """ @notice Convert `_coin` by depositing @param _coin Address of the coin being converted @return bool success """ assert not self.is_killed # dev: is killed assert _coin in COINS amount: uint256 = _coin.balanceOf(msg.sender) assert _coin.transferFrom(msg.sender, self, amount, default_return_value=True) # safe transfer if _coin == COINS[N_COINS - 1]: # Do it once amounts: uint256[N_COINS] = empty(uint256[N_COINS]) for i in range(N_COINS): amounts[i] = COINS[i].balanceOf(self) self._burn(amounts) return True @external def burn_amount(_amounts_to_burn: uint256[N_COINS]): """ @dev Useful when the total amount to burn is so large that it fails from slippage @param _amounts_to_burn Amounts of coins to burn """ assert not self.is_killed # dev: is killed for coin in COINS: if PROXY.burners(coin.address) == self: amount: uint256 = coin.balanceOf(self) assert coin.transferFrom(PROXY.address, self, amount, default_return_value=True) # safe transfer for i in range(N_COINS): amount: uint256 = COINS[i].balanceOf(self) assert amount >= _amounts_to_burn[i], "Insufficient balance" self._burn(_amounts_to_burn) @external def set_slippage(_slippage: uint256): assert msg.sender == self.owner assert _slippage < BPS self.slippage = _slippage @external def recover_balance(_coin: ERC20, _amount: uint256=max_value(uint256)): """ @notice Recover ERC20 tokens or Ether from this contract @dev Tokens are sent to proxy @param _coin Token address @param _amount Amount to recover """ amount: uint256 = _amount if _coin.address == ETH_ADDRESS: if amount == max_value(uint256): amount = self.balance raw_call(PROXY.address, b"", value=amount) else: if amount == max_value(uint256): amount = _coin.balanceOf(self) _coin.transfer(PROXY.address, amount) # do not need safe transfer @external def set_killed(_is_killed: bool) -> bool: """ @notice Set killed status for this contract @dev When killed, the `burn` function cannot be called @param _is_killed Killed status @return bool success """ assert msg.sender in [self.owner, self.emergency_owner] # dev: only owner self.is_killed = _is_killed return True @external def commit_transfer_ownership(_future_owner: address) -> bool: """ @notice Commit a transfer of ownership @dev Must be accepted by the new owner via `accept_transfer_ownership` @param _future_owner New owner address @return bool success """ assert msg.sender == self.owner, "Only owner" self.future_owner = _future_owner return True @external def accept_transfer_ownership() -> bool: """ @notice Accept a transfer of ownership @return bool success """ assert msg.sender == self.future_owner, "Only owner" self.owner = msg.sender return True @external def commit_transfer_emergency_ownership(_future_owner: address) -> bool: """ @notice Commit a transfer of emergency ownership @dev Must be accepted by the new owner via `accept_transfer_emergency_ownership` @param _future_owner New owner address @return bool success """ assert msg.sender == self.emergency_owner, "Only owner" self.future_emergency_owner = _future_owner return True @external def accept_transfer_emergency_ownership() -> bool: """ @notice Accept a transfer of emergency ownership @return bool success """ assert msg.sender == self.future_emergency_owner, "Only owner" self.emergency_owner = msg.sender return True
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"stateMutability":"nonpayable","type":"constructor","inputs":[{"name":"_owner","type":"address"},{"name":"_emergency_owner","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"burn","inputs":[{"name":"_coin","type":"address"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"burn_amount","inputs":[{"name":"_amounts_to_burn","type":"uint256[3]"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"set_slippage","inputs":[{"name":"_slippage","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"recover_balance","inputs":[{"name":"_coin","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"recover_balance","inputs":[{"name":"_coin","type":"address"},{"name":"_amount","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"set_killed","inputs":[{"name":"_is_killed","type":"bool"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"commit_transfer_ownership","inputs":[{"name":"_future_owner","type":"address"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"accept_transfer_ownership","inputs":[],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"commit_transfer_emergency_ownership","inputs":[{"name":"_future_owner","type":"address"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"accept_transfer_emergency_ownership","inputs":[],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"view","type":"function","name":"slippage","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"is_killed","inputs":[],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"view","type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"emergency_owner","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"future_owner","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"future_emergency_owner","inputs":[],"outputs":[{"name":"","type":"address"}]}]
Contract Creation Code
6020610db46000396000518060a01c610daf576040526020610dd46000396000518060a01c610daf5760605234610daf5773ecb456ea5365865ebab8a2661b0c503410e9b347610b815273bebc44782c7db0a1a60cb6fe97d0b483032ff1c7610ba152736c3f90f043a72fa612cbac8115ee7e52bde6e490610bc152604051600255606051600355603260005560c03660803760006003905b8061014052610ba15163c66106576101605261014051610180526020610160602461017c845afa6100ce573d600060003e3d6000fd5b60203d10610daf57610160518060a01c610daf576101a0526101a09050516101405160028111610daf5760051b608001526101405160028111610daf5760051b6080015163095ea7b361016052610ba151610180527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6101a052803b15610daf576000610160604461017c6000855af161016d573d600060003e3d6000fd5b506101405160028111610daf5760051b6080015163313ce567610160526020610160600461017c845afa6101a6573d600060003e3d6000fd5b60203d10610daf576101609050518060120360128111610daf579050604d8111610daf5780600a0a90506101405160028111610daf5760051b60e00152600101818118610098575050608051610be15260a051610c015260c051610c215260e051610c415261010051610c615261012051610c8152610b8161022d61000039610ca1610000f36003361161000c57610955565b60003560e01c34610b6f576389afcb44811861020a5760243610610b6f576004358060a01c610b6f5761018052600154610b6f576101805160006101a05260006003905b60208160051b606001610b810160003960005183186100745760016101a05261007f565b600101818118610050575b50506101a051905015610b6f57610180516370a082316101c052336101e05260206101c060246101dc845afa6100ba573d600060003e3d6000fd5b60203d10610b6f576101c09050516101a052610180516323b872dd6101c052336101e05230610200526101a0516102205260206101c060646101dc6000855af1610109573d600060003e3d6000fd5b3d61012057803b15610b6f57600161024052610139565b60203d10610b6f576101c0518060011c610b6f57610240525b61024090505115610b6f576020610c2160003960005161018051186101fd576060366101c03760006003905b806102205260206102205160028111610b6f5760051b606001610b81016000396000516370a082316102405230610260526020610240602461025c845afa6101b2573d600060003e3d6000fd5b60203d10610b6f576102409050516102205160028111610b6f5760051b6101c001526001018181186101655750506101c0516040526101e051606052610200516080526101fd61095b565b60016101c05260206101c0f35b63bae34a4281186104715760643610610b6f57600154610b6f5760006003905b60208160051b606001610b810160003960005161018052306020610b816000396000516303d41e0e6101a052610180516101c05260206101a060246101bc845afa61027a573d600060003e3d6000fd5b60203d10610b6f576101a0518060a01c610b6f576101e0526101e09050511861036057610180516370a082316102205230610240526020610220602461023c845afa6102cb573d600060003e3d6000fd5b60203d10610b6f5761022090505161020052610180516323b872dd610220526020610b8160003960005161024052306102605261020051610280526020610220606461023c6000855af1610324573d600060003e3d6000fd5b3d61033b57803b15610b6f5760016102a052610354565b60203d10610b6f57610220518060011c610b6f576102a0525b6102a090505115610b6f575b60010181811861022a57505060006003905b806101805260206101805160028111610b6f5760051b606001610b81016000396000516370a082316101c052306101e05260206101c060246101dc845afa6103bf573d600060003e3d6000fd5b60203d10610b6f576101c09050516101a0526101805160028111610b6f5760051b600401356101a05110156104545760146101c0527f496e73756666696369656e742062616c616e63650000000000000000000000006101e0526101c0506101c051806101e001601f826000031636823750506308c379a06101805260206101a052601f19601f6101c051011660440161019cfd5b6001018181186103725750506060600460403761046f61095b565b005b638edd69ec81186104a05760243610610b6f576002543318610b6f5761270f60043511610b6f57600435600055005b63db2f5f7981186104dc5760243610610b6f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6060526104f6565b630cb491e181186106045760443610610b6f576024356060525b6004358060a01c610b6f5760405260605160805273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60405118610568576080511961053457476080525b600060a05260a0506000600060a05160c06080516020610b816000396000515af1610602573d600060003e3d6000fd610602565b608051196105aa576040516370a0823160a0523060c052602060a0602460bc845afa610599573d600060003e3d6000fd5b60203d10610b6f5760a09050516080525b60405163a9059cbb60a0526020610b8160003960005160c05260805160e052602060a0604460bc6000855af16105e5573d600060003e3d6000fd5b60203d10610b6f5760a0518060011c610b6f576101005261010050505b005b6390b2299781186106555760243610610b6f576004358060011c610b6f5760405233600254811861063657600161063d565b6003548118155b905015610b6f57604051600155600160605260206060f35b636b441a4081186106ee5760243610610b6f576004358060a01c610b6f576040526002543318156106dd57600a6060527f4f6e6c79206f776e65720000000000000000000000000000000000000000000060805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b604051600455600160605260206060f35b63e5ea47b881186107775760043610610b6f5760045433181561076857600a6040527f4f6e6c79206f776e65720000000000000000000000000000000000000000000060605260405060405180606001601f826000031636823750506308c379a06000526020602052601f19601f6040510116604401601cfd5b33600255600160405260206040f35b6395c8991581186108105760243610610b6f576004358060a01c610b6f576040526003543318156107ff57600a6060527f4f6e6c79206f776e65720000000000000000000000000000000000000000000060805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b604051600555600160605260206060f35b632d2cb67581186108995760043610610b6f5760055433181561088a57600a6040527f4f6e6c79206f776e65720000000000000000000000000000000000000000000060605260405060405180606001601f826000031636823750506308c379a06000526020602052601f19601f6040510116604401601cfd5b33600355600160405260206040f35b633e032a3b81186108b85760043610610b6f5760005460405260206040f35b639c868ac081186108d75760043610610b6f5760015460405260206040f35b638da5cb5b81186108f65760043610610b6f5760025460405260206040f35b6363a4042a81186109155760043610610b6f5760035460405260206040f35b631ec0cdc181186109345760043610610b6f5760045460405260206040f35b63e19f994c81186109535760043610610b6f5760055460405260206040f35b505b60006000fd5b600060a05260006003905b8060c05260a05160c05160028111610b6f5760051b60400151602060c05160028111610b6f5760051b60c001610b8101600039600051808202811583838304141715610b6f5790509050808201828110610b6f579050905060a05260010181811861096657505060a051670de0b6b3a7640000810281670de0b6b3a7640000820418610b6f5790506020610ba160003960005163bb7b8b8060e052602060e0600460fc845afa610a1b573d600060003e3d6000fd5b60203d10610b6f5760e09050518015610b6f578082049050905060c05260c05160c051600054808202811583838304141715610b6f579050905061271081049050808203828111610b6f579050905060c0526020610ba1600039600051634515cef360e05260405161010052606051610120526080516101405260c05161016052803b15610b6f57600060e0608460fc6000855af1610abf573d600060003e3d6000fd5b506020610bc16000396000516370a0823160e0523061010052602060e0602460fc845afa610af2573d600060003e3d6000fd5b60203d10610b6f5760e090505160a0526020610bc160003960005163a9059cbb60e05273a464e6dcda8ac41e03616f95f4bc98a13b8922dc6101005260a05161012052602060e0604460fc6000855af1610b51573d600060003e3d6000fd5b60203d10610b6f5760e0518060011c610b6f57610140526101405050565b600080fda165767970657283000307000b005b600080fd00000000000000000000000040907540d8a6c65c637785e8f8b742ae6b0b9968000000000000000000000000467947ee34af926cf1dcac093870f613c96b1e0c
Deployed Bytecode
0x6003361161000c57610955565b60003560e01c34610b6f576389afcb44811861020a5760243610610b6f576004358060a01c610b6f5761018052600154610b6f576101805160006101a05260006003905b60208160051b606001610b810160003960005183186100745760016101a05261007f565b600101818118610050575b50506101a051905015610b6f57610180516370a082316101c052336101e05260206101c060246101dc845afa6100ba573d600060003e3d6000fd5b60203d10610b6f576101c09050516101a052610180516323b872dd6101c052336101e05230610200526101a0516102205260206101c060646101dc6000855af1610109573d600060003e3d6000fd5b3d61012057803b15610b6f57600161024052610139565b60203d10610b6f576101c0518060011c610b6f57610240525b61024090505115610b6f576020610c2160003960005161018051186101fd576060366101c03760006003905b806102205260206102205160028111610b6f5760051b606001610b81016000396000516370a082316102405230610260526020610240602461025c845afa6101b2573d600060003e3d6000fd5b60203d10610b6f576102409050516102205160028111610b6f5760051b6101c001526001018181186101655750506101c0516040526101e051606052610200516080526101fd61095b565b60016101c05260206101c0f35b63bae34a4281186104715760643610610b6f57600154610b6f5760006003905b60208160051b606001610b810160003960005161018052306020610b816000396000516303d41e0e6101a052610180516101c05260206101a060246101bc845afa61027a573d600060003e3d6000fd5b60203d10610b6f576101a0518060a01c610b6f576101e0526101e09050511861036057610180516370a082316102205230610240526020610220602461023c845afa6102cb573d600060003e3d6000fd5b60203d10610b6f5761022090505161020052610180516323b872dd610220526020610b8160003960005161024052306102605261020051610280526020610220606461023c6000855af1610324573d600060003e3d6000fd5b3d61033b57803b15610b6f5760016102a052610354565b60203d10610b6f57610220518060011c610b6f576102a0525b6102a090505115610b6f575b60010181811861022a57505060006003905b806101805260206101805160028111610b6f5760051b606001610b81016000396000516370a082316101c052306101e05260206101c060246101dc845afa6103bf573d600060003e3d6000fd5b60203d10610b6f576101c09050516101a0526101805160028111610b6f5760051b600401356101a05110156104545760146101c0527f496e73756666696369656e742062616c616e63650000000000000000000000006101e0526101c0506101c051806101e001601f826000031636823750506308c379a06101805260206101a052601f19601f6101c051011660440161019cfd5b6001018181186103725750506060600460403761046f61095b565b005b638edd69ec81186104a05760243610610b6f576002543318610b6f5761270f60043511610b6f57600435600055005b63db2f5f7981186104dc5760243610610b6f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6060526104f6565b630cb491e181186106045760443610610b6f576024356060525b6004358060a01c610b6f5760405260605160805273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60405118610568576080511961053457476080525b600060a05260a0506000600060a05160c06080516020610b816000396000515af1610602573d600060003e3d6000fd610602565b608051196105aa576040516370a0823160a0523060c052602060a0602460bc845afa610599573d600060003e3d6000fd5b60203d10610b6f5760a09050516080525b60405163a9059cbb60a0526020610b8160003960005160c05260805160e052602060a0604460bc6000855af16105e5573d600060003e3d6000fd5b60203d10610b6f5760a0518060011c610b6f576101005261010050505b005b6390b2299781186106555760243610610b6f576004358060011c610b6f5760405233600254811861063657600161063d565b6003548118155b905015610b6f57604051600155600160605260206060f35b636b441a4081186106ee5760243610610b6f576004358060a01c610b6f576040526002543318156106dd57600a6060527f4f6e6c79206f776e65720000000000000000000000000000000000000000000060805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b604051600455600160605260206060f35b63e5ea47b881186107775760043610610b6f5760045433181561076857600a6040527f4f6e6c79206f776e65720000000000000000000000000000000000000000000060605260405060405180606001601f826000031636823750506308c379a06000526020602052601f19601f6040510116604401601cfd5b33600255600160405260206040f35b6395c8991581186108105760243610610b6f576004358060a01c610b6f576040526003543318156107ff57600a6060527f4f6e6c79206f776e65720000000000000000000000000000000000000000000060805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b604051600555600160605260206060f35b632d2cb67581186108995760043610610b6f5760055433181561088a57600a6040527f4f6e6c79206f776e65720000000000000000000000000000000000000000000060605260405060405180606001601f826000031636823750506308c379a06000526020602052601f19601f6040510116604401601cfd5b33600355600160405260206040f35b633e032a3b81186108b85760043610610b6f5760005460405260206040f35b639c868ac081186108d75760043610610b6f5760015460405260206040f35b638da5cb5b81186108f65760043610610b6f5760025460405260206040f35b6363a4042a81186109155760043610610b6f5760035460405260206040f35b631ec0cdc181186109345760043610610b6f5760045460405260206040f35b63e19f994c81186109535760043610610b6f5760055460405260206040f35b505b60006000fd5b600060a05260006003905b8060c05260a05160c05160028111610b6f5760051b60400151602060c05160028111610b6f5760051b60c001610b8101600039600051808202811583838304141715610b6f5790509050808201828110610b6f579050905060a05260010181811861096657505060a051670de0b6b3a7640000810281670de0b6b3a7640000820418610b6f5790506020610ba160003960005163bb7b8b8060e052602060e0600460fc845afa610a1b573d600060003e3d6000fd5b60203d10610b6f5760e09050518015610b6f578082049050905060c05260c05160c051600054808202811583838304141715610b6f579050905061271081049050808203828111610b6f579050905060c0526020610ba1600039600051634515cef360e05260405161010052606051610120526080516101405260c05161016052803b15610b6f57600060e0608460fc6000855af1610abf573d600060003e3d6000fd5b506020610bc16000396000516370a0823160e0523061010052602060e0602460fc845afa610af2573d600060003e3d6000fd5b60203d10610b6f5760e090505160a0526020610bc160003960005163a9059cbb60e05273a464e6dcda8ac41e03616f95f4bc98a13b8922dc6101005260a05161012052602060e0604460fc6000855af1610b51573d600060003e3d6000fd5b60203d10610b6f5760e0518060011c610b6f57610140526101405050565b600080fda165767970657283000307000b000000000000000000000000ecb456ea5365865ebab8a2661b0c503410e9b347000000000000000000000000bebc44782c7db0a1a60cb6fe97d0b483032ff1c70000000000000000000000006c3f90f043a72fa612cbac8115ee7e52bde6e4900000000000000000000000006b175474e89094c44da98b954eedeac495271d0f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000040907540d8a6c65c637785e8f8b742ae6b0b9968000000000000000000000000467947ee34af926cf1dcac093870f613c96b1e0c
-----Decoded View---------------
Arg [0] : _owner (address): 0x40907540d8a6C65c637785e8f8B742ae6b0b9968
Arg [1] : _emergency_owner (address): 0x467947EE34aF926cF1DCac093870f613C96B1E0c
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000040907540d8a6c65c637785e8f8b742ae6b0b9968
Arg [1] : 000000000000000000000000467947ee34af926cf1dcac093870f613c96b1e0c
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
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.