Skip to main content
@eco-incorp/sauce/svm is the Solana side: the client (createSauceSvmClient), clusters, PDAs, account resolution against the compiler’s account manifest, Kitchen and engine instructions, transactions and sending, token accounts, and compute planning for @sauce/router’s Solana venues. @eco-incorp/sauce/svm/engine exports the engine’s wire format and instruction builders, @eco-incorp/sauce/svm/verify verifies settle programs and engine CPI data, and @eco-incorp/sauce/svm/engine-artifacts (Node only) returns file paths to the packaged engine and Kitchen binaries.
Generated from the type declarations of @eco-incorp/sauce.

svmSettleSource

Function · @eco-incorp/sauce/svm The SVM settle program text for escrowCount escrows - the SVM twin of the EVM settle.sauce.ts, statement for statement, differing only where the VM forces it (see this module’s header). Generated rather than static because the escrow count is a compile-time property on SVM; the returned text is exactly what gets compiled.

svmSettleRefs

Function · @eco-incorp/sauce/svm The account refs a generated program declares, in manifest order, for escrowCount escrows: tokenProgram0, tokenProgram1, then per escrow escrow_i (source, writable), mint_i (read for decimals), dest_i (recipient ATA, writable) - with the shared owner (signer) landing right after escrow 0’s group: the order svmSettleSource declares main’s parameters in.

SVM_MAX_ESCROWS

Variable · @eco-incorp/sauce/svm Upper bound on generated escrows. Each escrow attaches THREE accounts - escrow_i (source), mint_i (read for decimals by TransferChecked), dest_i (the recipient’s ATA) - on top of the two token-program slots and the shared owner. So N escrows is 3N + 3 accounts; a large N needs an address lookup table to fit the transaction, which is why this is capped.