Stellar Plus
  • Welcome
  • Quick Start
  • Welcome
  • Quick Start
  • 🎓Tutorials
    • Issuing your first asset
    • Bulk Payments
    • E2E Certificate of Deposit demo
    • Creating a new contract client
  • 📄Reference
    • Account
      • Base
      • Default Account Handler
      • Freighter Account Handler
    • Asset
      • Classic Asset Handler
      • Stellar Asset Contract Handler
      • Soroban Token Handler
    • Network
    • Contract Clients
      • Certificate of Deposit Client
    • Core
      • Contract Engine
      • Pipelines
        • Build Transaction
        • Classic Signing Requirements
        • Fee Bump
        • Sign Transaction
        • Soroban Auth
        • Simulate Transaction
        • Soroban Get Transaction
        • Submit Transaction
        • Soroban Transaction
        • Classic Transaction
    • Utils
      • Plugins
        • Fee Bump Plugin
        • Channel Accounts Plugin
        • Auto Restore Plugin
        • Profiler Plugin
      • Pipeline
        • Conveyor Belt
        • Multi-belt Pipeline
    • RPC
      • Default RPC Handler
      • Validation Cloud RPC Handler
    • Horizon Handler
Powered by GitBook
On this page
  • Input
  • Output:
  • SignatureRequirement

Was this helpful?

Edit on GitHub
  1. Reference
  2. Core
  3. Pipelines

Classic Signing Requirements

PreviousBuild TransactionNextFee Bump

Last updated 1 year ago

Was this helpful?

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.

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,
}

For further details on Stellar signatures, refer to the .

📄
Signatures and Multisig official documentation