Skip to content

feat(mbe): route EdDSA key generation to MPCv2 from the tss settings - #287

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

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

Conversation

@Marzooqa

@Marzooqa Marzooqa commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

What

  • For EdDSA TSS coins, handleGenerateWallet reads the enterprise's wallet creation multiSigTypeVersion from GET /api/v2/tss/settings (the same setting and call BitGoJS uses in keychains.createMpc and the ECDSA external signer path).
    • MPCv2 -> the SDK gets eddsaMPCv2Callbacks (createEddsaMPCv2KeyGenCallbacks)
    • anything else -> eddsaCallbacks, the existing MPCv1 flow
  • ECDSA and onchain generation are unchanged (ECDSA never looks up the setting).
  • No new request field: the caller does not choose the MPC version.

Why

  • WCI-918 of the WCI-888 plan. We want to end up on MPCv2 only. Because the version comes from the server-side setting, flipping it is a server-side change with no Master Express deploy and no change for API callers; dropping MPCv1 later means removing the else-branch.

Dependencies

Test plan

  • 4 new routing tests in generateWallet.test.ts (SDK call stubbed, /tss/settings nocked): MPCv2 setting uses eddsaMPCv2Callbacks only; absent setting keeps eddsaCallbacks; a setting for a different coin family is ignored; ECDSA does not read the setting
  • The two existing EdDSA MPCv1 generate tests now mock /tss/settings (no MPCv2 setting)
  • tsc --noEmit, ESLint, commitlint and the OpenAPI drift check clean; full suite passing (467 tests)

Ticket: WCI-918

@linear-code

linear-code Bot commented Oct 19, 2026

Copy link
Copy Markdown

WCI-918

@Marzooqa
Marzooqa force-pushed the wci-895-me-eddsa-mpcv2-keygen-callbacks branch from 29584b4 to 6620841 Compare October 22, 2026 14:44
@Marzooqa
Marzooqa force-pushed the wci-918-me-eddsa-mpcv2-routing branch from 542a4c6 to 48339ed Compare October 22, 2026 14:44
@Marzooqa
Marzooqa force-pushed the wci-895-me-eddsa-mpcv2-keygen-callbacks branch from 6620841 to 7bdeff8 Compare October 22, 2026 16:53
@Marzooqa
Marzooqa force-pushed the wci-918-me-eddsa-mpcv2-routing branch from 48339ed to 9510242 Compare October 22, 2026 16:54
@Marzooqa
Marzooqa force-pushed the wci-895-me-eddsa-mpcv2-keygen-callbacks branch from 7bdeff8 to 2d2a6c1 Compare October 23, 2026 13:58
@Marzooqa
Marzooqa force-pushed the wci-918-me-eddsa-mpcv2-routing branch from 9510242 to 0c88fc7 Compare October 23, 2026 13:58
For EdDSA TSS coins, read the enterprise's wallet creation multiSigTypeVersion from
/api/v2/tss/settings (the setting BitGoJS uses) and hand the SDK the EdDSA MPCv2 callbacks when
it is MPCv2, MPCv1 otherwise. Moving to MPCv2 only is then a server-side change.

Ticket: WCI-918

Co-Authored-By: Claude <noreply@anthropic.com>
@Marzooqa
Marzooqa force-pushed the wci-918-me-eddsa-mpcv2-routing branch from 0c88fc7 to a76dfb7 Compare October 23, 2026 14:12
@Marzooqa
Marzooqa force-pushed the wci-895-me-eddsa-mpcv2-keygen-callbacks branch from 2d2a6c1 to 849d1b3 Compare October 23, 2026 14:12
@Marzooqa Marzooqa changed the title feat(me): add multisigTypeVersion routing for EdDSA MPCv2 key gen feat(mbe): route EdDSA key generation to MPCv2 from the tss settings Oct 23, 2026
@Marzooqa
Marzooqa marked this pull request as ready for review October 23, 2026 14:21
@Marzooqa
Marzooqa requested review from a team as code owners October 23, 2026 14:21

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Claude Code Review

This repository is configured for manual code reviews. Comment @claude review for a one-time review, or @claude review always to subscribe this PR to a review on every future push.

Tip: disable this comment in your organization's Code Review settings.

@Marzooqa
Marzooqa requested a review from danielpeng1 October 23, 2026 14:21

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.

3 participants