API reference v1.0
Introduction
periphery
tokenomics
IFarmingCenter

IFarmingCenter

IFarmingCenter

Events

DepositTransferred

DepositTransferred(uint256,address,address)

Emitted when ownership of a deposit changes

NameTypeDescription
tokenIduint256The ID of the deposit (and token) that is being transferred
oldOwneraddressThe owner before the deposit was transferred
newOwneraddressThe owner after the deposit was transferred

Functions

virtualPoolAddresses

virtualPoolAddresses(address) view external

NameTypeDescription
address

Returns:

NameTypeDescription
[0]address
[1]address

nonfungiblePositionManager

nonfungiblePositionManager() view external

The nonfungible position manager with which this farming contract is compatible

Returns:

NameTypeDescription
[0]contract INonfungiblePositionManager

limitFarming

limitFarming() view external

Returns:

NameTypeDescription
[0]contract IAlgebraLimitFarming

eternalFarming

eternalFarming() view external

Returns:

NameTypeDescription
[0]contract IAlgebraEternalFarming

farmingCenterVault

farmingCenterVault() view external

Returns:

NameTypeDescription
[0]contract IFarmingCenterVault

l2Nfts

l2Nfts(uint256) view external

NameTypeDescription
uint256

Returns:

NameTypeDescription
nonceuint96
operatoraddress
tokenIduint256

deposits

deposits(uint256) view external

Returns information about a deposited NFT

NameTypeDescription
tokenIduint256The ID of the deposit (and token) that is being transferred

Returns:

NameTypeDescription
L2TokenIduint256
numberOfFarmsuint32
inLimitFarmingbool
owneraddress

connectVirtualPool

connectVirtualPool(contract IAlgebraPool,address) external

Updates activeIncentive in AlgebraPool

NameTypeDescription
poolcontract IAlgebraPoolThe AlgebraPool for which farming was created
virtualPooladdressThe virtual pool to be connected

enterFarming

enterFarming(struct IIncentiveKey.IncentiveKey,uint256,uint256,bool) external

Enters in incentive (time-limited or eternal farming) with NFT-position token

NameTypeDescription
keystruct IIncentiveKey.IncentiveKeyThe incentive event key
tokenIduint256The id of position NFT
tokensLockeduint256Amount of tokens to lock for liquidity multiplier (if tiers are used)
isLimitboolIs incentive time-limited or eternal

exitFarming

exitFarming(struct IIncentiveKey.IncentiveKey,uint256,bool) external

Exits from incentive (time-limited or eternal farming) with NFT-position token

NameTypeDescription
keystruct IIncentiveKey.IncentiveKeyThe incentive event key
tokenIduint256The id of position NFT
isLimitboolIs incentive time-limited or eternal

collect

collect(struct INonfungiblePositionManager.CollectParams) external

Collects up to a maximum amount of fees owed to a specific position to the recipient

NameTypeDescription
paramsstruct INonfungiblePositionManager.CollectParamstokenId The ID of the NFT for which tokens are being collected, recipient The account that should receive the tokens, amount0Max The maximum amount of token0 to collect, amount1Max The maximum amount of token1 to collect

Returns:

NameTypeDescription
amount0uint256
amount1uint256

collectRewards

collectRewards(struct IIncentiveKey.IncentiveKey,uint256) external

Used to collect reward from eternal farming. Then reward can be claimed.

NameTypeDescription
keystruct IIncentiveKey.IncentiveKeyThe incentive event key
tokenIduint256The id of position NFT

Returns:

NameTypeDescription
rewarduint256
bonusRewarduint256

claimReward

claimReward(contract IERC20Minimal,address,uint256,uint256) external

Used to claim and send rewards from farming(s)

NameTypeDescription
rewardTokencontract IERC20MinimalThe token that is a reward
toaddressThe address to be rewarded
amountRequestedIncentiveuint256Amount to claim in incentive (limit) farming
amountRequestedEternaluint256Amount to claim in eternal farming

Returns:

NameTypeDescription
rewarduint256

withdrawToken

withdrawToken(uint256,address,bytes) external

Withdraw Algebra NFT-position token

NameTypeDescription
tokenIduint256The id of position NFT
toaddressNew owner of position NFT
databytesThe additional data for NonfungiblePositionManager