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.

selectAltAddresses

Function · @eco-incorp/sauce/svm Picks the account addresses worth putting in a lookup table: non-signers only (signers must be static message accounts - they cannot be looked up), deduplicated in first-seen order.

createAltWithAddresses

Function · @eco-incorp/sauce/svm Creates an address lookup table and extends it with addresses (one create transaction, then one transaction per chunk of 30 addresses - 27 when payer and authority are distinct signers). Returns the table address and a slot upper bound for the last extend - feed it to waitForAltActive before compressing a transaction against the table. More than LOOKUP_TABLE_MAX_ADDRESSES addresses throws before the create transaction is built, so no table is funded.

lookupTableBatches

Function · @eco-incorp/sauce/svm The transactions that create an address lookup table holding addresses, as instruction batches to send in order (one create, then one extend per chunk of 30 addresses, 27 when payer and authority are distinct signers), and the table’s address. Sending them, and waiting a slot past the last extend before compressing against the table, is the caller’s: createAltWithAddresses sends them through a confirmation callback, the sauce command with its own sends. More than LOOKUP_TABLE_MAX_ADDRESSES addresses throws, so no table is funded.

extendAlt

Function · @eco-incorp/sauce/svm Appends addresses to an existing lookup table (one transaction per chunk of 30 - 27 with a distinct authority), returning a slot upper bound for the last extend. Feed it to waitForAltActive before compressing against the table. An empty addresses sends nothing and returns the current slot (the table is already sufficient) - this is the idempotent no-op the reuse path relies on. More than LOOKUP_TABLE_MAX_ADDRESSES throws before the first chunk goes out: the chunks are sent sequentially, so a set that cannot fit would otherwise rent-fund a half-filled table before failing on-chain.

waitForAltActive

Function · @eco-incorp/sauce/svm Waits until the lookup table is usable. Addresses extended in slot N are usable from slot N+1 onward, so this resolves once getSlot() > lastExtendedSlot.

fetchAlt

Function · @eco-incorp/sauce/svm Fetches a lookup table in the shape compressTransactionMessageUsingAddressLookupTables consumes.

lookupTableAddresses

Function · @eco-incorp/sauce/svm The accounts of transaction a lookup table may hold: every account its message lists, less the signers and the programs its instructions call, which a transaction must list itself. A table over exactly these is the one a cook too wide for one transaction goes through.

LOOKUP_TABLE_MAX_ADDRESSES

Variable · @eco-incorp/sauce/svm Hard on-chain capacity of one address lookup table (LOOKUP_TABLE_MAX_ADDRESSES in solana-program). The extend instruction that would cross it fails, and because the extends are sent sequentially the earlier ones have already landed - so callers must reject an oversized set BEFORE sending anything rather than leave a half-filled, rent-funded table behind.

SendAndConfirmTransaction

Type · @eco-incorp/sauce/svm

CreateAltInput

Interface · @eco-incorp/sauce/svm

LookupTableBatchesInput

Interface · @eco-incorp/sauce/svm

ExtendAltInput

Interface · @eco-incorp/sauce/svm