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 |