Algebra Farming Interface Allows farming nonfungible liquidity tokens in exchange for reward tokens
IncentiveDetached(contract IERC20Minimal,contract IERC20Minimal,contract IAlgebraPool,address,uint256,uint256)
Event emitted when a liquidity mining incentive has been stopped from the outside
| 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 detached virtual pool address |
| startTime | uint256 | The time when the incentive program begins |
| endTime | uint256 | The time when rewards stop accruing |
IncentiveAttached(contract IERC20Minimal,contract IERC20Minimal,contract IAlgebraPool,address,uint256,uint256)
Event emitted when a liquidity mining incentive has been runned again from the outside
| 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 attached virtual pool address |
| startTime | uint256 | The time when the incentive program begins |
| endTime | uint256 | The time when rewards stop accruing |
FarmEntered(uint256,bytes32,uint128,uint256)
Event emitted when a Algebra LP token has been farmd
| Name | Type | Description |
|---|---|---|
| tokenId | uint256 | The unique identifier of an Algebra LP token |
| incentiveId | bytes32 | The incentive in which the token is farming |
| liquidity | uint128 | The amount of liquidity farmd |
| tokensLocked | uint256 | The amount of tokens locked for multiplier |
FarmEnded(uint256,bytes32,address,address,address,uint256,uint256)
Event emitted when a Algebra LP token has been exitFarmingd
| Name | Type | Description |
|---|---|---|
| tokenId | uint256 | The unique identifier of an Algebra LP token |
| incentiveId | bytes32 | The incentive in which the token is farming |
| rewardAddress | address | The token being distributed as a reward |
| bonusRewardToken | address | The token being distributed as a bonus reward |
| owner | address | The address where claimed rewards were sent to |
| reward | uint256 | The amount of reward tokens to be distributed |
| bonusReward | uint256 | The amount of bonus reward tokens to be distributed |
IncentiveMaker(address)
Emitted when the incentive maker is changed
| Name | Type | Description |
|---|---|---|
| incentiveMaker | address | The incentive maker after the address was changed |
FarmingCenter(address)
Emitted when the farming center is changed
| Name | Type | Description |
|---|---|---|
| farmingCenter | address | The farming center after the address was changed |
RewardsAdded(uint256,uint256,bytes32)
Event emitted when rewards were added
| Name | Type | Description |
|---|---|---|
| rewardAmount | uint256 | The additional amount of main token |
| bonusRewardAmount | uint256 | The additional amount of bonus token |
| incentiveId | bytes32 | The ID of the incentive for which rewards were added |
RewardClaimed(address,uint256,address,address)
Event emitted when a reward token has been claimed
| Name | Type | Description |
|---|---|---|
| to | address | The address where claimed rewards were sent to |
| reward | uint256 | The amount of reward tokens claimed |
| rewardAddress | address | The token reward address |
| owner | address | The address where claimed rewards were sent to |
nonfungiblePositionManager() view external
The nonfungible position manager with which this farming contract is compatible
Returns:
| Name | Type | Description |
|---|---|---|
| [0] | contract INonfungiblePositionManager |
farmingCenter() view external
The farming Center
Returns:
| Name | Type | Description |
|---|---|---|
| [0] | contract IFarmingCenter |
deployer() external
The pool deployer
Returns:
| Name | Type | Description |
|---|---|---|
| [0] | contract IAlgebraPoolDeployer |
setIncentiveMaker(address) external
Updates the incentive maker
| Name | Type | Description |
|---|---|---|
| _incentiveMaker | address | The new incentive maker address |
incentives(bytes32) view external
Represents a farming incentive
| Name | Type | Description |
|---|---|---|
| incentiveId | bytes32 | The ID of the incentive computed from its parameters |
Returns:
| Name | Type | Description |
|---|---|---|
| totalReward | uint256 | |
| bonusReward | uint256 | |
| virtualPoolAddress | address | |
| totalLiquidity | uint224 | |
| multiplierToken | address | |
| tiers | struct IAlgebraFarming.Tiers |
detachIncentive(struct IIncentiveKey.IncentiveKey) external
Detach incentive from the pool
| Name | Type | Description |
|---|---|---|
| key | struct IIncentiveKey.IncentiveKey | The key of the incentive |
attachIncentive(struct IIncentiveKey.IncentiveKey) external
Attach incentive to the pool
| Name | Type | Description |
|---|---|---|
| key | struct IIncentiveKey.IncentiveKey | The key of the incentive |
rewards(address,contract IERC20Minimal) view external
Returns amounts of reward tokens owed to a given address according to the last time all farms were updated
| Name | Type | Description |
|---|---|---|
| owner | address | The owner for which the rewards owed are checked |
| rewardToken | contract IERC20Minimal | The token for which to check rewards |
Returns:
| Name | Type | Description |
|---|---|---|
| rewardsOwed | uint256 |
setFarmingCenterAddress(address) external
Updates farming center address
| Name | Type | Description |
|---|---|---|
| _farmingCenter | address | The new farming center contract address |
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 |
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 |
claimReward(contract IERC20Minimal,address,uint256) external
Transfers `amountRequested` of accrued `rewardToken` rewards from the contract to the recipient `to`
| Name | Type | Description |
|---|---|---|
| rewardToken | contract IERC20Minimal | The token being distributed as a reward |
| to | address | The address where claimed rewards will be sent to |
| amountRequested | uint256 | The amount of reward tokens to claim. Claims entire reward amount if set to 0. |
Returns:
| Name | Type | Description |
|---|---|---|
| reward | uint256 |
claimRewardFrom(contract IERC20Minimal,address,address,uint256) external
Transfers `amountRequested` of accrued `rewardToken` rewards from the contract to the recipient `to` only for FarmingCenter
| Name | Type | Description |
|---|---|---|
| rewardToken | contract IERC20Minimal | The token being distributed as a reward |
| from | address | The address of position owner |
| to | address | The address where claimed rewards will be sent to |
| amountRequested | uint256 | The amount of reward tokens to claim. Claims entire reward amount if set to 0. |
Returns:
| Name | Type | Description |
|---|---|---|
| reward | uint256 |
getRewardInfo(struct IIncentiveKey.IncentiveKey,uint256) 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 |