V3Factory
This contract deploys V3 pools and manages ownership and control over pool protocol fees
Code
Github Link: (Will be updated after official launch)
Address
Cypress : 0xA15Be7e90df29A4aeaD0C7Fc86f7a9fBe6502Ac9:
Events, Read-Only Functions, and State-Changing Functions
Events
PoolCreated
event PoolCreated(
address indexed token0,
address indexed token1,
uint24 indexed fee,
int24 tickSpacing,
address pool,
uint256 exid
)Emitted when a pool is created
Parameters:
token0
address
The first token of the pool by address sort order
token1
address
The second token of the pool by address sort order
fee
uint24
The fee collected upon every swap in the pool, denominated in hundredths of a bip
tickSpacing
int24
The minimum number of ticks between initialized ticks
pool
address
The address of the created pool
FeeAmountEnabled
event FeeAmountEnabled(
uint24 fee,
int24 tickSpacing
)Emitted when a new fee amount is enabled for pool creation via the factory
Parameters:
fee
uint24
The enabled fee, denominated in hundredths of a bip
tickSpacing
int24
The minimum number of ticks between initialized ticks for pools created with the given fee
Read-Only Functions
getPoolCount
function getPoolCount() external view override returns (uint256);Get the number of pools created in V3
Return Values:
uint256
The number of pools created in V3
getPoolAddress
function getPoolAddress(uint256 idx) external view override returns (address);Parameters:
idx
uint256
The index number
Return Values:
address
The address of the pool
getPool
function getPool(
address tokenA,
address tokenB,
uint24 fee
) external view returns (address pool)Returns the pool address for a given pair of tokens and a fee, or address 0 if it does not exist
tokenA and tokenB may be passed in either token0/token1 or token1/token0 order
Parameters:
tokenA
address
The contract address of either token0 or token1
tokenB
address
The contract address of the other token
fee
uint24
The fee collected upon every swap in the pool, denominated in hundredths of a bip
Return Values:
pool
address
The pool address
feeAmountTickSpacing
function feeAmountTickSpacing(
uint24 fee
) external view returns (int24)Returns the tick spacing for a given fee amount, if enabled, or 0 if not enabled
A fee amount can never be removed, so this value should be hard coded or cached in the calling context
Parameters:
fee
uint24
The enabled fee, denominated in hundredths of a bip. Returns 0 in case of unenabled fee
Return Values:
int24
tick spacing
State-Changing Functions
createPool
function createPool(
address tokenA,
address tokenB,
uint24 fee
) external returns (address pool)Creates a pool for the given two tokens and fee
tokenA and tokenB may be passed in either order: token0/token1 or token1/token0. tickSpacing is retrieved from the fee.
Parameters:
tokenA
address
One of the two tokens in the desired pool
tokenB
address
The other of the two tokens in the desired pool
fee
uint24
The desired fee for the pool
Return Values:
pool
address
The address of the newly created pool
enableFeeAmount
function enableFeeAmount(
uint24 fee,
int24 tickSpacing
) externalEnables a fee amount with the given tickSpacing
Fee amounts may never be removed once enabled
Parameters:
fee
uint24
The fee amount to enable, denominated in hundredths of a bip (i.e. 1e-6)
tickSpacing
int24
The spacing between ticks to be enforced for all pools created with the given fee amount
Last updated