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

     1  // SPDX-License-Identifier: GPL-2.0-or-later
     2  pragma solidity >=0.5.0;
     3  
     4  /// @title Pool state that never changes
     5  /// @notice These parameters are fixed for a pool forever, i.e., the methods will always return the same values
     6  interface IUniswapV3PoolImmutables {
     7      /// @notice The contract that deployed the pool, which must adhere to the IUniswapV3Factory interface
     8      /// @return The contract address
     9      function factory() external view returns (address);
    10  
    11      /// @notice The first of the two tokens of the pool, sorted by address
    12      /// @return The token contract address
    13      function token0() external view returns (address);
    14  
    15      /// @notice The second of the two tokens of the pool, sorted by address
    16      /// @return The token contract address
    17      function token1() external view returns (address);
    18  
    19      /// @notice The pool's fee in hundredths of a bip, i.e. 1e-6
    20      /// @return The fee
    21      function fee() external view returns (uint24);
    22  
    23      /// @notice The pool tick spacing
    24      /// @dev Ticks can only be used at multiples of this value, minimum of 1 and always positive
    25      /// e.g.: a tickSpacing of 3 means ticks can be initialized every 3rd tick, i.e., ..., -6, -3, 0, 3, 6, ...
    26      /// This value is an int24 to avoid casting even though it is always positive.
    27      /// @return The tick spacing
    28      function tickSpacing() external view returns (int24);
    29  
    30      /// @notice The maximum amount of position liquidity that can use any tick in the range
    31      /// @dev This parameter is enforced per tick to prevent liquidity from overflowing a uint128 at any point, and
    32      /// also prevents out-of-range liquidity from being used to prevent adding in-range liquidity to a pool
    33      /// @return The max amount of liquidity per tick
    34      function maxLiquidityPerTick() external view returns (uint128);
    35  }