@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.
@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
