Overview
ETH Balance
0 ETH
Eth Value
$0.00Token Holdings
More Info
Private Name Tags
ContractCreator
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
20160888 | 19 days ago | 0.67056444 ETH | ||||
20160888 | 19 days ago | 0.67056444 ETH | ||||
20160888 | 19 days ago | 0.03095202 ETH | ||||
20160888 | 19 days ago | 0.03095202 ETH | ||||
20124442 | 24 days ago | 1.15938193 ETH | ||||
20124442 | 24 days ago | 1.15938193 ETH | ||||
20124442 | 24 days ago | 1.10753594 ETH | ||||
20124442 | 24 days ago | 1.10753594 ETH | ||||
20075285 | 31 days ago | 2.58933294 ETH | ||||
20075285 | 31 days ago | 2.58933294 ETH | ||||
20025426 | 38 days ago | 0.28371914 ETH | ||||
20025426 | 38 days ago | 0.28371914 ETH | ||||
20025426 | 38 days ago | 1.61418458 ETH | ||||
20025426 | 38 days ago | 1.61418458 ETH | ||||
19974957 | 45 days ago | 0.55787352 ETH | ||||
19974957 | 45 days ago | 0.55787352 ETH | ||||
19974957 | 45 days ago | 2.80633851 ETH | ||||
19974957 | 45 days ago | 2.80633851 ETH | ||||
19925271 | 52 days ago | 0.52250892 ETH | ||||
19925271 | 52 days ago | 0.52250892 ETH | ||||
19925234 | 52 days ago | 1.1373559 ETH | ||||
19925234 | 52 days ago | 1.1373559 ETH | ||||
19925234 | 52 days ago | 5.10270691 ETH | ||||
19925234 | 52 days ago | 5.10270691 ETH | ||||
19874861 | 59 days ago | 0.58700386 ETH |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
Vyper_contract
Compiler Version
vyper:0.3.7
Contract Source Code (Vyper language format)
# @version 0.3.7 """ @title Swap Stable Burner @notice Swaps an asset into another asset using a Stable pool, and forwards to another burner """ from vyper.interfaces import ERC20 interface StableSwap: def exchange(i: int128, j: int128, dx: uint256, min_dy: uint256): payable def coins(_i: uint256) -> address: view struct SwapData: pool: address coin: address receiver: address i: int128 j: int128 ETH_ADDRESS: constant(address) = 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE is_approved: HashMap[address, HashMap[address, bool]] swap_data: public(HashMap[address, SwapData]) recovery: public(address) is_killed: public(bool) owner: public(address) emergency_owner: public(address) future_owner: public(address) future_emergency_owner: public(address) @external def __init__(_recovery: address, _owner: address, _emergency_owner: address): """ @notice Contract constructor @dev Unlike other burners, this contract may transfer tokens to multiple addresses after the swap. Receiver addresses are set by calling `set_swap_data` instead of setting it within the constructor. @param _recovery Address that tokens are transferred to during an emergency token recovery. @param _owner Owner address. Can kill the contract, recover tokens and modify the recovery address. @param _emergency_owner Emergency owner address. Can kill the contract and recover tokens. """ self.recovery = _recovery self.owner = _owner self.emergency_owner = _emergency_owner @payable @external def __default__(): # required to receive ether during intermediate swaps pass @payable @external def burn(_coin: address) -> bool: """ @notice Convert `_coin` by swapping and transfer to another burner @param _coin Address of the coin being converted @return bool success """ assert not self.is_killed # dev: is killed amount: uint256 = 0 eth_amount: uint256 = 0 if _coin == ETH_ADDRESS: amount = self.balance eth_amount = self.balance else: # transfer coins from caller amount = ERC20(_coin).balanceOf(msg.sender) if amount != 0: response: Bytes[32] = raw_call( _coin, _abi_encode( msg.sender, self, amount, method_id=method_id("transferFrom(address,address,uint256)") ), max_outsize=32, ) if len(response) != 0: assert convert(response, bool) # get actual balance in case of transfer fee or pre-existing balance amount = ERC20(_coin).balanceOf(self) if amount != 0: swap_data: SwapData = self.swap_data[_coin] StableSwap(swap_data.pool).exchange(swap_data.i, swap_data.j, amount, 0, value=eth_amount) if swap_data.receiver != empty(address): if swap_data.coin == ETH_ADDRESS: raw_call(swap_data.receiver, b"", value=self.balance) else: amount = ERC20(swap_data.coin).balanceOf(self) response: Bytes[32] = raw_call( swap_data.coin, _abi_encode(swap_data.receiver, amount, method_id=method_id("transfer(address,uint256)")), max_outsize=32, ) if len(response) != 0: assert convert(response, bool) return True @internal def _set_swap_data(_from: address, _swap_data: SwapData): assert StableSwap(_swap_data.pool).coins(convert(_swap_data.i, uint256)) == _from assert StableSwap(_swap_data.pool).coins(convert(_swap_data.j, uint256)) == _swap_data.coin self.swap_data[_from] = _swap_data if _from != ETH_ADDRESS: response: Bytes[32] = raw_call( _from, _abi_encode(_swap_data.pool, max_value(uint256), method_id=method_id("approve(address,uint256)")), max_outsize=32, ) if len(response) != 0: assert convert(response, bool) @external def set_swap_data( _from: address, _pool: address, _to: address, _receiver: address, _i: int128, _j: int128, ) -> bool: """ @notice Set conversion and transfer data for `_from` @return bool success """ assert msg.sender in [self.owner, self.emergency_owner] # dev: only owner self._set_swap_data(_from, SwapData({ pool: _pool, coin: _to, receiver: _receiver, i: _i, j: _j, })) return True @external def set_many_swap_data(_from: DynArray[address, 20], _swap_datas: DynArray[SwapData, 20]): assert msg.sender in [self.owner, self.emergency_owner] # dev: only owner assert len(_swap_datas) == len(_from), "Incorrect input" i: uint256 = 0 for data in _swap_datas: self._set_swap_data(_from[i], data) i += 1 @external def recover_balance(_coin: address) -> bool: """ @notice Recover ERC20 tokens or Ether from this contract @dev Tokens are sent to the recovery address @param _coin Token address @return bool success """ assert msg.sender in [self.owner, self.emergency_owner] # dev: only owner if _coin == ETH_ADDRESS: raw_call(self.recovery, b"", value=self.balance) else: amount: uint256 = ERC20(_coin).balanceOf(self) response: Bytes[32] = raw_call( _coin, _abi_encode(self.recovery, amount, method_id=method_id("transfer(address,uint256)")), max_outsize=32, ) if len(response) != 0: assert convert(response, bool) return True @external def set_recovery(_recovery: address) -> bool: """ @notice Set the token recovery address @param _recovery Token recovery address @return bool success """ assert msg.sender == self.owner # dev: only owner self.recovery = _recovery return True @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 # dev: 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 # dev: only owner self.owner = msg.sender return True @external def commit_transfer_emergency_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.emergency_owner # dev: only owner self.future_emergency_owner = _future_owner return True @external def accept_transfer_emergency_ownership() -> bool: """ @notice Accept a transfer of ownership @return bool success """ assert msg.sender == self.future_emergency_owner # dev: 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":"_recovery","type":"address"},{"name":"_owner","type":"address"},{"name":"_emergency_owner","type":"address"}],"outputs":[]},{"stateMutability":"payable","type":"fallback"},{"stateMutability":"payable","type":"function","name":"burn","inputs":[{"name":"_coin","type":"address"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"set_swap_data","inputs":[{"name":"_from","type":"address"},{"name":"_pool","type":"address"},{"name":"_to","type":"address"},{"name":"_receiver","type":"address"},{"name":"_i","type":"int128"},{"name":"_j","type":"int128"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"set_many_swap_data","inputs":[{"name":"_from","type":"address[]"},{"name":"_swap_datas","type":"tuple[]","components":[{"name":"pool","type":"address"},{"name":"coin","type":"address"},{"name":"receiver","type":"address"},{"name":"i","type":"int128"},{"name":"j","type":"int128"}]}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"recover_balance","inputs":[{"name":"_coin","type":"address"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"set_recovery","inputs":[{"name":"_recovery","type":"address"}],"outputs":[{"name":"","type":"bool"}]},{"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":"swap_data","inputs":[{"name":"arg0","type":"address"}],"outputs":[{"name":"","type":"tuple","components":[{"name":"pool","type":"address"},{"name":"coin","type":"address"},{"name":"receiver","type":"address"},{"name":"i","type":"int128"},{"name":"j","type":"int128"}]}]},{"stateMutability":"view","type":"function","name":"recovery","inputs":[],"outputs":[{"name":"","type":"address"}]},{"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
6020610c886000396000518060a01c610c83576040526020610ca86000396000518060a01c610c83576060526020610cc86000396000518060a01c610c835760805234610c8357604051600255606051600455608051600555610c1861006a61000039610c18610000f36003361161000c57610a4d565b60003560e01c6389afcb44811861031f5760243610610c06576004358060a01c610c0657604052600354610c065760403660603773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6040511861006a574760605247608052610169565b6040516370a0823160a0523360c052602060a0602460bc845afa610093573d600060003e3d6000fd5b60203d10610c065760a09050516060526060511561012f576323b872dd60e4526004336101045230610124526060516101445260600160e05260e05060206101a060e05161010060006040515af16100f0573d600060003e3d6000fd5b3d602081183d60201002186101805261018080518060a05260208201805160c05250505060a0511561012f5760c05160a05160200360031b1c15610c06575b6040516370a0823160a0523060c052602060a0602460bc845afa610158573d600060003e3d6000fd5b60203d10610c065760a09050516060525b606051156103145760016040516020526000526040600020805460a052600181015460c052600281015460e0526003810154610100526004810154610120525060a051633df0212461014052610100516101605261012051610180526060516101a05260006101c052803b15610c06576000610140608461015c608051855af16101f8573d600060003e3d6000fd5b5060e051156103145773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60c0511861024c576000610140526101405060006000610140516101604760e0515af1610314573d600060003e3d6000fd610314565b60c0516370a082316101405230610160526020610140602461015c845afa610279573d600060003e3d6000fd5b60203d10610c065761014090505160605263a9059cbb61018452600460e0516101a4526060516101c45260400161018052610180506020610220610180516101a0600060c0515af16102d0573d600060003e3d6000fd5b3d602081183d6020100218610200526102008051806101405260208201805161016052505050610140511561031457610160516101405160200360031b1c15610c06575b600160a052602060a0f35b63673ab0d781186103f35760c43610610c06576004358060a01c610c0657610200526024358060a01c610c0657610220526044358060a01c610c0657610240526064358060a01c610c06576102605260843580600f0b8118610c06576102805260a43580600f0b8118610c06576102a05234610c06573360045481186103a65760016103ad565b6005548118155b905015610c06576102005160405261022051606052610240516080526102605160a0526102805160c0526102a05160e0526103e6610a4f565b60016102c05260206102c0f35b63361a8773811861064c5760843610610c06576004356004016014813511610c06578035806102005260008160148111610c0657801561045557905b8060051b6020850101358060a01c610c06578160051b610220015260010181811861042f575b505050506024356004016014813511610c06578035806104a05260008160148111610c065780156104f857905b60a081026104c00160a08202602086010180358060a01c610c0657825260208101358060a01c610c0657602083015260408101358060a01c610c06576040830152606081013580600f0b8118610c06576060830152608081013580600f0b8118610c065760808301525050600101818118610482575b5050505034610c0657336004548118610512576001610519565b6005548118155b905015610c0657610200516104a051181561059457600f611140527f496e636f727265637420696e70757400000000000000000000000000000000006111605261114050611140518061116001601f826000031636823750506308c379a061110052602061112052601f19601f61114051011660440161111cfd5b60006111405260006104a05160148111610c0657801561064857905b60a081026104c00180516111605260208101516111805260408101516111a05260608101516111c05260808101516111e052506111405161020051811015610c065760051b610220015160405261116051606052611180516080526111a05160a0526111c05160c0526111e05160e052610628610a4f565b6111405160018101818110610c06579050611140526001018181186105b0575b5050005b63db2f5f79811861079b5760243610610c06576004358060a01c610c065760405234610c065733600454811861068357600161068a565b6005548118155b905015610c065773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee604051186106d8576000606052606050600060006060516080476002545af1610790573d600060003e3d6000fd610790565b6040516370a082316080523060a052602060806024609c845afa610701573d600060003e3d6000fd5b60203d10610c0657608090505160605263a9059cbb60c452600460025460e4526060516101045260400160c05260c050602061016060c05160e060006040515af1610751573d600060003e3d6000fd5b3d602081183d60201002186101405261014080518060805260208201805160a052505050608051156107905760a05160805160200360031b1c15610c06575b600160605260206060f35b635dc659b081186107db5760243610610c06576004358060a01c610c065760405234610c06576004543318610c0657604051600255600160605260206060f35b6390b2299781186108315760243610610c06576004358060011c610c065760405234610c0657336004548118610812576001610819565b6005548118155b905015610c0657604051600355600160605260206060f35b636b441a4081186108715760243610610c06576004358060a01c610c065760405234610c06576004543318610c0657604051600655600160605260206060f35b63e5ea47b881186108a15760043610610c065734610c06576006543318610c065733600455600160405260206040f35b6395c8991581186108e15760243610610c06576004358060a01c610c065760405234610c06576005543318610c0657604051600755600160605260206060f35b632d2cb67581186109115760043610610c065734610c06576007543318610c065733600555600160405260206040f35b6312946aae81186109735760243610610c06576004358060a01c610c065760405234610c06576001604051602052600052604060002080546060526001810154608052600281015460a052600381015460c052600481015460e0525060a06060f35b63ddceafa981186109975760043610610c065734610c065760025460405260206040f35b639c868ac081186109bb5760043610610c065734610c065760035460405260206040f35b638da5cb5b81186109df5760043610610c065734610c065760045460405260206040f35b6363a4042a8118610a035760043610610c065734610c065760055460405260206040f35b631ec0cdc18118610a275760043610610c065734610c065760065460405260206040f35b63e19f994c8118610a4b5760043610610c065734610c065760075460405260206040f35b505b005b60405160605163c66106576101005260c05160008112610c0657610120526020610100602461011c845afa610a89573d600060003e3d6000fd5b60203d10610c0657610100518060a01c610c06576101405261014090505118610c065760805160605163c66106576101005260e05160008112610c0657610120526020610100602461011c845afa610ae6573d600060003e3d6000fd5b60203d10610c0657610100518060a01c610c06576101405261014090505118610c0657600160405160205260005260406000206060518155608051600182015560a051600282015560c051600382015560e05160048201555073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60405114610c045763095ea7b3610144526004606051610164527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61018452604001610140526101405060206101e06101405161016060006040515af1610bc0573d600060003e3d6000fd5b3d602081183d60201002186101c0526101c080518061010052602082018051610120525050506101005115610c0457610120516101005160200360031b1c15610c06575b565b600080fda165767970657283000307000b005b600080fd000000000000000000000000ecb456ea5365865ebab8a2661b0c503410e9b34700000000000000000000000071f718d3e4d1449d1502a6a7595eb84ebccb1683000000000000000000000000467947ee34af926cf1dcac093870f613c96b1e0c
Deployed Bytecode
0x6003361161000c57610a4d565b60003560e01c6389afcb44811861031f5760243610610c06576004358060a01c610c0657604052600354610c065760403660603773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6040511861006a574760605247608052610169565b6040516370a0823160a0523360c052602060a0602460bc845afa610093573d600060003e3d6000fd5b60203d10610c065760a09050516060526060511561012f576323b872dd60e4526004336101045230610124526060516101445260600160e05260e05060206101a060e05161010060006040515af16100f0573d600060003e3d6000fd5b3d602081183d60201002186101805261018080518060a05260208201805160c05250505060a0511561012f5760c05160a05160200360031b1c15610c06575b6040516370a0823160a0523060c052602060a0602460bc845afa610158573d600060003e3d6000fd5b60203d10610c065760a09050516060525b606051156103145760016040516020526000526040600020805460a052600181015460c052600281015460e0526003810154610100526004810154610120525060a051633df0212461014052610100516101605261012051610180526060516101a05260006101c052803b15610c06576000610140608461015c608051855af16101f8573d600060003e3d6000fd5b5060e051156103145773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60c0511861024c576000610140526101405060006000610140516101604760e0515af1610314573d600060003e3d6000fd610314565b60c0516370a082316101405230610160526020610140602461015c845afa610279573d600060003e3d6000fd5b60203d10610c065761014090505160605263a9059cbb61018452600460e0516101a4526060516101c45260400161018052610180506020610220610180516101a0600060c0515af16102d0573d600060003e3d6000fd5b3d602081183d6020100218610200526102008051806101405260208201805161016052505050610140511561031457610160516101405160200360031b1c15610c06575b600160a052602060a0f35b63673ab0d781186103f35760c43610610c06576004358060a01c610c0657610200526024358060a01c610c0657610220526044358060a01c610c0657610240526064358060a01c610c06576102605260843580600f0b8118610c06576102805260a43580600f0b8118610c06576102a05234610c06573360045481186103a65760016103ad565b6005548118155b905015610c06576102005160405261022051606052610240516080526102605160a0526102805160c0526102a05160e0526103e6610a4f565b60016102c05260206102c0f35b63361a8773811861064c5760843610610c06576004356004016014813511610c06578035806102005260008160148111610c0657801561045557905b8060051b6020850101358060a01c610c06578160051b610220015260010181811861042f575b505050506024356004016014813511610c06578035806104a05260008160148111610c065780156104f857905b60a081026104c00160a08202602086010180358060a01c610c0657825260208101358060a01c610c0657602083015260408101358060a01c610c06576040830152606081013580600f0b8118610c06576060830152608081013580600f0b8118610c065760808301525050600101818118610482575b5050505034610c0657336004548118610512576001610519565b6005548118155b905015610c0657610200516104a051181561059457600f611140527f496e636f727265637420696e70757400000000000000000000000000000000006111605261114050611140518061116001601f826000031636823750506308c379a061110052602061112052601f19601f61114051011660440161111cfd5b60006111405260006104a05160148111610c0657801561064857905b60a081026104c00180516111605260208101516111805260408101516111a05260608101516111c05260808101516111e052506111405161020051811015610c065760051b610220015160405261116051606052611180516080526111a05160a0526111c05160c0526111e05160e052610628610a4f565b6111405160018101818110610c06579050611140526001018181186105b0575b5050005b63db2f5f79811861079b5760243610610c06576004358060a01c610c065760405234610c065733600454811861068357600161068a565b6005548118155b905015610c065773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee604051186106d8576000606052606050600060006060516080476002545af1610790573d600060003e3d6000fd610790565b6040516370a082316080523060a052602060806024609c845afa610701573d600060003e3d6000fd5b60203d10610c0657608090505160605263a9059cbb60c452600460025460e4526060516101045260400160c05260c050602061016060c05160e060006040515af1610751573d600060003e3d6000fd5b3d602081183d60201002186101405261014080518060805260208201805160a052505050608051156107905760a05160805160200360031b1c15610c06575b600160605260206060f35b635dc659b081186107db5760243610610c06576004358060a01c610c065760405234610c06576004543318610c0657604051600255600160605260206060f35b6390b2299781186108315760243610610c06576004358060011c610c065760405234610c0657336004548118610812576001610819565b6005548118155b905015610c0657604051600355600160605260206060f35b636b441a4081186108715760243610610c06576004358060a01c610c065760405234610c06576004543318610c0657604051600655600160605260206060f35b63e5ea47b881186108a15760043610610c065734610c06576006543318610c065733600455600160405260206040f35b6395c8991581186108e15760243610610c06576004358060a01c610c065760405234610c06576005543318610c0657604051600755600160605260206060f35b632d2cb67581186109115760043610610c065734610c06576007543318610c065733600555600160405260206040f35b6312946aae81186109735760243610610c06576004358060a01c610c065760405234610c06576001604051602052600052604060002080546060526001810154608052600281015460a052600381015460c052600481015460e0525060a06060f35b63ddceafa981186109975760043610610c065734610c065760025460405260206040f35b639c868ac081186109bb5760043610610c065734610c065760035460405260206040f35b638da5cb5b81186109df5760043610610c065734610c065760045460405260206040f35b6363a4042a8118610a035760043610610c065734610c065760055460405260206040f35b631ec0cdc18118610a275760043610610c065734610c065760065460405260206040f35b63e19f994c8118610a4b5760043610610c065734610c065760075460405260206040f35b505b005b60405160605163c66106576101005260c05160008112610c0657610120526020610100602461011c845afa610a89573d600060003e3d6000fd5b60203d10610c0657610100518060a01c610c06576101405261014090505118610c065760805160605163c66106576101005260e05160008112610c0657610120526020610100602461011c845afa610ae6573d600060003e3d6000fd5b60203d10610c0657610100518060a01c610c06576101405261014090505118610c0657600160405160205260005260406000206060518155608051600182015560a051600282015560c051600382015560e05160048201555073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60405114610c045763095ea7b3610144526004606051610164527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61018452604001610140526101405060206101e06101405161016060006040515af1610bc0573d600060003e3d6000fd5b3d602081183d60201002186101c0526101c080518061010052602082018051610120525050506101005115610c0457610120516101005160200360031b1c15610c06575b565b600080fda165767970657283000307000b
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000ecb456ea5365865ebab8a2661b0c503410e9b34700000000000000000000000071f718d3e4d1449d1502a6a7595eb84ebccb1683000000000000000000000000467947ee34af926cf1dcac093870f613c96b1e0c
-----Decoded View---------------
Arg [0] : _recovery (address): 0xeCb456EA5365865EbAb8a2661B0c503410e9B347
Arg [1] : _owner (address): 0x71F718D3e4d1449D1502A6A7595eb84eBcCB1683
Arg [2] : _emergency_owner (address): 0x467947EE34aF926cF1DCac093870f613C96B1E0c
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 000000000000000000000000ecb456ea5365865ebab8a2661b0c503410e9b347
Arg [1] : 00000000000000000000000071f718d3e4d1449d1502a6a7595eb84ebccb1683
Arg [2] : 000000000000000000000000467947ee34af926cf1dcac093870f613c96b1e0c
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ 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.