Algebra incentive (time-limited) farming
The max amount of seconds into the future the incentive startTime can be set
The max duration of an incentive in seconds
Returns information about a farmd liquidity NFT
Developer note: farms[tokenId][incentiveHash] => Farm
AlgebraFarming
constructor(contract IAlgebraPoolDeployer,contract INonfungiblePositionManager,uint256,uint256)
public
Name | Type | Description |
---|---|---|
_deployer | contract IAlgebraPoolDeployer | pool deployer contract address |
_nonfungiblePositionManager | contract INonfungiblePositionManager | the NFT position manager contract address |
_maxIncentiveStartLeadTime | uint256 | the max duration of an incentive in seconds |
_maxIncentiveDuration | uint256 | the max amount of seconds into the future the incentive startTime can be set |
onlyIncentiveMaker
createIncentive(struct IIncentiveKey.IncentiveKey,struct IAlgebraFarming.Tiers,struct IAlgebraIncentiveFarming.IncentiveParams)
external
Name | Type | Description |
---|---|---|
key | struct IIncentiveKey.IncentiveKey | |
tiers | struct IAlgebraFarming.Tiers | |
params | struct IAlgebraIncentiveFarming.IncentiveParams |
Returns:
Name | Type | Description |
---|---|---|
virtualPool | address |
onlyIncentiveMaker
addRewards(struct IIncentiveKey.IncentiveKey,uint256,uint256)
external
Name | Type | Description |
---|---|---|
key | struct IIncentiveKey.IncentiveKey | |
reward | uint256 | |
bonusReward | uint256 |
onlyIncentiveMaker
decreaseRewardsAmount(struct IIncentiveKey.IncentiveKey,uint256,uint256)
external
Name | Type | Description |
---|---|---|
key | struct IIncentiveKey.IncentiveKey | |
reward | uint256 | |
bonusReward | uint256 |
onlyIncentiveMaker
detachIncentive(struct IIncentiveKey.IncentiveKey)
external
Detach incentive from the pool
Name | Type | Description |
---|---|---|
key | struct IIncentiveKey.IncentiveKey | The key of the incentive |
onlyIncentiveMaker
attachIncentive(struct IIncentiveKey.IncentiveKey)
external
Attach incentive to the pool
Name | Type | Description |
---|---|---|
key | struct IIncentiveKey.IncentiveKey | The key of the incentive |
onlyFarmingCenter
enterFarming(struct IIncentiveKey.IncentiveKey,uint256,uint256)
external
enter farming for Algebra LP token
Name | Type | Description |
---|---|---|
key | struct IIncentiveKey.IncentiveKey | The key of the incentive for which to enterFarming the NFT |
tokenId | uint256 | The ID of the token to exitFarming |
tokensLocked | uint256 | The amount of tokens locked for boost |
onlyFarmingCenter
exitFarming(struct IIncentiveKey.IncentiveKey,uint256,address)
external
exitFarmings for Algebra LP token
Name | Type | Description |
---|---|---|
key | struct IIncentiveKey.IncentiveKey | The key of the incentive for which to exitFarming the NFT |
tokenId | uint256 | The ID of the token to exitFarming |
_owner | address | Owner of the token |
getRewardInfo(struct IIncentiveKey.IncentiveKey,uint256)
view external
Calculates the reward amount that will be received for the given farm
Name | Type | Description |
---|---|---|
key | struct IIncentiveKey.IncentiveKey | The key of the incentive |
tokenId | uint256 | The ID of the token |
Returns:
Name | Type | Description |
---|---|---|
reward | uint256 | |
bonusReward | uint256 |