flattenTransactionPlanResult

function flattenTransactionPlanResult<
    TContext,
    TTransactionMessage,
    TSingle,
>(result): TSingle[];

Retrieves all individual SingleTransactionPlanResult instances from a transaction plan result tree.

This function recursively traverses any nested structure of transaction plan results and extracts all the single results they contain. It's useful when you need to access all the individual transaction results, regardless of their organization in the result tree (parallel or sequential).

Type Parameters

Type ParameterDefault typeDescription
TContext extends TransactionPlanResultContextTransactionPlanResultContextThe type of the context object that may be passed along with results
TTransactionMessage extends TransactionMessage & TransactionMessageWithFeePayer<string>TransactionMessage & TransactionMessageWithFeePayer<string>The type of the transaction message
TSingle extends SingleTransactionPlanResult<TContext, TTransactionMessage>SingleTransactionPlanResult<TContext, TTransactionMessage>The type of single transaction plan results in this tree

Parameters

ParameterTypeDescription
resultTransactionPlanResult<TContext, TTransactionMessage, TSingle>The transaction plan result to extract single results from

Returns

TSingle[]

An array of all single transaction plan results contained in the tree

Example

const result = parallelTransactionPlanResult([
  sequentialTransactionPlanResult([resultA, resultB]),
  nonDivisibleSequentialTransactionPlanResult([resultC, resultD]),
  resultE,
]);
 
const singleResults = flattenTransactionPlanResult(result);
// Array of `SingleTransactionPlanResult` containing:
// resultA, resultB, resultC, resultD and resultE.

See

On this page