Skip to content

fix: address #902, #903, #904, #905 - #951

Merged
Kingsman-99 merged 4 commits into
Stellar-split:mainfrom
Mac-5:drips/902-903-904-905
Sep 28, 2026
Merged

Kingsman-99 merged 4 commits into
Stellar-split:mainfrom
Mac-5:drips/902-903-904-905

Conversation

@Mac-5

@Mac-5 Mac-5 commented Sep 27, 2026

Copy link
Copy Markdown

Summary

fix: address #902, #903, #904, #905

What was solved

#902 — Implement cross-chain payment bridge client — Ethereum/Solana to Stellar

Implement a cross-chain payment bridge client that moves payments from Ethereum and Solana into Stellar, extending the existing src/bridge.ts surface with core bridging functionality, event handling, and tests.

Addressed:

  • Changed: src/adapters/types.ts
  • Implement core cross-chain bridge client functionality for Ethereum/Solana -> Stellar payments
  • Add proper event handling (emission/subscription of bridge lifecycle events)
  • Write comprehensive tests covering the new bridge client behavior

#903 — Add SDK metrics export in Prometheus format

Implement a Prometheus-format metrics exporter for the SDK, exposing collected SDK metrics via a Prometheus text exposition endpoint/serializer with proper event handling and tests.

Addressed:

  • Changed: src/telemetry.ts, docs/TELEMETRY_HOOKS.md
  • Implement core Prometheus metrics export functionality for SDK metrics
  • Add proper event handling for metric collection/updates
  • Write comprehensive tests covering the exporter and event handling

#904 — Implement transaction builder helper for complex multi-op invoices

Add a transaction builder helper that composes complex multi-operation invoices into a single Stellar transaction, with event handling hooks and comprehensive tests. The issue is broad, so the contribution should stay focused on a new builder module plus its test file, following existing patterns in src/builder/OperationBuilder.ts and src/tests/.

Addressed:

  • Changed: src/builder/OperationBuilder.ts, src/tests/invoiceBatchProcessor.test.ts, src/adapters/types.ts
  • Implement core transaction builder helper for composing multi-op invoices
  • Add proper event handling (emit lifecycle events for build/add/complete)
  • Write comprehensive tests covering multi-op composition and event emission

#905 — Add optional request deduplication by nonce

Add an optional nonce-based request deduplication capability to the SDK so callers can prevent duplicate submission of the same logical request. The feature should be opt-in (disabled by default to preserve existing behavior), expose a small dedup utility/manager, integrate with the existing request/broadcast path, and be covered by tests. Scope is limited to deduplication by nonce; no unrelated refactors, dependency additions, or changes to existing public behavior when the option is off.

Addressed:

  • Changed: src/broadcaster.ts, src/cache.ts, src/adapters/types.ts
  • Implement optional (opt-in) request deduplication keyed by nonce; default behavior must remain unchanged when disabled
  • Provide core dedup functionality (track seen nonces, detect duplicates, configurable TTL/eviction or capacity)
  • Add proper event handling/emission for dedup outcomes (e.g. duplicate detected / request accepted) consistent with existing event patterns

Changes

  • src/adapters/types.ts (modify)
  • src/telemetry.ts (modify)
  • docs/TELEMETRY_HOOKS.md (modify)
  • src/builder/OperationBuilder.ts (modify)
  • src/__tests__/invoiceBatchProcessor.test.ts (modify)
  • src/broadcaster.ts (modify)
  • src/cache.ts (modify)

Approach

  1. Implement cross-chain payment bridge client — Ethereum/Solana to Stellar #902 — Implement cross-chain payment bridge client — Ethereum/Solana to Stellar (Changed: src/adapters/types.ts)
  2. Add SDK metrics export in Prometheus format #903 — Add SDK metrics export in Prometheus format (Changed: src/telemetry.ts, docs/TELEMETRY_HOOKS.md)
  3. Implement transaction builder helper for complex multi-op invoices #904 — Implement transaction builder helper for complex multi-op invoices (Changed: src/builder/OperationBuilder.ts, src/tests/invoiceBatchProcessor.test.ts, src/adapters/types.ts)
  4. Add optional request deduplication by nonce #905 — Add optional request deduplication by nonce (Changed: src/broadcaster.ts, src/cache.ts, src/adapters/types.ts)

Issues

Closes #902
Closes #903
Closes #904
Closes #905

@drips-wave

drips-wave Bot commented Sep 27, 2026

Copy link
Copy Markdown

@Mac-5 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

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