Skip to main content
@eco-incorp/sauce/svm is the Solana side: staging a program through the kitchen, resolving accounts against the compiler’s account manifest, building and sending transactions, and verifying settle programs. Solana execution goes through the Kitchen client here; the SDK’s SVM route helpers emit a legacy instruction that the released engine does not accept.
This page covers sdk/dist/svm/instructions.d.ts.
Generated from the type declarations shipped in @eco-incorp/sauce 0.99.4. Each entry shows the package authors’ JSDoc and declaration for this SDK version. For runtime compatibility and deployed addresses, see architecture and deployments.

buildExecuteInstruction

Function · sdk/dist/svm/instructions.d.ts Builds the engine execute instruction. The account list IS the user-account index space: accounts[i] is user index i (no fixed prefix - interpreter memory lives in the transaction’s heap frame, not accounts). MSG_SENDER is the first in-list signer, resolved LAZILY: a signerless list is valid unless the program reads MSG_SENDER/TX_ORIGIN (NoSigner then). Every transaction carrying this instruction MUST also carry RequestHeapFrame(262144) - see buildHeapFramePrepend.

buildExecuteFromAccountInstruction

Function · sdk/dist/svm/instructions.d.ts executeFromAccount: account 0 is the code, the caller’s tail follows at its natural indices, and the program is that account’s data verbatim. No payload beyond the discriminator. The pre-release engine took [flags][pin][offset,len][args] so a caller could pin the staged bytes at execute time; the released engine has no such grammar and the pin moved to the kitchen - buildCookFromAccountInstruction’s pin refuses unless the staged bytes hash to it. Needs RequestHeapFrame, like execute - see buildHeapFramePrepend.

assertNoExecutePin

Function · sdk/dist/svm/instructions.d.ts Rejects a would-be execute-time content pin, naming where the enforceable one lives. Lives here because the reason is this module’s: executeFromAccount above emits the discriminator and nothing else, so a pin handed to a caller of it has no destination. The surfaces that used to accept one - StagedBufferRef.expectedSha256, SimulateStagedOpts.expectedSha256 - forwarded it and dropped it while documenting it as engine-verified, which is the failure this converts into a loud one.

ExecuteInstructionInput

Interface · sdk/dist/svm/instructions.d.ts

ExecuteFromAccountInstructionInput

Interface · sdk/dist/svm/instructions.d.ts