IAlgebraLimitFarming
Algebra Farming Interface
Allows farming nonfungible liquidity tokens in exchange for reward tokens
Events
LimitFarmingCreated
event LimitFarmingCreated(contract IERC20Minimal rewardToken, contract IERC20Minimal bonusRewardToken, contract IAlgebraPool pool, uint256 startTime, uint256 endTime, uint256 reward, uint256 bonusReward, struct IAlgebraFarming.Tiers tiers, address multiplierToken, uint24 minimalAllowedPositionWidth, uint32 enterStartTime)
Event emitted when a liquidity mining incentive has been created
Name | Type | Description |
---|---|---|
rewardToken | contract IERC20Minimal | The token being distributed as a reward |
bonusRewardToken | contract IERC20Minimal | The token being distributed as a bonus reward |
pool | contract IAlgebraPool | The Algebra pool |
startTime | uint256 | The time when the incentive program begins |
endTime | uint256 | The time when rewards stop accruing |
reward | uint256 | The amount of reward tokens to be distributed |
bonusReward | uint256 | The amount of bonus reward tokens to be distributed |
tiers | struct IAlgebraFarming.Tiers | The amounts of locked token for liquidity multipliers |
multiplierToken | address | The address of token which can be locked to get liquidity multiplier |
minimalAllowedPositionWidth | uint24 | The minimal allowed position width (tickUpper - tickLower) |
enterStartTime | uint32 | The time when enter becomes possible |
Functions
maxIncentiveDuration
function maxIncentiveDuration() external view returns (uint256)
view external
The max duration of an incentive in seconds
Returns:
Name | Type | Description |
---|---|---|
[0] | uint256 |
maxIncentiveStartLeadTime
function maxIncentiveStartLeadTime() external view returns (uint256)
view external
The max amount of seconds into the future the incentive startTime can be set
Returns:
Name | Type | Description |
---|---|---|
[0] | uint256 |
farms
function farms(uint256 tokenId, bytes32 incentiveId) external view returns (uint128 liquidity, int24 tickLower, int24 tickUpper)
view external
Returns information about a farmd liquidity NFT
Name | Type | Description |
---|---|---|
tokenId | uint256 | The ID of the farmd token |
incentiveId | bytes32 | The ID of the incentive for which the token is farmd |
Returns:
Name | Type | Description |
---|---|---|
liquidity | uint128 | The amount of liquidity in the NFT as of the last time the rewards were computed, tickLower The lower end of the tick range for the position, tickUpper The upper end of the tick range for the position |
tickLower | int24 | |
tickUpper | int24 |
createLimitFarming
function createLimitFarming(struct IIncentiveKey.IncentiveKey key, struct IAlgebraFarming.Tiers tiers, struct IAlgebraLimitFarming.IncentiveParams params) external returns (address virtualPool)
external
Name | Type | Description |
---|---|---|
key | struct IIncentiveKey.IncentiveKey | |
tiers | struct IAlgebraFarming.Tiers | |
params | struct IAlgebraLimitFarming.IncentiveParams |
Returns:
Name | Type | Description |
---|---|---|
virtualPool | address |