Algebra Farming Interface
Allows farming nonfungible liquidity tokens in exchange for reward tokens
event IncentiveDetached(contract IERC20Minimal rewardToken, contract IERC20Minimal bonusRewardToken, contract IAlgebraPool pool, address virtualPool, uint256 startTime, uint256 endTime)
Event emitted when a liquidity mining incentive has been stopped from the outside
Name | Type | Description |
---|---|---|
event IncentiveAttached(contract IERC20Minimal rewardToken, contract IERC20Minimal bonusRewardToken, contract IAlgebraPool pool, address virtualPool, uint256 startTime, uint256 endTime)
Event emitted when a liquidity mining incentive has been runned again from the outside
Name | Type | Description |
---|---|---|
event FarmEntered(uint256 tokenId, bytes32 incentiveId, uint128 liquidity, uint256 tokensLocked)
Event emitted when a Algebra LP token has been farmd
event FarmEnded(uint256 tokenId, bytes32 incentiveId, address rewardAddress, address bonusRewardToken, address owner, uint256 reward, uint256 bonusReward)
Event emitted when a Algebra LP token has been exitFarmingd
event IncentiveMaker(address incentiveMaker)
Emitted when the incentive maker is changed
event FarmingCenter(address farmingCenter)
Emitted when the farming center is changed
event RewardsAdded(uint256 rewardAmount, uint256 bonusRewardAmount, bytes32 incentiveId)
Event emitted when rewards were added
event RewardClaimed(address to, uint256 reward, address rewardAddress, address owner)
Event emitted when a reward token has been claimed
function nonfungiblePositionManager() external view returns (contract INonfungiblePositionManager)
view external
The nonfungible position manager with which this farming contract is compatible
Returns:
function farmingCenter() external view returns (contract IFarmingCenter)
view external
The farming Center
Returns:
function deployer() external returns (contract IAlgebraPoolDeployer)
external
The pool deployer
Returns:
function setIncentiveMaker(address _incentiveMaker) external
external
Updates the incentive maker
function incentives(bytes32 incentiveId) external view returns (uint256 totalReward, uint256 bonusReward, address virtualPoolAddress, uint24 minimalPositionWidth, uint224 totalLiquidity, address multiplierToken, struct IAlgebraFarming.Tiers tiers)
view external
Represents a farming incentive
Returns:
function detachIncentive(struct IIncentiveKey.IncentiveKey key) external
external
Detach incentive from the pool
function attachIncentive(struct IIncentiveKey.IncentiveKey key) external
external
Attach incentive to the pool
function rewards(address owner, contract IERC20Minimal rewardToken) external view returns (uint256 rewardsOwed)
view external
Returns amounts of reward tokens owed to a given address according to the last time all farms were updated
Returns:
function setFarmingCenterAddress(address _farmingCenter) external
external
Updates farming center address
function enterFarming(struct IIncentiveKey.IncentiveKey key, uint256 tokenId, uint256 tokensLocked) external
external
enter farming for Algebra LP token
function exitFarming(struct IIncentiveKey.IncentiveKey key, uint256 tokenId, address _owner) external
external
exitFarmings for Algebra LP token
function claimReward(contract IERC20Minimal rewardToken, address to, uint256 amountRequested) external returns (uint256 reward)
external
Transfers `amountRequested` of accrued `rewardToken` rewards from the contract to the recipient `to`
Returns:
function claimRewardFrom(contract IERC20Minimal rewardToken, address from, address to, uint256 amountRequested) external returns (uint256 reward)
external
Transfers `amountRequested` of accrued `rewardToken` rewards from the contract to the recipient `to` only for FarmingCenter
Returns:
function getRewardInfo(struct IIncentiveKey.IncentiveKey key, uint256 tokenId) external returns (uint256 reward, uint256 bonusReward)
external
Calculates the reward amount that will be received for the given farm
Returns:
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
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
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
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
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
The incentive maker after the address was changed
farmingCenter
address
The farming center after the address was changed
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
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
[0]
contract INonfungiblePositionManager
[0]
contract IFarmingCenter
[0]
contract IAlgebraPoolDeployer
_incentiveMaker
address
The new incentive maker address
incentiveId
bytes32
The ID of the incentive computed from its parameters
totalReward
uint256
bonusReward
uint256
virtualPoolAddress
address
minimalPositionWidth
uint24
totalLiquidity
uint224
multiplierToken
address
tiers
struct IAlgebraFarming.Tiers
key
struct IIncentiveKey.IncentiveKey
The key of the incentive
key
struct IIncentiveKey.IncentiveKey
The key of the incentive
owner
address
The owner for which the rewards owed are checked
rewardToken
contract IERC20Minimal
The token for which to check rewards
rewardsOwed
uint256
The amount of the reward token claimable by the owner
_farmingCenter
address
The new farming center contract address
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
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
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.
reward
uint256
The amount of reward tokens claimed
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.
reward
uint256
The amount of reward tokens claimed
key
struct IIncentiveKey.IncentiveKey
The key of the incentive
tokenId
uint256
The ID of the token
reward
uint256
The reward accrued to the NFT for the given incentive thus far
bonusReward
uint256
The bonus reward accrued to the NFT for the given incentive thus far