Skip to content

Implement multi-signature Soroban contract execution workflow #522

Description

@Just-Bamford

Description

Problem

Contract execution workflows currently assume a single signing path. Applications requiring N-of-M authorization must manually coordinate signature collection and construct the final transaction.

This makes multi-party contract execution difficult to implement consistently.

Solution

Implement a contract execution workflow that separates transaction preparation, signing-request creation, signature collection, validation, and final submission.

The workflow should support configurable signer thresholds and prevent execution until the required valid signatures have been collected.

Acceptance Criteria

  • Multi-signature contract execution infrastructure is implemented.
  • N-of-M signer configuration is supported.
  • Signing requests contain a canonical transaction payload.
  • Signatures are validated before being accepted.
  • Duplicate signer submissions are rejected.
  • Signature collection status is queryable.
  • Execution is blocked until the threshold is satisfied.
  • Invalid signatures do not count toward the threshold.
  • Expired signing requests cannot be executed.
  • Tests cover threshold satisfaction, invalid signatures, duplicate signatures, expiration, and execution.
  • Exported through src/soroban/index.ts and src/index.ts.

Note for Contributors

Reuse existing transaction signing and verification utilities. Do not introduce an independent signing format unless there is a documented protocol requirement.

Metadata

Metadata

Assignees

Labels

Stellar WaveIssues in the Stellar wave programbackendBackend / SDK logicenhancementNew feature or requestsmart-contractSoroban contract related

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions