Classic Transaction

The ClassicTransaction pipeline is a multi-belt pipeline that covers the entire lifecycle process of a Classic Transaction. It implements the following inner pipelines in sequence:

  1. Build Transaction

  2. Classic Signing Requirements

  3. Sign Transaction

  4. Submit Transaction

Input

type SorobanTransactionPipelineInput = {
  txInvocation: TransactionInvocation
  operations: xdr.Operation[]
  options?: {
    executionPlugins?: SupportedInnerPlugins[]
  }
}
  • txInvocation: A Transaction Invocation object containing the core parameters to build the transaction, such as fee, source account, signers, etc.

  • operations: An array of operations.

  • options: An optional 'options' object with parameters to customize this transaction's execution. Refer to the 'Options' section down below for further details.

Options

The options object provided in the input parameter for a Classic Transaction pipeline execution can be used to customize this execution's behavior accordingly.

  • executionsPlugins: Accepts an array of plugins supported by the Classic Transaction pipeline and its inner pipelines to be used in this single transaction execution. This allows for a single-use customization to be used on target transactions and specific scenarios.

Supported Plugins

As Classic Transaction is composed of inner pipelines, it supports a more robust plugin integration with three possible ways of customizing the pipeline behavior:

Classic Pipeline plugin:

Provided when instantiating the pipeline, plugins that are of type ClassicTransactionPipelineType pipeline or Generic can be used to modify the main pipeline during the preProcess, postProcess or processError phases.

Classic Pipeline Supported plugins:

Provided when instantiating the pipeline, plugins that are of the type of one of the inner pipelines will be included in the inner pipeline during execution.

Execution Plugins:

Provided in the input options, plugins that are of the type of one of the inner pipelines will be included in the inner pipeline only during this single execution.

Last updated