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.

engineFaultName

Function · @eco-incorp/sauce/svm, @eco-incorp/sauce/svm/engine The fault a Custom(code) from the engine names, or undefined for a code it does not use.

EXECUTE_DISCRIMINATOR

Variable · @eco-incorp/sauce/svm, @eco-incorp/sauce/svm/engine The Kitchen-mediated engine instruction discriminators. Declared here, not generated. The pre-release engine shipped an engine-abi.json these were derived from; neither that artifact nor the engine it described exists any more - nothing about the engine is source-controlled now, it is fetched from a pinned release.

EXECUTE_FROM_ACCOUNT_DISCRIMINATOR

Variable · @eco-incorp/sauce/svm, @eco-incorp/sauce/svm/engine

CLOSE_ACCOUNT_DISCRIMINATOR

Variable · @eco-incorp/sauce/svm, @eco-incorp/sauce/svm/engine closeAccount - the third instruction, previously unrepresented here.

COOK_AND_PAY_DISCRIMINATOR

Variable · @eco-incorp/sauce/svm, @eco-incorp/sauce/svm/engine The direct paid cooks: sha256("global:<name>")[..8], as the engine declares them. cookAndPay carries max_execution_fee (u64 LE) and then the bytecode; cookAndPayFromAccount the fee cap alone, the program being account 0’s data; cookAndPayFromAccountPinned the fee cap and the SHA-256 that account 0’s whole data must hash to. None carries a Pot gate header.

COOK_AND_PAY_FROM_ACCOUNT_DISCRIMINATOR

Variable · @eco-incorp/sauce/svm, @eco-incorp/sauce/svm/engine

COOK_AND_PAY_FROM_ACCOUNT_PINNED_DISCRIMINATOR

Variable · @eco-incorp/sauce/svm, @eco-incorp/sauce/svm/engine

ENGINE_FAULTS

Variable · @eco-incorp/sauce/svm, @eco-incorp/sauce/svm/engine The engine’s Custom(n) fault codes, by name - what a failed engine instruction’s InstructionError carries. Revert (0) is a program’s own throw/require, its payload the return data; every other code is the engine refusing. The direct cooks add the fee faults (InvalidFeeConfig … ExecutionFeeExceedsMaximum) and CodeHashMismatch; a legacy instruction sent by anything but a Kitchen cook is NotCookedByKitchen.

EngineFault

Type · @eco-incorp/sauce/svm, @eco-incorp/sauce/svm/engine

HEAP_FRAME_BYTES

Variable · @eco-incorp/sauce/svm, @eco-incorp/sauce/svm/engine The required 256 KiB heap-frame request for every cook transaction: without it the cook fails before the program runs. Include buildHeapFramePrepend() exactly once. Duplicate ComputeBudget instruction types fail the transaction. Buffer-staging transactions do not require it.

HEAP_FRAME_CU_PER_INVOCATION

Variable · @eco-incorp/sauce/svm, @eco-incorp/sauce/svm/engine CU cost of the heap-frame request, charged per program invocation in the transaction.

REQUEST_HEAP_FRAME_WIRE_BYTES

Variable · @eco-incorp/sauce/svm, @eco-incorp/sauce/svm/engine The size the SDK records for the RequestHeapFrame instruction. Measured with getTransactionSize, the instruction adds 8 bytes to a transaction that already carries another ComputeBudget instruction, and 40 bytes to one that carries none: the 8 and the ComputeBudget program’s 32-byte key. Size a transaction with getTransactionSize.

MAX_RETURN_DATA

Variable · @eco-incorp/sauce/svm, @eco-incorp/sauce/svm/engine

MAX_CPI_ACCOUNTS

Variable · @eco-incorp/sauce/svm, @eco-incorp/sauce/svm/engine

ENGINE_GAS_LIMIT_CU

Variable · @eco-incorp/sauce/svm, @eco-incorp/sauce/svm/engine

ENGINE_CHAIN_IDS

Variable · @eco-incorp/sauce/svm, @eco-incorp/sauce/svm/engine The chain IDs reported by ctx.chainId() for the supported Solana clusters.