IFarmingCenter
Functions
virtualPoolAddresses
function virtualPoolAddresses(address) external view returns (address)
view external
Name | Type | Description |
---|---|---|
address |
Returns:
Name | Type | Description |
---|---|---|
[0] | address |
nonfungiblePositionManager
function nonfungiblePositionManager() external view returns (contract INonfungiblePositionManager)
view external
The nonfungible position manager with which this farming contract is compatible
Returns:
Name | Type | Description |
---|---|---|
[0] | contract INonfungiblePositionManager |
eternalFarming
function eternalFarming() external view returns (contract IAlgebraEternalFarming)
view external
The eternal farming contract
Returns:
Name | Type | Description |
---|---|---|
[0] | contract IAlgebraEternalFarming |
algebraPoolDeployer
function algebraPoolDeployer() external view returns (address)
view external
The Algebra poolDeployer contract
Returns:
Name | Type | Description |
---|---|---|
[0] | address |
deposits
function deposits(uint256 tokenId) external view returns (bytes32 eternalIncentiveId)
view external
Returns information about a deposited NFT
Name | Type | Description |
---|---|---|
tokenId | uint256 | The ID of the deposit (and token) that is being transferred |
Returns:
Name | Type | Description |
---|---|---|
eternalIncentiveId | bytes32 | The id of eternal incentive that is active for this NFT |
connectVirtualPool
function connectVirtualPool(contract IAlgebraPool pool, address virtualPool) external
external
Updates activeIncentive in AlgebraPool Developer note: only farming can do it
Name | Type | Description |
---|---|---|
pool | contract IAlgebraPool | The AlgebraPool for which farming was created |
virtualPool | address | The virtual pool to be connected |
enterFarming
function enterFarming(struct IncentiveKey key, uint256 tokenId) external
external
Enters in incentive (time-limited or eternal farming) with NFT-position token Developer note: token must be deposited in FarmingCenter
Name | Type | Description |
---|---|---|
key | struct IncentiveKey | The incentive event key |
tokenId | uint256 | The id of position NFT |
exitFarming
function exitFarming(struct IncentiveKey key, uint256 tokenId) external
external
Exits from incentive (time-limited or eternal farming) with NFT-position token
Name | Type | Description |
---|---|---|
key | struct IncentiveKey | The incentive event key |
tokenId | uint256 | The id of position NFT |
collectRewards
function collectRewards(struct IncentiveKey key, uint256 tokenId) external returns (uint256 reward, uint256 bonusReward)
external
Used to collect reward from eternal farming. Then reward can be claimed.
Name | Type | Description |
---|---|---|
key | struct IncentiveKey | The incentive event key |
tokenId | uint256 | The id of position NFT |
Returns:
Name | Type | Description |
---|---|---|
reward | uint256 | The amount of collected reward |
bonusReward | uint256 | The amount of collected bonus reward |
claimReward
function claimReward(contract IERC20Minimal rewardToken, address to, uint256 amountRequested) external returns (uint256 reward)
external
Used to claim and send rewards from farming(s) Developer note: can be used via static call to get current rewards for user
Name | Type | Description |
---|---|---|
rewardToken | contract IERC20Minimal | The token that is a reward |
to | address | The address to be rewarded |
amountRequested | uint256 | Amount to claim in eternal farming |
Returns:
Name | Type | Description |
---|---|---|
reward | uint256 | The summary amount of claimed rewards |