assertIsNonDivisibleSequentialTransactionPlanResult

function assertIsNonDivisibleSequentialTransactionPlanResult<
    TContext,
    TTransactionMessage,
    TSingle,
>(
    plan,
): asserts plan is Readonly<{
    divisible: boolean;
    kind: 'sequential';
    plans: TransactionPlanResult<
        TContext,
        TTransactionMessage,
        TSingle
    >[];
    planType: 'transactionPlanResult';
}> & { divisible: false };

Asserts that the given transaction plan result is a non-divisible SequentialTransactionPlanResult.

A non-divisible sequential result indicates that the transactions were executed atomically — usually in a transaction bundle.

Type Parameters

Type ParameterDefault type
TContext extends TransactionPlanResultContextTransactionPlanResultContext
TTransactionMessage extends TransactionMessage & TransactionMessageWithFeePayer<string>TransactionMessage & TransactionMessageWithFeePayer<string>
TSingle extends SingleTransactionPlanResult<TContext, TTransactionMessage>SingleTransactionPlanResult<TContext, TTransactionMessage>

Parameters

ParameterTypeDescription
planTransactionPlanResult<TContext, TTransactionMessage, TSingle>The transaction plan result to assert.

Returns

asserts plan is Readonly<{ divisible: boolean; kind: "sequential"; plans: TransactionPlanResult<TContext, TTransactionMessage, TSingle>[]; planType: "transactionPlanResult" }> & { divisible: false }

Throws

Throws a SolanaError with code SOLANA_ERROR__INSTRUCTION_PLANS__UNEXPECTED_TRANSACTION_PLAN_RESULT if the result is not a non-divisible sequential transaction plan result.

Example

const result: TransactionPlanResult = nonDivisibleSequentialTransactionPlanResult([resultA, resultB]);
 
assertIsNonDivisibleSequentialTransactionPlanResult(result);
// Transactions were executed atomically.

See

On this page