CamelotV3Farm

Git Source

Inherits: E721Farm, OperableDeposit, ClaimableFee

Author: Sperax Foundation.

This contract is the implementation of the Camelot V3 farm.

State Variables

tickLowerAllowed

int24 public tickLowerAllowed;

tickUpperAllowed

int24 public tickUpperAllowed;

camelotPool

address public camelotPool;

camelotV3Factory

address public camelotV3Factory;

camelotUtils

nfpmUtils

MIN_TICK

MAX_TICK

Functions

initialize

Initializer function of this farm.

Parameters

Name
Type
Description

_input

InitializeInput

A struct having all the input params.

increaseDeposit

Allow user to increase liquidity for a deposit.

Parameters

Name
Type
Description

_depositId

uint256

The id of the deposit to be increased.

_amounts

uint256[2]

Desired amount of tokens to be increased.

_minAmounts

uint256[2]

Minimum amount of tokens to be added as liquidity.

decreaseDeposit

Withdraw liquidity partially from an existing deposit.

Parameters

Name
Type
Description

_depositId

uint256

Deposit index for the user.

_liquidityToWithdraw

uint128

Amount to be withdrawn.

_minAmounts

uint256[2]

Minimum amount of tokens to be received.

getTokenAmounts

Function to be called by Rewarder to get tokens and amounts associated with the farm's liquidity.

Returns

Name
Type
Description

<none>

address[]

tokens An array of token addresses.

<none>

uint256[]

amounts An array of token amounts.

_claimPoolFee

Claim pool fee implementation from ClaimableFee feature.

Parameters

Name
Type
Description

_depositId

uint256

Deposit ID of the deposit in the farm.

_getLiquidity

Validate the position for the pool and get Liquidity.

The position must adhere to the price ranges.

Only allow specific pool token to be staked.

Parameters

Name
Type
Description

_tokenId

uint256

The tokenId of the position.

Returns

Name
Type
Description

<none>

uint256

The liquidity of the position.

_validateTickRange

Validate the ticks (upper and lower).

Get the info of the required token.

Check if the token belongs to correct pool.

Check if the token adheres to the tick range.

The ticks must be within the max range and must be multiple of tickSpacing.

Parameters

Name
Type
Description

_tickLower

int24

The lower tick of the range.

_tickUpper

int24

The upper tick of the range.

Errors

InvalidCamelotPoolConfig

IncorrectPoolToken

IncorrectTickRange

InvalidTickRange

InvalidAmount

Last updated