Skip to content

feat(me): add multisigTypeVersion routing for EdDSA MPCv2 key gen - #287

Draft
Marzooqa wants to merge 1 commit into
wci-895-me-eddsa-mpcv2-keygen-callbacksfrom
wci-918-me-eddsa-mpcv2-routing
Draft

Marzooqa wants to merge 1 commit into
wci-895-me-eddsa-mpcv2-keygen-callbacksfrom
wci-918-me-eddsa-mpcv2-routing

Conversation

@Marzooqa

Copy link
Copy Markdown
Contributor

What

  • Add multisigTypeVersion as an optional request parameter to the generate-wallet route codec in src/masterBitgoExpress/routers/generateWalletRoute.ts (MPCv1 or MPCv2, absent = coin default = MPCv1 for backward compatibility)
  • Branch the keyGenCallbacks routing in src/masterBitgoExpress/handlers/handleGenerateWallet.ts:
    • EdDSA + multisigTypeVersion: 'MPCv2' → eddsaMPCv2Callbacks: createEddsaMPCv2KeyGenCallbacks(...) (WCI-895 factory)
    • EdDSA without the flag → existing eddsaCallbacks: createEddsaKeyGenCallbacks(...) (MPCv1, unchanged)
    • ECDSA and onchain paths untouched

Why

  • WCI-918 of the WCI-888 plan: consumers opt into EdDSA MPCv2 by passing multisigTypeVersion: 'MPCv2' on the generate-wallet request; MPCv1 remains the default

Dependencies

Test plan

  • tsc --noEmit clean; ESLint clean
  • Default EdDSA (no flag) still routes to MPCv1 path
  • multisigTypeVersion: 'MPCv2' routes to eddsaMPCv2Callbacks via the factory
  • E2E integration test (WCI-896) exercises the full chain

Ticket: WCI-918

Add multisigTypeVersion as an optional request parameter to the
generate wallet route (MPCv1 or MPCv2, default MPCv1 for backward
compatibility), and branch the keyGenCallbacks routing in
handleGenerateWallet.ts: EdDSA coins with multisigTypeVersion MPCv2
route to the WCI-895 callback factory (eddsaMPCv2Callbacks), while
EdDSA coins without the flag keep the existing MPCv1 path
(eddsaCallbacks) unchanged. ECDSA and onchain paths are untouched.

Ticket: WCI-918
@linear-code

linear-code Bot commented Oct 19, 2026

Copy link
Copy Markdown

WCI-918

This branch has not been deployed

No deployments
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.

1 participant