Feature Tip: Add private address tag to any address under My Name Tag !
Overview
ETH Balance
0 ETH
Eth Value
$0.00Token Holdings
More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 691 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Collect | 21217888 | 4 days ago | IN | 0 ETH | 0.01271281 | ||||
Collect | 21217530 | 4 days ago | IN | 0 ETH | 0.01219757 | ||||
Collect | 21216866 | 4 days ago | IN | 0 ETH | 0.00327684 | ||||
Collect | 21214422 | 5 days ago | IN | 0 ETH | 0.00245918 | ||||
Collect | 21213206 | 5 days ago | IN | 0 ETH | 0.00216026 | ||||
Collect | 21212297 | 5 days ago | IN | 0 ETH | 0.00233491 | ||||
Collect | 21211735 | 5 days ago | IN | 0 ETH | 0.00127495 | ||||
Collect | 21211207 | 5 days ago | IN | 0 ETH | 0.00223448 | ||||
Collect | 21211102 | 5 days ago | IN | 0 ETH | 0.00208511 | ||||
Collect | 21167828 | 11 days ago | IN | 0 ETH | 0.00617574 | ||||
Collect | 21167260 | 11 days ago | IN | 0 ETH | 0.00928176 | ||||
Collect | 21163327 | 12 days ago | IN | 0 ETH | 0.00111295 | ||||
Collect | 21163311 | 12 days ago | IN | 0 ETH | 0.00113189 | ||||
Collect | 21163305 | 12 days ago | IN | 0 ETH | 0.01477517 | ||||
Collect | 21161581 | 12 days ago | IN | 0 ETH | 0.00507862 | ||||
Collect | 21161077 | 12 days ago | IN | 0 ETH | 0.00183051 | ||||
Collect | 21117637 | 18 days ago | IN | 0 ETH | 0.00139607 | ||||
Collect | 21117632 | 18 days ago | IN | 0 ETH | 0.00101975 | ||||
Collect | 21117605 | 18 days ago | IN | 0 ETH | 0.0007818 | ||||
Burn | 21117599 | 18 days ago | IN | 0 ETH | 0.00026857 | ||||
Collect | 21117584 | 18 days ago | IN | 0 ETH | 0.00195621 | ||||
Collect | 21115992 | 18 days ago | IN | 0 ETH | 0.00093498 | ||||
Collect | 21113472 | 19 days ago | IN | 0 ETH | 0.00047869 | ||||
Collect | 21112926 | 19 days ago | IN | 0 ETH | 0.00132885 | ||||
Collect | 21112481 | 19 days ago | IN | 0 ETH | 0.00040524 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
21214422 | 5 days ago | 0.91248365 ETH | ||||
21214422 | 5 days ago | 0.61799497 ETH | ||||
21213873 | 5 days ago | 0.11184903 ETH | ||||
21213873 | 5 days ago | 0.18263963 ETH | ||||
21161581 | 12 days ago | 1.85051281 ETH | ||||
21161581 | 12 days ago | 1.85051281 ETH | ||||
21117605 | 18 days ago | 0.10917706 ETH | ||||
21117605 | 18 days ago | 0.10917706 ETH | ||||
21117599 | 18 days ago | 0.477869 ETH | ||||
21112398 | 19 days ago | 0.11566995 ETH | ||||
21112398 | 19 days ago | 0.16555336 ETH | ||||
21112398 | 19 days ago | 0.19664568 ETH | ||||
21111153 | 19 days ago | 0.83044256 ETH | ||||
21111153 | 19 days ago | 0.71508503 ETH | ||||
21062930 | 26 days ago | 0.11535752 ETH | ||||
21061922 | 26 days ago | 1.08160253 ETH | ||||
21061922 | 26 days ago | 1.08160253 ETH | ||||
21017280 | 32 days ago | 0.26659786 ETH | ||||
21017280 | 32 days ago | 0.12759612 ETH | ||||
21016535 | 32 days ago | 0.13900173 ETH | ||||
21012299 | 33 days ago | 0.66117191 ETH | ||||
21012299 | 33 days ago | 0.66117191 ETH | ||||
20967011 | 39 days ago | 1.8039476 ETH | ||||
20967011 | 39 days ago | 1.3106835 ETH | ||||
20966999 | 39 days ago | 0.18504346 ETH |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
FeeCollector
Compiler Version
vyper:0.3.10
Contract Source Code (Vyper language format)
# pragma version 0.3.10 """ @title FeeCollector @license MIT @author Curve Finance @notice Collects fees and delegates to burner for exchange """ 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 interface wETH: def balanceOf(_owner: address) -> uint256: view def transferFrom(_sender: address, _receiver: address, _amount: uint256): nonpayable def transfer(_receiver: address, _amount: uint256): nonpayable def withdraw(_amount: uint256): nonpayable def deposit(): payable interface Curve: def withdraw_admin_fees(): nonpayable interface Burner: def burn(_coins: DynArray[ERC20, MAX_LEN], _receiver: address): nonpayable def push_target() -> uint256: nonpayable def supportsInterface(_interface_id: bytes4) -> bool: view interface Hooker: def duty_act(_hook_inputs: DynArray[HookInput, MAX_HOOK_LEN], _receiver: address=msg.sender) -> uint256: payable def buffer_amount() -> uint256: view def supportsInterface(_interface_id: bytes4) -> bool: view event SetMaxFee: epoch: indexed(Epoch) max_fee: uint256 event SetBurner: burner: indexed(Burner) event SetHooker: hooker: indexed(Hooker) event SetTarget: target: indexed(ERC20) event SetKilled: coin: indexed(ERC20) epoch_mask: Epoch event SetOwner: owner: indexed(address) event SetEmergencyOwner: emergency_owner: indexed(address) enum Epoch: SLEEP # 1 COLLECT # 2 EXCHANGE # 4 FORWARD # 8 struct Transfer: coin: ERC20 to: address amount: uint256 # 2^256-1 for the whole balance struct HookInput: hook_id: uint8 value: uint256 data: Bytes[8192] struct RecoverInput: coin: ERC20 amount: uint256 struct KilledInput: coin: ERC20 killed: Epoch # True where killed ETH_ADDRESS: constant(address) = 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE WETH: immutable(wETH) MAX_LEN: constant(uint256) = 64 MAX_HOOK_LEN: constant(uint256) = 32 ONE: constant(uint256) = 10 ** 18 # Precision START_TIME: constant(uint256) = 1600300800 # ts of distribution start WEEK: constant(uint256) = 7 * 24 * 3600 EPOCH_TIMESTAMPS: constant(uint256[17]) = [ 0, 0, # 1 4 * 24 * 3600, # 2 0, 5 * 24 * 3600, # 4 0, 0, 0, 6 * 24 * 3600, # 8 0, 0, 0, 0, 0, 0, 0, WEEK, # 16, next period ] target: public(ERC20) # coin swapped into max_fee: public(uint256[9]) # max_fee[Epoch] BURNER_INTERFACE_ID: constant(bytes4) = 0xa3b5e311 HOOKER_INTERFACE_ID: constant(bytes4) = 0xe569b44d burner: public(Burner) hooker: public(Hooker) last_hooker_approve: uint256 is_killed: public(HashMap[ERC20, Epoch]) ALL_COINS: constant(ERC20) = empty(ERC20) # Auxiliary indicator for all coins (=ZERO_ADDRESS) owner: public(address) emergency_owner: public(address) @external def __init__(_target_coin: ERC20, _weth: wETH, _owner: address, _emergency_owner: address): """ @notice Contract constructor @param _target_coin Coin to swap to @param _weth Wrapped ETH(native coin) address @param _owner Owner address @param _emergency_owner Emergency owner address. Can kill the contract """ self.target = _target_coin WETH = _weth self.owner = _owner self.emergency_owner = _emergency_owner self.max_fee[convert(Epoch.COLLECT, uint256)] = ONE / 100 # 1% self.max_fee[convert(Epoch.FORWARD, uint256)] = ONE / 100 # 1% self.is_killed[ALL_COINS] = Epoch.COLLECT | Epoch.FORWARD # Set burner first self.is_killed[_target_coin] = Epoch.COLLECT | Epoch.EXCHANGE # Keep target coin in contract log SetTarget(_target_coin) log SetOwner(_owner) log SetEmergencyOwner(_emergency_owner) log SetMaxFee(Epoch.COLLECT, ONE / 100) log SetMaxFee(Epoch.FORWARD, ONE / 100) log SetKilled(ALL_COINS, Epoch.COLLECT | Epoch.FORWARD) log SetKilled(_target_coin, Epoch.COLLECT | Epoch.FORWARD) @external @payable def __default__(): # Deposited ETH can be converted using `burn(ETH_ADDRESS)` pass @external def withdraw_many(_pools: DynArray[address, MAX_LEN]): """ @notice Withdraw admin fees from multiple pools @param _pools List of pool address to withdraw admin fees from """ for pool in _pools: Curve(pool).withdraw_admin_fees() @external @payable def burn(_coin: address) -> bool: """ @notice Transfer coin from contract with approval @dev Needed for back compatability along with dealing raw ETH @param _coin Coin to transfer @return True if did not fail, back compatability """ if _coin == ETH_ADDRESS: # Deposit WETH.deposit(value=self.balance) else: amount: uint256 = ERC20(_coin).balanceOf(msg.sender) ERC20(_coin).transferFrom(msg.sender, self, amount) return True @internal @pure def _epoch_ts(ts: uint256) -> Epoch: ts = (ts - START_TIME) % WEEK for epoch in [Epoch.SLEEP, Epoch.COLLECT, Epoch.EXCHANGE, Epoch.FORWARD]: if ts < EPOCH_TIMESTAMPS[2 * convert(epoch, uint256)]: return epoch raise UNREACHABLE @external @view def epoch(ts: uint256=block.timestamp) -> Epoch: """ @notice Get epoch at certain timestamp @param ts Timestamp. Current by default @return Epoch """ return self._epoch_ts(ts) @internal @pure def _epoch_time_frame(epoch: Epoch, ts: uint256) -> (uint256, uint256): subset: uint256 = convert(epoch, uint256) assert subset & (subset - 1) == 0, "Bad Epoch" ts = ts - (ts - START_TIME) % WEEK return (ts + EPOCH_TIMESTAMPS[convert(epoch, uint256)], ts + EPOCH_TIMESTAMPS[2 * convert(epoch, uint256)]) @external @view def epoch_time_frame(_epoch: Epoch, _ts: uint256=block.timestamp) -> (uint256, uint256): """ @notice Get time frame of certain epoch @param _epoch Epoch @param _ts Timestamp to anchor to. Current by default @return [start, end) time frame boundaries """ return self._epoch_time_frame(_epoch, _ts) @internal @view def _fee(epoch: Epoch, ts: uint256) -> uint256: start: uint256 = 0 end: uint256 = 0 start, end = self._epoch_time_frame(epoch, ts) if ts >= end: return 0 return self.max_fee[convert(epoch, uint256)] * (ts + 1 - start) / (end - start) @external @view def fee(_epoch: Epoch=empty(Epoch), _ts: uint256=block.timestamp) -> uint256: """ @notice Calculate keeper's fee @param _epoch Epoch to count fee for @param _ts Timestamp of collection @return Fee with base 10^18 """ if _epoch == empty(Epoch): return self._fee(self._epoch_ts(_ts), _ts) return self._fee(_epoch, _ts) @external @nonreentrant("transfer") def transfer(_transfers: DynArray[Transfer, MAX_LEN]): """ @dev No approvals so can change burner easily @param _transfers Transfers to apply """ assert msg.sender == self.burner.address, "Only Burner" epoch: Epoch = self._epoch_ts(block.timestamp) assert epoch in Epoch.COLLECT | Epoch.EXCHANGE, "Wrong Epoch" for transfer in _transfers: assert not self.is_killed[transfer.coin] in epoch, "Killed coin" amount: uint256 = transfer.amount if amount == max_value(uint256): amount = transfer.coin.balanceOf(self) assert transfer.coin.transfer(transfer.to, amount, default_return_value=True) @external @nonreentrant("collect") def collect(_coins: DynArray[ERC20, MAX_LEN], _receiver: address=msg.sender): """ @notice Collect earned fees. Collection should happen under callback to earn caller fees. @param _coins Coins to collect sorted in ascending order @param _receiver Receiver of caller `collect_fee`s """ assert self._epoch_ts(block.timestamp) == Epoch.COLLECT, "Wrong epoch" assert not self.is_killed[ALL_COINS] in Epoch.COLLECT, "Killed epoch" for i in range(len(_coins), bound=MAX_LEN): assert not self.is_killed[_coins[i]] in Epoch.COLLECT, "Killed coin" # Eliminate case of repeated coins if i > 0: assert convert(_coins[i].address, uint160) > convert(_coins[i - 1].address, uint160), "Coins not sorted" self.burner.burn(_coins, _receiver) @external @view def can_exchange(_coins: DynArray[ERC20, MAX_LEN]) -> bool: """ @notice Check whether coins are allowed to be exchanged @param _coins Coins to exchange @return Boolean value if coins are allowed to be exchanged """ if self._epoch_ts(block.timestamp) != Epoch.EXCHANGE or\ self.is_killed[ALL_COINS] in Epoch.EXCHANGE: return False for coin in _coins: if self.is_killed[coin] in Epoch.EXCHANGE: return False return True @external @payable @nonreentrant("forward") def forward(_hook_inputs: DynArray[HookInput, MAX_HOOK_LEN], _receiver: address=msg.sender) -> uint256: """ @notice Transfer target coin forward @param _hook_inputs Input parameters for forward hooks @param _receiver Receiver of caller `forward_fee` @return Amount of received fee """ assert self._epoch_ts(block.timestamp) == Epoch.FORWARD, "Wrong epoch" target: ERC20 = self.target assert not (self.is_killed[ALL_COINS] | self.is_killed[target]) in Epoch.FORWARD, "Killed" self.burner.push_target() amount: uint256 = target.balanceOf(self) # Account buffer hooker: Hooker = self.hooker hooker_buffer: uint256 = hooker.buffer_amount() amount -= min(hooker_buffer, amount) fee: uint256 = self._fee(Epoch.FORWARD, block.timestamp) * amount / ONE target.transfer(_receiver, fee) target.transfer(hooker.address, amount - fee) if self.last_hooker_approve < (block.timestamp - START_TIME) / WEEK: # First time this week target.approve(hooker.address, hooker_buffer) self.last_hooker_approve = (block.timestamp - START_TIME) / WEEK fee += hooker.duty_act(_hook_inputs, _receiver, value=msg.value) return fee @external def recover(_recovers: DynArray[RecoverInput, MAX_LEN], _receiver: address): """ @notice Recover ERC20 tokens or Ether from this contract @dev Callable only by owner and emergency owner @param _recovers (Token, amount) to recover @param _receiver Receiver of coins """ assert msg.sender in [self.owner, self.emergency_owner], "Only owner" for input in _recovers: amount: uint256 = input.amount if input.coin.address == ETH_ADDRESS: if amount == max_value(uint256): amount = self.balance raw_call(_receiver, b"", value=amount) else: if amount == max_value(uint256): amount = input.coin.balanceOf(self) input.coin.transfer(_receiver, amount) # do not need safe transfer @external def set_max_fee(_epoch: Epoch, _max_fee: uint256): """ @notice Set keeper's max fee @dev Callable only by owner @param _epoch Epoch to set fee for @param _max_fee Maximum fee to set """ assert msg.sender == self.owner, "Only owner" subset: uint256 = convert(_epoch, uint256) assert subset & (subset - 1) == 0, "Bad Epoch" assert _max_fee <= ONE, "Bad max_fee" self.max_fee[convert(_epoch, uint256)] = _max_fee log SetMaxFee(_epoch, _max_fee) @external def set_burner(_new_burner: Burner): """ @notice Set burner for exchanging coins, must implement BURNER_INTERFACE @dev Callable only by owner @param _new_burner Address of the new contract """ assert msg.sender == self.owner, "Only owner" assert _new_burner.supportsInterface(BURNER_INTERFACE_ID) self.burner = _new_burner log SetBurner(_new_burner) @external def set_hooker(_new_hooker: Hooker): """ @notice Set contract for hooks, must implement HOOKER_INTERFACE @dev Callable only by owner @param _new_hooker Address of the new contract """ assert msg.sender == self.owner, "Only owner" assert _new_hooker.supportsInterface(HOOKER_INTERFACE_ID) if self.hooker != empty(Hooker): self.target.approve(self.hooker.address, 0) self.hooker = _new_hooker log SetHooker(_new_hooker) @external def set_target(_new_target: ERC20): """ @notice Set new coin for fees accumulation @dev Callable only by owner @param _new_target Address of the new target coin """ assert msg.sender == self.owner, "Only owner" target: ERC20 = self.target self.is_killed[target] = empty(Epoch) # allow to collect and exchange log SetKilled(target, empty(Epoch)) self.target = _new_target self.is_killed[_new_target] = Epoch.COLLECT | Epoch.EXCHANGE # Keep target coin in contract log SetTarget(_new_target) log SetKilled(_new_target, Epoch.COLLECT | Epoch.EXCHANGE) @external def set_killed(_input: DynArray[KilledInput, MAX_LEN]): """ @notice Stop a contract or specific coin to be burnt @dev Callable only by owner or emergency owner @param _input Array of (coin address, killed phases enum) """ assert msg.sender in [self.owner, self.emergency_owner], "Only owner" for input in _input: self.is_killed[input.coin] = input.killed log SetKilled(input.coin, input.killed) @external def set_owner(_new_owner: address): """ @notice Set owner of the contract @dev Callable only by current owner @param _new_owner Address of the new owner """ assert msg.sender == self.owner, "Only owner" assert _new_owner != empty(address) self.owner = _new_owner log SetOwner(_new_owner) @external def set_emergency_owner(_new_owner: address): """ @notice Set emergency owner of the contract @dev Callable only by current owner @param _new_owner Address of the new emergency owner """ assert msg.sender == self.owner, "Only owner" assert _new_owner != empty(address) self.emergency_owner = _new_owner log SetEmergencyOwner(_new_owner)
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"name":"SetMaxFee","inputs":[{"name":"epoch","type":"uint256","indexed":true},{"name":"max_fee","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"name":"SetBurner","inputs":[{"name":"burner","type":"address","indexed":true}],"anonymous":false,"type":"event"},{"name":"SetHooker","inputs":[{"name":"hooker","type":"address","indexed":true}],"anonymous":false,"type":"event"},{"name":"SetTarget","inputs":[{"name":"target","type":"address","indexed":true}],"anonymous":false,"type":"event"},{"name":"SetKilled","inputs":[{"name":"coin","type":"address","indexed":true},{"name":"epoch_mask","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"name":"SetOwner","inputs":[{"name":"owner","type":"address","indexed":true}],"anonymous":false,"type":"event"},{"name":"SetEmergencyOwner","inputs":[{"name":"emergency_owner","type":"address","indexed":true}],"anonymous":false,"type":"event"},{"stateMutability":"nonpayable","type":"constructor","inputs":[{"name":"_target_coin","type":"address"},{"name":"_weth","type":"address"},{"name":"_owner","type":"address"},{"name":"_emergency_owner","type":"address"}],"outputs":[]},{"stateMutability":"payable","type":"fallback"},{"stateMutability":"nonpayable","type":"function","name":"withdraw_many","inputs":[{"name":"_pools","type":"address[]"}],"outputs":[]},{"stateMutability":"payable","type":"function","name":"burn","inputs":[{"name":"_coin","type":"address"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"view","type":"function","name":"epoch","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"epoch","inputs":[{"name":"ts","type":"uint256"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"epoch_time_frame","inputs":[{"name":"_epoch","type":"uint256"}],"outputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"epoch_time_frame","inputs":[{"name":"_epoch","type":"uint256"},{"name":"_ts","type":"uint256"}],"outputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"fee","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"fee","inputs":[{"name":"_epoch","type":"uint256"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"fee","inputs":[{"name":"_epoch","type":"uint256"},{"name":"_ts","type":"uint256"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"nonpayable","type":"function","name":"transfer","inputs":[{"name":"_transfers","type":"tuple[]","components":[{"name":"coin","type":"address"},{"name":"to","type":"address"},{"name":"amount","type":"uint256"}]}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"collect","inputs":[{"name":"_coins","type":"address[]"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"collect","inputs":[{"name":"_coins","type":"address[]"},{"name":"_receiver","type":"address"}],"outputs":[]},{"stateMutability":"view","type":"function","name":"can_exchange","inputs":[{"name":"_coins","type":"address[]"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"payable","type":"function","name":"forward","inputs":[{"name":"_hook_inputs","type":"tuple[]","components":[{"name":"hook_id","type":"uint8"},{"name":"value","type":"uint256"},{"name":"data","type":"bytes"}]}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"payable","type":"function","name":"forward","inputs":[{"name":"_hook_inputs","type":"tuple[]","components":[{"name":"hook_id","type":"uint8"},{"name":"value","type":"uint256"},{"name":"data","type":"bytes"}]},{"name":"_receiver","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"nonpayable","type":"function","name":"recover","inputs":[{"name":"_recovers","type":"tuple[]","components":[{"name":"coin","type":"address"},{"name":"amount","type":"uint256"}]},{"name":"_receiver","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"set_max_fee","inputs":[{"name":"_epoch","type":"uint256"},{"name":"_max_fee","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"set_burner","inputs":[{"name":"_new_burner","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"set_hooker","inputs":[{"name":"_new_hooker","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"set_target","inputs":[{"name":"_new_target","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"set_killed","inputs":[{"name":"_input","type":"tuple[]","components":[{"name":"coin","type":"address"},{"name":"killed","type":"uint256"}]}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"set_owner","inputs":[{"name":"_new_owner","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"set_emergency_owner","inputs":[{"name":"_new_owner","type":"address"}],"outputs":[]},{"stateMutability":"view","type":"function","name":"target","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"max_fee","inputs":[{"name":"arg0","type":"uint256"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"burner","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"hooker","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"is_killed","inputs":[{"name":"arg0","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"emergency_owner","inputs":[],"outputs":[{"name":"","type":"address"}]}]
Contract Creation Code
6120375150346101f25760206122435f395f518060a01c6101f25760405260206122635f395f518060a01c6101f25760605260206122835f395f518060a01c6101f25760805260206122a35f395f518060a01c6101f25760a0526040516003556060516120375260805160115560a051601255662386f26fc10000600655662386f26fc10000600c55600a60105f6020525f5260405f2055600660106040516020525f5260405f20556040517f529334a1c6836c58fdfaae38f1bc5b62d6a69e91fc4181371b8cd8db71831ea75f60c0a26080517f167d3e9c1016ab80e58802ca9da10ce5c6a0f4debc46a2e7a2cd9e56899a4fb55f60c0a260a0517f8d244bde4451f1c7643d677f668fcf551617d4046657105728f1e0c6d1f41abd5f60c0a260027f62c711266aa88195f0a4d039bff4072f30cd1171b5473007a6ed72225cf8f329662386f26fc1000060c052602060c0a260087f62c711266aa88195f0a4d039bff4072f30cd1171b5473007a6ed72225cf8f329662386f26fc1000060c052602060c0a25f7fbe9ca79c5858b597d131478211339014c63cf8066fc364a3a616e5635de82e6a600a60c052602060c0a26040517fbe9ca79c5858b597d131478211339014c63cf8066fc364a3a616e5635de82e6a600a60c052602060c0a26120376101f661000039612057610000f35b5f80fd5f3560e01c6002601b820660011b61200101601e395f51565b63d4b839928118611cf75734611ffd5760035460405260206040f3611cf7565b63c47339c2811861006557602436103417611ffd5760043560088111611ffd576004015460405260206040f35b63ddca3f438118611cf75734611ffd575f6105a052426105c05261087e56611cf7565b6327810b6e81186100a45734611ffd57600d5460405260206040f35b63427c9a958118611cf757602436103417611ffd576004358060a01c611ffd5760405260115433181561012d57600a6060527f4f6e6c79206f776e65720000000000000000000000000000000000000000000060805260605060605180608001601f825f031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b6003546060525f60106060516020525f5260405f20556060517fbe9ca79c5858b597d131478211339014c63cf8066fc364a3a616e5635de82e6a5f60805260206080a2604051600355600660106040516020525f5260405f20556040517f529334a1c6836c58fdfaae38f1bc5b62d6a69e91fc4181371b8cd8db71831ea75f6080a26040517fbe9ca79c5858b597d131478211339014c63cf8066fc364a3a616e5635de82e6a600660805260206080a200611cf7565b636dfaf77281186101ff5734611ffd57600e5460405260206040f35b63d11d83ab8118611cf7576043361115611ffd5733620411c052610c2c56611cf7565b6359e63166811861025d57602436103417611ffd576004358060a01c611ffd5760405260106040516020525f5260405f205460605260206060f35b63755da8118118611cf757604436103417611ffd576004356004016040813511611ffd5780355f8160408111611ffd5780156102ba57905b8060051b6020850101358060a01c611ffd578160051b60600152600101818118610295575b50508060405250505f60405160408111611ffd57801561031b57905b8060051b6060015161086052610860516330c5408561088052803b15611ffd575f610880600461089c5f855af161030f573d5f5f3e3d5ffd5b506001018181186102d6575b505000611cf7565b638da5cb5b811861033f5734611ffd5760115460405260206040f35b63e07748628118611cf757602436103417611ffd576004358060a01c611ffd576040526011543318156103c857600a6060527f4f6e6c79206f776e65720000000000000000000000000000000000000000000060805260605060605180608001601f825f031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b6040516301ffc9a76060527fa3b5e31100000000000000000000000000000000000000000000000000000000608052602060606024607c845afa61040e573d5f5f3e3d5ffd5b60203d10611ffd576060518060011c611ffd5760a05260a090505115611ffd57604051600d556040517f5d02513563a6890385b0d6684a867cbf8032b19adbd10bca1f78f430db041e375f6060a200611cf7565b6363a4042a811861047e5734611ffd5760125460405260206040f35b63900cf0cf8118611cf75734611ffd5742610320526105bc56611cf7565b6389afcb44811861059f576023361115611ffd576004358060a01c611ffd5760405273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee604051186105105760206120375f395f5163d0e30db0606052803b15611ffd575f60606004607c47855af161050a573d5f5f3e3d5ffd5b50610594565b6040516370a082316080523360a052602060806024609c845afa610536573d5f5f3e3d5ffd5b60203d10611ffd5760809050516060526040516323b872dd6080523360a0523060c05260605160e052602060806064609c5f855af1610577573d5f5f3e3d5ffd5b60203d10611ffd576080518060011c611ffd576101005261010050505b600160605260206060f35b635487c5778118611cf757602436103417611ffd57600435610320525b6020610320516040526105d0610340611cf9565b610340f3611cf7565b63dffe059c81186105f857602436103417611ffd574261050052610638565b63a4520aee8118611cf757604436103417611ffd5733610b40526111c956611cf7565b63b676f7488118611cf757604436103417611ffd57602435610500525b6004358060041c611ffd576104e05260406104e05160405261050051606052610662610520611dc1565b610520f3611cf7565b6339b37ab0811861069957602436103417611ffd576004358060041c611ffd576105a052426105c05261087e565b6397160c5b8118611cf757604436103417611ffd576004358060041c611ffd5760405260115433181561072257600a6060527f4f6e6c79206f776e65720000000000000000000000000000000000000000000060805260605060605180608001601f825f031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b60405160605260605160018103818111611ffd579050606051161561079d5760096080527f4261642045706f6368000000000000000000000000000000000000000000000060a0526080506080518060a001601f825f031636823750506308c379a06040526020606052601f19601f6080510116604401605cfd5b670de0b6b3a7640000602435111561080b57600b6080527f426164206d61785f66656500000000000000000000000000000000000000000060a0526080506080518060a001601f825f031636823750506308c379a06040526020606052601f19601f6080510116604401605cfd5b60243560405160088111611ffd57600401556040517f62c711266aa88195f0a4d039bff4072f30cd1171b5473007a6ed72225cf8f32960243560805260206080a200611cf7565b63939f5ea48118611cf757604436103417611ffd576004358060041c611ffd576105a0526024356105c0525b6105a0516108cd5760206105c05160405261089a6105e0611cf9565b6105e051610620526105c05161064052610620516104e05261064051610500526108c5610600611f44565b6106006108ee565b60206105a0516104e0526105c051610500526108ea6105e0611f44565b6105e05bf3611cf7565b630e67c6bc8118610c0757604436103417611ffd576004356004016040813511611ffd5780355f8160408111611ffd57801561097257905b606081026103400160608202602086010180358060a01c611ffd57825260208101358060a01c611ffd57602083015260408101356040830152505060010181811861092c575b5050806103205250505f54600214611ffd5760025f55600d543318156109f757600b611b40527f4f6e6c79204275726e6572000000000000000000000000000000000000000000611b6052611b4050611b405180611b6001601f825f031636823750506308c379a0611b00526020611b2052601f19601f611b40510116604401611b1cfd5b42604052610a06611b60611cf9565b611b6051611b40526006611b405116610a7e57600b611b60527f57726f6e672045706f6368000000000000000000000000000000000000000000611b8052611b6050611b605180611b8001601f825f031636823750506308c379a0611b20526020611b4052601f19601f611b60510116604401611b3cfd5b5f6103205160408111611ffd578015610bff57905b60608102610340018051611b60526020810151611b80526040810151611ba05250611b40516010611b60516020525f5260405f20541615610b3357600b611bc0527f4b696c6c656420636f696e000000000000000000000000000000000000000000611be052611bc050611bc05180611be001601f825f031636823750506308c379a0611b80526020611ba052601f19601f611bc0510116604401611b9cfd5b611ba051611bc052611bc05119610b8257611b60516370a08231611be05230611c00526020611be06024611bfc845afa610b6f573d5f5f3e3d5ffd5b60203d10611ffd57611be0905051611bc0525b611b605163a9059cbb611be052611b8051611c0052611bc051611c20526020611be06044611bfc5f855af1610bb9573d5f5f3e3d5ffd5b3d610bd057803b15611ffd576001611c4052610be9565b60203d10611ffd57611be0518060011c611ffd57611c40525b611c4090505115611ffd57600101818118610a93575b505060035f55005b63167f83f48118611cf7576063361115611ffd576024358060a01c611ffd57620411c0525b6004356004016020813511611ffd5780355f8160208111611ffd578015610cab57905b61206081026105c0018160051b602086010135602086010180358060081c611ffd5782526020810135602083015260408101358101612000813511611ffd57602081350160408401818382375050505050600101818118610c4f575b5050806105a0525050600254600214611ffd576002600255600842604052610cd5620411e0611cf9565b620411e0511815610d4e57600b62041200527f57726f6e672065706f6368000000000000000000000000000000000000000000620412205262041200506204120051806204122001601f825f031636823750506308c379a0620411c0526020620411e052601f19601f62041200510116604401620411dcfd5b600354620411e05260086010620411e0516020525f5260405f205460105f6020525f5260405f2054171615610deb57600662041200527f4b696c6c65640000000000000000000000000000000000000000000000000000620412205262041200506204120051806204122001601f825f031636823750506308c379a0620411c0526020620411e052601f19601f62041200510116604401620411dcfd5b600d54632eb078cd620412005260206204120060046204121c5f855af1610e14573d5f5f3e3d5ffd5b60203d10611ffd57620412005050620411e0516370a08231620412205230620412405260206204122060246204123c845afa610e52573d5f5f3e3d5ffd5b60203d10611ffd57620412209050516204120052600e54620412205262041220516369e15fcb620412605260206204126060046204127c845afa610e98573d5f5f3e3d5ffd5b60203d10611ffd5762041260905051620412405262041200516204124051620412005180828118828410021890509050808203828111611ffd5790509050620412005260086104e0524261050052610ef262041280611f44565b62041280516204120051808202811583838304141715611ffd5790509050670de0b6b3a7640000810490506204126052620411e05163a9059cbb6204128052620411c051620412a0526204126051620412c05260206204128060446204129c5f855af1610f61573d5f5f3e3d5ffd5b60203d10611ffd5762041280518060011c611ffd57620412e052620412e05050620411e05163a9059cbb62041280526204122051620412a05262041200516204126051808203828111611ffd5790509050620412c05260206204128060446204129c5f855af1610fd3573d5f5f3e3d5ffd5b60203d10611ffd5762041280518060011c611ffd57620412e052620412e0505042635f62a7008103818111611ffd57905062093a8081049050600f54101561107857620411e05163095ea7b362041280526204122051620412a0526204124051620412c052803b15611ffd575f6204128060446204129c5f855af161105a573d5f5f3e3d5ffd5b5042635f62a7008103818111611ffd57905062093a8081049050600f555b62041260516204122051638c88eb866204128052604080620412a05280620412a0015f6105a0518083528060051b5f8260208111611ffd57801561113857905b828160051b60208801015261206081026105c001836020880101606082518252602083015160208301528060408301526040830181830160208251018082828560045afa50508051806020830101601f825f03163682375050601f19601f82516020010116905090508101905090509050830192506001018181186110b8575b50508201602001915050905081019050620411c051620412c05250602062041280620414646204129c34855af1611171573d5f5f3e3d5ffd5b60203d10611ffd5762041280905051808201828110611ffd579050905062041260526020620412606003600255f3611cf7565b6342b1689d8118611cf757606436103417611ffd576024358060a01c611ffd57610b40525b6004356004016040813511611ffd5780355f8160408111611ffd57801561121257905b8060051b6020850101358060a01c611ffd578160051b61034001526001018181186111ec575b505080610320525050600154600214611ffd57600260015560024260405261123b610b60611cf9565b610b605118156112aa57600b610b80527f57726f6e672065706f6368000000000000000000000000000000000000000000610ba052610b8050610b805180610ba001601f825f031636823750506308c379a0610b40526020610b6052601f19601f610b80510116604401610b5cfd5b600260105f6020525f5260405f2054161561132457600c610b60527f4b696c6c65642065706f63680000000000000000000000000000000000000000610b8052610b6050610b605180610b8001601f825f031636823750506308c379a0610b20526020610b4052601f19601f610b60510116604401610b3cfd5b5f6103205160408111611ffd57801561148757905b80610b605260026010610b605161032051811015611ffd5760051b61034001516020525f5260405f205416156113ce57600b610b80527f4b696c6c656420636f696e000000000000000000000000000000000000000000610ba052610b8050610b805180610ba001601f825f031636823750506308c379a0610b40526020610b6052601f19601f610b80510116604401610b5cfd5b610b60511561147c57610b605160018103818111611ffd57905061032051811015611ffd5760051b6103400151610b605161032051811015611ffd5760051b61034001511361147c576010610b80527f436f696e73206e6f7420736f7274656400000000000000000000000000000000610ba052610b8050610b805180610ba001601f825f031636823750506308c379a0610b40526020610b6052601f19601f610b80510116604401610b5cfd5b600101818118611339575b5050600d546372a436a8610b6052604080610b805280610b80015f610320518083528060051b5f8260408111611ffd5780156114dd57905b8060051b61034001518160051b6020880101526001018181186114bf575b50508201602001915050905081019050610b4051610ba05250803b15611ffd575f610b60610864610b7c5f855af1611517573d5f5f3e3d5ffd5b50600360015500611cf7565b63dc7168e98118611cf757604436103417611ffd576004356004016040813511611ffd5780355f8160408111611ffd57801561158157905b8060051b6020850101358060a01c611ffd578160051b610340015260010181811861155b575b50508061032052505060044260405261159b610b40611cf9565b610b4051146115ab5760016115be565b600460105f6020525f5260405f20541615155b156115d2575f610b60526020610b60611636565b5f6103205160408111611ffd57801561162857905b8060051b6103400151610b405260046010610b40516020525f5260405f2054161561161d5750505f610b60526020610b60611636565b6001018181186115e7575b50506001610b40526020610b405bf3611cf7565b634e1602df8118611cf757606436103417611ffd576004356004016040813511611ffd5780355f8160408111611ffd5780156116a757905b8060061b6060018160061b602086010180358060a01c611ffd578252602081013560208301525050600101818118611674575b50508060405250506024358060a01c611ffd57611060523360115481186116cf5760016116d6565b6012548118155b905061174157600a6110a0527f4f6e6c79206f776e6572000000000000000000000000000000000000000000006110c0526110a0506110a051806110c001601f825f031636823750506308c379a061106052602061108052601f19601f6110a051011660440161107cfd5b5f60405160408111611ffd57801561187d57905b8060061b60600180516110805260208101516110a052506110a0516110c05273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee61108051186117d6576110c051196117a157476110c0525b611060516110c0515a5f6110e0526110e0505f5f6110e051611100858786f1905090509050611872573d5f5f3e3d5ffd611872565b6110c0511961181d57611080516370a082316110e052306111005260206110e060246110fc845afa61180a573d5f5f3e3d5ffd5b60203d10611ffd576110e09050516110c0525b6110805163a9059cbb6110e05261106051611100526110c0516111205260206110e060446110fc5f855af1611854573d5f5f3e3d5ffd5b60203d10611ffd576110e0518060011c611ffd576111405261114050505b600101818118611755575b505000611cf7565b63a35eba8d8118611cf757602436103417611ffd576004358060a01c611ffd5760405260115433181561190e57600a6060527f4f6e6c79206f776e65720000000000000000000000000000000000000000000060805260605060605180608001601f825f031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b6040516301ffc9a76060527fe569b44d00000000000000000000000000000000000000000000000000000000608052602060606024607c845afa611954573d5f5f3e3d5ffd5b60203d10611ffd576060518060011c611ffd5760a05260a090505115611ffd57600e54156119b15760035463095ea7b3606052600e546080525f60a052803b15611ffd575f60606044607c5f855af16119af573d5f5f3e3d5ffd5b505b604051600e556040517f557aa1ccd69dcfb5220a0ee57e91034c3e2ae382692ffe000c16b2865fcca9695f6060a200611cf7565b633f4822d68118611cf757604436103417611ffd576004356004016040813511611ffd5780355f8160408111611ffd578015611a5857905b8060061b6060018160061b602086010180358060a01c611ffd57825260208101358060041c611ffd5760208301525050600101818118611a1d575b5050806040525050336011548118611a71576001611a78565b6012548118155b9050611ae357600a611080527f4f6e6c79206f776e6572000000000000000000000000000000000000000000006110a0526110805061108051806110a001601f825f031636823750506308c379a061104052602061106052601f19601f61108051011660440161105cfd5b5f60405160408111611ffd578015611b6057905b8060061b60600180516110605260208101516110805250611080516010611060516020525f5260405f2055611060517fbe9ca79c5858b597d131478211339014c63cf8066fc364a3a616e5635de82e6a611080516110a05260206110a0a2600101818118611af7575b505000611cf7565b637cb97b2b8118611cf757602436103417611ffd576004358060a01c611ffd57604052601154331815611bf157600a6060527f4f6e6c79206f776e65720000000000000000000000000000000000000000000060805260605060605180608001601f825f031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b60405115611ffd576040516011556040517f167d3e9c1016ab80e58802ca9da10ce5c6a0f4debc46a2e7a2cd9e56899a4fb55f6060a200611cf7565b637e1b1e4b8118611cf757602436103417611ffd576004358060a01c611ffd57604052601154331815611cb657600a6060527f4f6e6c79206f776e65720000000000000000000000000000000000000000000060805260605060605180608001601f825f031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b60405115611ffd576040516012556040517f8d244bde4451f1c7643d677f668fcf551617d4046657105728f1e0c6d1f41abd5f6060a200611cf756611cf7565b5b005b604051635f62a7008103818111611ffd57905062093a80810690506040526001608052600260a052600460c052600860e0525f6004905b8060051b608001516060526040366101003762054600610140525f6101605262069780610180526060366101a0376207e9006102005260e0366102203762093a80610300526101006060518060011b818160011c18611ffd57905060108111611ffd5760051b81019050516040511015611db1576060518352505050611dbf565b600101818118611d30575050fe5b565b60405160805260805160018103818111611ffd5790506080511615611e3c57600960a0527f4261642045706f6368000000000000000000000000000000000000000000000060c05260a05060a0518060c001601f825f031636823750506308c379a06060526020608052601f19601f60a0510116604401607cfd5b606051606051635f62a7008103818111611ffd57905062093a8081069050808203828111611ffd579050905060605260605160403660a0376205460060e0525f610100526206978061012052606036610140376207e9006101a05260e0366101c03762093a806102a05260a060405160108111611ffd5760051b8101905051808201828110611ffd579050905081526060516040366102c03762054600610300525f610320526206978061034052606036610360376207e9006103c05260e0366103e03762093a806104c0526102c06040518060011b818160011c18611ffd57905060108111611ffd5760051b8101905051808201828110611ffd5790509050602082015250565b604036610520376104e05160405261050051606052611f64610560611dc1565b61056080516105205260208101516105405250610540516105005110611f8d575f815250611ffb565b6104e05160088111611ffd57600401546105005160018101818110611ffd57905061052051808203828111611ffd5790509050808202811583838304141715611ffd57905090506105405161052051808203828111611ffd57905090508015611ffd57808204905090508152505b565b5f80fd08520038001803231cf608f411a4008819e501e3049c1cf61cf6152318851cf6061b05d904621b681cf6066b163c1cf61c2d1cf60222841920378118361820a16576797065728300030a0016000000000000000000000000f939e0a03fb07f59a73314e73794be0e57ac1b4e000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000071f718d3e4d1449d1502a6a7595eb84ebccb1683000000000000000000000000467947ee34af926cf1dcac093870f613c96b1e0c
Deployed Bytecode
0x5f3560e01c6002601b820660011b61200101601e395f51565b63d4b839928118611cf75734611ffd5760035460405260206040f3611cf7565b63c47339c2811861006557602436103417611ffd5760043560088111611ffd576004015460405260206040f35b63ddca3f438118611cf75734611ffd575f6105a052426105c05261087e56611cf7565b6327810b6e81186100a45734611ffd57600d5460405260206040f35b63427c9a958118611cf757602436103417611ffd576004358060a01c611ffd5760405260115433181561012d57600a6060527f4f6e6c79206f776e65720000000000000000000000000000000000000000000060805260605060605180608001601f825f031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b6003546060525f60106060516020525f5260405f20556060517fbe9ca79c5858b597d131478211339014c63cf8066fc364a3a616e5635de82e6a5f60805260206080a2604051600355600660106040516020525f5260405f20556040517f529334a1c6836c58fdfaae38f1bc5b62d6a69e91fc4181371b8cd8db71831ea75f6080a26040517fbe9ca79c5858b597d131478211339014c63cf8066fc364a3a616e5635de82e6a600660805260206080a200611cf7565b636dfaf77281186101ff5734611ffd57600e5460405260206040f35b63d11d83ab8118611cf7576043361115611ffd5733620411c052610c2c56611cf7565b6359e63166811861025d57602436103417611ffd576004358060a01c611ffd5760405260106040516020525f5260405f205460605260206060f35b63755da8118118611cf757604436103417611ffd576004356004016040813511611ffd5780355f8160408111611ffd5780156102ba57905b8060051b6020850101358060a01c611ffd578160051b60600152600101818118610295575b50508060405250505f60405160408111611ffd57801561031b57905b8060051b6060015161086052610860516330c5408561088052803b15611ffd575f610880600461089c5f855af161030f573d5f5f3e3d5ffd5b506001018181186102d6575b505000611cf7565b638da5cb5b811861033f5734611ffd5760115460405260206040f35b63e07748628118611cf757602436103417611ffd576004358060a01c611ffd576040526011543318156103c857600a6060527f4f6e6c79206f776e65720000000000000000000000000000000000000000000060805260605060605180608001601f825f031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b6040516301ffc9a76060527fa3b5e31100000000000000000000000000000000000000000000000000000000608052602060606024607c845afa61040e573d5f5f3e3d5ffd5b60203d10611ffd576060518060011c611ffd5760a05260a090505115611ffd57604051600d556040517f5d02513563a6890385b0d6684a867cbf8032b19adbd10bca1f78f430db041e375f6060a200611cf7565b6363a4042a811861047e5734611ffd5760125460405260206040f35b63900cf0cf8118611cf75734611ffd5742610320526105bc56611cf7565b6389afcb44811861059f576023361115611ffd576004358060a01c611ffd5760405273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee604051186105105760206120375f395f5163d0e30db0606052803b15611ffd575f60606004607c47855af161050a573d5f5f3e3d5ffd5b50610594565b6040516370a082316080523360a052602060806024609c845afa610536573d5f5f3e3d5ffd5b60203d10611ffd5760809050516060526040516323b872dd6080523360a0523060c05260605160e052602060806064609c5f855af1610577573d5f5f3e3d5ffd5b60203d10611ffd576080518060011c611ffd576101005261010050505b600160605260206060f35b635487c5778118611cf757602436103417611ffd57600435610320525b6020610320516040526105d0610340611cf9565b610340f3611cf7565b63dffe059c81186105f857602436103417611ffd574261050052610638565b63a4520aee8118611cf757604436103417611ffd5733610b40526111c956611cf7565b63b676f7488118611cf757604436103417611ffd57602435610500525b6004358060041c611ffd576104e05260406104e05160405261050051606052610662610520611dc1565b610520f3611cf7565b6339b37ab0811861069957602436103417611ffd576004358060041c611ffd576105a052426105c05261087e565b6397160c5b8118611cf757604436103417611ffd576004358060041c611ffd5760405260115433181561072257600a6060527f4f6e6c79206f776e65720000000000000000000000000000000000000000000060805260605060605180608001601f825f031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b60405160605260605160018103818111611ffd579050606051161561079d5760096080527f4261642045706f6368000000000000000000000000000000000000000000000060a0526080506080518060a001601f825f031636823750506308c379a06040526020606052601f19601f6080510116604401605cfd5b670de0b6b3a7640000602435111561080b57600b6080527f426164206d61785f66656500000000000000000000000000000000000000000060a0526080506080518060a001601f825f031636823750506308c379a06040526020606052601f19601f6080510116604401605cfd5b60243560405160088111611ffd57600401556040517f62c711266aa88195f0a4d039bff4072f30cd1171b5473007a6ed72225cf8f32960243560805260206080a200611cf7565b63939f5ea48118611cf757604436103417611ffd576004358060041c611ffd576105a0526024356105c0525b6105a0516108cd5760206105c05160405261089a6105e0611cf9565b6105e051610620526105c05161064052610620516104e05261064051610500526108c5610600611f44565b6106006108ee565b60206105a0516104e0526105c051610500526108ea6105e0611f44565b6105e05bf3611cf7565b630e67c6bc8118610c0757604436103417611ffd576004356004016040813511611ffd5780355f8160408111611ffd57801561097257905b606081026103400160608202602086010180358060a01c611ffd57825260208101358060a01c611ffd57602083015260408101356040830152505060010181811861092c575b5050806103205250505f54600214611ffd5760025f55600d543318156109f757600b611b40527f4f6e6c79204275726e6572000000000000000000000000000000000000000000611b6052611b4050611b405180611b6001601f825f031636823750506308c379a0611b00526020611b2052601f19601f611b40510116604401611b1cfd5b42604052610a06611b60611cf9565b611b6051611b40526006611b405116610a7e57600b611b60527f57726f6e672045706f6368000000000000000000000000000000000000000000611b8052611b6050611b605180611b8001601f825f031636823750506308c379a0611b20526020611b4052601f19601f611b60510116604401611b3cfd5b5f6103205160408111611ffd578015610bff57905b60608102610340018051611b60526020810151611b80526040810151611ba05250611b40516010611b60516020525f5260405f20541615610b3357600b611bc0527f4b696c6c656420636f696e000000000000000000000000000000000000000000611be052611bc050611bc05180611be001601f825f031636823750506308c379a0611b80526020611ba052601f19601f611bc0510116604401611b9cfd5b611ba051611bc052611bc05119610b8257611b60516370a08231611be05230611c00526020611be06024611bfc845afa610b6f573d5f5f3e3d5ffd5b60203d10611ffd57611be0905051611bc0525b611b605163a9059cbb611be052611b8051611c0052611bc051611c20526020611be06044611bfc5f855af1610bb9573d5f5f3e3d5ffd5b3d610bd057803b15611ffd576001611c4052610be9565b60203d10611ffd57611be0518060011c611ffd57611c40525b611c4090505115611ffd57600101818118610a93575b505060035f55005b63167f83f48118611cf7576063361115611ffd576024358060a01c611ffd57620411c0525b6004356004016020813511611ffd5780355f8160208111611ffd578015610cab57905b61206081026105c0018160051b602086010135602086010180358060081c611ffd5782526020810135602083015260408101358101612000813511611ffd57602081350160408401818382375050505050600101818118610c4f575b5050806105a0525050600254600214611ffd576002600255600842604052610cd5620411e0611cf9565b620411e0511815610d4e57600b62041200527f57726f6e672065706f6368000000000000000000000000000000000000000000620412205262041200506204120051806204122001601f825f031636823750506308c379a0620411c0526020620411e052601f19601f62041200510116604401620411dcfd5b600354620411e05260086010620411e0516020525f5260405f205460105f6020525f5260405f2054171615610deb57600662041200527f4b696c6c65640000000000000000000000000000000000000000000000000000620412205262041200506204120051806204122001601f825f031636823750506308c379a0620411c0526020620411e052601f19601f62041200510116604401620411dcfd5b600d54632eb078cd620412005260206204120060046204121c5f855af1610e14573d5f5f3e3d5ffd5b60203d10611ffd57620412005050620411e0516370a08231620412205230620412405260206204122060246204123c845afa610e52573d5f5f3e3d5ffd5b60203d10611ffd57620412209050516204120052600e54620412205262041220516369e15fcb620412605260206204126060046204127c845afa610e98573d5f5f3e3d5ffd5b60203d10611ffd5762041260905051620412405262041200516204124051620412005180828118828410021890509050808203828111611ffd5790509050620412005260086104e0524261050052610ef262041280611f44565b62041280516204120051808202811583838304141715611ffd5790509050670de0b6b3a7640000810490506204126052620411e05163a9059cbb6204128052620411c051620412a0526204126051620412c05260206204128060446204129c5f855af1610f61573d5f5f3e3d5ffd5b60203d10611ffd5762041280518060011c611ffd57620412e052620412e05050620411e05163a9059cbb62041280526204122051620412a05262041200516204126051808203828111611ffd5790509050620412c05260206204128060446204129c5f855af1610fd3573d5f5f3e3d5ffd5b60203d10611ffd5762041280518060011c611ffd57620412e052620412e0505042635f62a7008103818111611ffd57905062093a8081049050600f54101561107857620411e05163095ea7b362041280526204122051620412a0526204124051620412c052803b15611ffd575f6204128060446204129c5f855af161105a573d5f5f3e3d5ffd5b5042635f62a7008103818111611ffd57905062093a8081049050600f555b62041260516204122051638c88eb866204128052604080620412a05280620412a0015f6105a0518083528060051b5f8260208111611ffd57801561113857905b828160051b60208801015261206081026105c001836020880101606082518252602083015160208301528060408301526040830181830160208251018082828560045afa50508051806020830101601f825f03163682375050601f19601f82516020010116905090508101905090509050830192506001018181186110b8575b50508201602001915050905081019050620411c051620412c05250602062041280620414646204129c34855af1611171573d5f5f3e3d5ffd5b60203d10611ffd5762041280905051808201828110611ffd579050905062041260526020620412606003600255f3611cf7565b6342b1689d8118611cf757606436103417611ffd576024358060a01c611ffd57610b40525b6004356004016040813511611ffd5780355f8160408111611ffd57801561121257905b8060051b6020850101358060a01c611ffd578160051b61034001526001018181186111ec575b505080610320525050600154600214611ffd57600260015560024260405261123b610b60611cf9565b610b605118156112aa57600b610b80527f57726f6e672065706f6368000000000000000000000000000000000000000000610ba052610b8050610b805180610ba001601f825f031636823750506308c379a0610b40526020610b6052601f19601f610b80510116604401610b5cfd5b600260105f6020525f5260405f2054161561132457600c610b60527f4b696c6c65642065706f63680000000000000000000000000000000000000000610b8052610b6050610b605180610b8001601f825f031636823750506308c379a0610b20526020610b4052601f19601f610b60510116604401610b3cfd5b5f6103205160408111611ffd57801561148757905b80610b605260026010610b605161032051811015611ffd5760051b61034001516020525f5260405f205416156113ce57600b610b80527f4b696c6c656420636f696e000000000000000000000000000000000000000000610ba052610b8050610b805180610ba001601f825f031636823750506308c379a0610b40526020610b6052601f19601f610b80510116604401610b5cfd5b610b60511561147c57610b605160018103818111611ffd57905061032051811015611ffd5760051b6103400151610b605161032051811015611ffd5760051b61034001511361147c576010610b80527f436f696e73206e6f7420736f7274656400000000000000000000000000000000610ba052610b8050610b805180610ba001601f825f031636823750506308c379a0610b40526020610b6052601f19601f610b80510116604401610b5cfd5b600101818118611339575b5050600d546372a436a8610b6052604080610b805280610b80015f610320518083528060051b5f8260408111611ffd5780156114dd57905b8060051b61034001518160051b6020880101526001018181186114bf575b50508201602001915050905081019050610b4051610ba05250803b15611ffd575f610b60610864610b7c5f855af1611517573d5f5f3e3d5ffd5b50600360015500611cf7565b63dc7168e98118611cf757604436103417611ffd576004356004016040813511611ffd5780355f8160408111611ffd57801561158157905b8060051b6020850101358060a01c611ffd578160051b610340015260010181811861155b575b50508061032052505060044260405261159b610b40611cf9565b610b4051146115ab5760016115be565b600460105f6020525f5260405f20541615155b156115d2575f610b60526020610b60611636565b5f6103205160408111611ffd57801561162857905b8060051b6103400151610b405260046010610b40516020525f5260405f2054161561161d5750505f610b60526020610b60611636565b6001018181186115e7575b50506001610b40526020610b405bf3611cf7565b634e1602df8118611cf757606436103417611ffd576004356004016040813511611ffd5780355f8160408111611ffd5780156116a757905b8060061b6060018160061b602086010180358060a01c611ffd578252602081013560208301525050600101818118611674575b50508060405250506024358060a01c611ffd57611060523360115481186116cf5760016116d6565b6012548118155b905061174157600a6110a0527f4f6e6c79206f776e6572000000000000000000000000000000000000000000006110c0526110a0506110a051806110c001601f825f031636823750506308c379a061106052602061108052601f19601f6110a051011660440161107cfd5b5f60405160408111611ffd57801561187d57905b8060061b60600180516110805260208101516110a052506110a0516110c05273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee61108051186117d6576110c051196117a157476110c0525b611060516110c0515a5f6110e0526110e0505f5f6110e051611100858786f1905090509050611872573d5f5f3e3d5ffd611872565b6110c0511961181d57611080516370a082316110e052306111005260206110e060246110fc845afa61180a573d5f5f3e3d5ffd5b60203d10611ffd576110e09050516110c0525b6110805163a9059cbb6110e05261106051611100526110c0516111205260206110e060446110fc5f855af1611854573d5f5f3e3d5ffd5b60203d10611ffd576110e0518060011c611ffd576111405261114050505b600101818118611755575b505000611cf7565b63a35eba8d8118611cf757602436103417611ffd576004358060a01c611ffd5760405260115433181561190e57600a6060527f4f6e6c79206f776e65720000000000000000000000000000000000000000000060805260605060605180608001601f825f031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b6040516301ffc9a76060527fe569b44d00000000000000000000000000000000000000000000000000000000608052602060606024607c845afa611954573d5f5f3e3d5ffd5b60203d10611ffd576060518060011c611ffd5760a05260a090505115611ffd57600e54156119b15760035463095ea7b3606052600e546080525f60a052803b15611ffd575f60606044607c5f855af16119af573d5f5f3e3d5ffd5b505b604051600e556040517f557aa1ccd69dcfb5220a0ee57e91034c3e2ae382692ffe000c16b2865fcca9695f6060a200611cf7565b633f4822d68118611cf757604436103417611ffd576004356004016040813511611ffd5780355f8160408111611ffd578015611a5857905b8060061b6060018160061b602086010180358060a01c611ffd57825260208101358060041c611ffd5760208301525050600101818118611a1d575b5050806040525050336011548118611a71576001611a78565b6012548118155b9050611ae357600a611080527f4f6e6c79206f776e6572000000000000000000000000000000000000000000006110a0526110805061108051806110a001601f825f031636823750506308c379a061104052602061106052601f19601f61108051011660440161105cfd5b5f60405160408111611ffd578015611b6057905b8060061b60600180516110605260208101516110805250611080516010611060516020525f5260405f2055611060517fbe9ca79c5858b597d131478211339014c63cf8066fc364a3a616e5635de82e6a611080516110a05260206110a0a2600101818118611af7575b505000611cf7565b637cb97b2b8118611cf757602436103417611ffd576004358060a01c611ffd57604052601154331815611bf157600a6060527f4f6e6c79206f776e65720000000000000000000000000000000000000000000060805260605060605180608001601f825f031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b60405115611ffd576040516011556040517f167d3e9c1016ab80e58802ca9da10ce5c6a0f4debc46a2e7a2cd9e56899a4fb55f6060a200611cf7565b637e1b1e4b8118611cf757602436103417611ffd576004358060a01c611ffd57604052601154331815611cb657600a6060527f4f6e6c79206f776e65720000000000000000000000000000000000000000000060805260605060605180608001601f825f031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b60405115611ffd576040516012556040517f8d244bde4451f1c7643d677f668fcf551617d4046657105728f1e0c6d1f41abd5f6060a200611cf756611cf7565b5b005b604051635f62a7008103818111611ffd57905062093a80810690506040526001608052600260a052600460c052600860e0525f6004905b8060051b608001516060526040366101003762054600610140525f6101605262069780610180526060366101a0376207e9006102005260e0366102203762093a80610300526101006060518060011b818160011c18611ffd57905060108111611ffd5760051b81019050516040511015611db1576060518352505050611dbf565b600101818118611d30575050fe5b565b60405160805260805160018103818111611ffd5790506080511615611e3c57600960a0527f4261642045706f6368000000000000000000000000000000000000000000000060c05260a05060a0518060c001601f825f031636823750506308c379a06060526020608052601f19601f60a0510116604401607cfd5b606051606051635f62a7008103818111611ffd57905062093a8081069050808203828111611ffd579050905060605260605160403660a0376205460060e0525f610100526206978061012052606036610140376207e9006101a05260e0366101c03762093a806102a05260a060405160108111611ffd5760051b8101905051808201828110611ffd579050905081526060516040366102c03762054600610300525f610320526206978061034052606036610360376207e9006103c05260e0366103e03762093a806104c0526102c06040518060011b818160011c18611ffd57905060108111611ffd5760051b8101905051808201828110611ffd5790509050602082015250565b604036610520376104e05160405261050051606052611f64610560611dc1565b61056080516105205260208101516105405250610540516105005110611f8d575f815250611ffb565b6104e05160088111611ffd57600401546105005160018101818110611ffd57905061052051808203828111611ffd5790509050808202811583838304141715611ffd57905090506105405161052051808203828111611ffd57905090508015611ffd57808204905090508152505b565b5f80fd08520038001803231cf608f411a4008819e501e3049c1cf61cf6152318851cf6061b05d904621b681cf6066b163c1cf61c2d1cf60222000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000f939e0a03fb07f59a73314e73794be0e57ac1b4e000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000071f718d3e4d1449d1502a6a7595eb84ebccb1683000000000000000000000000467947ee34af926cf1dcac093870f613c96b1e0c
-----Decoded View---------------
Arg [0] : _target_coin (address): 0xf939E0A03FB07F59A73314E73794Be0E57ac1b4E
Arg [1] : _weth (address): 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2
Arg [2] : _owner (address): 0x71F718D3e4d1449D1502A6A7595eb84eBcCB1683
Arg [3] : _emergency_owner (address): 0x467947EE34aF926cF1DCac093870f613C96B1E0c
-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 000000000000000000000000f939e0a03fb07f59a73314e73794be0e57ac1b4e
Arg [1] : 000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
Arg [2] : 00000000000000000000000071f718d3e4d1449d1502a6a7595eb84ebccb1683
Arg [3] : 000000000000000000000000467947ee34af926cf1dcac093870f613c96b1e0c
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | 76.83% | $0.995447 | 93,456.6412 | $93,031.13 | |
ETH | 6.95% | $1 | 8,402.125 | $8,418.93 | |
ETH | 3.86% | $0.999618 | 4,673.1759 | $4,671.39 | |
ETH | 2.59% | $0.999408 | 3,134.7082 | $3,132.85 | |
ETH | 1.51% | $4,071.41 | 0.4503 | $1,833.33 | |
ETH | 1.31% | $3,468.01 | 0.4563 | $1,582.49 | |
ETH | 0.90% | $0.999758 | 1,096.1234 | $1,095.86 | |
ETH | 0.88% | $0.999046 | 1,071.6073 | $1,070.59 | |
ETH | 0.65% | $1.12 | 700.6157 | $784.69 | |
ETH | 0.61% | $0.996032 | 743.5949 | $740.64 | |
ETH | 0.60% | $0.998881 | 727.5045 | $726.69 | |
ETH | 0.44% | $1.12 | 470.8999 | $527.41 | |
ETH | 0.33% | $98,451 | 0.00410954 | $404.59 | |
ETH | 0.27% | $0.991405 | 328.0291 | $325.21 | |
ETH | 0.24% | $1 | 292.9455 | $293.24 | |
ETH | 0.23% | $98,519 | 0.00279036 | $274.9 | |
ETH | 0.21% | $0.995912 | 253.4501 | $252.41 | |
ETH | 0.19% | $3,545.67 | 0.0658 | $233.44 | |
ETH | 0.18% | $0.99933 | 221.1945 | $221.05 | |
ETH | 0.17% | $3,446.3 | 0.0591 | $203.69 | |
ETH | 0.14% | $3,946.55 | 0.042 | $165.73 | |
ETH | 0.10% | $3,816.31 | 0.031 | $118.22 | |
ETH | 0.09% | $0.987037 | 104.7928 | $103.43 | |
ETH | 0.07% | $0.064016 | 1,387.9019 | $88.85 | |
ETH | 0.06% | $3,505.89 | 0.0205 | $71.87 | |
ETH | 0.06% | $3,495.94 | 0.0195 | $68.25 | |
ETH | 0.06% | $0.994018 | 67.9303 | $67.52 | |
ETH | 0.05% | $3,518.68 | 0.0187 | $65.71 | |
ETH | 0.05% | $3,448.66 | 0.019 | $65.4 | |
ETH | 0.05% | $97,851 | 0.00065281 | $63.88 | |
ETH | 0.04% | $3,621.37 | 0.0139 | $50.31 | |
ETH | 0.04% | $0.996386 | 46.7201 | $46.55 | |
ETH | 0.04% | $3,385.23 | 0.0127 | $42.94 | |
ETH | 0.03% | $2,585.53 | 0.0127 | $32.72 | |
ETH | 0.03% | $539.79 | 0.0572 | $30.85 | |
ETH | 0.02% | $98,853 | 0.00030123 | $29.78 | |
ETH | 0.02% | $1 | 25.5872 | $25.61 | |
ETH | 0.02% | $1.09 | 20.7274 | $22.51 | |
ETH | 0.02% | $0.052289 | 375.1387 | $19.62 | |
ETH | 0.01% | $1.01 | 16.6161 | $16.75 | |
ETH | <0.01% | $0.997838 | 11.4818 | $11.46 | |
ETH | <0.01% | $1.02 | 10.9381 | $11.18 | |
ETH | <0.01% | $72,411 | 0.00013473 | $9.76 | |
ETH | <0.01% | $3,143.64 | 0.00279136 | $8.78 | |
ETH | <0.01% | $98,760 | 0.00007024 | $6.94 | |
ETH | <0.01% | $3,405.05 | 0.00163791 | $5.58 | |
ETH | <0.01% | $3.2 | 1.7374 | $5.56 | |
ETH | <0.01% | $3,562.43 | 0.00148628 | $5.29 | |
ETH | <0.01% | $1.07 | 4.7506 | $5.1 | |
ETH | <0.01% | $1.17 | 0.8901 | $1.04 | |
ETH | <0.01% | $0.998103 | 0.765 | $0.7635 |
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.