Description — what to implement and the why/impact.
Mergepay relies on structured Stellar transaction memos (MP:<code>) to automatically reconcile and verify on-chain settlements against pending expenses. This issue implements a robust utility for generating, formatting, and parsing memo strings safely according to Stellar memo limits and format specifications.
Context & Requirements — background, constraints, design references, edge cases; grounded in the actual repo (real files, stack, conventions).
Stellar transaction memos have strict character length limits (28 bytes for text memos). This utility must validate code lengths, sanitize input strings, and provide helper functions to extract expense references from incoming transaction payloads.
Acceptance Criteria — a checklist ("- [ ] ...") of specific, testable conditions that define "done".
Implementation Guidance — likely files/modules to touch (use real paths from the repo context) and a suggested approach, without over-prescribing.
- Add tests in
src/lib/__tests__/ alongside existing utility tests.
- Ensure compatibility with
@stellar/stellar-sdk memo classes.
Testing & Validation — how the contributor should prove it works (tests to add/run, manual checks, screenshots for UI).
- Run
npm test to verify all memo unit tests pass successfully.
Submission Guidelines — must open a PR that includes "Closes #"; assignment is required before starting; follow the repo's existing style and conventions.
Wave complexity: Medium
Description — what to implement and the why/impact.
Mergepay relies on structured Stellar transaction memos (
MP:<code>) to automatically reconcile and verify on-chain settlements against pending expenses. This issue implements a robust utility for generating, formatting, and parsing memo strings safely according to Stellar memo limits and format specifications.Context & Requirements — background, constraints, design references, edge cases; grounded in the actual repo (real files, stack, conventions).
Stellar transaction memos have strict character length limits (28 bytes for text memos). This utility must validate code lengths, sanitize input strings, and provide helper functions to extract expense references from incoming transaction payloads.
Acceptance Criteria — a checklist ("- [ ] ...") of specific, testable conditions that define "done".
src/lib/.npm run typecheck,npm run lint, andnpm test.Implementation Guidance — likely files/modules to touch (use real paths from the repo context) and a suggested approach, without over-prescribing.
src/lib/__tests__/alongside existing utility tests.@stellar/stellar-sdkmemo classes.Testing & Validation — how the contributor should prove it works (tests to add/run, manual checks, screenshots for UI).
npm testto verify all memo unit tests pass successfully.Submission Guidelines — must open a PR that includes "Closes #"; assignment is required before starting; follow the repo's existing style and conventions.
Wave complexity: Medium