feat(sdk-core): add verifyPeerMessageRoundThree to EddsaDSGMethods - #9409
Open
ralph-bitgo[bot] wants to merge 2 commits into
Open
feat(sdk-core): add verifyPeerMessageRoundThree to EddsaDSGMethods#9409ralph-bitgo[bot] wants to merge 2 commits into
ralph-bitgo[bot] wants to merge 2 commits into
Conversation
Add verifyPeerMessageRoundThree to modules/sdk-core/src/bitgo/tss/eddsa/eddsaMPCv2.ts, mirroring the call signature of verifyPeerMessageRoundOne and verifyPeerMessageRoundTwo. It decodes and GPG-verifies the MPS DSG round-3 message via MPSComms.verifyMpsMessage. Round 3 previously had no such helper, forcing callers to inline MPSComms.verifyMpsMessage directly instead of using the symmetric round1/round2 helpers already exposed by EddsaDSGMethods. Ticket: WCI-1191 Session-Id: 0716649e-75cb-46dd-8d6a-ae0a701167d6 Task-Id: 3a82317d-853d-4878-97a8-50cf6fa938c5
Contributor
bitgo-ai-agent-dev
Bot
force-pushed
the
WCI-1191-add-verify-peer-message-round-three
branch
from
August 4, 2026 10:16
a2af08d to
fd0af2a
Compare
ralph-bitgo
Bot
force-pushed
the
WCI-1191-add-verify-peer-message-round-three
branch
from
August 4, 2026 10:16
fd0af2a to
89afad6
Compare
Replace the manual initDsg/getFirstMessage/handleIncomingMessages handshake in the verifyPeerMessageRoundThree happy-path test with MPSUtil.executeTillRound(2, ...) from @bitgo/sdk-lib-mpc, which already drives two DSG parties to the requested round and is used for the same purpose in sdk-lib-mpc's own DSG tests. This removes duplicated round1/round2 handshake code from the test so it exercises only what verifyPeerMessageRoundThree needs, matching the existing helper pattern instead of re-deriving it inline. Ticket: WCI-1191 Session-Id: 0716649e-75cb-46dd-8d6a-ae0a701167d6 Task-Id: 3a82317d-853d-4878-97a8-50cf6fa938c5
bitgo-ai-agent-dev
Bot
force-pushed
the
WCI-1191-add-verify-peer-message-round-three
branch
from
August 4, 2026 11:19
b5b4009 to
909e35f
Compare
ralph-bitgo
Bot
force-pushed
the
WCI-1191-add-verify-peer-message-round-three
branch
from
August 4, 2026 11:19
909e35f to
b211da1
Compare
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
verifyPeerMessageRoundThreetomodules/sdk-core/src/bitgo/tss/eddsa/eddsaMPCv2.ts, mirroring the call signature ofverifyPeerMessageRoundOne/verifyPeerMessageRoundTwo. It decodes and GPG-verifies the MPS DSG round-3 message viaMPSComms.verifyMpsMessageand returns the deserialized message.EddsaMPCv2SignatureShareRound3Outputtype exists in@bitgo/public-types(onlyRound3Inputis defined), the inline structural type{ data: { msg3: EddsaMPCv2SignedMessage } }is used for the parameter, matching the actual wire shape.Why
EddsaDSGMethodsalready exposes symmetricverifyPeerMessageRoundOne/verifyPeerMessageRoundTwohelpers for rounds 1 and 2, but round 3 had no equivalent — forcing callers to inlineMPSComms.verifyMpsMessagedirectly instead of using a consistent helper. This completes the set so a follow-up caller (WCI-1194) can use the same pattern for all three rounds.Test plan
yarn lintpassesyarn tsc --buildcompiles cleantest/unit/bitgo/utils/tss/eddsa/eddsaMPCv2.tspassTicket: WCI-1191