Withdraw Liquidity
A Liquidity Module can withdraw liquidity from the sovereignVault
by calling the withdrawalLiquidity
function on the Sovereign Pool. This is only true for the case where sovereignVault
is the pool itself. Otherwise the sovereignVault
must implement its own function for withdrawing liquidity.
This function can only be called by the Liquidity Module.
Liquidity Module is allowed to withdraw any amount of
token0
ortoken1
from the pool, as long as it is less than the current reserves.If the pool contains a
verifierModule
,_sender
and_verificationContext
would be checked for validity before accepting a withdrawal.This function supports rebase tokens.
This function is disabled if reserves are meant to be stored outside of the pool (
sovereignVault
is not the pool).No pool-level role can pause withdrawals.
Control Flow of a Withdrawal
user
→ Liquidity Module
→ Sovereign Pool’s withdrawLiquidity
.
The Liquidity Module is free to decide how to interface with users and account for withdrawals internally. Funds are transferred to the recipient
specified by the Liquidity Module.
Last updated