Feature Tip: Add private address tag to any address under My Name Tag !
More Info
Private Name Tags
ContractCreator
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
0x2bbb039c9626a1f1d9c9fab5904ccd2b392c236452888f8c61cd3468c5d76e48 | Exchange | (pending) | 2 days ago | IN | 0.001 ETH | (Pending) | |||
Exchange | 21435407 | 32 days ago | IN | 0 ETH | 0.00256954 | ||||
Exchange | 21435397 | 32 days ago | IN | 0 ETH | 0.00256954 | ||||
Exchange | 21435388 | 32 days ago | IN | 0 ETH | 0.0022181 | ||||
Exchange | 21435378 | 32 days ago | IN | 0 ETH | 0.00240294 | ||||
Exchange | 21435368 | 32 days ago | IN | 0 ETH | 0.00240294 | ||||
Exchange | 21435358 | 32 days ago | IN | 0 ETH | 0.00240294 | ||||
Exchange | 21435348 | 32 days ago | IN | 0 ETH | 0.00240294 | ||||
Exchange | 21435338 | 32 days ago | IN | 0 ETH | 0.00240294 | ||||
Exchange | 21435330 | 32 days ago | IN | 0 ETH | 0.00440234 | ||||
Exchange | 21222328 | 62 days ago | IN | 0 ETH | 0.0082131 | ||||
Exchange | 21061545 | 85 days ago | IN | 0.0202 ETH | 0.00294138 | ||||
Exchange | 20916056 | 105 days ago | IN | 0 ETH | 0.0106041 | ||||
Exchange | 20863541 | 112 days ago | IN | 0 ETH | 0.00550276 | ||||
Exchange | 20679421 | 138 days ago | IN | 0.1 ETH | 0.00127965 | ||||
Exchange | 20553141 | 155 days ago | IN | 0.001 ETH | 0.00073212 | ||||
Exchange | 20408522 | 176 days ago | IN | 0.00031262 ETH | 0.00030882 | ||||
Exchange | 20052022 | 225 days ago | IN | 0 ETH | 0.00418252 | ||||
Exchange | 19812114 | 259 days ago | IN | 0 ETH | 0.00392571 | ||||
Exchange | 19734606 | 270 days ago | IN | 3 ETH | 0.00519509 | ||||
Exchange | 19529278 | 299 days ago | IN | 0 ETH | 0.01247119 | ||||
Exchange | 19435311 | 312 days ago | IN | 7 ETH | 0.04300637 | ||||
Exchange | 19422034 | 314 days ago | IN | 0.051 ETH | 0.05589894 | ||||
Exchange | 19364088 | 322 days ago | IN | 0 ETH | 0.05051987 | ||||
Exchange | 19363249 | 322 days ago | IN | 0 ETH | 0.05355705 |
Advanced mode: Intended for advanced users or developers and will display all Internal Transactions including zero value transfers. Name tag integration is not available in advanced view.
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
||||
---|---|---|---|---|---|---|---|
21670187 | 46 mins ago | 0 ETH | |||||
21670187 | 46 mins ago | 0 ETH | |||||
21670187 | 46 mins ago | 1.84445 ETH | |||||
21670187 | 46 mins ago | 1.84445 ETH | |||||
21670146 | 54 mins ago | 0 ETH | |||||
21670146 | 54 mins ago | 0 ETH | |||||
21670146 | 54 mins ago | 0 ETH | |||||
21670146 | 54 mins ago | 0 ETH | |||||
21670146 | 54 mins ago | 0 ETH | |||||
21670146 | 54 mins ago | 0 ETH | |||||
21670146 | 54 mins ago | 0 ETH | |||||
21669753 | 2 hrs ago | 0 ETH | |||||
21669753 | 2 hrs ago | 0 ETH | |||||
21669753 | 2 hrs ago | 2.42271 ETH | |||||
21669753 | 2 hrs ago | 2.42271 ETH | |||||
21668895 | 5 hrs ago | 0 ETH | |||||
21668895 | 5 hrs ago | 0 ETH | |||||
21668895 | 5 hrs ago | 0 ETH | |||||
21668895 | 5 hrs ago | 0 ETH | |||||
21668895 | 5 hrs ago | 0 ETH | |||||
21667601 | 9 hrs ago | 0 ETH | |||||
21667601 | 9 hrs ago | 0 ETH | |||||
21667601 | 9 hrs ago | 0 ETH | |||||
21667601 | 9 hrs ago | 0 ETH | |||||
21667601 | 9 hrs ago | 0 ETH |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
Vyper_contract
Compiler Version
vyper:0.2.16
Contract Source Code (Vyper language format)
# @version 0.2.16 interface AddressProvider: def get_registry() -> address: view def get_address(_id: uint256) -> address: view interface Registry: def find_pool_for_coins(_from: address, _to: address) -> address: view def get_coin_indices( _pool: address, _from: address, _to: address ) -> (uint256, uint256, uint256): view interface RegistrySwap: def get_best_rate(_from: address, _to: address, _amount: uint256) -> (address, uint256): view interface CurveCryptoSwap: def get_dy(i: uint256, j: uint256, dx: uint256) -> uint256: view def exchange(i: uint256, j: uint256, dx: uint256, min_dy: uint256, use_eth: bool): payable def coins(i: uint256) -> address: view interface CurvePool: def exchange(i: int128, j: int128, dx: uint256, min_dy: uint256): payable def exchange_underlying(i: int128, j: int128, dx: uint256, min_dy: uint256): payable interface ERC20: def approve(spender: address, amount: uint256): nonpayable def transfer(to: address, amount: uint256): nonpayable def transferFrom(sender: address, to: address, amount: uint256): nonpayable def balanceOf(owner: address) -> uint256: view event CommitOwnership: admin: address event ApplyOwnership: admin: address event TrustedForwardershipTransferred: previous_forwarder: address new_forwarder: address ADDRESS_PROVIDER: constant(address) = 0x0000000022D53366457F9d5E68Ec105046FC4383 ETH: constant(address) = 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE WETH: constant(address) = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 swap: public(address) crypto_coins: public(address[3]) # token -> spender -> is approved to transfer? is_approved: HashMap[address, HashMap[address, bool]] owner: public(address) trusted_forwarder: public(address) future_owner: public(address) @external def __init__(_swap: address): self.owner = msg.sender self.swap = _swap for i in range(3): coin: address = CurveCryptoSwap(_swap).coins(i) if coin == WETH: self.crypto_coins[i] = ETH else: ERC20(coin).approve(_swap, MAX_UINT256) self.crypto_coins[i] = coin @payable @external def __default__(): # required to receive Ether pass @payable @external def exchange( _amount: uint256, _route: address[6], _indices: uint256[8], _min_received: uint256, _receiver: address = msg.sender ): """ @notice Perform a cross-asset exchange. @dev `_route` and `_indices` are generated by calling `get_exchange_routing` prior to making a transaction. This reduces gas costs on swaps. @param _amount Amount of the input token being swapped. @param _route Array of token and pool addresses used within the swap. @param _indices Array of `i` and `j` inputs used for individual swaps. @param _min_received Minimum amount of the output token to be received. If the actual amount received is less the call will revert. @param _receiver An alternate address to which the output of the exchange will be sent """ # Meta-tx support msg_sender: address = msg.sender receiver: address = _receiver if msg_sender == self.trusted_forwarder: calldata_len: uint256 = len(msg.data) addr_bytes: Bytes[20] = empty(Bytes[20]) # grab the last 20 bytes of calldata which holds the address if calldata_len == 536: addr_bytes = slice(msg.data, 516, 20) elif calldata_len == 568: addr_bytes = slice(msg.data, 548, 20) # convert to an address msg_sender = convert(convert(addr_bytes, uint256), address) if _receiver == msg.sender: # we already know that msg.sender is the trusted forwarder # if _receiver is set to msg.sender change it to be correct receiver = msg_sender eth_value: uint256 = 0 amount: uint256 = _amount # perform the first stableswap, if required if _route[1] != ZERO_ADDRESS: ERC20(_route[0]).transferFrom(msg_sender, self, _amount) # dev: insufficient amount if not self.is_approved[_route[0]][_route[1]]: ERC20(_route[0]).approve(_route[1], MAX_UINT256) # dev: bad response self.is_approved[_route[0]][_route[1]] = True # `_indices[2]` is a boolean-as-integer indicating if the swap uses `exchange_underlying` if _indices[2] == 0: CurvePool(_route[1]).exchange( convert(_indices[0], int128), convert(_indices[1], int128), _amount, 0, value=msg.value, ) # dev: bad response else: CurvePool(_route[1]).exchange_underlying( convert(_indices[0], int128), convert(_indices[1], int128), _amount, 0, value=msg.value, ) # dev: bad response if _route[2] == ETH: amount = self.balance eth_value = self.balance else: amount = ERC20(_route[2]).balanceOf(self) # dev: bad response # if no initial stableswap, transfer token and validate the amount of ether sent elif _route[2] == ETH: assert _amount == msg.value # dev: insufficient amount eth_value = msg.value else: assert msg.value == 0 ERC20(_route[2]).transferFrom(msg_sender, self, _amount) # dev: insufficient amount # perform the main crypto swap, if required if _indices[3] != _indices[4]: use_eth: bool = ETH in [_route[2], _route[3]] CurveCryptoSwap(self.swap).exchange( _indices[3], _indices[4], amount, 0, use_eth, value=eth_value ) # dev: bad response if _route[3] == ETH: amount = self.balance eth_value = self.balance else: amount = ERC20(_route[3]).balanceOf(self) # dev: bad response eth_value = 0 # perform the second stableswap, if required if _route[4] != ZERO_ADDRESS: if _route[3] != ETH and not self.is_approved[_route[3]][_route[4]]: ERC20(_route[3]).approve(_route[4], MAX_UINT256) # dev: bad response self.is_approved[_route[3]][_route[4]] = True # `_indices[7]` is a boolean-as-integer indicating if the swap uses `exchange_underlying` if _indices[7] == 0: CurvePool(_route[4]).exchange( convert(_indices[5], int128), convert(_indices[6], int128), amount, _min_received, value=eth_value, ) # dev: bad response else: CurvePool(_route[4]).exchange_underlying( convert(_indices[5], int128), convert(_indices[6], int128), amount, _min_received, value=eth_value, ) # dev: bad response if _route[5] == ETH: raw_call(receiver, b"", value=self.balance) else: amount = ERC20(_route[5]).balanceOf(self) ERC20(_route[5]).transfer(receiver, amount) # if no final swap, check slippage and transfer to receiver else: assert amount >= _min_received if _route[3] == ETH: raw_call(receiver, b"", value=self.balance) else: ERC20(_route[3]).transfer(receiver, amount) @view @external def get_exchange_routing( _initial: address, _target: address, _amount: uint256 ) -> (address[6], uint256[8], uint256): """ @notice Get routing data for a cross-asset exchange. @dev Outputs from this function are used as inputs when calling `exchange`. @param _initial Address of the initial token being swapped. @param _target Address of the token to be received in the swap. @param _amount Amount of `_initial` to swap. @return _route Array of token and pool addresses used within the swap, Array of `i` and `j` inputs used for individual swaps. Expected amount of the output token to be received. """ # route is [initial coin, stableswap, cryptopool input, cryptopool output, stableswap, target coin] route: address[6] = empty(address[6]) # indices is [(i, j, is_underlying), (i, j), (i, j, is_underlying)] # tuples indicate first stableswap, crypto swap, second stableswap indices: uint256[8] = empty(uint256[8]) crypto_input: address = ZERO_ADDRESS crypto_output: address = ZERO_ADDRESS market: address = ZERO_ADDRESS amount: uint256 = _amount crypto_coins: address[3] = self.crypto_coins swaps: address = AddressProvider(ADDRESS_PROVIDER).get_address(2) registry: address = AddressProvider(ADDRESS_PROVIDER).get_registry() # if initial coin is not in the crypto pool, get info for the first stableswap if _initial in crypto_coins: crypto_input = _initial else: received: uint256 = 0 for coin in crypto_coins: market, received = RegistrySwap(swaps).get_best_rate(_initial, coin, amount) if market != ZERO_ADDRESS: indices[0], indices[1], indices[2] = Registry(registry).get_coin_indices(market, _initial, coin) route[0] = _initial route[1] = market crypto_input = coin amount = received break assert market != ZERO_ADDRESS # determine target coin when swapping in the crypto pool if _target in crypto_coins: crypto_output = _target else: for coin in crypto_coins: if Registry(registry).find_pool_for_coins(coin, _target) != ZERO_ADDRESS: crypto_output = coin break assert crypto_output != ZERO_ADDRESS route[2] = crypto_input route[3] = crypto_output # get i, j and dy for crypto swap if needed if crypto_input != crypto_output: for x in range(3): coin: address = self.crypto_coins[x] if coin == crypto_input: indices[3] = x elif coin == crypto_output: indices[4] = x amount = CurveCryptoSwap(self.swap).get_dy(indices[3], indices[4], amount) # if target coin is not in the crypto pool, get info for the final stableswap if crypto_output != _target: market, amount = RegistrySwap(swaps).get_best_rate(crypto_output, _target, amount) indices[5], indices[6], indices[7] = Registry(registry).get_coin_indices(market, crypto_output, _target) route[4] = market route[5] = _target return route, indices, amount @view @external def can_route(_initial: address, _target: address) -> bool: """ @notice Check if a route is available between two tokens. @param _initial Address of the initial token being swapped. @param _target Address of the token to be received in the swap. @return bool Is route available? """ crypto_coins: address[3] = self.crypto_coins registry: address = AddressProvider(ADDRESS_PROVIDER).get_registry() crypto_input: address = _initial if _initial not in crypto_coins: market: address = ZERO_ADDRESS for coin in crypto_coins: market = Registry(registry).find_pool_for_coins(_initial, coin) if market != ZERO_ADDRESS: crypto_input = coin break if market == ZERO_ADDRESS: return False crypto_output: address = _target if _target not in crypto_coins: market: address = ZERO_ADDRESS for coin in crypto_coins: market = Registry(registry).find_pool_for_coins(coin, _target) if market != ZERO_ADDRESS: crypto_output = coin break if market == ZERO_ADDRESS: return False return True @external def commit_transfer_ownership(addr: address): """ @notice Transfer ownership of GaugeController to `addr` @param addr Address to have ownership transferred to """ assert msg.sender == self.owner # dev: admin only self.future_owner = addr log CommitOwnership(addr) @external def accept_transfer_ownership(): """ @notice Accept a pending ownership transfer """ _admin: address = self.future_owner assert msg.sender == _admin # dev: future admin only self.owner = _admin log ApplyOwnership(_admin) @view @external def isTrustedForwarder(_forwarder: address) -> bool: """ @notice ERC-2771 meta-txs discovery mechanism @param _forwarder Address to compare against the set trusted forwarder @return bool True if `_forwarder` equals the set trusted forwarder """ return _forwarder == self.trusted_forwarder @external def set_trusted_forwarder(_forwarder: address) -> bool: """ @notice Set the trusted forwarder address @param _forwarder The address of the trusted forwarder @return bool True on successful execution """ assert msg.sender == self.owner prev_forwarder: address = self.trusted_forwarder self.trusted_forwarder = _forwarder log TrustedForwardershipTransferred(prev_forwarder, _forwarder) return True
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"name":"CommitOwnership","inputs":[{"name":"admin","type":"address","indexed":false}],"anonymous":false,"type":"event"},{"name":"ApplyOwnership","inputs":[{"name":"admin","type":"address","indexed":false}],"anonymous":false,"type":"event"},{"name":"TrustedForwardershipTransferred","inputs":[{"name":"previous_forwarder","type":"address","indexed":false},{"name":"new_forwarder","type":"address","indexed":false}],"anonymous":false,"type":"event"},{"stateMutability":"nonpayable","type":"constructor","inputs":[{"name":"_swap","type":"address"}],"outputs":[]},{"stateMutability":"payable","type":"fallback"},{"stateMutability":"payable","type":"function","name":"exchange","inputs":[{"name":"_amount","type":"uint256"},{"name":"_route","type":"address[6]"},{"name":"_indices","type":"uint256[8]"},{"name":"_min_received","type":"uint256"}],"outputs":[]},{"stateMutability":"payable","type":"function","name":"exchange","inputs":[{"name":"_amount","type":"uint256"},{"name":"_route","type":"address[6]"},{"name":"_indices","type":"uint256[8]"},{"name":"_min_received","type":"uint256"},{"name":"_receiver","type":"address"}],"outputs":[]},{"stateMutability":"view","type":"function","name":"get_exchange_routing","inputs":[{"name":"_initial","type":"address"},{"name":"_target","type":"address"},{"name":"_amount","type":"uint256"}],"outputs":[{"name":"","type":"address[6]"},{"name":"","type":"uint256[8]"},{"name":"","type":"uint256"}],"gas":56417},{"stateMutability":"view","type":"function","name":"can_route","inputs":[{"name":"_initial","type":"address"},{"name":"_target","type":"address"}],"outputs":[{"name":"","type":"bool"}],"gas":26664},{"stateMutability":"nonpayable","type":"function","name":"commit_transfer_ownership","inputs":[{"name":"addr","type":"address"}],"outputs":[],"gas":39625},{"stateMutability":"nonpayable","type":"function","name":"accept_transfer_ownership","inputs":[],"outputs":[],"gas":39570},{"stateMutability":"view","type":"function","name":"isTrustedForwarder","inputs":[{"name":"_forwarder","type":"address"}],"outputs":[{"name":"","type":"bool"}],"gas":2737},{"stateMutability":"nonpayable","type":"function","name":"set_trusted_forwarder","inputs":[{"name":"_forwarder","type":"address"}],"outputs":[{"name":"","type":"bool"}],"gas":42235},{"stateMutability":"view","type":"function","name":"swap","inputs":[],"outputs":[{"name":"","type":"address"}],"gas":2688},{"stateMutability":"view","type":"function","name":"crypto_coins","inputs":[{"name":"arg0","type":"uint256"}],"outputs":[{"name":"","type":"address"}],"gas":2763},{"stateMutability":"view","type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address"}],"gas":2748},{"stateMutability":"view","type":"function","name":"trusted_forwarder","inputs":[],"outputs":[{"name":"","type":"address"}],"gas":2778},{"stateMutability":"view","type":"function","name":"future_owner","inputs":[],"outputs":[{"name":"","type":"address"}],"gas":2808}]
Contract Creation Code
6f7fffffffffffffffffffffffffffffff604052602061146f61014039602061146f60c03960c05160a01c61146a57336005556101405160005561016060006003818352015b6020610220602463c66106576101a052610160516101c0526101bc610140515afa1561146a57601f3d111561146a57600050610220516101805273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26101805114156100cc5773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee600161016051600381101561146a57026001015561013b565b610180513b1561146a5760006000604463095ea7b36101a052610140516101c0527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6101e0526101bc6000610180515af11561146a5761018051600161016051600381101561146a5702600101555b5b8151600101808352811415610045575b505061145256600436101561000d576112f8565b600035601c526f7fffffffffffffffffffffffffffffff604052600051630eb1d29981141561004057336101405261006d565b63d6db9993811415610068576102043560a01c6112fa5760206102046101403760005061006d565b61084e565b6000610120525b610120516024013560a01c6112fa57602061012051016101205260c061012051101561009f57610074565b336101605261014051610180526006546101605114156101a057366101a05260006020366101c037506102186101a051141561010d5736610218116112fa576014610220526014610204610240376102208051602001806101c08284600060045af1156112fa57505061014f565b6102386101a051141561014e5736610238116112fa576014610220526014610224610240376102208051602001806101c08284600060045af1156112fa5750505b5b6101c080602001516000825180602090136112fa57809190126112fa57806020036101000a82049050905090508060a01c6112fa57809050610160523361014051141561019f5761016051610180525b5b60006101a0526004356101c052600060443518156103aa576024353b156112fa576000600060646323b872dd6101e05261016051610200523061022052600435610240526101fc60006024355af1156112fa57600460243560e05260c052604060c02060443560e05260c052604060c0205461028b576024353b156112fa5760006000604463095ea7b36101e052604435610200527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610220526101fc60006024355af1156112fa576001600460243560e05260c052604060c02060443560e05260c052604060c020555b610124356102ec576044353b156112fa57600060006084633df021246101e05260e43560405181116112fa57610200526101043560405181116112fa5761022052600435610240526000610260526101fc346044355af1156112fa57610341565b6044353b156112fa5760006000608463a6417ed66101e05260e43560405181116112fa57610200526101043560405181116112fa5761022052600435610240526000610260526101fc346044355af1156112fa575b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee606435141561036e57476101c052476101a0526103a5565b602061026060246370a082316101e05230610200526101fc6064355afa156112fa57601f3d11156112fa57600050610260516101c0525b61041e565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60643514156103dc573460043514156112fa57346101a05261041d565b346112fa576064353b156112fa576000600060646323b872dd6101e05261016051610200523061022052600435610240526101fc60006064355af1156112fa575b5b6101643561014435181561054e57606435610220526084356102405260006102005261020061012060006002818352015b61012051602002610220015173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee141561047f5760018352610490565b5b815160010180835281141561044f575b505050610200516101e0526000543b156112fa576000600060a463394747c5610200526040610144610220376101c051610260526000610280526101e0516102a05261021c6101a0516000545af1156112fa5773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee608435141561051057476101c052476101a05261054d565b602061028060246370a0823161020052306102205261021c6084355afa156112fa57601f3d11156112fa57600050610280516101c05260006101a0525b5b600060a43518156107ab5773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee608435181561059c57600460843560e05260c052604060c02060a43560e05260c052604060c020541561059f565b60005b15610619576084353b156112fa5760006000604463095ea7b36101e05260a435610200527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610220526101fc60006084355af1156112fa576001600460843560e05260c052604060c02060a43560e05260c052604060c020555b6101c4356106815760a4353b156112fa57600060006084633df021246101e0526101843560405181116112fa57610200526101a43560405181116112fa57610220526101c051610240526101e435610260526101fc6101a05160a4355af1156112fa576106dd565b60a4353b156112fa5760006000608463a6417ed66101e0526101843560405181116112fa57610200526101a43560405181116112fa57610220526101c051610240526101e435610260526101fc6101a05160a4355af1156112fa575b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60c43514156107385760006101e0526101e08051602001806102208284600060045af1156112fa575050600060006102205161024047610180515af1156112fa576107a6565b602061026060246370a082316101e05230610200526101fc60c4355afa156112fa57601f3d11156112fa57600050610260516101c05260c4353b156112fa5760006000604463a9059cbb6101e05261018051610200526101c051610220526101fc600060c4355af1156112fa575b61084c565b6101e4356101c051106112fa5773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60843514156108135760006101e0526101e08051602001806102208284600060045af1156112fa575050600060006102205161024047610180515af1156112fa5761084b565b6084353b156112fa5760006000604463a9059cbb6101e05261018051610200526101c051610220526101fc60006084355af1156112fa575b5b005b63d7804a15811415610e5f57346112fa5760043560a01c6112fa5760243560a01c6112fa57610220366101403760443561036052600180546103805260018101546103a05260028101546103c052506020610480602463493f4f746104005260026104205261041c6f22d53366457f9d5e68ec105046fc43835afa156112fa57601f3d11156112fa57600050610480516103e0526020610480600463a262904b6104205261043c6f22d53366457f9d5e68ec105046fc43835afa156112fa57601f3d11156112fa57600050610480516104005260006104205261042061012060006003818352015b61012051602002610380015160043514156109545760018352610965565b5b8151600101808352811415610936575b505050610420511561097d5760043561030052610af0565b60006104205261046060006003818352015b6020610460510261038001516104405260406105406064634e21df75610480526004356104a052610440516104c052610360516104e05261049c6103e0515afa156112fa57603f3d11156112fa576105408080808051610580525050602081019050808080516105a05250505050600050610580805161034052806020015161042052506000610340511815610ad0576060610540606463eb85226d61048052610340516104a0526004356104c052610440516104e05261049c610400515afa156112fa57605f3d11156112fa5761054080808080516105a0525050602081019050808080516105c0525050602081019050808080516105e052505050506000506105a08051610200528060200151610220528060400151610240525060043561014052610340516101605261044051610300526104205161036052610ae1565b5b815160010180835281141561098f575b505060006103405118156112fa575b60006104205261042061012060006003818352015b6101205160200261038001516024351415610b235760018352610b34565b5b8151600101808352811415610b05575b5050506104205115610b4c5760243561032052610bda565b61044060006003818352015b6020610440510261038001516104205260006020610500604463a87df06c6104605261042051610480526024356104a05261047c610400515afa156112fa57601f3d11156112fa57600050610500511815610bba576104205161032052610bcb565b5b8151600101808352811415610b58575b505060006103205118156112fa575b6103005161018052610320516101a05261032051610300511815610cac5761042060006003818352015b60016104205160038110156112fa5702600101546104405261030051610440511415610c37576104205161026052610c4f565b61032051610440511415610c4e5761042051610280525b5b5b8151600101808352811415610c04575b505060206104e0606463556d6e9f6104205261026051610440526102805161046052610360516104805261043c6000545afa156112fa57601f3d11156112fa576000506104e051610360525b602435610320511815610dca5760406104e06064634e21df7561042052610320516104405260243561046052610360516104805261043c6103e0515afa156112fa57603f3d11156112fa576104e080808080516105205250506020810190508080805161054052505050506000506105208051610340528060200151610360525060606104e0606463eb85226d61042052610340516104405261032051610460526024356104805261043c610400515afa156112fa57605f3d11156112fa576104e080808080516105405250506020810190508080805161056052505060208101905080808051610580525050505060005061054080516102a05280602001516102c05280604001516102e05250610340516101c0526024356101e0525b610600806101405181526101605181602001526101805181604001526101a05181606001526101c05181608001526101e0518160a00152508060c0016102005181526102205181602001526102405181604001526102605181606001526102805181608001526102a0518160a001526102c0518160c001526102e0518160e001525061036051816101c00152506101e0610600f35b63edaf77f48114156110db57346112fa5760043560a01c6112fa5760243560a01c6112fa576001805461014052600181015461016052600281015461018052506020610220600463a262904b6101c0526101dc6f22d53366457f9d5e68ec105046fc43835afa156112fa57601f3d11156112fa57600050610220516101a0526004356101c05260006101e0526101e061012060006003818352015b6101205160200261014001516004351415610f185760018352610f29565b5b8151600101808352811415610efa575b5050506101e051610fd75760006102005261024060006003818352015b602061024051026101400151610220526020610300604463a87df06c6102605260043561028052610220516102a05261027c6101a0515afa156112fa57601f3d11156112fa5760005061030051610200526000610200511815610fb057610220516101c052610fc1565b5b8151600101808352811415610f46575b505061020051610fd657600060005260206000f35b5b6024356101e05260006102005261020061012060006003818352015b61012051602002610140015160243514156110115760018352611022565b5b8151600101808352811415610ff3575b505050610200516110d05760006102205261026060006003818352015b602061026051026101400151610240526020610320604463a87df06c61028052610240516102a0526024356102c05261029c6101a0515afa156112fa57601f3d11156112fa57600050610320516102205260006102205118156110a957610240516101e0526110ba565b5b815160010180835281141561103f575b5050610220516110cf57600060005260206000f35b5b600160005260206000f35b636b441a4081141561114057346112fa5760043560a01c6112fa576005543314156112fa576004356007557f2f56810a6bf40af059b96d3aea4db54081f378029a518390491093a7b67032e961014080808060043581525050602090509050610140a1005b63e5ea47b88114156111a557346112fa5760075461014052610140513314156112fa57610140516005557febee2d5739011062cb4f14113f3b36bf0ffe3da5c0568f64189d1012a11891056101608080806101405181525050602090509050610160a1005b63572b6c058114156111d057346112fa5760043560a01c6112fa576006546004351460005260206000f35b63a23d610581141561125557346112fa5760043560a01c6112fa576005543314156112fa57600654610140526004356006557f775b1d49267d8a88315e68596af64504759b94c99e309bc52aaf5385f08805316101608080806101405181525050602081019050808060043581525050604090509050610160a1600160005260206000f35b638119c06581141561127257346112fa5760005460005260206000f35b6356d498ef81141561129f57346112fa57600160043560038110156112fa57026001015460005260206000f35b638da5cb5b8114156112bc57346112fa5760055460005260206000f35b633648692c8114156112d957346112fa5760065460005260206000f35b631ec0cdc18114156112f657346112fa5760075460005260206000f35b505b005b600080fd5b61015361145203610153600039610153611452036000f35b600080fd000000000000000000000000d51a44d3fae010294c616388b506acda1bfaae46
Deployed Bytecode
0x600436101561000d576112f8565b600035601c526f7fffffffffffffffffffffffffffffff604052600051630eb1d29981141561004057336101405261006d565b63d6db9993811415610068576102043560a01c6112fa5760206102046101403760005061006d565b61084e565b6000610120525b610120516024013560a01c6112fa57602061012051016101205260c061012051101561009f57610074565b336101605261014051610180526006546101605114156101a057366101a05260006020366101c037506102186101a051141561010d5736610218116112fa576014610220526014610204610240376102208051602001806101c08284600060045af1156112fa57505061014f565b6102386101a051141561014e5736610238116112fa576014610220526014610224610240376102208051602001806101c08284600060045af1156112fa5750505b5b6101c080602001516000825180602090136112fa57809190126112fa57806020036101000a82049050905090508060a01c6112fa57809050610160523361014051141561019f5761016051610180525b5b60006101a0526004356101c052600060443518156103aa576024353b156112fa576000600060646323b872dd6101e05261016051610200523061022052600435610240526101fc60006024355af1156112fa57600460243560e05260c052604060c02060443560e05260c052604060c0205461028b576024353b156112fa5760006000604463095ea7b36101e052604435610200527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610220526101fc60006024355af1156112fa576001600460243560e05260c052604060c02060443560e05260c052604060c020555b610124356102ec576044353b156112fa57600060006084633df021246101e05260e43560405181116112fa57610200526101043560405181116112fa5761022052600435610240526000610260526101fc346044355af1156112fa57610341565b6044353b156112fa5760006000608463a6417ed66101e05260e43560405181116112fa57610200526101043560405181116112fa5761022052600435610240526000610260526101fc346044355af1156112fa575b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee606435141561036e57476101c052476101a0526103a5565b602061026060246370a082316101e05230610200526101fc6064355afa156112fa57601f3d11156112fa57600050610260516101c0525b61041e565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60643514156103dc573460043514156112fa57346101a05261041d565b346112fa576064353b156112fa576000600060646323b872dd6101e05261016051610200523061022052600435610240526101fc60006064355af1156112fa575b5b6101643561014435181561054e57606435610220526084356102405260006102005261020061012060006002818352015b61012051602002610220015173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee141561047f5760018352610490565b5b815160010180835281141561044f575b505050610200516101e0526000543b156112fa576000600060a463394747c5610200526040610144610220376101c051610260526000610280526101e0516102a05261021c6101a0516000545af1156112fa5773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee608435141561051057476101c052476101a05261054d565b602061028060246370a0823161020052306102205261021c6084355afa156112fa57601f3d11156112fa57600050610280516101c05260006101a0525b5b600060a43518156107ab5773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee608435181561059c57600460843560e05260c052604060c02060a43560e05260c052604060c020541561059f565b60005b15610619576084353b156112fa5760006000604463095ea7b36101e05260a435610200527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610220526101fc60006084355af1156112fa576001600460843560e05260c052604060c02060a43560e05260c052604060c020555b6101c4356106815760a4353b156112fa57600060006084633df021246101e0526101843560405181116112fa57610200526101a43560405181116112fa57610220526101c051610240526101e435610260526101fc6101a05160a4355af1156112fa576106dd565b60a4353b156112fa5760006000608463a6417ed66101e0526101843560405181116112fa57610200526101a43560405181116112fa57610220526101c051610240526101e435610260526101fc6101a05160a4355af1156112fa575b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60c43514156107385760006101e0526101e08051602001806102208284600060045af1156112fa575050600060006102205161024047610180515af1156112fa576107a6565b602061026060246370a082316101e05230610200526101fc60c4355afa156112fa57601f3d11156112fa57600050610260516101c05260c4353b156112fa5760006000604463a9059cbb6101e05261018051610200526101c051610220526101fc600060c4355af1156112fa575b61084c565b6101e4356101c051106112fa5773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60843514156108135760006101e0526101e08051602001806102208284600060045af1156112fa575050600060006102205161024047610180515af1156112fa5761084b565b6084353b156112fa5760006000604463a9059cbb6101e05261018051610200526101c051610220526101fc60006084355af1156112fa575b5b005b63d7804a15811415610e5f57346112fa5760043560a01c6112fa5760243560a01c6112fa57610220366101403760443561036052600180546103805260018101546103a05260028101546103c052506020610480602463493f4f746104005260026104205261041c6f22d53366457f9d5e68ec105046fc43835afa156112fa57601f3d11156112fa57600050610480516103e0526020610480600463a262904b6104205261043c6f22d53366457f9d5e68ec105046fc43835afa156112fa57601f3d11156112fa57600050610480516104005260006104205261042061012060006003818352015b61012051602002610380015160043514156109545760018352610965565b5b8151600101808352811415610936575b505050610420511561097d5760043561030052610af0565b60006104205261046060006003818352015b6020610460510261038001516104405260406105406064634e21df75610480526004356104a052610440516104c052610360516104e05261049c6103e0515afa156112fa57603f3d11156112fa576105408080808051610580525050602081019050808080516105a05250505050600050610580805161034052806020015161042052506000610340511815610ad0576060610540606463eb85226d61048052610340516104a0526004356104c052610440516104e05261049c610400515afa156112fa57605f3d11156112fa5761054080808080516105a0525050602081019050808080516105c0525050602081019050808080516105e052505050506000506105a08051610200528060200151610220528060400151610240525060043561014052610340516101605261044051610300526104205161036052610ae1565b5b815160010180835281141561098f575b505060006103405118156112fa575b60006104205261042061012060006003818352015b6101205160200261038001516024351415610b235760018352610b34565b5b8151600101808352811415610b05575b5050506104205115610b4c5760243561032052610bda565b61044060006003818352015b6020610440510261038001516104205260006020610500604463a87df06c6104605261042051610480526024356104a05261047c610400515afa156112fa57601f3d11156112fa57600050610500511815610bba576104205161032052610bcb565b5b8151600101808352811415610b58575b505060006103205118156112fa575b6103005161018052610320516101a05261032051610300511815610cac5761042060006003818352015b60016104205160038110156112fa5702600101546104405261030051610440511415610c37576104205161026052610c4f565b61032051610440511415610c4e5761042051610280525b5b5b8151600101808352811415610c04575b505060206104e0606463556d6e9f6104205261026051610440526102805161046052610360516104805261043c6000545afa156112fa57601f3d11156112fa576000506104e051610360525b602435610320511815610dca5760406104e06064634e21df7561042052610320516104405260243561046052610360516104805261043c6103e0515afa156112fa57603f3d11156112fa576104e080808080516105205250506020810190508080805161054052505050506000506105208051610340528060200151610360525060606104e0606463eb85226d61042052610340516104405261032051610460526024356104805261043c610400515afa156112fa57605f3d11156112fa576104e080808080516105405250506020810190508080805161056052505060208101905080808051610580525050505060005061054080516102a05280602001516102c05280604001516102e05250610340516101c0526024356101e0525b610600806101405181526101605181602001526101805181604001526101a05181606001526101c05181608001526101e0518160a00152508060c0016102005181526102205181602001526102405181604001526102605181606001526102805181608001526102a0518160a001526102c0518160c001526102e0518160e001525061036051816101c00152506101e0610600f35b63edaf77f48114156110db57346112fa5760043560a01c6112fa5760243560a01c6112fa576001805461014052600181015461016052600281015461018052506020610220600463a262904b6101c0526101dc6f22d53366457f9d5e68ec105046fc43835afa156112fa57601f3d11156112fa57600050610220516101a0526004356101c05260006101e0526101e061012060006003818352015b6101205160200261014001516004351415610f185760018352610f29565b5b8151600101808352811415610efa575b5050506101e051610fd75760006102005261024060006003818352015b602061024051026101400151610220526020610300604463a87df06c6102605260043561028052610220516102a05261027c6101a0515afa156112fa57601f3d11156112fa5760005061030051610200526000610200511815610fb057610220516101c052610fc1565b5b8151600101808352811415610f46575b505061020051610fd657600060005260206000f35b5b6024356101e05260006102005261020061012060006003818352015b61012051602002610140015160243514156110115760018352611022565b5b8151600101808352811415610ff3575b505050610200516110d05760006102205261026060006003818352015b602061026051026101400151610240526020610320604463a87df06c61028052610240516102a0526024356102c05261029c6101a0515afa156112fa57601f3d11156112fa57600050610320516102205260006102205118156110a957610240516101e0526110ba565b5b815160010180835281141561103f575b5050610220516110cf57600060005260206000f35b5b600160005260206000f35b636b441a4081141561114057346112fa5760043560a01c6112fa576005543314156112fa576004356007557f2f56810a6bf40af059b96d3aea4db54081f378029a518390491093a7b67032e961014080808060043581525050602090509050610140a1005b63e5ea47b88114156111a557346112fa5760075461014052610140513314156112fa57610140516005557febee2d5739011062cb4f14113f3b36bf0ffe3da5c0568f64189d1012a11891056101608080806101405181525050602090509050610160a1005b63572b6c058114156111d057346112fa5760043560a01c6112fa576006546004351460005260206000f35b63a23d610581141561125557346112fa5760043560a01c6112fa576005543314156112fa57600654610140526004356006557f775b1d49267d8a88315e68596af64504759b94c99e309bc52aaf5385f08805316101608080806101405181525050602081019050808060043581525050604090509050610160a1600160005260206000f35b638119c06581141561127257346112fa5760005460005260206000f35b6356d498ef81141561129f57346112fa57600160043560038110156112fa57026001015460005260206000f35b638da5cb5b8114156112bc57346112fa5760055460005260206000f35b633648692c8114156112d957346112fa5760065460005260206000f35b631ec0cdc18114156112f657346112fa5760075460005260206000f35b505b005b600080fd
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000d51a44d3fae010294c616388b506acda1bfaae46
-----Decoded View---------------
Arg [0] : _swap (address): 0xD51a44d3FaE010294C616388b506AcdA1bfAAE46
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000d51a44d3fae010294c616388b506acda1bfaae46
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.