Withdrawals
Domination Finance liquidity is stored in DomFiVault. When the vault is healthy, withdrawals can be made with the standard ERC4626 withdraw
and redeem
methods. When the vault is unhealthy, LPs must first make a withdraw request.
Withdrawing from a Healthy Vault
ERC4626 redeem
To redeem a certain amount of dfUSDC, call
function redeem(Shares shares, address receiver, address account)
This will burn the specified shares
of $dfUSDC from account
and send the resulting collateral tokens, to receiver
. The specified account must have shares
available to redeem, and msg.sender
must be the account or a manager of it. For more information, see ERC4626.redeem
.
ERC4626 withdraw
To withdraw a certain amount of collateral, call
function withdraw(uint256 assets, address receiver, address account)
This will send assets
to receiver
by burning dfUSDC available to produce assets
when burnt, and msg.sender
must be the account or a manager of it. For more information, see ERC4626.withdraw
.
Withdrawing from an Unhealthy Vault
When the utilization ratio is too high, liquidity is gradually released to LPs over time. This helps Domination Finance avoid bank runs.
"utilization ratio" is defined as