IAlgebraFactory
The interface for the Algebra Factory
Developer note: Credit to Uniswap Labs under GPL-2.0-or-later license: https://github.com/Uniswap/v3-core/tree/main/contracts/interfaces
Events
RenounceOwnershipStart
event RenounceOwnershipStart(uint256 timestamp, uint256 finishTimestamp)
Emitted when a process of ownership renounce is started
Name | Type | Description |
---|---|---|
timestamp | uint256 | The timestamp of event |
finishTimestamp | uint256 | The timestamp when ownership renounce will be possible to finish |
RenounceOwnershipStop
event RenounceOwnershipStop(uint256 timestamp)
Emitted when a process of ownership renounce cancelled
Name | Type | Description |
---|---|---|
timestamp | uint256 | The timestamp of event |
RenounceOwnershipFinish
event RenounceOwnershipFinish(uint256 timestamp)
Emitted when a process of ownership renounce finished
Name | Type | Description |
---|---|---|
timestamp | uint256 | The timestamp of ownership renouncement |
Pool
event Pool(address token0, address token1, address pool)
Emitted when a pool is created
Name | Type | Description |
---|---|---|
token0 | address | The first token of the pool by address sort order |
token1 | address | The second token of the pool by address sort order |
pool | address | The address of the created pool |
FarmingAddress
event FarmingAddress(address newFarmingAddress)
Emitted when the farming address is changed
Name | Type | Description |
---|---|---|
newFarmingAddress | address | The farming address after the address was changed |
DefaultFeeConfiguration
event DefaultFeeConfiguration(struct AlgebraFeeConfiguration newConfig)
Emitted when the default fee configuration is changed Developer note: See the AdaptiveFee library for more details
Name | Type | Description |
---|---|---|
newConfig | struct AlgebraFeeConfiguration | The structure with dynamic fee parameters |
DefaultCommunityFee
event DefaultCommunityFee(uint8 newDefaultCommunityFee)
Emitted when the default community fee is changed
Name | Type | Description |
---|---|---|
newDefaultCommunityFee | uint8 | The new default community fee value |
Functions
POOLS_ADMINISTRATOR_ROLE
function POOLS_ADMINISTRATOR_ROLE() external view returns (bytes32)
view external
role that can change communityFee and tickspacing in pools
Returns:
Name | Type | Description |
---|---|---|
[0] | bytes32 |
hasRoleOrOwner
function hasRoleOrOwner(bytes32 role, address account) external view returns (bool)
view external
Developer note: Returns `true` if `account` has been granted `role` or `account` is owner.
Name | Type | Description |
---|---|---|
role | bytes32 | |
account | address |
Returns:
Name | Type | Description |
---|---|---|
[0] | bool |
owner
function owner() external view returns (address)
view external
Returns the current owner of the factory Developer note: Can be changed by the current owner via transferOwnership(address newOwner)
Returns:
Name | Type | Description |
---|---|---|
[0] | address | The address of the factory owner |
poolDeployer
function poolDeployer() external view returns (address)
view external
Returns the current poolDeployerAddress
Returns:
Name | Type | Description |
---|---|---|
[0] | address | The address of the poolDeployer |
farmingAddress
function farmingAddress() external view returns (address)
view external
Developer note: Is retrieved from the pools to restrict calling certain functions not by a tokenomics contract
Returns:
Name | Type | Description |
---|---|---|
[0] | address | The tokenomics contract address |
communityVault
function communityVault() external view returns (address)
view external
Returns the current communityVaultAddress
Returns:
Name | Type | Description |
---|---|---|
[0] | address | The address to which community fees are transferred |
defaultCommunityFee
function defaultCommunityFee() external view returns (uint8)
view external
Returns the default community fee
Returns:
Name | Type | Description |
---|---|---|
[0] | uint8 | Fee which will be set at the creation of the pool |
poolByPair
function poolByPair(address tokenA, address tokenB) external view returns (address pool)
view external
Returns the pool address for a given pair of tokens, or address 0 if it does not exist Developer note: tokenA and tokenB may be passed in either token0/token1 or token1/token0 order
Name | Type | Description |
---|---|---|
tokenA | address | The contract address of either token0 or token1 |
tokenB | address | The contract address of the other token |
Returns:
Name | Type | Description |
---|---|---|
pool | address | The pool address |
renounceOwnershipStartTimestamp
function renounceOwnershipStartTimestamp() external view returns (uint256 timestamp)
view external
Returns:
Name | Type | Description |
---|---|---|
timestamp | uint256 | The timestamp of the beginning of the renounceOwnership process |
createPool
function createPool(address tokenA, address tokenB) external returns (address pool)
external
Creates a pool for the given two tokens Developer note: tokenA and tokenB may be passed in either order: token0/token1 or token1/token0. The call will revert if the pool already exists or the token arguments are invalid.
Name | Type | Description |
---|---|---|
tokenA | address | One of the two tokens in the desired pool |
tokenB | address | The other of the two tokens in the desired pool |
Returns:
Name | Type | Description |
---|---|---|
pool | address | The address of the newly created pool |
setFarmingAddress
function setFarmingAddress(address newFarmingAddress) external
external
Developer note: updates tokenomics address on the factory
Name | Type | Description |
---|---|---|
newFarmingAddress | address | The new tokenomics contract address |
setDefaultCommunityFee
function setDefaultCommunityFee(uint8 newDefaultCommunityFee) external
external
Developer note: updates default community fee for new pools
Name | Type | Description |
---|---|---|
newDefaultCommunityFee | uint8 | The new community fee, must be <= MAX_COMMUNITY_FEE |
setDefaultFeeConfiguration
function setDefaultFeeConfiguration(struct AlgebraFeeConfiguration newConfig) external
external
Changes initial fee configuration for new pools Developer note: changes coefficients for sigmoids: Îą / (1 + e^( (β-x) / Îŗ)) alpha1 + alpha2 + baseFee (max possible fee) must be <= type(uint16).max and gammas must be > 0
Name | Type | Description |
---|---|---|
newConfig | struct AlgebraFeeConfiguration | new default fee configuration. See the #AdaptiveFee.sol library for details |
startRenounceOwnership
function startRenounceOwnership() external
external
Starts process of renounceOwnership. After that, a certain period of time must pass before the ownership renounce can be completed.
stopRenounceOwnership
function stopRenounceOwnership() external
external
Stops process of renounceOwnership and removes timer.