Skip to content

feat(payment): support muxed M... addresses, 64-hex hash memos, and 28-byte UTF-8 memo validation - #984

Merged
k-deejah merged 1 commit into
Sorokit:mainfrom
area523ufo:fix/payment-flow-muxed-memo-hash-968
Oct 22, 2026
Merged

k-deejah merged 1 commit into
Sorokit:mainfrom
area523ufo:fix/payment-flow-muxed-memo-hash-968

Conversation

@area523ufo

Copy link
Copy Markdown

Summary

Adds full validation support for Stellar muxed accounts (M...), 64-character hex hash memos, and 28-byte UTF-8 text memo limits in src/lib/utils.ts and src/components/TransactionPanel.tsx, along with end-to-end payment flow tests.

Changes

  • Updated isValidStellarAddress and validateMemo in src/lib/utils.ts to validate G... (56-char) and M... (69-char muxed) Base32 addresses, 28-byte UTF-8 text memos (TextEncoder byte length), 64-bit unsigned id memos, and 64-char hex hash/return memos.
  • Added memo type selector (text / id / hash) and live UTF-8 byte counter (N/28 bytes) in src/components/TransactionPanel.tsx.
  • Added comprehensive tests in src/__tests__/payment-flow.test.tsx and src/lib/utils.test.ts (38/38 passing).

Closes #968
Closes #956

@area523ufo
area523ufo force-pushed the fix/payment-flow-muxed-memo-hash-968 branch from 8445430 to 62a7e6b Compare October 15, 2026 21:04
@k-deejah
k-deejah merged commit 01fc288 into Sorokit:main Oct 22, 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

Development

Successfully merging this pull request may close these issues.

Add muxed account payment and memo hash validation tests in payment-flow.test.tsx Support Muxed Accounts (MED...) and fix stroop rounding in utils.ts

2 participants