Skip to content

fix: harden Stellar network, signing, amount, and offline-storage handling - #931

Merged
llinsss merged 2 commits into
DogStark:mainfrom
vrickish:vrick_issue_853_854_855_868
Aug 31, 2026
Merged

fix: harden Stellar network, signing, amount, and offline-storage handling#931
llinsss merged 2 commits into
DogStark:mainfrom
vrickish:vrick_issue_853_854_855_868

Conversation

@vrickish

Copy link
Copy Markdown
Contributor

Closes #853

Closes #854

Closes #855

Closes #868

What does this PR do?

…dling

## Closes DogStark#853 DogStark#854 DogStark#855 DogStark#868

### What does this PR do?

* DogStark#853 — Single validated Stellar network config (src/lib/blockchain/network.ts) drives Horizon URL, passphrase, explorer, and friendbot together; validateNetworkConfig rejects testnet/mainnet mixing and sendPayment refuses wallets from a different network.

* DogStark#854 — Pre-signing validation (src/utils/transactionValidation.ts) uses StrKey.isValidEd25519PublicKey for destinations and byte-based memo checks (28-byte limit, control chars, ambiguous 64-hex hashes); TransactionSigning now uses it.

* DogStark#855 — Stroop-safe decimal handling (src/utils/stellarAmounts.ts) replaces float arithmetic in TransactionSigning and walletBalance; min/max/precision/rounding boundaries are tested.

* DogStark#868 — Offline storage quota handling (src/lib/offline): estimates quota, handles QuotaExceededError, evicts cache-then-records (never queued mutations), and surfaces StoragePressureBanner recovery feedback.

* Tests: new jest suites for network config, amount/transaction validation, and storage manager; walletService.test.ts now runs and covers the cross-network guard. docs/security.md documents the new guards.
@drips-wave

drips-wave Bot commented Aug 26, 2026

Copy link
Copy Markdown

@vrickish 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

@llinsss
llinsss merged commit 5f67d86 into DogStark:main Aug 31, 2026
4 of 7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment