Timelock Trade LogoTimelock Protocol

Withdraw Reserved Liquidity

Withdraw reserved liquidity

This can be called by the user directly, it uses msg.sender context. Users can withdraw liquidity if it is available and their cooldown is over.

function withdrawReserveLiquidity(bytes calldata _reserveLiquidityParam) external whenNotPaused;

Parameters

NameTypeDescription
_reserveLiquidityParambytesThe data required for withdraw reserved liquidity.

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
poolIUniswapV3PoolThe Uniswap V3 pool contract
hookaddressThe address of the hook contract
tickLowerint24The lower tick of the position
tickUpperint24The upper tick of the position
sharesuint128The amount of shares to burn

On this page