spl-token-swap-forks, exported from @eco-incorp/sauce/svm.
Generated from the type declarations of @eco-incorp/sauce.
TOKEN_SWAP_V1_PROGRAM_ID
Variable ยท @eco-incorp/sauce/svm
Token Swap - the original solana-labs/solana-program-library deployment.
tokenSwapV1
Variable ยท @eco-incorp/sauce/svm
DEXLAB_PROGRAM_ID
Variable ยท @eco-incorp/sauce/svm
DexLab - GATED (see unresolvedGate above): a real-CPI probe against the
live mainnet binary (a real SOL/USDC pool, 4KizLX56YSbTtc8NJQWDBz3iiwSTpJRHFUXAvB4v6MM3,
dumped 2026-07-31) shows the deployed Swap instruction reads MORE than
the standard spl-token-swap 10 (or 11, with the optional host-fee account)
accounts - it still fails NotEnoughAccountKeys with 10 or 11 provided,
and only clears that check at 14 (10 + 4 arbitrary dummy reads), at which
point it fails a DIFFERENT (custom code 24) check - meaning DexLabโs fork
genuinely extends the account list with something this repo hasnโt
identified (no public source was available to cross-reference). Gated
rather than guessed at: a wrong account list here would revert every
dexlab cook in production, and DexLab is otherwise the single
deepest-liquidity fork of the six (2,097 live constant-product pools).
dexlab
Variable ยท @eco-incorp/sauce/svm
SAROS_PROGRAM_ID
Variable ยท @eco-incorp/sauce/svm
The program id of Sarosโs AMM, a fork of SPL Token Swap. The saros adapter quotes it with the fork formulaโs stored trade and owner fee rates (30 bps on the pool measured), while the program charged about 4 bps: on the 14 trades sampled, the quote never exceeded the output the swap delivered.
saros
Variable ยท @eco-incorp/sauce/svm
ORCA_V1_PROGRAM_ID
Variable ยท @eco-incorp/sauce/svm
Orca V1 - the ORIGINAL Orca token-swap deployment, a DIFFERENT program from
the already-wired orca-legacy-token-swap (โOrca V2โ,
9W959DqEETiGZocYWCQPaJ6sBmUzgfxXfqGeTEdp3aQP). Confirmed distinct live
(routePlan ammKey 6fTRDD7sYxCN7oyoSQaN1AWC3P2m8A6gVZzGrpej9DvL, owner
DjVE6JNiYqPL2QXyCUUh8rNjHrbz9hXHNYt99MQ59qw1).
orcaV1
Variable ยท @eco-incorp/sauce/svm
PENGUIN_PROGRAM_ID
Variable ยท @eco-incorp/sauce/svm
Penguin.
penguin
Variable ยท @eco-incorp/sauce/svm
STEPN_PROGRAM_ID
Variable ยท @eco-incorp/sauce/svm
StepN (Dooar).
stepn
Variable ยท @eco-incorp/sauce/svm
makeSplTokenSwapForkAdapter
Function ยท @eco-incorp/sauce/svm
One adapter per deployed spl-token-swap fork - SAME math/layout as
orca-legacy-token-swap (see module header), parameterized only by the
forkโs own program id (the CPI target AND the swap-authority PDA domain).
unresolvedGate, when passed, makes fetchPoolConfig throw UNCONDITIONALLY
for every pool of this family (naming the reason) - the SAME mechanism
orca-legacy-token-swap uses to keep its stable-curve pools out of the
electable universe (see that adapterโs curve_type check), just applied to
the WHOLE family instead of a per-pool byte. resolveSvmPoolSpec catches
any fetchPoolConfig throw and drops the candidate - one venueโs gate
never breaks discovery or any other family, and (critically) it means the
family is WIRED (program id, discovery filter, CU entry all present and
exercised) while being STRUCTURALLY UNABLE to enter a cook until the gate
is lifted, so there is zero production revert/mispricing risk from an
unresolved integration question.
SplTokenSwapForkPoolConfig
Interface ยท @eco-incorp/sauce/svm
SplTokenSwapForkAdapter
Interface ยท @eco-incorp/sauce/svm
