Classic Signing Requirements

This pipeline is responsible for analyzing a provided transaction to identify which signing thresholds need to be met for each account involved in the envelope according to a Stellar Classic transaction. The process will not analyze Soroban operations therefore it covers the following:

  • Requirements to authorize the use of the envelope source account.

  • Requirements for each classic operation contained in the envelope.

The output will bundle all the requirements in an array of SignatureRequirement.

For further details on Stellar signatures, refer to the Signatures and Multisig official documentation.

Multisignature is currently not supported and should be added soon.

Input

type ClassicSignRequirementsPipelineInput = Transaction | FeeBumpTransaction

The Classic Signing Requirements pipeline accepts either a Transaction or FeeBumpTransaction object. When provided a Fee Bump object, it will only analyze the requirements of the outer envelope.

Output:

type ClassicSignRequirementsPipelineOutput = SignatureRequirement[]

The output directly returns an array of SignatureRequirement objects containing the necessary signatures to validate the transaction according to Stellar classic.

SignatureRequirement

An object of type SignatureRequirement contains a public key and threshold level(low, medium or high) that indicates the required target threshold to authorize a transaction on behalf of that account.

type SignatureRequirement = {
  publicKey: string
  thresholdLevel: SignatureThreshold
}

enum SignatureThreshold {
  low = 1,
  medium = 2,
  high = 3,
}

Last updated