Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 1 from a total of 1 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
0x60e06040 | 13315104 | 1143 days ago | IN | 0 ETH | 0.11111514 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
ZeroExApiAdapter
Compiler Version
v0.6.10+commit.00c0fcaf
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
/* Copyright 2021 Set Labs Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. SPDX-License-Identifier: Apache License, Version 2.0 */ pragma solidity 0.6.10; pragma experimental "ABIEncoderV2"; /** * @title ZeroExApiAdapter * @author Set Protocol * * Exchange adapter for 0xAPI that returns data for swaps */ contract ZeroExApiAdapter { struct BatchFillData { address inputToken; address outputToken; uint256 sellAmount; WrappedBatchCall[] calls; } struct WrappedBatchCall { bytes4 selector; uint256 sellAmount; bytes data; } struct MultiHopFillData { address[] tokens; uint256 sellAmount; WrappedMultiHopCall[] calls; } struct WrappedMultiHopCall { bytes4 selector; bytes data; } /* ============ State Variables ============ */ // ETH pseudo-token address used by 0x API. address private constant ETH_ADDRESS = 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE; // Byte size of Uniswap V3 encoded path addresses and pool fees uint256 private constant UNISWAP_V3_PATH_ADDRESS_SIZE = 20; uint256 private constant UNISWAP_V3_PATH_FEE_SIZE = 3; // Minimum byte size of a single hop Uniswap V3 encoded path (token address + fee + token adress) uint256 private constant UNISWAP_V3_SINGLE_HOP_PATH_SIZE = UNISWAP_V3_PATH_ADDRESS_SIZE + UNISWAP_V3_PATH_FEE_SIZE + UNISWAP_V3_PATH_ADDRESS_SIZE; // Byte size of one hop in the Uniswap V3 encoded path (token address + fee) uint256 private constant UNISWAP_V3_SINGLE_HOP_OFFSET_SIZE = UNISWAP_V3_PATH_ADDRESS_SIZE + UNISWAP_V3_PATH_FEE_SIZE; // Address of the deployed ZeroEx contract. address public immutable zeroExAddress; // Address of the WETH9 contract. address public immutable wethAddress; // Returns the address to approve source tokens to for trading. This is the TokenTaker address address public immutable getSpender; /* ============ constructor ============ */ constructor(address _zeroExAddress, address _wethAddress) public { zeroExAddress = _zeroExAddress; wethAddress = _wethAddress; getSpender = _zeroExAddress; } /* ============ External Getter Functions ============ */ /** * Return 0xAPI calldata which is already generated from 0xAPI * * @param _sourceToken Address of source token to be sold * @param _destinationToken Address of destination token to buy * @param _destinationAddress Address that assets should be transferred to * @param _sourceQuantity Amount of source token to sell * @param _minDestinationQuantity Min amount of destination token to buy * @param _data Arbitrage bytes containing trade call data * * @return address Target contract address * @return uint256 Call value * @return bytes Trade calldata */ function getTradeCalldata( address _sourceToken, address _destinationToken, address _destinationAddress, uint256 _sourceQuantity, uint256 _minDestinationQuantity, bytes calldata _data ) external view returns (address, uint256, bytes memory) { // solium-disable security/no-inline-assembly address inputToken; address outputToken; address recipient; bool supportsRecipient; uint256 inputTokenAmount; uint256 minOutputTokenAmount; { require(_data.length >= 4, "Invalid calldata"); bytes4 selector; assembly { selector := and( // Read the first 4 bytes of the _data array from calldata. calldataload(add(36, calldataload(164))), // 164 = 5 * 32 + 4 0xffffffff00000000000000000000000000000000000000000000000000000000 ) } if (selector == 0x415565b0 || selector == 0x8182b61f) { // transformERC20(), transformERC20Staging() (inputToken, outputToken, inputTokenAmount, minOutputTokenAmount) = abi.decode(_data[4:], (address, address, uint256, uint256)); } else if (selector == 0xf7fcd384) { // sellToLiquidityProvider() (inputToken, outputToken, , recipient, inputTokenAmount, minOutputTokenAmount) = abi.decode(_data[4:], (address, address, address, address, uint256, uint256)); supportsRecipient = true; if (recipient == address(0)) { recipient = _destinationAddress; } } else if (selector == 0xd9627aa4) { // sellToUniswap() address[] memory path; (path, inputTokenAmount, minOutputTokenAmount) = abi.decode(_data[4:], (address[], uint256, uint256)); require(path.length > 1, "Uniswap token path too short"); inputToken = path[0]; outputToken = path[path.length - 1]; } else if (selector == 0xafc6728e) { // batchFill() BatchFillData memory fillData; (fillData, minOutputTokenAmount) = abi.decode(_data[4:], (BatchFillData, uint256)); inputToken = fillData.inputToken; outputToken = fillData.outputToken; inputTokenAmount = fillData.sellAmount; } else if (selector == 0x21c184b6) { // multiHopFill() MultiHopFillData memory fillData; (fillData, minOutputTokenAmount) = abi.decode(_data[4:], (MultiHopFillData, uint256)); require(fillData.tokens.length > 1, "Multihop token path too short"); inputToken = fillData.tokens[0]; outputToken = fillData.tokens[fillData.tokens.length - 1]; inputTokenAmount = fillData.sellAmount; } else if (selector == 0x6af479b2) { // sellTokenForTokenToUniswapV3() bytes memory encodedPath; (encodedPath, inputTokenAmount, minOutputTokenAmount, recipient) = abi.decode(_data[4:], (bytes, uint256, uint256, address)); supportsRecipient = true; if (recipient == address(0)) { recipient = _destinationAddress; } (inputToken, outputToken) = _decodeTokensFromUniswapV3EncodedPath(encodedPath); } else if (selector == 0x7a1eb1b9) { // multiplexBatchSellTokenForToken() (inputToken, outputToken, , inputTokenAmount, minOutputTokenAmount) = abi.decode(_data[4:], (address, address, uint256, uint256, uint256)); } else if (selector == 0x0f3b31b2) { // multiplexMultiHopSellTokenForToken() address[] memory tokens; (tokens, , inputTokenAmount, minOutputTokenAmount) = abi.decode(_data[4:], (address[], uint256, uint256, uint256)); require(tokens.length > 1, "Multihop token path too short"); inputToken = tokens[0]; outputToken = tokens[tokens.length - 1]; } else { revert("Unsupported 0xAPI function selector"); } } require(inputToken != ETH_ADDRESS && outputToken != ETH_ADDRESS, "ETH not supported"); require(inputToken == _sourceToken, "Mismatched input token"); require(outputToken == _destinationToken, "Mismatched output token"); require(!supportsRecipient || recipient == _destinationAddress, "Mismatched recipient"); require(inputTokenAmount == _sourceQuantity, "Mismatched input token quantity"); require(minOutputTokenAmount >= _minDestinationQuantity, "Mismatched output token quantity"); return ( zeroExAddress, // Note: Does not account for limit order protocol fees. 0, _data ); } // Decode input and output tokens from an arbitrary length encoded Uniswap V3 path function _decodeTokensFromUniswapV3EncodedPath(bytes memory encodedPath) private pure returns ( address inputToken, address outputToken ) { require(encodedPath.length >= UNISWAP_V3_SINGLE_HOP_PATH_SIZE, "UniswapV3 token path too short"); // UniswapV3 paths are packed encoded as (address(token0), uint24(fee), address(token1), [...]) // We want the first and last token. uint256 numHops = (encodedPath.length - UNISWAP_V3_PATH_ADDRESS_SIZE)/UNISWAP_V3_SINGLE_HOP_OFFSET_SIZE; uint256 lastTokenOffset = numHops * UNISWAP_V3_SINGLE_HOP_OFFSET_SIZE; assembly { let p := add(encodedPath, 32) inputToken := shr(96, mload(p)) p := add(p, lastTokenOffset) outputToken := shr(96, mload(p)) } } }
{ "optimizer": { "enabled": true, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "abi" ] } }, "metadata": { "useLiteralContent": true }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_zeroExAddress","type":"address"},{"internalType":"address","name":"_wethAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"getSpender","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_sourceToken","type":"address"},{"internalType":"address","name":"_destinationToken","type":"address"},{"internalType":"address","name":"_destinationAddress","type":"address"},{"internalType":"uint256","name":"_sourceQuantity","type":"uint256"},{"internalType":"uint256","name":"_minDestinationQuantity","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"getTradeCalldata","outputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"wethAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"zeroExAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
60e060405234801561001057600080fd5b506040516111c53803806111c583398101604081905261002f91610056565b6001600160601b0319606092831b811660808190529190921b90911660a05260c0526100a7565b60008060408385031215610068578182fd5b82516100738161008f565b60208401519092506100848161008f565b809150509250929050565b6001600160a01b03811681146100a457600080fd5b50565b60805160601c60a05160601c60c05160601c6110e76100de6000398060c752508060eb52508060a3528061062352506110e76000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80632658b4ad14610051578063334fc2891461006f5780634f0e0ef314610077578063e171fcab1461007f575b600080fd5b6100596100a1565b6040516100669190610d58565b60405180910390f35b6100596100c5565b6100596100e9565b61009261008d3660046109cc565b61010d565b60405161006693929190610d6c565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b600080606081808080808060048a10156101425760405162461bcd60e51b815260040161013990610f7e565b60405180910390fd5b602460a43501356001600160e01b031916630415565b60e41b8114806101785750638182b61f60e01b6001600160e01b03198216145b156101a65761018a8b6004818f61105b565b8101906101979190610937565b929950909750935091506104df565b633dff34e160e21b6001600160e01b031982161415610203576101cc8b6004818f61105b565b8101906101d991906108ca565b949b50929950975060019650909450909250506001600160a01b0385166101fe578e94505b6104df565b6336589ea960e21b6001600160e01b03198216141561029e5760608c8c60049080926102319392919061105b565b81019061023e9190610a85565b825191965094509091506001106102675760405162461bcd60e51b815260040161013990610dd6565b8060008151811061027457fe5b602002602001015197508060018251038151811061028e57fe5b60200260200101519650506104df565b6357e3394760e11b6001600160e01b0319821614156102fe576102bf6106ee565b8c8c60049080926102d29392919061105b565b8101906102df9190610b84565b81516020830151604090930151909a5091985090945092506104df9050565b6310e0c25b60e11b6001600160e01b0319821614156103ad5761031f610714565b8c8c60049080926103329392919061105b565b81019061033f9190610c29565b8151519094509091506001106103675760405162461bcd60e51b815260040161013990610eb5565b8051805160009061037457fe5b6020026020010151975080600001516001826000015151038151811061039657fe5b6020026020010151965080602001519350506104df565b63357a3cd960e11b6001600160e01b03198216141561041c5760608c8c60049080926103db9392919061105b565b8101906103e89190610b23565b985060019750909550935090506001600160a01b038616610407578f95505b6104108161069d565b90985096506104df9050565b637a1eb1b960e01b6001600160e01b031982161415610462576104428b6004818f61105b565b81019061044f919061097c565b939a509198509094509092506104df9050565b63079d98d960e11b6001600160e01b0319821614156104c75760608c8c60049080926104909392919061105b565b81019061049d9190610ad1565b83519197509550919250506001106102675760405162461bcd60e51b815260040161013990610eb5565b60405162461bcd60e51b815260040161013990610e3b565b506001600160a01b03861673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480159061052a57506001600160a01b03851673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14155b6105465760405162461bcd60e51b815260040161013990610f1c565b8f6001600160a01b0316866001600160a01b0316146105775760405162461bcd60e51b815260040161013990610eec565b8e6001600160a01b0316856001600160a01b0316146105a85760405162461bcd60e51b815260040161013990610f47565b8215806105c657508d6001600160a01b0316846001600160a01b0316145b6105e25760405162461bcd60e51b815260040161013990610e0d565b8c82146106015760405162461bcd60e51b815260040161013990610fdd565b8b8110156106215760405162461bcd60e51b815260040161013990610fa8565b7f000000000000000000000000000000000000000000000000000000000000000060008c8c82925081818080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250969f50949d50909b5050505050505050505050509750975097945050505050565b80516000908190602b11156106c45760405162461bcd60e51b815260040161013990610e7e565b50508051602080830151601760131990930183900490920290920190910151606091821c92911c90565b604080516080810182526000808252602082018190529181019190915260608082015290565b60405180606001604052806060815260200160008152602001606081525090565b600082601f830112610745578081fd5b81356107586107538261103b565b611014565b81815291506020808301908481018184028601820187101561077957600080fd5b60005b848110156107a157813561078f81611083565b8452928201929082019060010161077c565b505050505092915050565b600082601f8301126107bc578081fd5b81356107ca6107538261103b565b818152915060208083019084810160005b848110156107a15781358701606080601f19838c030112156107fc57600080fd5b61080581611014565b858301356108128161109b565b8152604083810135878301528284013567ffffffffffffffff81111561083757600080fd5b6108458d8983880101610861565b91830191909152508652505092820192908201906001016107db565b600082601f830112610871578081fd5b813567ffffffffffffffff811115610887578182fd5b61089a601f8201601f1916602001611014565b91508082528360208285010111156108b157600080fd5b8060208401602084013760009082016020015292915050565b60008060008060008060c087890312156108e2578182fd5b86356108ed81611083565b955060208701356108fd81611083565b9450604087013561090d81611083565b9350606087013561091d81611083565b9598949750929560808101359460a0909101359350915050565b6000806000806080858703121561094c578384fd5b843561095781611083565b9350602085013561096781611083565b93969395505050506040820135916060013590565b600080600080600060a08688031215610993578081fd5b853561099e81611083565b945060208601356109ae81611083565b94979496505050506040830135926060810135926080909101359150565b600080600080600080600060c0888a0312156109e6578081fd5b87356109f181611083565b96506020880135610a0181611083565b95506040880135610a1181611083565b9450606088013593506080880135925060a088013567ffffffffffffffff80821115610a3b578283fd5b818a018b601f820112610a4c578384fd5b8035925081831115610a5c578384fd5b8b6020848301011115610a6d578384fd5b60208101945050508091505092959891949750929550565b600080600060608486031215610a99578081fd5b833567ffffffffffffffff811115610aaf578182fd5b610abb86828701610735565b9660208601359650604090950135949350505050565b60008060008060808587031215610ae6578182fd5b843567ffffffffffffffff811115610afc578283fd5b610b0887828801610735565b97602087013597506040870135966060013595509350505050565b60008060008060808587031215610b38578182fd5b843567ffffffffffffffff811115610b4e578283fd5b610b5a87828801610861565b94505060208501359250604085013591506060850135610b7981611083565b939692955090935050565b60008060408385031215610b96578182fd5b823567ffffffffffffffff80821115610bad578384fd5b81850160808188031215610bbf578485fd5b610bc96080611014565b92508035610bd681611083565b83526020810135610be681611083565b602084015260408181013590840152606081013582811115610c06578586fd5b610c12888284016107ac565b606085015250919660209590950135955050505050565b60008060408385031215610c3b578182fd5b67ffffffffffffffff8084351115610c51578283fd5b8335840160608187031215610c64578384fd5b610c6e6060611014565b8282351115610c7b578485fd5b610c888783358401610735565b815260208083013581830152604083013584811115610ca5578687fd5b80840189601f820112610cb6578788fd5b610cc3610753823561103b565b8135815283810195509150828101885b8235811015610d4357813583016040818e03601f19011215610cf3578a8bfd5b610cfd6040611014565b86820135610d0a8161109b565b815260408201358a811115610d1d578c8dfd5b610d2b8f8983860101610861565b82890152508852509584019590840190600101610cd3565b50505060408301529097950135955050505050565b6001600160a01b0391909116815260200190565b600060018060a01b038516825260208481840152606060408401528351806060850152825b81811015610dad57858101830151858201608001528201610d91565b81811115610dbe5783608083870101525b50601f01601f19169290920160800195945050505050565b6020808252601c908201527f556e697377617020746f6b656e207061746820746f6f2073686f727400000000604082015260600190565b602080825260149082015273135a5cdb585d18da1959081c9958da5c1a595b9d60621b604082015260600190565b60208082526023908201527f556e737570706f727465642030784150492066756e6374696f6e2073656c65636040820152623a37b960e91b606082015260800190565b6020808252601e908201527f556e6973776170563320746f6b656e207061746820746f6f2073686f72740000604082015260600190565b6020808252601d908201527f4d756c7469686f7020746f6b656e207061746820746f6f2073686f7274000000604082015260600190565b60208082526016908201527526b4b9b6b0ba31b432b21034b7383aba103a37b5b2b760511b604082015260600190565b602080825260119082015270115512081b9bdd081cdd5c1c1bdc9d1959607a1b604082015260600190565b60208082526017908201527f4d69736d617463686564206f757470757420746f6b656e000000000000000000604082015260600190565b60208082526010908201526f496e76616c69642063616c6c6461746160801b604082015260600190565b6020808252818101527f4d69736d617463686564206f757470757420746f6b656e207175616e74697479604082015260600190565b6020808252601f908201527f4d69736d61746368656420696e70757420746f6b656e207175616e7469747900604082015260600190565b60405181810167ffffffffffffffff8111828210171561103357600080fd5b604052919050565b600067ffffffffffffffff821115611051578081fd5b5060209081020190565b6000808585111561106a578182fd5b83861115611076578182fd5b5050820193919092039150565b6001600160a01b038116811461109857600080fd5b50565b6001600160e01b03198116811461109857600080fdfea264697066735822122028fc4346855a7b780f541678f7cd4eb2cfbe4cdb002702a9dbab27756ccec46564736f6c634300060a0033000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25eff000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80632658b4ad14610051578063334fc2891461006f5780634f0e0ef314610077578063e171fcab1461007f575b600080fd5b6100596100a1565b6040516100669190610d58565b60405180910390f35b6100596100c5565b6100596100e9565b61009261008d3660046109cc565b61010d565b60405161006693929190610d6c565b7f000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25eff81565b7f000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25eff81565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b600080606081808080808060048a10156101425760405162461bcd60e51b815260040161013990610f7e565b60405180910390fd5b602460a43501356001600160e01b031916630415565b60e41b8114806101785750638182b61f60e01b6001600160e01b03198216145b156101a65761018a8b6004818f61105b565b8101906101979190610937565b929950909750935091506104df565b633dff34e160e21b6001600160e01b031982161415610203576101cc8b6004818f61105b565b8101906101d991906108ca565b949b50929950975060019650909450909250506001600160a01b0385166101fe578e94505b6104df565b6336589ea960e21b6001600160e01b03198216141561029e5760608c8c60049080926102319392919061105b565b81019061023e9190610a85565b825191965094509091506001106102675760405162461bcd60e51b815260040161013990610dd6565b8060008151811061027457fe5b602002602001015197508060018251038151811061028e57fe5b60200260200101519650506104df565b6357e3394760e11b6001600160e01b0319821614156102fe576102bf6106ee565b8c8c60049080926102d29392919061105b565b8101906102df9190610b84565b81516020830151604090930151909a5091985090945092506104df9050565b6310e0c25b60e11b6001600160e01b0319821614156103ad5761031f610714565b8c8c60049080926103329392919061105b565b81019061033f9190610c29565b8151519094509091506001106103675760405162461bcd60e51b815260040161013990610eb5565b8051805160009061037457fe5b6020026020010151975080600001516001826000015151038151811061039657fe5b6020026020010151965080602001519350506104df565b63357a3cd960e11b6001600160e01b03198216141561041c5760608c8c60049080926103db9392919061105b565b8101906103e89190610b23565b985060019750909550935090506001600160a01b038616610407578f95505b6104108161069d565b90985096506104df9050565b637a1eb1b960e01b6001600160e01b031982161415610462576104428b6004818f61105b565b81019061044f919061097c565b939a509198509094509092506104df9050565b63079d98d960e11b6001600160e01b0319821614156104c75760608c8c60049080926104909392919061105b565b81019061049d9190610ad1565b83519197509550919250506001106102675760405162461bcd60e51b815260040161013990610eb5565b60405162461bcd60e51b815260040161013990610e3b565b506001600160a01b03861673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480159061052a57506001600160a01b03851673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14155b6105465760405162461bcd60e51b815260040161013990610f1c565b8f6001600160a01b0316866001600160a01b0316146105775760405162461bcd60e51b815260040161013990610eec565b8e6001600160a01b0316856001600160a01b0316146105a85760405162461bcd60e51b815260040161013990610f47565b8215806105c657508d6001600160a01b0316846001600160a01b0316145b6105e25760405162461bcd60e51b815260040161013990610e0d565b8c82146106015760405162461bcd60e51b815260040161013990610fdd565b8b8110156106215760405162461bcd60e51b815260040161013990610fa8565b7f000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25eff60008c8c82925081818080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250969f50949d50909b5050505050505050505050509750975097945050505050565b80516000908190602b11156106c45760405162461bcd60e51b815260040161013990610e7e565b50508051602080830151601760131990930183900490920290920190910151606091821c92911c90565b604080516080810182526000808252602082018190529181019190915260608082015290565b60405180606001604052806060815260200160008152602001606081525090565b600082601f830112610745578081fd5b81356107586107538261103b565b611014565b81815291506020808301908481018184028601820187101561077957600080fd5b60005b848110156107a157813561078f81611083565b8452928201929082019060010161077c565b505050505092915050565b600082601f8301126107bc578081fd5b81356107ca6107538261103b565b818152915060208083019084810160005b848110156107a15781358701606080601f19838c030112156107fc57600080fd5b61080581611014565b858301356108128161109b565b8152604083810135878301528284013567ffffffffffffffff81111561083757600080fd5b6108458d8983880101610861565b91830191909152508652505092820192908201906001016107db565b600082601f830112610871578081fd5b813567ffffffffffffffff811115610887578182fd5b61089a601f8201601f1916602001611014565b91508082528360208285010111156108b157600080fd5b8060208401602084013760009082016020015292915050565b60008060008060008060c087890312156108e2578182fd5b86356108ed81611083565b955060208701356108fd81611083565b9450604087013561090d81611083565b9350606087013561091d81611083565b9598949750929560808101359460a0909101359350915050565b6000806000806080858703121561094c578384fd5b843561095781611083565b9350602085013561096781611083565b93969395505050506040820135916060013590565b600080600080600060a08688031215610993578081fd5b853561099e81611083565b945060208601356109ae81611083565b94979496505050506040830135926060810135926080909101359150565b600080600080600080600060c0888a0312156109e6578081fd5b87356109f181611083565b96506020880135610a0181611083565b95506040880135610a1181611083565b9450606088013593506080880135925060a088013567ffffffffffffffff80821115610a3b578283fd5b818a018b601f820112610a4c578384fd5b8035925081831115610a5c578384fd5b8b6020848301011115610a6d578384fd5b60208101945050508091505092959891949750929550565b600080600060608486031215610a99578081fd5b833567ffffffffffffffff811115610aaf578182fd5b610abb86828701610735565b9660208601359650604090950135949350505050565b60008060008060808587031215610ae6578182fd5b843567ffffffffffffffff811115610afc578283fd5b610b0887828801610735565b97602087013597506040870135966060013595509350505050565b60008060008060808587031215610b38578182fd5b843567ffffffffffffffff811115610b4e578283fd5b610b5a87828801610861565b94505060208501359250604085013591506060850135610b7981611083565b939692955090935050565b60008060408385031215610b96578182fd5b823567ffffffffffffffff80821115610bad578384fd5b81850160808188031215610bbf578485fd5b610bc96080611014565b92508035610bd681611083565b83526020810135610be681611083565b602084015260408181013590840152606081013582811115610c06578586fd5b610c12888284016107ac565b606085015250919660209590950135955050505050565b60008060408385031215610c3b578182fd5b67ffffffffffffffff8084351115610c51578283fd5b8335840160608187031215610c64578384fd5b610c6e6060611014565b8282351115610c7b578485fd5b610c888783358401610735565b815260208083013581830152604083013584811115610ca5578687fd5b80840189601f820112610cb6578788fd5b610cc3610753823561103b565b8135815283810195509150828101885b8235811015610d4357813583016040818e03601f19011215610cf3578a8bfd5b610cfd6040611014565b86820135610d0a8161109b565b815260408201358a811115610d1d578c8dfd5b610d2b8f8983860101610861565b82890152508852509584019590840190600101610cd3565b50505060408301529097950135955050505050565b6001600160a01b0391909116815260200190565b600060018060a01b038516825260208481840152606060408401528351806060850152825b81811015610dad57858101830151858201608001528201610d91565b81811115610dbe5783608083870101525b50601f01601f19169290920160800195945050505050565b6020808252601c908201527f556e697377617020746f6b656e207061746820746f6f2073686f727400000000604082015260600190565b602080825260149082015273135a5cdb585d18da1959081c9958da5c1a595b9d60621b604082015260600190565b60208082526023908201527f556e737570706f727465642030784150492066756e6374696f6e2073656c65636040820152623a37b960e91b606082015260800190565b6020808252601e908201527f556e6973776170563320746f6b656e207061746820746f6f2073686f72740000604082015260600190565b6020808252601d908201527f4d756c7469686f7020746f6b656e207061746820746f6f2073686f7274000000604082015260600190565b60208082526016908201527526b4b9b6b0ba31b432b21034b7383aba103a37b5b2b760511b604082015260600190565b602080825260119082015270115512081b9bdd081cdd5c1c1bdc9d1959607a1b604082015260600190565b60208082526017908201527f4d69736d617463686564206f757470757420746f6b656e000000000000000000604082015260600190565b60208082526010908201526f496e76616c69642063616c6c6461746160801b604082015260600190565b6020808252818101527f4d69736d617463686564206f757470757420746f6b656e207175616e74697479604082015260600190565b6020808252601f908201527f4d69736d61746368656420696e70757420746f6b656e207175616e7469747900604082015260600190565b60405181810167ffffffffffffffff8111828210171561103357600080fd5b604052919050565b600067ffffffffffffffff821115611051578081fd5b5060209081020190565b6000808585111561106a578182fd5b83861115611076578182fd5b5050820193919092039150565b6001600160a01b038116811461109857600080fd5b50565b6001600160e01b03198116811461109857600080fdfea264697066735822122028fc4346855a7b780f541678f7cd4eb2cfbe4cdb002702a9dbab27756ccec46564736f6c634300060a0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25eff000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
-----Decoded View---------------
Arg [0] : _zeroExAddress (address): 0xDef1C0ded9bec7F1a1670819833240f027b25EfF
Arg [1] : _wethAddress (address): 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25eff
Arg [1] : 000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
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.