Module brontes_classifier::ZeroXUniswapV3Feature

source ·
Expand description

Generated by the following Solidity interface…

interface ZeroXUniswapV3Feature {
    constructor(address weth, address uniFactory, bytes32 poolInitCodeHash);

    function FEATURE_NAME() external view returns (string memory);
    function FEATURE_VERSION() external view returns (uint256);
    function _sellHeldTokenForTokenToUniswapV3(bytes memory encodedPath, uint256 sellAmount, uint256 minBuyAmount, address recipient) external returns (uint256 buyAmount);
    function _sellTokenForTokenToUniswapV3(bytes memory encodedPath, uint256 sellAmount, uint256 minBuyAmount, address recipient, address payer) external returns (uint256 buyAmount);
    function migrate() external returns (bytes4 success);
    function sellEthForTokenToUniswapV3(bytes memory encodedPath, uint256 minBuyAmount, address recipient) external payable returns (uint256 buyAmount);
    function sellTokenForEthToUniswapV3(bytes memory encodedPath, uint256 sellAmount, uint256 minBuyAmount, address payable recipient) external returns (uint256 buyAmount);
    function sellTokenForTokenToUniswapV3(bytes memory encodedPath, uint256 sellAmount, uint256 minBuyAmount, address recipient) external returns (uint256 buyAmount);
    function uniswapV3SwapCallback(int256 amount0Delta, int256 amount1Delta, bytes memory data) external;
}

…which was generated by the following JSON ABI:

[
  {
    "type": "constructor",
    "inputs": [
      {
        "name": "weth",
        "type": "address",
        "internalType": "contract IEtherToken"
      },
      {
        "name": "uniFactory",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "poolInitCodeHash",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "FEATURE_NAME",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "string",
        "internalType": "string"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "FEATURE_VERSION",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "_sellHeldTokenForTokenToUniswapV3",
    "inputs": [
      {
        "name": "encodedPath",
        "type": "bytes",
        "internalType": "bytes"
      },
      {
        "name": "sellAmount",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "minBuyAmount",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "recipient",
        "type": "address",
        "internalType": "address"
      }
    ],
    "outputs": [
      {
        "name": "buyAmount",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "_sellTokenForTokenToUniswapV3",
    "inputs": [
      {
        "name": "encodedPath",
        "type": "bytes",
        "internalType": "bytes"
      },
      {
        "name": "sellAmount",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "minBuyAmount",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "recipient",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "payer",
        "type": "address",
        "internalType": "address"
      }
    ],
    "outputs": [
      {
        "name": "buyAmount",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "migrate",
    "inputs": [],
    "outputs": [
      {
        "name": "success",
        "type": "bytes4",
        "internalType": "bytes4"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "sellEthForTokenToUniswapV3",
    "inputs": [
      {
        "name": "encodedPath",
        "type": "bytes",
        "internalType": "bytes"
      },
      {
        "name": "minBuyAmount",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "recipient",
        "type": "address",
        "internalType": "address"
      }
    ],
    "outputs": [
      {
        "name": "buyAmount",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "stateMutability": "payable"
  },
  {
    "type": "function",
    "name": "sellTokenForEthToUniswapV3",
    "inputs": [
      {
        "name": "encodedPath",
        "type": "bytes",
        "internalType": "bytes"
      },
      {
        "name": "sellAmount",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "minBuyAmount",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "recipient",
        "type": "address",
        "internalType": "address payable"
      }
    ],
    "outputs": [
      {
        "name": "buyAmount",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "sellTokenForTokenToUniswapV3",
    "inputs": [
      {
        "name": "encodedPath",
        "type": "bytes",
        "internalType": "bytes"
      },
      {
        "name": "sellAmount",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "minBuyAmount",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "recipient",
        "type": "address",
        "internalType": "address"
      }
    ],
    "outputs": [
      {
        "name": "buyAmount",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "uniswapV3SwapCallback",
    "inputs": [
      {
        "name": "amount0Delta",
        "type": "int256",
        "internalType": "int256"
      },
      {
        "name": "amount1Delta",
        "type": "int256",
        "internalType": "int256"
      },
      {
        "name": "data",
        "type": "bytes",
        "internalType": "bytes"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  }
]

Structs§

Enums§