Skip to content

chore(sdk-lib-mpc): bump @bitgo/wasm-mps to 1.8.2#9101

Draft
bitgo-ai-agent-dev[bot] wants to merge 1 commit into
masterfrom
wci-793-bump-wasm-mps
Draft

chore(sdk-lib-mpc): bump @bitgo/wasm-mps to 1.8.2#9101
bitgo-ai-agent-dev[bot] wants to merge 1 commit into
masterfrom
wci-793-bump-wasm-mps

Conversation

@bitgo-ai-agent-dev

Copy link
Copy Markdown

What

  • Bump @bitgo/wasm-mps from 1.8.1 to 1.8.2 in modules/sdk-lib-mpc.
  • Refresh yarn.lock for the new tarball.

No other code or test changes — this is an intentionally minimal bump to surface what breaks.

Why

Step toward WCI-644 (remove the deriveUnhardenedMps workaround and use deriveUnhardened consistently). The Linear ticket originally targeted 1.9.0; opening as 1.8.2 first to scope the blast radius.

Known breakage to discuss

Running unit tests with 1.8.2 reveals that the wasm-mps DSG derivation formula appears to have already changed under signing, even on this patch bump. Concretely:

sdk-lib-mpctest/unit/tss/eddsa/derive.ts (2 failing):

  • DSG at "m/0" should verify against deriveUnhardenedMps result at "m/0" — fails.
  • DSG at "m/0/1" should verify against deriveUnhardenedMps result at "m/0/1" — fails.

sdk-coretest/unit/bitgo/utils/tss/eddsa/eddsaMPCv2.ts (2 failing):

  • signRecoveryEddsaMPCv2 › should return a 64-byte signature that verifies against the derived public keyEdDSA MPCv2 recovery signature verification failed.
  • signRecoveryEddsaMPCv2 › should throw when the signed message is different from the verified message — same error inside signRecoveryEddsaMPCv2.

In my local investigation against the freshly installed wasm-mps:

  • Single-level paths (m/0, m/1, …) verify against Ed25519Bip32HdTree.publicDerive (the Cardano BIP32-Ed25519 formula used by Eddsa.deriveUnhardened), but not against deriveUnhardenedMps (old Silence Labs formula).
  • Multi-level paths (m/0/0, m/0/1, …) verify against neither — couldn't reproduce the DSG result with any combination of BIP32 / MPS formulas in JS.

This suggests 1.8.2 already aligns DSG signing with the unified deriveUnhardened formula for at least single-level paths, which is the eventual goal of WCI-644 — but multi-level paths may need a separate look (could be a wasm-mps bug, or a derivation scheme we don't know about yet).

Test plan

  • Confirm the 4 failures above are expected with 1.8.2 and align on next steps.
  • Decide whether to: (a) keep this minimal bump and follow up with the deriveUnhardenedMpsderiveUnhardened migration in WCI-644, or (b) include the migration here.
  • Investigate the multi-level path mismatch with the wasm-mps owners (HSM-384).

Ticket: WCI-793

Ticket: WCI-793
Session-Id: 01cf0284-3429-472d-8205-b7ef491d6426
Task-Id: 2a3decb6-9318-4219-94b3-21a0acdfebfb
@linear-code

linear-code Bot commented Jun 24, 2026

Copy link
Copy Markdown

WCI-793

WCI-644

@bitgo-ai-agent-dev bitgo-ai-agent-dev Bot force-pushed the wci-793-bump-wasm-mps branch from a92f175 to 4a8c2f0 Compare June 24, 2026 09:01
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