AlgebraVirtualPoolBase
Abstract base contract for Algebra virtual pools
Modifiers
onlyFromPool
only pool (or FarmingCenter as "proxy") can call
onlyFarming
Variables
address farmingCenterAddress immutable
address farmingAddress immutable
address pool immutable
mapping(int24 => struct TickManager.Tick) ticks
uint128 currentLiquidity
int24 globalTick
uint32 timeOutside
uint160 globalSecondsPerLiquidityCumulative
uint32 prevTimestamp
Functions
getInnerSecondsPerLiquidity
getInnerSecondsPerLiquidity(int24,int24)
view external
get seconds per liquidity inside range
Name | Type | Description |
---|---|---|
bottomTick | int24 | |
topTick | int24 |
Returns:
Name | Type | Description |
---|---|---|
innerSecondsSpentPerLiquidity | uint160 |
cross
onlyFromPool
cross(int24,bool)
external
Name | Type | Description |
---|---|---|
nextTick | int24 | The crossed tick |
zeroToOne | bool | The direction |
increaseCumulative
onlyFromPool
increaseCumulative(uint32)
external
Name | Type | Description |
---|---|---|
currentTimestamp | uint32 | The timestamp of the current swap |
Returns:
Name | Type | Description |
---|---|---|
[0] | enum IAlgebraVirtualPool.Status |
applyLiquidityDeltaToPosition
onlyFarming
applyLiquidityDeltaToPosition(uint32,int24,int24,int128,int24)
external
Name | Type | Description |
---|---|---|
currentTimestamp | uint32 | The timestamp of current block |
bottomTick | int24 | The bottom tick of a position |
topTick | int24 | The top tick of a position |
liquidityDelta | int128 | The amount of liquidity in a position |
currentTick | int24 | The current tick in the main pool |