github.com/status-im/status-go@v1.1.0/contracts/uniswapV3/interfaces/IUniswapV3PoolDeployer.sol (about)

     1  // SPDX-License-Identifier: GPL-2.0-or-later
     2  pragma solidity >=0.5.0;
     3  
     4  /// @title An interface for a contract that is capable of deploying Uniswap V3 Pools
     5  /// @notice A contract that constructs a pool must implement this to pass arguments to the pool
     6  /// @dev This is used to avoid having constructor arguments in the pool contract, which results in the init code hash
     7  /// of the pool being constant allowing the CREATE2 address of the pool to be cheaply computed on-chain
     8  interface IUniswapV3PoolDeployer {
     9      /// @notice Get the parameters to be used in constructing the pool, set transiently during pool creation.
    10      /// @dev Called by the pool constructor to fetch the parameters of the pool
    11      /// Returns factory The factory address
    12      /// Returns token0 The first token of the pool by address sort order
    13      /// Returns token1 The second token of the pool by address sort order
    14      /// Returns fee The fee collected upon every swap in the pool, denominated in hundredths of a bip
    15      /// Returns tickSpacing The minimum number of ticks between initialized ticks
    16      function parameters()
    17          external
    18          view
    19          returns (
    20              address factory,
    21              address token0,
    22              address token1,
    23              uint24 fee,
    24              int24 tickSpacing
    25          );
    26  }