Skip to content

Negotiate encrypted payload schema versions#1044

Closed
Dreamstore2046 wants to merge 2 commits into
Remitwise-Org:mainfrom
Dreamstore2046:codex/remitwise-enc-version-negotiation
Closed

Negotiate encrypted payload schema versions#1044
Dreamstore2046 wants to merge 2 commits into
Remitwise-Org:mainfrom
Dreamstore2046:codex/remitwise-enc-version-negotiation

Conversation

@Dreamstore2046

Copy link
Copy Markdown

Summary

  • add explicit encrypted payload version dispatch for enc:v1: and enc:v2: prefixes
  • keep enc:v1 export behavior unchanged while allowing importers to accept v2 payloads
  • fail closed on unknown encrypted payload versions with MigrationError::IncompatibleVersion
  • update encrypted payload docs to describe the versioned encoding-only contract

Closes #1032

Validation

  • git diff --check

Notes

  • This Windows environment does not have cargo installed, so I could not run cargo test -p data_migration locally. The PR includes focused tests for v1 compatibility, v2 dispatch, and unknown-version rejection for GitHub Actions to run.
  • Both enc:v1 and enc:v2 remain base64 marker formats only; they do not add on-chain confidentiality.

@Dreamstore2046

Copy link
Copy Markdown
Author

CI follow-up:\n\n- The Soroban Smart Contracts CI is green on the latest push: Build and Test, Lint (unwrap/expect ban), Security Checks, Storage Key Naming, and Gas Benchmarks all pass.\n- I also carried over the minimal reporting/bill-payments compile unblock that lets the workspace get past the existing Batch-B reporting blockers.\n- Batch-B CI Gate still fails, but it now fails in the unrelated amily_wallet all-features test set: 185 amily_wallet tests fail at FamilyWalletClient::init with HostError: Error(Auth, ExistingValue) / rame is already authorized. The data_migration tests and the new �nc:v1/�nc:v2 negotiation changes are covered by the green Soroban CI.\n\nI am stopping short of broadening this PR into a family_wallet auth-test refactor because that failure is outside the encrypted payload version-negotiation scope for #1032.

@Baskarayelu

Copy link
Copy Markdown
Contributor

thanks for the contribution! please get assigned to the issue before raising a PR (no assigned issue is linked to you here). closing as invalid for now 🙏

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 schema-version negotiation for the encrypted payload prefix (enc:v1 → enc:v2) in data_migration

2 participants