IAlgebraEternalVirtualPool
Functions
ticks
function ticks(int24 tickId) external view returns (uint128 liquidityTotal, int128 liquidityDelta, uint256 outerFeeGrowth0Token, uint256 outerFeeGrowth1Token, int24 prevTick, int24 nextTick)
view external
Name | Type | Description |
---|---|---|
tickId | int24 |
Returns:
Name | Type | Description |
---|---|---|
liquidityTotal | uint128 | |
liquidityDelta | int128 | |
outerFeeGrowth0Token | uint256 | |
outerFeeGrowth1Token | uint256 | |
prevTick | int24 | |
nextTick | int24 |
currentLiquidity
function currentLiquidity() external view returns (uint128)
view external
Returns:
Name | Type | Description |
---|---|---|
[0] | uint128 |
globalTick
function globalTick() external view returns (int24)
view external
Returns:
Name | Type | Description |
---|---|---|
[0] | int24 |
prevTimestamp
function prevTimestamp() external view returns (uint32)
view external
Returns:
Name | Type | Description |
---|---|---|
[0] | uint32 |
applyLiquidityDeltaToPosition
function applyLiquidityDeltaToPosition(uint32 currentTimestamp, int24 bottomTick, int24 topTick, int128 liquidityDelta, int24 currentTick) external
external
Developer note: This function is called when anyone farms their liquidity. The position in a virtual pool should be changed accordingly
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 |
distributeRewards
function distributeRewards() external
external
Developer note: This function is called from the main pool before every swap To increase rewards per liquidity cumulative considering previous liquidity. The liquidity is stored in a virtual pool
setRates
function setRates(uint128 rate0, uint128 rate1) external
external
Change reward rates
Name | Type | Description |
---|---|---|
rate0 | uint128 | The new rate of main token distribution per sec |
rate1 | uint128 | The new rate of bonus token distribution per sec |
addRewards
function addRewards(uint128 token0Amount, uint128 token1Amount) external
external
Top up rewards reserves
Name | Type | Description |
---|---|---|
token0Amount | uint128 | The amount of token0 |
token1Amount | uint128 | The amount of token1 |
decreaseRewards
function decreaseRewards(uint128 token0Amount, uint128 token1Amount) external
external
Withdraw rewards from reserves directly
Name | Type | Description |
---|---|---|
token0Amount | uint128 | The amount of token0 |
token1Amount | uint128 | The amount of token1 |
getInnerRewardsGrowth
function getInnerRewardsGrowth(int24 bottomTick, int24 topTick) external view returns (uint256 rewardGrowthInside0, uint256 rewardGrowthInside1)
view external
Name | Type | Description |
---|---|---|
bottomTick | int24 | |
topTick | int24 |
Returns:
Name | Type | Description |
---|---|---|
rewardGrowthInside0 | uint256 | |
rewardGrowthInside1 | uint256 |
rewardReserves
function rewardReserves() external view returns (uint128 reserve0, uint128 reserve1)
view external
Get reserves of rewards in one call
Returns:
Name | Type | Description |
---|---|---|
reserve0 | uint128 | The reserve of token0 |
reserve1 | uint128 | The reserve of token1 |
rewardRates
function rewardRates() external view returns (uint128 rate0, uint128 rate1)
view external
Get rates of rewards in one call
Returns:
Name | Type | Description |
---|---|---|
rate0 | uint128 | The rate of token0, rewards / sec |
rate1 | uint128 | The rate of token1, rewards / sec |
Errors
onlyPool
error onlyPool()
onlyFarming
error onlyFarming()