Skip to content

fix(sdk-core): remove ECDSA guard on tssSettings fetch in generateCustodialMpcWallet#9247

Draft
bitgo-ai-agent-dev[bot] wants to merge 1 commit into
masterfrom
wci-160-remove-ecdsa-guard-custodial-mpc
Draft

fix(sdk-core): remove ECDSA guard on tssSettings fetch in generateCustodialMpcWallet#9247
bitgo-ai-agent-dev[bot] wants to merge 1 commit into
masterfrom
wci-160-remove-ecdsa-guard-custodial-mpc

Conversation

@bitgo-ai-agent-dev

Copy link
Copy Markdown

Summary

  • Moves the tssSettings fetch in generateCustodialMpcWallet outside the ECDSA guard so both ECDSA and EdDSA custodial wallets read custodialMultiSigTypeVersion from TSS settings
  • The determineEcdsaMpcWalletVersion call (which sets walletVersion 5/6) remains ECDSA-only since those versions are EVM-specific
  • EdDSA reads the setting for feature-gate consistency; BGMS enforces the actual gate server-side (WCI-527)

Why

Previously, generateCustodialMpcWallet gated the tssSettings fetch behind getMPCAlgorithm() === 'ecdsa', meaning EdDSA custodial wallets never read custodialMultiSigTypeVersion. This made the enable-eddsa-mpcv2 Flipt flag a no-op on the client side.

Test plan

  • Updated existing should create a new TSS custodial wallet test (tsol/EdDSA) to mock the now-required tss/settings endpoint
  • Added custodialMultiSigTypeVersion: 'MPCv2' to the EdDSA MPCv2 beforeEach tssSettings fixture
  • Added new test: should create a new tsol TSS EdDSA MPCv2 custodial wallet covering the EdDSA custodial path when custodialMultiSigTypeVersion is set

Dependencies

Requires WCI-527 — BGMS must populate custodialMultiSigTypeVersion for EdDSA coin families before this client-side read has any effect.

Fixes WCI-160

🤖 Generated with Ralph

@bitgo-ai-agent-dev bitgo-ai-agent-dev Bot requested review from a team as code owners July 14, 2026 08:28
@bitgo-ai-agent-dev bitgo-ai-agent-dev Bot marked this pull request as draft July 14, 2026 08:28
@linear-code

linear-code Bot commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

WCI-160

@bitgo-ai-agent-dev bitgo-ai-agent-dev Bot force-pushed the wci-160-remove-ecdsa-guard-custodial-mpc branch from 76ad613 to b920a48 Compare July 14, 2026 08:28

@kisslove-dewangan kisslove-dewangan 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.

pls fix ci, rest lgtm

…todialMpcWallet

Move the tssSettings fetch outside the ECDSA guard in
generateCustodialMpcWallet so EdDSA custodial wallets also read
custodialMultiSigTypeVersion. The determineEcdsaMpcWalletVersion
call remains ECDSA-only since walletVersion 5/6 is EVM-specific.

This ensures the enable-eddsa-mpcv2 Flipt flag is honoured on the
client side once BGMS populates custodialMultiSigTypeVersion for
EdDSA coin families (WCI-527).

Ticket: WCI-160
Session-Id: a46bd88a-d2ba-4932-b622-3c84b317d929
Task-Id: 28db1331-4668-4d2c-a035-9d5eccce8861
@bitgo-ai-agent-dev bitgo-ai-agent-dev Bot force-pushed the wci-160-remove-ecdsa-guard-custodial-mpc branch 2 times, most recently from fae469e to c71aab4 Compare July 14, 2026 12:13
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