Skip to content

feat: FlashMintDexV5 — non-leveraged FlashMint with Aerodrome routing - #222

Merged
ckoopmann merged 2 commits into
masterfrom
flashmintdex-v5
Apr 27, 2026
Merged

ckoopmann merged 2 commits into
masterfrom
flashmintdex-v5

Conversation

@ckoopmann

Copy link
Copy Markdown
Collaborator

Near-clone of FlashMintDex backed by DEXAdapterV5, which adds Aerodrome and Aerodrome SlipStream to the supported exchanges. Required for non-leveraged SetTokens whose components only have liquidity on Aerodrome (e.g. uSUI on Base, post-disengage Morpho leverage tokens).

Beyond the DEX-adapter swap:

  • external position modules guard is now skipped when isDebtIssuance is true. The DebtIssuanceModule's pre-/post-mint hooks handle the bookkeeping for external positions (e.g. MorphoLeverageModule supply on disengaged tokens), so external position modules in that path are expected and safe. Basic issuance keeps the strict check.
  • getAmountIn callers updated for the V5 signature (extra _maxAmountIn trailing arg).

Adds deployer.extensions.deployFlashMintDexV5 helper and a Base fork integration test covering the constructor, an Aerodrome-only single- component path (uSUI2x), and a multi-component path (uSOL3x, USDC dust). All three pass on a recent post-disengage block (45_113_000).

Near-clone of FlashMintDex backed by DEXAdapterV5, which adds Aerodrome
and Aerodrome SlipStream to the supported exchanges. Required for
non-leveraged SetTokens whose components only have liquidity on
Aerodrome (e.g. uSUI on Base, post-disengage Morpho leverage tokens).

Beyond the DEX-adapter swap:
  * external position modules guard is now skipped when isDebtIssuance
    is true. The DebtIssuanceModule's pre-/post-mint hooks handle the
    bookkeeping for external positions (e.g. MorphoLeverageModule supply
    on disengaged tokens), so external position modules in that path are
    expected and safe. Basic issuance keeps the strict check.
  * getAmountIn callers updated for the V5 signature (extra _maxAmountIn
    trailing arg).

Adds deployer.extensions.deployFlashMintDexV5 helper and a Base fork
integration test covering the constructor, an Aerodrome-only single-
component path (uSUI2x), and a multi-component path (uSOL3x, USDC dust).
All three pass on a recent post-disengage block (45_113_000).
@ckoopmann
ckoopmann merged commit 630681b into master Apr 27, 2026
3 checks passed
@ckoopmann
ckoopmann deleted the flashmintdex-v5 branch April 27, 2026 09:06
@github-actions

Copy link
Copy Markdown

🎉 This PR is included in version 0.45.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant