-
Notifications
You must be signed in to change notification settings - Fork 87
Implement a secure Stellar memo parser and canonicalisation module #376
Copy link
Copy link
Open
Labels
GrantFox OSSGrantFox Open Source Sponsorship program tagGrantFox Open Source Sponsorship program tagMaybe RewardedIssue may qualify for a reward upon successful completion per campaign rulesIssue may qualify for a reward upon successful completion per campaign rulesThird CampaignOfficial FWC26 campaign issue — eligible for campaign scoring and rewardsOfficial FWC26 campaign issue — eligible for campaign scoring and rewardsadvancedAdvanced difficulty tasks requiring significant domain knowledge and implementation effortAdvanced difficulty tasks requiring significant domain knowledge and implementation effortbackendBackend services, application logic, persistence integration, and server-side functionalityBackend services, application logic, persistence integration, and server-side functionalitystellarStellar network integration, wallet support, on-chain membership, and Stellar-specific functionalityStellar network integration, wallet support, on-chain membership, and Stellar-specific functionalitytype-safetyTypeScript type system improvements and strict type enforcementTypeScript type system improvements and strict type enforcement
Description
Activity
Metadata
Metadata
Assignees
Labels
GrantFox OSSGrantFox Open Source Sponsorship program tagGrantFox Open Source Sponsorship program tagMaybe RewardedIssue may qualify for a reward upon successful completion per campaign rulesIssue may qualify for a reward upon successful completion per campaign rulesThird CampaignOfficial FWC26 campaign issue — eligible for campaign scoring and rewardsOfficial FWC26 campaign issue — eligible for campaign scoring and rewardsadvancedAdvanced difficulty tasks requiring significant domain knowledge and implementation effortAdvanced difficulty tasks requiring significant domain knowledge and implementation effortbackendBackend services, application logic, persistence integration, and server-side functionalityBackend services, application logic, persistence integration, and server-side functionalitystellarStellar network integration, wallet support, on-chain membership, and Stellar-specific functionalityStellar network integration, wallet support, on-chain membership, and Stellar-specific functionalitytype-safetyTypeScript type system improvements and strict type enforcementTypeScript type system improvements and strict type enforcement
Difficulty: Advanced
Type: Feature
Recommended labels (if available in this repo): stellar, backend, type-safety, advanced
Background
Stellar transactions support multiple memo types. GuildPass may eventually need to construct, inspect or validate transaction memos for integrations without each module implementing memo parsing differently.
This issue introduces a standalone memo parser and formatter only. It does not perform transaction submission or network access.
Problem
There is currently no Core utility that provides a strongly typed, canonical representation of supported Stellar memo values with explicit validation rules.
Loose string handling can cause ambiguity between memo types and can allow invalid values to reach later transaction-building code.
Expected Outcome
Build a deterministic Stellar memo module that parses supported memo representations into a discriminated union and formats them back into one canonical representation.
Suggested Implementation
Support Stellar memo concepts such as:
The implementation should:
Acceptance Criteria
none, text, ID, hash and return-hash memo types have explicit typed representations.pnpm typecheckpasses.pnpm buildpasses.pnpm testpasses.Likely Affected Files/Directories
Independence Requirement
This issue must not depend on the Stellar asset parser, wallet validator or any transaction-building issue.