Coda by Ian Macalinao
    Preparing search index...

    Interface InstructionNode<TAccounts, TArguments, TExtraArguments, TRemainingAccounts, TByteDeltas, TDiscriminators, TSubInstructions, TStatus, TProvides, TDisplay>

    A program instruction: its accounts, arguments, byte-delta hints, discriminators, optional status, and optional sub-instructions.

    interface InstructionNode<
        TAccounts extends InstructionAccountNode[] = InstructionAccountNode[],
        TArguments extends InstructionArgumentNode[] = InstructionArgumentNode[],
        TExtraArguments extends
            InstructionArgumentNode[] | undefined =
            | InstructionArgumentNode[]
            | undefined,
        TRemainingAccounts extends
            InstructionRemainingAccountsNode[]
            | undefined = InstructionRemainingAccountsNode[] | undefined,
        TByteDeltas extends
            InstructionByteDeltaNode[]
            | undefined = InstructionByteDeltaNode[] | undefined,
        TDiscriminators extends
            DiscriminatorNode[]
            | undefined = DiscriminatorNode[] | undefined,
        TSubInstructions extends
            SelfInstructionNode[]
            | undefined = SelfInstructionNode[] | undefined,
        TStatus extends
            InstructionStatusNode
            | undefined = InstructionStatusNode | undefined,
        TProvides extends ProvidedNode[]
        | undefined = ProvidedNode[] | undefined,
        TDisplay extends
            InstructionDisplayNode | undefined = InstructionDisplayNode | undefined,
    > {
        accounts: TAccounts;
        arguments: TArguments;
        byteDeltas?: TByteDeltas;
        discriminators?: TDiscriminators;
        display?: TDisplay;
        docs?: Docs;
        extraArguments?: TExtraArguments;
        kind: "instructionNode";
        name: CamelCaseString;
        optionalAccountStrategy?: OptionalAccountStrategy;
        provides?: TProvides;
        remainingAccounts?: TRemainingAccounts;
        status?: TStatus;
        subInstructions?: TSubInstructions;
    }

    Type Parameters

    Index
    accounts: TAccounts

    The accounts the instruction operates on, in order.

    arguments: TArguments

    The serialised arguments of the instruction, in order.

    byteDeltas?: TByteDeltas

    Byte-size adjustments applied when computing rent or buffer size — for instructions that resize accounts.

    discriminators?: TDiscriminators

    Discriminators that distinguish this instruction from others. When multiple are listed, they are combined with a logical AND.

    display?: TDisplay

    Display metadata describing how the instruction is presented.

    docs?: Docs

    Markdown documentation for the instruction.

    extraArguments?: TExtraArguments

    Additional arguments exposed in the generated client API but not serialised on the wire.

    kind: "instructionNode"

    The name of the instruction.

    optionalAccountStrategy?: OptionalAccountStrategy

    How absent optional accounts are represented when serialising the instruction.

    provides?: TProvides

    Named nodes exposed to consumers in the surrounding scope. Each entry pairs with an injectedValueNode that references it by key, so reusable types can pull contextual values without naming siblings directly.

    remainingAccounts?: TRemainingAccounts

    Variable-length tails of accounts appended after the named account slots.

    status?: TStatus

    The lifecycle status of the instruction.

    subInstructions?: TSubInstructions

    Inner instructions invoked through CPI as part of executing this instruction.