Build the full execution payload (instructionData + remaining_accounts)
for execute_composable by composing the four primitives in order
(ADR-0030 §1, amended).
Flow:
Forward gate — when isForwardEnabled is true and a
forwardBuilder is supplied, run it with the caller-resolved face to
obtain the forward instruction data + forward-program account slice.
Throws when forward is enabled but no builder is passed — the
orchestrator cannot synthesize a forward instruction. When forward is
disabled, instructionData is an empty buffer and the forward-account
slice is empty (any supplied builder is ignored).
Validation targets — pre and post targets are resolved in parallel
via resolveValidationTargets; each returns [] when the
respective spec is not ProgramCall.
Assembly — assembleComposableRemainingAccounts stamps the
ADR-0016 order [...preTargets, ...forwardAccounts, ...postTargets]
with isSigner: false on every entry (ADR-0008).
Does not derive face — the caller resolves it via
resolveDefaultForwardAmount or a manual override. Does not
append the scheduler fee ATA — the SDK executeComposable facade owns
that (ADR-0016 amended). Callers needing per-step override (CLI flags)
should call the primitives directly.
Build the full execution payload (
instructionData+remaining_accounts) forexecute_composableby composing the four primitives in order (ADR-0030 §1, amended).Flow:
forwardBuilderis supplied, run it with the caller-resolvedfaceto obtain the forward instruction data + forward-program account slice. Throws when forward is enabled but no builder is passed — the orchestrator cannot synthesize a forward instruction. When forward is disabled,instructionDatais an empty buffer and the forward-account slice is empty (any supplied builder is ignored).[]when the respective spec is notProgramCall.[...preTargets, ...forwardAccounts, ...postTargets]withisSigner: falseon every entry (ADR-0008).Does not derive
face— the caller resolves it via resolveDefaultForwardAmount or a manual override. Does not append the scheduler fee ATA — the SDKexecuteComposablefacade owns that (ADR-0016 amended). Callers needing per-step override (CLI flags) should call the primitives directly.