Reserve Liquidity

Contract Git Source

Reserve Liquidity from future

This can be called by the user directly, it uses msg.sender context. Users share would be burned and they will receive the V3 AMM fees upto this point.

function reserveLiquidity(bytes calldata _reserveLiquidityParam) external whenNotPaused returns (uint256);

Parameters

NameTypeDescription

_reserveLiquidityParam

bytes

The data required for reserving liquidity.

Returns

TypeDescription

uint256

The number of shares burned.

The `_reserveLiquidityParam` parameter has to be constructed the following way:

struct BurnPositionParams {
    IUniswapV3Pool pool;
    address hook;
    int24 tickLower;
    int24 tickUpper;
    uint128 shares;
}

bytes memory _reserveLiquidityParam = abi.encode(
    _params.pool,
    _params.hook,
    _params.tickLower,
    _params.tickUpper,
    _params.shares
);

// To decode:
BurnPositionParams memory decodedParams = abi.decode(encodedData, (BurnPositionParams));

BurnPositionParams Struct

Field NameTypeDescription

pool

IUniswapV3Pool

The Uniswap V3 pool contract

hook

address

The address of the hook contract

tickLower

int24

The lower tick of the position

tickUpper

int24

The upper tick of the position

shares

uint128

The amount of shares to burn

Last updated

Logo

Β© 2024 Stryke