Algebra Eternal Farming Interface Allows farming nonfungible liquidity tokens in exchange for reward tokens without locking NFT for incentive time
RewardsRatesChanged(uint128,uint128,bytes32)
Event emitted when reward rates were changed
| Name | Type | Description |
|---|---|---|
| rewardRate | uint128 | The new rate of main token distribution per sec |
| bonusRewardRate | uint128 | The new rate of bonus token distribution per sec |
| incentiveId | bytes32 | The ID of the incentive for which rates were changed |
RewardsCollected(uint256,bytes32,uint256,uint256)
Event emitted when rewards were added
| Name | Type | Description |
|---|---|---|
| tokenId | uint256 | The ID of the token for which rewards were collected |
| incentiveId | bytes32 | The ID of the incentive for which rewards were collected |
| rewardAmount | uint256 | Collected amount of reward |
| bonusRewardAmount | uint256 | Collected amount of bonus reward |
EternalFarmingCreated(contract IERC20Minimal,contract IERC20Minimal,contract IAlgebraPool,address,uint256,uint256,uint256,uint256,struct IAlgebraFarming.Tiers,address)
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 |
| virtualPool | address | The virtual pool address |
| 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 |
farms(uint256,bytes32) 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 | |
| tickLower | int24 | |
| tickUpper | int24 | |
| innerRewardGrowth0 | uint256 | |
| innerRewardGrowth1 | uint256 |
createEternalFarming(struct IIncentiveKey.IncentiveKey,uint256,uint256,uint128,uint128,address,struct IAlgebraFarming.Tiers) external
Creates a new liquidity mining incentive program
| Name | Type | Description |
|---|---|---|
| key | struct IIncentiveKey.IncentiveKey | Details of the incentive to create |
| reward | uint256 | The amount of reward tokens to be distributed |
| bonusReward | uint256 | The amount of bonus reward tokens to be distributed |
| rewardRate | uint128 | The rate of reward distribution per second |
| bonusRewardRate | uint128 | The rate of bonus reward distribution per second |
| multiplierToken | address | The address of token which can be locked to get liquidity multiplier |
| tiers | struct IAlgebraFarming.Tiers | The amounts of locked token for liquidity multipliers |
Returns:
| Name | Type | Description |
|---|---|---|
| virtualPool | address |
addRewards(struct IIncentiveKey.IncentiveKey,uint256,uint256) external
| Name | Type | Description |
|---|---|---|
| key | struct IIncentiveKey.IncentiveKey | |
| rewardAmount | uint256 | |
| bonusRewardAmount | uint256 |
setRates(struct IIncentiveKey.IncentiveKey,uint128,uint128) external
| Name | Type | Description |
|---|---|---|
| key | struct IIncentiveKey.IncentiveKey | |
| rewardRate | uint128 | |
| bonusRewardRate | uint128 |
collectRewards(struct IIncentiveKey.IncentiveKey,uint256,address) external
| Name | Type | Description |
|---|---|---|
| key | struct IIncentiveKey.IncentiveKey | |
| tokenId | uint256 | |
| _owner | address |
Returns:
| Name | Type | Description |
|---|---|---|
| reward | uint256 | |
| bonusReward | uint256 |