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/intent.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.

decodePortalCalldataWithAccounts

Function · sdk/dist/svm/intent.d.ts Decodes a Portal CalldataWithAccounts envelope (the form of every SVM route.calls[].data) into the wrapped instruction data and its account list. Accepts the envelope as raw bytes, 0x-hex (the viem Hex a call carries), or base64. Throws on a truncated / malformed envelope.

encodePortalCalldataWithAccounts

Function · sdk/dist/svm/intent.d.ts Encodes a Portal CalldataWithAccounts envelope - the exact inverse of decodePortalCalldataWithAccounts, sharing its codec byte-for-byte (both are built from the same field list above), so encoder and decoder cannot drift apart. This is what a route Call.data for a staged SVM Sauce execution looks like on the wire.

extractSvmSettleFromCalls

Function · sdk/dist/svm/intent.d.ts Return the first recognized raw-engine settlement in Portal envelopes, or null. Staged identity depends on each call’s independently trusted pin. The caller must also require a readable target matching v12SvmEngineProgramId(), validate gate/account roles, and inspect every other call. Kitchen cook envelopes are not handled here.

extractSvmSettleFromIntent

Function · sdk/dist/svm/intent.d.ts Inspect the route’s calls with the same trust boundaries as extractSvmSettleFromCalls.

PortalAccountMeta

Interface · sdk/dist/svm/intent.d.ts One attached account, as the Portal SerializableAccountMeta struct serializes it.

PortalCalldataWithAccounts

Interface · sdk/dist/svm/intent.d.ts The decoded Portal CalldataWithAccounts envelope: the wrapped CPI instruction data and its accounts.

PortalCalldataWithAccountsInput

Interface · sdk/dist/svm/intent.d.ts Input to encodePortalCalldataWithAccounts - the mirror of PortalCalldataWithAccounts.

BytesInput

Type · sdk/dist/svm/intent.d.ts An opaque byte payload: Uint8Array as-is; a 0x-prefixed hex string (the viem Hex form route.calls[].data uses); or a base64 string (the Solana convention) for anything not 0x-prefixed. A BARE STRING IS BASE64 HERE. For an address, use UniversalAddressInput - same three carriage forms, but a bare string there is base58, and the two must never be handed to the same reader.

UniversalAddressInput

Type · sdk/dist/svm/intent.d.ts A 32-byte universal address, in the forms one arrives in: raw bytes, 0x-hex (what buildSauceSvmCall emits into route.calls[].target), or the base58 program id itself. Deliberately NOT BytesInput, whose bare-string form is base64 - only a branded Address may be spent as the base58 form, so an unvalidated string does not typecheck and the two encodings cannot be confused at a call site.

SvmIntentCallLike

Interface · sdk/dist/svm/intent.d.ts An intent call, duck-typed: only data (the Portal envelope) is required; target (the callee program) is carried through when present. Matches eco-solver’s Call / persisted IntentCall (both carry data as viem Hex).

SvmIntentLike

Interface · sdk/dist/svm/intent.d.ts An intent, duck-typed to just the SVM route calls this reads.

ExtractSvmSettleOptions

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

ExtractedSvmSettle

Type · sdk/dist/svm/intent.d.ts The extracted settle for a call: the full verifySvmSettleExecution verdict (resolved accounts and the genuine / verifiedBy genuineness fields), extended with the call’s index and callee.

SvmSettleTarget

Type · sdk/dist/svm/intent.d.ts The callee of an extracted settle - three states a caller must keep apart. program: the call’s target, resolved to a program id to compare against the engine you trust. absent: the call carried no target at all. unreadable: it carried one that is not a 32-byte universal address, so there is nothing to compare it to. Collapsing unreadable into absent is the bypass this shape exists to prevent. A caller may legitimately skip the callee check for a call that named no callee; skipping it because the callee it named was garbage accepts a settle whose callee is unknown. Only program is ever safe to clear.