mswap, exported from @eco-incorp/sauce/svm.
Generated from the type declarations of @eco-incorp/sauce.
MSWAP_PROGRAM_ID
Variable · @eco-incorp/sauce/svm
m0-foundation’s ext_swap router - SVM_VENUE_PROGRAM_IDS['mswap'].
SWAP_GLOBAL_ID
Variable · @eco-incorp/sauce/svm
ext_swap’s own global (PDA seed b"global" under MSWAP_PROGRAM_ID, bump 253 - derived offline, cross-checked live 2026-07-31).
M_MINT
Variable · @eco-incorp/sauce/svm
The one $M mint every whitelisted extension wraps/unwraps against.
M_TOKEN_PROGRAM
Variable · @eco-incorp/sauce/svm
$M is always Token2022 (m_ext’s Wrap/Unwrap hard-type m_token_program: Program<Token2022>).
SWAP_M_ACCOUNT
Variable · @eco-incorp/sauce/svm
SwapGlobal’s own ATA of $M (owner = SWAP_GLOBAL_ID) - the transient per-trade holding account (see module doc).
mswap
Variable · @eco-incorp/sauce/svm
The M Swap venue: M0’s router that unwraps one M extension token and wraps another.
mswapPoolKey
Function · @eco-incorp/sauce/svm
Mint synthetic per-directed-pair discovery key (mirrors sanctumInfinityPoolKey).
fetchMSwapPoolConfig
Function · @eco-incorp/sauce/svm
Off-chain, once per requested (inMint, outMint): read the LIVE
SwapGlobal whitelist, resolve both legs’ own ExtGlobalV2 (gating
yield_variant/wrap_authorities per the module doc), and derive every
PDA the swap CPI needs. Self-drops (throws) on ANY of: either mint not
whitelisted, either leg a “ScaledUi” deploy, either leg missing
SWAP_GLOBAL_ID from its own wrap_authorities - all LIVE checks, never
a hardcoded mint exclusion. A refused pair’s discovery key is forgotten.
MSwapPoolConfig
Interface · @eco-incorp/sauce/svm
