IAlgebraLimitFarming

Algebra Farming Interface

Allows farming nonfungible liquidity tokens in exchange for reward tokens

Events

LimitFarmingCreated

event LimitFarmingCreated(contract IERC20Minimal rewardToken, contract IERC20Minimal bonusRewardToken, contract IAlgebraPool pool, uint256 startTime, uint256 endTime, uint256 reward, uint256 bonusReward, struct IAlgebraFarming.Tiers tiers, address multiplierToken, uint24 minimalAllowedPositionWidth, uint32 enterStartTime)

Event emitted when a liquidity mining incentive has been created

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

startTime

uint256

The time when the incentive program begins

endTime

uint256

The time when rewards stop accruing

reward

uint256

The amount of reward tokens to be distributed

bonusReward

uint256

The amount of bonus reward tokens to be distributed

tiers

struct IAlgebraFarming.Tiers

The amounts of locked token for liquidity multipliers

multiplierToken

address

The address of token which can be locked to get liquidity multiplier

minimalAllowedPositionWidth

uint24

The minimal allowed position width (tickUpper - tickLower)

enterStartTime

uint32

The time when enter becomes possible

RewardAmountsDecreased

event RewardAmountsDecreased(uint256 reward, uint256 bonusReward, bytes32 incentiveId)

Name
Type
Description

reward

uint256

bonusReward

uint256

incentiveId

bytes32

Functions

maxIncentiveDuration

function maxIncentiveDuration() external view returns (uint256) view external

The max duration of an incentive in seconds

Returns:

Name
Type
Description

[0]

uint256

maxIncentiveStartLeadTime

function maxIncentiveStartLeadTime() external view returns (uint256) view external

The max amount of seconds into the future the incentive startTime can be set

Returns:

Name
Type
Description

[0]

uint256

farms

function farms(uint256 tokenId, bytes32 incentiveId) external view returns (uint128 liquidity, int24 tickLower, int24 tickUpper) view external

Returns information about a farmd liquidity NFT

Name
Type
Description

tokenId

uint256

The ID of the farmd token

incentiveId

bytes32

The ID of the incentive for which the token is farmd

Returns:

Name
Type
Description

liquidity

uint128

The amount of liquidity in the NFT as of the last time the rewards were computed,

tickLower The lower end of the tick range for the position,

tickUpper The upper end of the tick range for the position

tickLower

int24

tickUpper

int24

createLimitFarming

function createLimitFarming(struct IIncentiveKey.IncentiveKey key, struct IAlgebraFarming.Tiers tiers, struct IAlgebraLimitFarming.IncentiveParams params) external returns (address virtualPool) external

Name
Type
Description

key

struct IIncentiveKey.IncentiveKey

tiers

struct IAlgebraFarming.Tiers

params

struct IAlgebraLimitFarming.IncentiveParams

Returns:

Name
Type
Description

virtualPool

address

addRewards

function addRewards(struct IIncentiveKey.IncentiveKey key, uint256 reward, uint256 bonusReward) external external

Name
Type
Description

key

struct IIncentiveKey.IncentiveKey

reward

uint256

bonusReward

uint256

decreaseRewardsAmount

function decreaseRewardsAmount(struct IIncentiveKey.IncentiveKey key, uint256 rewardAmount, uint256 bonusRewardAmount) external external

Name
Type
Description

key

struct IIncentiveKey.IncentiveKey

rewardAmount

uint256

bonusRewardAmount

uint256