AlgebraEternalFarming
Algebra eternal (v2-like) farming
Variables
mapping(uint256 => mapping(bytes32 => struct AlgebraEternalFarming.Farm)) farms
Returns information about a farmd liquidity NFT
Developer note: farms[tokenId][incentiveHash] => Farm
Functions
constructor
constructor(contract IAlgebraPoolDeployer _deployer, contract INonfungiblePositionManager _nonfungiblePositionManager) public
public
_deployer
contract IAlgebraPoolDeployer
pool deployer contract address
_nonfungiblePositionManager
contract INonfungiblePositionManager
the NFT position manager contract address
createEternalFarming
function createEternalFarming(struct IIncentiveKey.IncentiveKey key, struct IAlgebraEternalFarming.IncentiveParams params, struct IAlgebraFarming.Tiers tiers) external returns (address virtualPool)
external
Creates a new liquidity mining incentive program
key
struct IIncentiveKey.IncentiveKey
Details of the incentive to create
params
struct IAlgebraEternalFarming.IncentiveParams
Params of incentive
tiers
struct IAlgebraFarming.Tiers
The amounts of locked token for liquidity multipliers
Returns:
virtualPool
address
The virtual pool
deactivateIncentive
function deactivateIncentive(struct IIncentiveKey.IncentiveKey key) external
external
Detach incentive from the pool and deactivate it
key
struct IIncentiveKey.IncentiveKey
The key of the incentive
decreaseRewardsAmount
function decreaseRewardsAmount(struct IIncentiveKey.IncentiveKey key, uint256 rewardAmount, uint256 bonusRewardAmount) external
external
key
struct IIncentiveKey.IncentiveKey
rewardAmount
uint256
bonusRewardAmount
uint256
addRewards
function addRewards(struct IIncentiveKey.IncentiveKey key, uint256 rewardAmount, uint256 bonusRewardAmount) external
external
key
struct IIncentiveKey.IncentiveKey
rewardAmount
uint256
bonusRewardAmount
uint256
setRates
function setRates(struct IIncentiveKey.IncentiveKey key, uint128 rewardRate, uint128 bonusRewardRate) external
external
key
struct IIncentiveKey.IncentiveKey
rewardRate
uint128
bonusRewardRate
uint128
enterFarming
function enterFarming(struct IIncentiveKey.IncentiveKey key, uint256 tokenId, uint256 tokensLocked) external
external
enter farming for Algebra LP token
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
function exitFarming(struct IIncentiveKey.IncentiveKey key, uint256 tokenId, address _owner) external
external
exitFarmings for Algebra LP token
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
function getRewardInfo(struct IIncentiveKey.IncentiveKey key, uint256 tokenId) external view returns (uint256 reward, uint256 bonusReward)
view external
reward amounts can be outdated, actual amounts could be obtained via static call of `collectRewards` in FarmingCenter
key
struct IIncentiveKey.IncentiveKey
The key of the incentive
tokenId
uint256
The ID of the token
Returns:
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
collectRewards
function collectRewards(struct IIncentiveKey.IncentiveKey key, uint256 tokenId, address _owner) external returns (uint256 reward, uint256 bonusReward)
external
reward amounts should be updated before calling this method
key
struct IIncentiveKey.IncentiveKey
tokenId
uint256
_owner
address
Returns:
reward
uint256
bonusReward
uint256