Skip to content

fix: address #914, #915, #916, #917 - #959

Merged
Kingsman-99 merged 5 commits into
Stellar-split:mainfrom
dami-005:drips/914-915-916-917
Sep 28, 2026
Merged

Kingsman-99 merged 5 commits into
Stellar-split:mainfrom
dami-005:drips/914-915-916-917

Conversation

@dami-005

Copy link
Copy Markdown

Summary

fix: address #914, #915, #916, #917

What was solved

#914 — Implement multi-signature transaction builder

Implement a multi-signature transaction builder in the Stellar SDK codebase, providing core functionality to construct transactions requiring multiple signers, with proper event handling and comprehensive tests. The feature should integrate with existing builder patterns (e.g., src/builder/OperationBuilder.ts) and transaction construction utilities, exposing a clean API for adding signers, setting thresholds/weights, and assembling the final multi-sig transaction.

Addressed:

  • Changed: src/builder/OperationBuilder.ts, src/accounts/AccountSignerWeightCalculator.ts
  • Implement core multi-signature transaction builder functionality (construct transactions requiring multiple signers)
  • Add proper event handling for builder lifecycle (e.g., signer added, threshold set, transaction built)
  • Write comprehensive tests covering the new builder behavior

#915 — Add optional analytics dashboard data export

Add an optional analytics dashboard data export capability to the SDK. The issue is intentionally high-level, so the contribution should introduce a focused, opt-in export module (e.g. serializing analytics/dashboard metrics to a portable format) with event handling hooks and accompanying tests, while keeping the feature strictly optional so existing behavior is unchanged.

Addressed:

  • Changed: src/analyticsDashboardExporter.ts, src/auditLogger.ts
  • Implement core functionality for optional analytics dashboard data export
  • Add proper event handling for export lifecycle (start/complete/error)
  • Write comprehensive tests covering the export functionality

#916 — Implement SDK state machine validator

Implement a focused SDK state machine validator that enforces legal state transitions for SDK lifecycle states, with event handling hooks and comprehensive unit tests. The issue is broad, so scope is limited to a single validator module plus its test file, following existing src/ module and tests patterns.

Addressed:

  • Changed: src/stateMachineValidator.ts
  • Implement core state machine validator functionality (states, transitions, validation of allowed/denied transitions)
  • Add proper event handling (emit/callback hooks on state transitions and validation failures)
  • Write comprehensive tests covering valid transitions, invalid transitions, event emission, and edge cases

#917 — Add invoice notification subscription manager

Implement an invoice notification subscription manager in the Stellar SDK codebase, providing core subscription management functionality, event handling for invoice notifications, and comprehensive tests, while keeping TypeScript and ESLint clean.

Addressed:

  • Changed: src/tests/invoiceBatchProcessor.test.ts, src/broadcaster.ts, src/auditLogger.ts
  • Implement core invoice notification subscription manager functionality
  • Add proper event handling for invoice notifications
  • Write comprehensive tests covering the new functionality

Changes

  • src/builder/OperationBuilder.ts (modify)
  • src/accounts/AccountSignerWeightCalculator.ts (modify)
  • src/analyticsDashboardExporter.ts (create)
  • src/auditLogger.ts (modify)
  • src/stateMachineValidator.ts (modify)
  • src/__tests__/invoiceBatchProcessor.test.ts (modify)
  • src/broadcaster.ts (modify)

Approach

  1. Implement multi-signature transaction builder #914 — Implement multi-signature transaction builder (Changed: src/builder/OperationBuilder.ts, src/accounts/AccountSignerWeightCalculator.ts)
  2. Add optional analytics dashboard data export #915 — Add optional analytics dashboard data export (Changed: src/analyticsDashboardExporter.ts, src/auditLogger.ts)
  3. Implement SDK state machine validator #916 — Implement SDK state machine validator (Changed: src/stateMachineValidator.ts)
  4. Add invoice notification subscription manager #917 — Add invoice notification subscription manager (Changed: src/tests/invoiceBatchProcessor.test.ts, src/broadcaster.ts, src/auditLogger.ts)

Issues

Closes #914
Closes #915
Closes #916
Closes #917

@drips-wave

drips-wave Bot commented Sep 27, 2026

Copy link
Copy Markdown

@dami-005 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@Kingsman-99
Kingsman-99 merged commit b2b6468 into Stellar-split:main Sep 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants