Skip to content

feat: add curveType to awm sign request and client params - #278

Draft
vibhavgo wants to merge 2 commits into
WCI-922-eddsa-mpcv2-signing-handlerfrom
WCI-923-add-curvetype-sign-request
Draft

vibhavgo wants to merge 2 commits into
WCI-922-eddsa-mpcv2-signing-handlerfrom
WCI-923-add-curvetype-sign-request

Conversation

@vibhavgo

@vibhavgo vibhavgo commented Oct 9, 2026

Copy link
Copy Markdown

Summary

Two stacked commits implementing WCI-923 and WCI-924 (one commit per ticket):

  1. feat: add curveType to awm mpc sign request (WCI-923) — adds optional curveType ('eddsa' | 'ecdsa') to the SignMpcRequest body in advancedWalletManagerApiSpec.ts so EdDSA MPCv2 callers can explicitly distinguish their requests from ECDSA MPCv2 while reusing the mpcv2round1/2/3 share types. Optional and unconsumed by the handler (dispatch stays coin-derived), so existing ECDSA callers are backward compatible.

  2. feat: add curveType to awm client mpcv2 params (WCI-924) — adds optional curveType to SignMpcV2Round1/2/3Params in advancedWalletManagerClient.ts. The existing signMPCv2Round1/2/3() methods already spread ...params into the request body, so the field is forwarded without any method changes.

Testing

  • WCI-923: curveType: 'eddsa' accepted on tsol mpcv2round1; curveType: 'ecdsa' accepted on hteth; all pre-existing tests omit curveType (backward compat). signMpcTransaction.test.ts: 446 passing, 0 failing.
  • WCI-924: new advancedWalletManagerClient.test.ts asserts curveType: 'eddsa' present in intercepted round 1/2/3 request bodies when provided and absent when omitted. Master suites (client + ecdsa + eddsa): 450 passing, 0 failing.

Ticket: WCI-923, WCI-924
Linear: https://linear.app/bitgo/issue/WCI-923 | https://linear.app/bitgo/issue/WCI-924

Add optional curveType ('eddsa' | 'ecdsa') to the SignMpcRequest body so
EdDSA MPCv2 callers can explicitly distinguish their requests from ECDSA
MPCv2 while reusing the mpcv2round1/2/3 share types. The field is optional
and unconsumed by the handler (dispatch remains coin-derived), keeping
existing ECDSA callers backward compatible.

Ticket: WCI-923
Add optional curveType ('eddsa' | 'ecdsa') to SignMpcV2Round1/2/3Params
in advancedWalletManagerClient.ts. The existing signMPCv2Round1/2/3()
methods already spread ...params into the request body, so the field is
forwarded without any method changes. Existing ECDSA callers are
unaffected because the field is optional.

Ticket: WCI-924
@linear-code

linear-code Bot commented Oct 9, 2026 •

Copy link
Copy Markdown

WCI-923

WCI-924

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