66} from '../../../enclavedBitgoExpress/routers/enclavedApiSpec' ;
77import { KmsClient } from '../../../kms/kmsClient' ;
88import assert from 'assert' ;
9- import { MPCv2PartiesEnum } from '@bitgo/sdk-core/dist/src/bitgo/utils/tss/ecdsa' ;
109
1110export async function mpcV2Finalize (
1211 req : EnclavedApiSpecRouteRequest < 'v1.mpcv2.finalize' , 'post' > ,
@@ -35,12 +34,7 @@ export async function mpcV2Finalize(
3534 throw new Error ( 'Session data is missing for finalization' ) ;
3635 }
3736 sessionData . dkgSessionBytes = new Uint8Array ( Object . values ( sessionData . dkgSessionBytes ) ) ;
38- const session = await DklsDkg . Dkg . restoreSession (
39- 3 ,
40- 2 ,
41- source === 'user' ? MPCv2PartiesEnum . USER : MPCv2PartiesEnum . BACKUP ,
42- sessionData ,
43- ) ;
37+ const session = await DklsDkg . Dkg . restoreSession ( 3 , 2 , source === 'user' ? 0 : 1 , sessionData ) ;
4438
4539 // processing incoming messages
4640 const incomingMessages = await DklsComms . decryptAndVerifyIncomingMessages (
@@ -65,6 +59,17 @@ export async function mpcV2Finalize(
6559 'Source and Bitgo Common keychains do not match' ,
6660 ) ;
6761
62+ await kms . postKey ( {
63+ coin : req . decoded . coin ,
64+ source : req . decoded . source ,
65+ pub : commonKeychain ,
66+ prv : privateMaterial . toString ( 'base64' ) ,
67+ type : 'tss' ,
68+ options : {
69+ useLocalEncipherment : true ,
70+ } ,
71+ } ) ;
72+
6873 return {
6974 source,
7075 commonKeychain,
0 commit comments