CamelotV3Farm
Inherits: E721Farm, OperableDeposit, ClaimableFee
Author: Sperax Foundation.
This contract is the implementation of the Camelot V3 farm.
State Variables
tickLowerAllowed
tickUpperAllowed
camelotPool
camelotV3Factory
camelotUtils
nfpmUtils
MIN_TICK
MAX_TICK
Functions
initialize
Initializer function of this farm.
Parameters
_input
InitializeInput
A struct having all the input params.
increaseDeposit
Allow user to increase liquidity for a deposit.
Parameters
_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
_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 Demeter Rewarder to get tokens and amounts associated with the farm's liquidity.
Returns
<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
_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
_tokenId
uint256
The tokenId of the position.
Returns
<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
_tickLower
int24
The lower tick of the range.
_tickUpper
int24
The upper tick of the range.