To interact with the liquidity pool contract, users must use functions from the Queue contract.
For user to deposit/withdraw liquidity need to wait in a FIFO queue system, where their queue is waiting to be processed to interact with LP contract.
The amounts in deposit/withdraw queue can also be reduced if the user does not want to wait for his order to be processed
Add Liquidity
To deposit liquidity , the deposit amount will wait in a queue contract for X seconds (set to 1 days, and fetched by function epochDuration()) until it is processed and transferred to the LP contract.
Queue Contract =>
/// @notice Adds liquidity to the queue for the next epoch/// @param_amount The amount of liquidity to addfunctionaddLiquidity(uint32epochId,uint256_amount)external
epochId, should be fetched by the function currentEpochId()
_amount , is in the decimals of the token used for deposits