Skip to content

feat: implement issues #882 #883 #884 #885 - #901

Merged
Kingsman-99 merged 3 commits into
Stellar-split:mainfrom
kurehkim334-lang:feat/issues-882-883-884-885
Sep 28, 2026
Merged

Kingsman-99 merged 3 commits into
Stellar-split:mainfrom
kurehkim334-lang:feat/issues-882-883-884-885

Conversation

@kurehkim334-lang

Copy link
Copy Markdown
Contributor

#882 - Add MockStellarSplitClient (src/mock/index.ts)

  • Full in-memory StellarSplitClient interface implementation
  • reset(), setInvoice(), getCallHistory(), simulateEvent()
  • subscribeToInvoice() returns unsubscribe fn (real client parity)
  • subscribeInvoice() returns Subscription object (test convenience)
  • Exported from ./mock entry point

#883 - Add ConfigurationError with field/value/hint (src/configValidator.ts)

  • ConfigurationError class with structured field, value, hint fields
  • validateConfigStrict(): rpcUrl must be https, contractId must be 56-char C-address, network must be testnet|mainnet, passphrase must match network when both provided
  • NETWORK_PASSPHRASE_MAP exported for testnet/mainnet constants

#884 - Add React hooks package (src/react/index.tsx)

  • StellarSplitProvider context provider
  • useInvoice(id): data/loading/error/refetch
  • useCreatorInvoices(creator, filter): data/loading/error/hasMore/loadMore
  • useProtocolStats(): data/loading/error
  • useInvoiceStream(id): latestEvent/isConnected/error with auto-cleanup
  • Exported from ./react entry point

#885 - Add SDK telemetry module (src/telemetryModule.ts)

  • StellarSplitTelemetry: opt-in (disabled by default)
  • Per-method callCount/errorCount/p50/p95/p99 latency
  • getMetrics(), resetMetrics(), flush(), destroy()
  • Periodic flush to endpoint when configured
  • withTelemetry() wrapper helper
  • Exported from ./telemetry entry point

Tests: 103 tests, all passing (34 mock + 28 configValidator + 23 telemetry + 18 react)
Types: zero new TypeScript errors introduced
Build: new entry points added to tsup.config.ts and package.json exports

Closes
closes #882
closes #883
closes #884
closes #885

…lit#884 Stellar-split#885

Stellar-split#882 - Add MockStellarSplitClient (src/mock/index.ts)
  - Full in-memory StellarSplitClient interface implementation
  - reset(), setInvoice(), getCallHistory(), simulateEvent()
  - subscribeToInvoice() returns unsubscribe fn (real client parity)
  - subscribeInvoice() returns Subscription object (test convenience)
  - Exported from ./mock entry point

Stellar-split#883 - Add ConfigurationError with field/value/hint (src/configValidator.ts)
  - ConfigurationError class with structured field, value, hint fields
  - validateConfigStrict(): rpcUrl must be https, contractId must be
    56-char C-address, network must be testnet|mainnet, passphrase
    must match network when both provided
  - NETWORK_PASSPHRASE_MAP exported for testnet/mainnet constants

Stellar-split#884 - Add React hooks package (src/react/index.tsx)
  - StellarSplitProvider context provider
  - useInvoice(id): data/loading/error/refetch
  - useCreatorInvoices(creator, filter): data/loading/error/hasMore/loadMore
  - useProtocolStats(): data/loading/error
  - useInvoiceStream(id): latestEvent/isConnected/error with auto-cleanup
  - Exported from ./react entry point

Stellar-split#885 - Add SDK telemetry module (src/telemetryModule.ts)
  - StellarSplitTelemetry: opt-in (disabled by default)
  - Per-method callCount/errorCount/p50/p95/p99 latency
  - getMetrics(), resetMetrics(), flush(), destroy()
  - Periodic flush to endpoint when configured
  - withTelemetry() wrapper helper
  - Exported from ./telemetry entry point

Tests: 103 tests, all passing (34 mock + 28 configValidator + 23 telemetry + 18 react)
Types: zero new TypeScript errors introduced
Build: new entry points added to tsup.config.ts and package.json exports
@drips-wave

drips-wave Bot commented Sep 25, 2026

Copy link
Copy Markdown

@kurehkim334-lang 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 590d297 into Stellar-split:main Sep 28, 2026
2 checks passed
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