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 }