feat(#904): implement multi-chain subscription management with unified billing - #1065
Open
Prozaks wants to merge 1 commit into
Open
Conversation
|
@Prozaks 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! 🚀 |
…with unified billing - Add MultiChainSubscriptionService: chain bindings per subscription, unified billing statements that convert every chain into one currency while keeping native token subtotals, and settlement planning with health-aware cross-chain failover - walletService: add getBalancesAcrossChains() (parallel, per-chain error isolation) and static totalsBySymbol() keeping holdings separated by chain - Add comprehensive tests for MultiChainSubscriptionService and wallet multi-chain balance fetching - Add docs/MULTI_CHAIN_SUBSCRIPTIONS.md with full API reference Closes Smartdevs17#904
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Implements multi-chain subscription management with unified billing across Stellar and EVM chains.
Closes #904
Changes
New:
src/services/multiChainSubscriptionService.tsbuildUnifiedStatement(): converts all chain charges into one currency using injected conversion rates; unpriced tokens are reported explicitly rather than counted as zeroplanSettlement(): health-aware cross-chain payment routing with per-chain error isolationUpdated:
src/services/walletService.tsgetBalancesAcrossChains(): parallel multi-chain balance fetch with per-chain error isolationtotalsBySymbol(): holdings kept separate by chain (same symbol on two chains is not fungible)Tests
src/services/__tests__/multiChainSubscriptionService.test.ts: 313 lines of testssrc/services/__tests__/walletMultiChain.test.ts: 113 lines of multi-chain wallet testsDocumentation
docs/MULTI_CHAIN_SUBSCRIPTIONS.md: full API reference and usage examplesAcceptance Criteria
Technical Scope
Covers:
src/services/walletService.ts,contracts/subscription/src/lib.rs