Skip to content

[VaultBundles] force withdraw bundles#15

Merged
QGarchery merged 64 commits into
mainfrom
feat-ikr
Jul 10, 2026
Merged

[VaultBundles] force withdraw bundles#15
QGarchery merged 64 commits into
mainfrom
feat-ikr

Conversation

@QGarchery

@QGarchery QGarchery commented Jun 16, 2026

Copy link
Copy Markdown
Collaborator

@QGarchery QGarchery self-assigned this Jun 16, 2026
@QGarchery QGarchery changed the title [VaultBundles] IKR (WIP) [VaultBundles] IKR Jun 16, 2026
@QGarchery QGarchery marked this pull request as ready for review June 16, 2026 16:47
@QGarchery QGarchery requested a review from bhargavbh June 16, 2026 17:03
Comment thread src/vault-ikr/VaultIkrBundlesV1.sol Outdated
Comment thread src/vault-ikr/VaultIkrBundlesV1.sol Outdated
Comment thread src/vault/VaultBundles.sol Outdated
Comment thread src/vault/VaultBundles.sol Outdated
Comment thread src/vault-force-withdraw/VaultForceWithdrawBundlesV1.sol Outdated
Comment thread src/vault/VaultBundles.sol Outdated
Comment thread src/vault-force-withdraw/VaultForceWithdrawBundlesV1.sol Outdated
Comment thread src/vault-force-withdraw/VaultForceWithdrawBundlesV1.sol
@QGarchery

Copy link
Copy Markdown
Collaborator Author

We expect users to make the judgement of chosing between forceWithdrawLiquidV2 and forceWithdrawIlliquidV2. Wondering the consequences if the state flips between signing and inclusion. Calling liquid on an illiquid vault just reverts with gas costs, which is acceptable. However, calling Illiquid entry point on a liquid vault results in the forceDeallocate penalty which is avoidable. Is my understanding correct? Would it make sense even in the illiquid entry point to try first the liquid withdrawable without penalty and only the excess thru the forceDeallocate route?

yes this is documented "It may be the case that the vault became liquid, but calling this function still yields positions on the markets.", also see here. As discussed in the call the rationale is the following:

  • the liquid case is similar to a normal vault v1 withdraw
  • the illiquid case is supposed to be used for emergency scenarios. In those scenarios (where the curator/owner is adversarial), it is not expected that there is much liquidity anyway as other users would want to withdraw as well, without paying the penalty. Also we want to make sure that the emergency situations are as simple as possible, for safety reasons, and don't risk to revert

@QGarchery QGarchery changed the title [VaultBundles] IKR [VaultBundles] force withdraw bundles Jul 10, 2026
Comment thread src/vault-force-withdraw/VaultForceWithdrawBundlesV1.sol Outdated
Comment thread README.md
Comment on lines +30 to +31
- `vaultBundlesV1ForceWithdrawIlliquidVaultV1` — force withdraw from an illiquid Morpho Vault V1.
- `vaultBundlesV1ForceWithdrawIlliquidVaultV2` — force withdraw from an illiquid Morpho Vault V2.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

worth explaining "IKR"

Comment thread src/vault-force-withdraw/VaultForceWithdrawBundlesV1.sol Outdated
Comment thread src/vault-force-withdraw/VaultForceWithdrawBundlesV1.sol Outdated
Comment thread src/vault-force-withdraw/VaultForceWithdrawBundlesV1.sol
Comment thread src/vault-force-withdraw/VaultForceWithdrawBundlesV1.sol Outdated
Comment thread src/vault-force-withdraw/VaultForceWithdrawBundlesV1.sol
Comment thread src/vault-force-withdraw/VaultForceWithdrawBundlesV1.sol Outdated
Comment thread src/vault-force-withdraw/VaultForceWithdrawBundlesV1.sol Outdated
Co-authored-by: MathisGD <74971347+MathisGD@users.noreply.github.com>
Signed-off-by: Quentin Garchery <garchery.quentin@gmail.com>
Comment thread src/vault-force-withdraw/VaultForceWithdrawBundlesV1.sol Outdated
QGarchery and others added 4 commits July 10, 2026 18:30
Co-authored-by: MathisGD <74971347+MathisGD@users.noreply.github.com>
Signed-off-by: Quentin Garchery <garchery.quentin@gmail.com>
Co-authored-by: MathisGD <74971347+MathisGD@users.noreply.github.com>
Signed-off-by: Quentin Garchery <garchery.quentin@gmail.com>
Co-authored-by: MathisGD <74971347+MathisGD@users.noreply.github.com>
Signed-off-by: Quentin Garchery <garchery.quentin@gmail.com>
Co-authored-by: MathisGD <74971347+MathisGD@users.noreply.github.com>
Signed-off-by: Quentin Garchery <garchery.quentin@gmail.com>
Comment thread src/vault-force-withdraw/VaultForceWithdrawBundlesV1.sol Outdated
@QGarchery QGarchery merged commit c507caa into main Jul 10, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants