Commit 10cd838
committed
feat(sdk-core): add EdDSA MPCv2 full 3-round signing orchestration
- Add signTxRequest, signTxRequestForMessage, and signRequestBase to
EddsaMPCv2Utils implementing the full online DSG protocol:
WASM round 0, API rounds 1-3, and sendTxRequest
- Support BACKUP party signing via mpcv2PartyId param
- Verify PGP signatures on BitGo round1Output and round2Output
- Use pickBitgoPubGpgKeyForSigning with isEddsaMpcv2=true for ed25519 key
- Use decodeWithCodec for type-safe parsing of signature share responses
- Move getBitgoSignatureShare helper to tss/common.ts; use .find() by
from/to instead of fragile array-index lookup
- Add defensive asserts after each WASM and API round
- Add comprehensive signTxRequest unit tests covering:
- tx signing and message signing (all 3 rounds + send)
- BACKUP party signing path
- 429 rate-limit retry handling on rounds 1, 2, and 3
- rejection after 4+ consecutive 429 errors
- rejection on wrong round1Output type
- rejection on malformed round3 response
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
TICKET: WCI-1541 parent 3d581de commit 10cd838
3 files changed
Lines changed: 822 additions & 1 deletion
File tree
- modules
- bitgo/test/v2/unit/internal/tssUtils/eddsaMPCv2
- sdk-core/src/bitgo
- tss
- utils/tss/eddsa
0 commit comments