IBonsaiswapV3Factory
The Bonsaiswap V3 Factory facilitates creation of Bonsaiswap V3 pools and control over the protocol fees
Functions
owner
Returns the current owner of the factory
Can be changed by the current owner via setOwner
Return Values:
Type | Description |
---|---|
address | address of the factory owner |
feeAmountTickSpacing
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:
Name | Type | Description |
---|---|---|
| uint24 | The enabled fee, denominated in hundredths of a bip. Returns 0 in case of unenabled fee |
Return Values:
Type | Description |
---|---|
int24 | tick spacing |
getPool
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:
Name | Type | Description |
---|---|---|
| address | The contract address of either token0 or token1 |
| address | The contract address of the other token |
| uint24 | The fee collected upon every swap in the pool, denominated in hundredths of a bip |
Return Values:
Name | Type | Description |
---|---|---|
| address | The pool address |
createPool
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. The call will revert if the pool already exists, the fee is invalid, or the token arguments are invalid.
Parameters:
Name | Type | Description |
---|---|---|
| address | One of the two tokens in the desired pool |
| address | The other of the two tokens in the desired pool |
| uint24 | The desired fee for the pool |
Return Values:
Name | Type | Description |
---|---|---|
| address | The address of the newly created pool |
setOwner
Updates the owner of the factory
Must be called by the current owner
Parameters:
Name | Type | Description |
---|---|---|
| address | The new owner of the factory |
enableFeeAmount
Enables a fee amount with the given tickSpacing
Fee amounts may never be removed once enabled
Parameters:
Name | Type | Description |
---|---|---|
| uint24 | The fee amount to enable, denominated in hundredths of a bip (i.e. 1e-6) |
| int24 | The spacing between ticks to be enforced for all pools created with the given fee amount |
Events
OwnerChanged
Emitted when the owner of the factory is changed
Parameters:
Name | Type | Description |
---|---|---|
| address | The owner before the owner was changed |
| address | The owner after the owner was changed |
PoolCreated
Emitted when a pool is created
Parameters:
Name | Type | Description |
---|---|---|
| address | The first token of the pool by address sort order |
| address | The second token of the pool by address sort order |
| uint24 | The fee collected upon every swap in the pool, denominated in hundredths of a bip |
| int24 | The minimum number of ticks between initialized ticks |
| address | The address of the created pool |
FeeAmountEnabled
Emitted when a new fee amount is enabled for pool creation via the factory
Parameters:
Name | Type | Description |
---|---|---|
| uint24 | The enabled fee, denominated in hundredths of a bip |
| int24 | The minimum number of ticks between initialized ticks for pools created with the given fee |
Last updated