Skip to content

feat(sdk-core): define EdDSA MPCv2 key gen callback types#9194

Merged
Marzooqa merged 1 commit into
masterfrom
wci-894-define-eddsa-mpcv2-keygen-callback-types
Jul 8, 2026
Merged

feat(sdk-core): define EdDSA MPCv2 key gen callback types#9194
Marzooqa merged 1 commit into
masterfrom
wci-894-define-eddsa-mpcv2-keygen-callback-types

Conversation

@bitgo-ai-agent-dev

Copy link
Copy Markdown

What

  • Added EddsaMPCv2SignedMessage interface to iWallets.ts — the PGP-signed DKG message type ({ message: string; signature: string }) produced by Silence Labs MPS parties
  • Added four per-round callback type definitions: EddsaMPCv2KeyGenInitializeCallback, EddsaMPCv2KeyGenRound1Callback, EddsaMPCv2KeyGenRound2Callback, EddsaMPCv2KeyGenFinalizeCallback
  • Added EddsaMPCv2KeyGenCallbacks interface bundling all four callbacks
  • Exported all new types from modules/sdk-core/src/index.ts

Why

  • EdDSA MPCv2 (Silence Labs) wallet key generation requires an external signer pattern, where the SDK orchestrator (createKeychainsWithExternalSigner, WCI-916) calls back into the external signer (ME/AWM) at each DKG round
  • These callback types define the stable interface contract between the SDK and external signer implementations, enabling WCI-916 (orchestrator) and WCI-895 (ME callback factory) to proceed in parallel
  • Follows the established ECDSA MPCv2 pattern (EcdsaMPCv2KeyGenCallbacks, added in WCN-682 / PR feat: add external signer support for ECDSA and EdDSA TSS key generation #9128)

Test plan

  • Type-only change — verified by TypeScript compilation in downstream usage in createKeychainsWithExternalSigner (WCI-916)
  • No runtime behavior changed

Ticket: WCI-894

@linear-code

linear-code Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

WCI-894

@bitgo-ai-agent-dev bitgo-ai-agent-dev Bot force-pushed the wci-894-define-eddsa-mpcv2-keygen-callback-types branch from 17db4a4 to c511afa Compare July 7, 2026 12:11
Add EddsaMPCv2KeyGenCallbacks interface and per-round callback type
definitions to iWallets.ts, following the ECDSA MPCv2 pattern. Also
define EddsaMPCv2SignedMessage (the PGP-signed DKG message type) and
export all new types from index.ts.

These types are the contract between the SDK orchestrator
(createKeychainsWithExternalSigner, WCI-916) and external signer
implementations (ME callback factory, WCI-895). Defining them first
allows downstream tickets to reference a stable interface.

Ticket: WCI-894
Session-Id: 5618dd06-6b18-4b4d-a0f3-4e8efd3271ca
Task-Id: 51b30ada-7aea-4ec7-a83e-96900abaaeeb
@bitgo-ai-agent-dev bitgo-ai-agent-dev Bot force-pushed the wci-894-define-eddsa-mpcv2-keygen-callback-types branch 2 times, most recently from 3bacf25 to 248bbfd Compare July 7, 2026 13:36
@Marzooqa Marzooqa marked this pull request as ready for review July 7, 2026 17:12
@Marzooqa Marzooqa requested review from a team as code owners July 7, 2026 17:12

@davidkaplanbitgo davidkaplanbitgo left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM - just interfaces that match the others

@Marzooqa Marzooqa merged commit 1f22c84 into master Jul 8, 2026
36 of 38 checks passed
@Marzooqa Marzooqa deleted the wci-894-define-eddsa-mpcv2-keygen-callback-types branch July 8, 2026 06:39
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.

2 participants