IAlgebraFarming
Algebra Farming Interface Allows farming nonfungible liquidity tokens in exchange for reward tokens
Events
IncentiveDetached
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
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
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
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
IncentiveMaker(address)
Emitted when the incentive maker is changed
Name | Type | Description |
---|---|---|
incentiveMaker | address | The incentive maker after the address was changed |
FarmingCenter
FarmingCenter(address)
Emitted when the farming center is changed
Name | Type | Description |
---|---|---|
farmingCenter | address | The farming center after the address was changed |
RewardsAdded
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
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 |
Functions
nonfungiblePositionManager
nonfungiblePositionManager()
view external
The nonfungible position manager with which this farming contract is compatible
Returns:
Name | Type | Description |
---|---|---|
[0] | contract INonfungiblePositionManager |
farmingCenter
farmingCenter()
view external
The farming Center
Returns:
Name | Type | Description |
---|---|---|
[0] | contract IFarmingCenter |
deployer
deployer()
external
The pool deployer
Returns:
Name | Type | Description |
---|---|---|
[0] | contract IAlgebraPoolDeployer |
setIncentiveMaker
setIncentiveMaker(address)
external
Updates the incentive maker
Name | Type | Description |
---|---|---|
_incentiveMaker | address | The new incentive maker address |
incentives
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
detachIncentive(struct IIncentiveKey.IncentiveKey)
external
Detach incentive from the pool
Name | Type | Description |
---|---|---|
key | struct IIncentiveKey.IncentiveKey | The key of the incentive |
attachIncentive
attachIncentive(struct IIncentiveKey.IncentiveKey)
external
Attach incentive to the pool
Name | Type | Description |
---|---|---|
key | struct IIncentiveKey.IncentiveKey | The key of the incentive |
rewards
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
setFarmingCenterAddress(address)
external
Updates farming center address
Name | Type | Description |
---|---|---|
_farmingCenter | address | The new farming center contract address |
enterFarming
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
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
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
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
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 |