From 9aed51ee96aefef29ef1cf11b0ce821b996ce08e Mon Sep 17 00:00:00 2001 From: anshuldoshi <anshuldoshi@bitgo.com> Date: Wed, 28 Sep 2022 13:10:55 -0400 Subject: [PATCH] fix(sdk-coin-eth): fix convert signature share to/from Ticket: bg-58807 --- modules/bitgo/test/v2/unit/tss/ecdsa.ts | 6 +++--- modules/sdk-core/src/bitgo/tss/ecdsa/ecdsa.ts | 10 +++++++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/modules/bitgo/test/v2/unit/tss/ecdsa.ts b/modules/bitgo/test/v2/unit/tss/ecdsa.ts index 34ead62fb8..1c3660529c 100644 --- a/modules/bitgo/test/v2/unit/tss/ecdsa.ts +++ b/modules/bitgo/test/v2/unit/tss/ecdsa.ts @@ -604,11 +604,11 @@ describe('Ecdsa tss helper functions tests', function () { it('should successfully convert signature share to signature share record', function () { const share = { - to: SignatureShareType.USER, - from: SignatureShareType.BITGO, + to: SignatureShareType.BITGO, + from: SignatureShareType.USER, share: `${mockSShareFromUser.R}${ECDSAMethods.delimeter}${mockSShareFromUser.s}${ECDSAMethods.delimeter}${mockSShareFromUser.y}`, } as SignatureShareRecord; - const signatureShare = ECDSAMethods.convertSignatureShare(mockSShareFromUser, ECDSAMethods.getParticipantIndex('bitgo')); + const signatureShare = ECDSAMethods.convertSignatureShare(mockSShareFromUser, ECDSAMethods.getParticipantIndex('user'), ECDSAMethods.getParticipantIndex('bitgo')); signatureShare.from.should.equal(share.from); signatureShare.to.should.equal(share.to); signatureShare.share.should.equal(share.share); diff --git a/modules/sdk-core/src/bitgo/tss/ecdsa/ecdsa.ts b/modules/sdk-core/src/bitgo/tss/ecdsa/ecdsa.ts index 7222201756..ef9e02342b 100644 --- a/modules/sdk-core/src/bitgo/tss/ecdsa/ecdsa.ts +++ b/modules/sdk-core/src/bitgo/tss/ecdsa/ecdsa.ts @@ -223,7 +223,7 @@ export async function sendShareToBitgo( break; case SendShareType.SShare: const sShare = share as SShare; - signatureShare = convertSignatureShare(sShare, 3); + signatureShare = convertSignatureShare(sShare, 1, 3); await sendSignatureShare(bitgo, walletId, txRequestId, signatureShare, requestType, signerShare, 'ecdsa'); responseFromBitgo = sShare; break; @@ -573,9 +573,13 @@ export function parseCombinedSignature(share: SignatureShareRecord): Signature { * @param share - Signature share * @returns signature share record */ -export function convertSignatureShare(share: SignatureShare, senderIndex: number): SignatureShareRecord { +export function convertSignatureShare( + share: SignatureShare, + senderIndex: number, + recipientIndex: number +): SignatureShareRecord { return { - to: getParticipantFromIndex(share.i), + to: getParticipantFromIndex(recipientIndex), from: getParticipantFromIndex(senderIndex), share: `${share.R}${delimeter}${share.s}${delimeter}${share.y}`, };