Extra labels: stellar, feature, interop
Tier: M (2-4 days) | Type: feature
Context. Wraith memos today are opaque bytes. Partners (Reflector, Soroswap) want a structured schema so they can attach reason strings / invoice IDs. Ship a versioned MessagePack (or similar) schema + a decode helper.
Scope.
- Schema v1:
{ version, kind, data } where kind is a small enum.
- Encoder + decoder in
src/chains/stellar/memo/schema.ts.
- Backwards compat: if memo is not schema-shaped, decode returns raw bytes.
- Docs land via a separate docs issue.
Acceptance.
Files. src/chains/stellar/memo/schema.ts (new), test/chains/stellar/memo/schema.test.ts (new).
Extra labels:
stellar,feature,interopTier: M (2-4 days) | Type: feature
Context. Wraith memos today are opaque bytes. Partners (Reflector, Soroswap) want a structured schema so they can attach reason strings / invoice IDs. Ship a versioned MessagePack (or similar) schema + a decode helper.
Scope.
{ version, kind, data }wherekindis a small enum.src/chains/stellar/memo/schema.ts.Acceptance.
kindsFiles.
src/chains/stellar/memo/schema.ts(new),test/chains/stellar/memo/schema.test.ts(new).