Repository navigation
Conversation
Add a single AWM handler (eddsaMPCV2WalletGeneration.ts) with a
shareType switch matching the ecdsaEddsaSignTransaction pattern, one
route (POST /api/{coin}/eddsampcv2/keygen/{shareType}) with per-share
request/response codecs in advancedWalletManagerApiSpec.ts, and
handler tests.
- initialize: generates an ed25519 GPG keypair and data key, returns
the GPG public key, the data-key-encrypted GPG private key and the
encrypted data key
- round1/round2/finalize: decrypt the data key and delegate to
EddsaMPCv2Utils.createOfflineKeyGenRound{1,2}Share and
createOfflineKeyGenFinalizeShare, passing partyId derived from
source on every round (required by the SDK's validateAdata session
binding)
- finalize also stores the key share via the key provider postKey and
returns { commonKeychain, source }
- per-share required-field validation rejects with 400
Ticket: WCI-892
Marzooqa
force-pushed
the
wci-892-awm-handler-types-route-for-eddsa-mpcv2-key-gen
branch
from
October 14, 2026 08:32
1c97394 to
19a6f46
Compare
Merged
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
src/advancedWalletManager/handlers/eddsaMPCV2WalletGeneration.ts) with ashareTypeswitch matching theecdsaEddsaSignTransactionpatternPOST /api/{coin}/eddsampcv2/keygen/{shareType}(v1.eddsampcv2.keygen) with per-share request/response codecs inadvancedWalletManagerApiSpec.tsHandler behavior
initialize: generates an ed25519 GPG keypair and a data key; returns the GPG public key, the data-key-encrypted GPG private key and the encrypted data keyround1/round2/finalize: decrypt the data key and delegate toEddsaMPCv2Utils.createOfflineKeyGenRound{1,2}Share/createOfflineKeyGenFinalizeShare, passingpartyIdderived fromsourceon every round (required by the SDK'svalidateAdatasession binding)finalizealso stores the key share via the key providerpostKeyand returns{ commonKeychain, source }Why
Dependencies
bump-versions-2026-10-12) because the SDK offline key generation methods only exist in@bitgo-beta/sdk-core≥8.2.1-beta.2107. This PR's diff against the bump branch is exactly the three new-code files. Retarget tomasteronce the bump merges.Test plan
initializereturns a GPG public key, the data-key-encrypted GPG private key and the encrypted data keyround1delegates tocreateOfflineKeyGenRound1Sharewith the source-derivedpartyId(USER and BACKUP both covered)round2delegates tocreateOfflineKeyGenRound2Sharewith the round-1 session and both round-1 messagesfinalizedelegates tocreateOfflineKeyGenFinalizeShareand stores the key share viapostKeywith{ coin, source, pub, prv, type: 'tss' }Ticket: WCI-892