@bitgo/sdk-core 27.4.0 → 27.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/src/api/types.d.ts +1 -0
  3. package/dist/src/api/types.d.ts.map +1 -1
  4. package/dist/src/api/types.js +1 -1
  5. package/dist/src/bitgo/config.d.ts +6 -0
  6. package/dist/src/bitgo/config.d.ts.map +1 -1
  7. package/dist/src/bitgo/keychain/iKeychains.d.ts +20 -1
  8. package/dist/src/bitgo/keychain/iKeychains.d.ts.map +1 -1
  9. package/dist/src/bitgo/keychain/iKeychains.js +1 -1
  10. package/dist/src/bitgo/keychain/keychains.d.ts +2 -1
  11. package/dist/src/bitgo/keychain/keychains.d.ts.map +1 -1
  12. package/dist/src/bitgo/keychain/keychains.js +40 -2
  13. package/dist/src/bitgo/utils/mpcUtils.d.ts.map +1 -1
  14. package/dist/src/bitgo/utils/mpcUtils.js +4 -1
  15. package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts +14 -3
  16. package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts.map +1 -1
  17. package/dist/src/bitgo/utils/tss/baseTSSUtils.js +14 -1
  18. package/dist/src/bitgo/utils/tss/baseTypes.d.ts +43 -2
  19. package/dist/src/bitgo/utils/tss/baseTypes.d.ts.map +1 -1
  20. package/dist/src/bitgo/utils/tss/baseTypes.js +4 -1
  21. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts +3 -3
  22. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts.map +1 -1
  23. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.js +1 -1
  24. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts +74 -8
  25. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -1
  26. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.js +303 -60
  27. package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts +2 -2
  28. package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts.map +1 -1
  29. package/dist/src/bitgo/utils/tss/eddsa/eddsa.js +1 -1
  30. package/dist/src/bitgo/wallet/iWallet.d.ts +4 -1
  31. package/dist/src/bitgo/wallet/iWallet.d.ts.map +1 -1
  32. package/dist/src/bitgo/wallet/iWallet.js +1 -1
  33. package/dist/src/bitgo/wallet/wallet.d.ts +6 -0
  34. package/dist/src/bitgo/wallet/wallet.d.ts.map +1 -1
  35. package/dist/src/bitgo/wallet/wallet.js +45 -2
  36. package/dist/src/bitgo/wallet/wallets.js +2 -2
  37. package/dist/src/index.d.ts +2 -0
  38. package/dist/src/index.d.ts.map +1 -1
  39. package/dist/src/index.js +4 -2
  40. package/dist/tsconfig.tsbuildinfo +1 -1
  41. package/package.json +5 -5
@@ -1,34 +1,44 @@
1
1
  /// <reference types="node" />
2
- import { Buffer } from 'buffer';
3
2
  import { DklsTypes } from '@bitgo/sdk-lib-mpc';
4
- import { Keychain } from '../../../keychain';
3
+ import { Buffer } from 'buffer';
4
+ import { MPCv2PartyFromStringOrNumber } from '@bitgo/public-types';
5
+ import { Ecdsa } from '../../../../account-lib';
5
6
  import { KeychainsTriplet } from '../../../baseCoin';
7
+ import { Keychain } from '../../../keychain';
8
+ import { DecryptedRetrofitPayload } from '../../../keychain/iKeychains';
9
+ import { CustomMPCv2SigningRound1GeneratingFunction, CustomMPCv2SigningRound2GeneratingFunction, CustomMPCv2SigningRound3GeneratingFunction, RequestType, SignatureShareRecord, TSSParams, TSSParamsForMessage, TSSParamsWithPrv, TxRequest } from '../baseTypes';
6
10
  import { BaseEcdsaUtils } from './base';
7
- import { MPCv2PartyFromStringOrNumber } from '@bitgo/public-types';
8
- import { TSSParams, TxRequest } from '../baseTypes';
9
11
  export declare class EcdsaMPCv2Utils extends BaseEcdsaUtils {
10
12
  /** @inheritdoc */
11
13
  createKeychains(params: {
12
14
  passphrase: string;
13
15
  enterprise: string;
14
16
  originalPasscodeEncryptionCode?: string;
17
+ retrofit?: DecryptedRetrofitPayload;
15
18
  }): Promise<KeychainsTriplet>;
16
19
  createParticipantKeychain(participantIndex: MPCv2PartyFromStringOrNumber, commonKeychain: string, privateMaterial?: Buffer, reducedPrivateMaterial?: Buffer, passphrase?: string, originalPasscodeEncryptionCode?: string): Promise<Keychain>;
17
20
  /**
18
21
  * Converts user and backup MPCv1 SigningMaterial to RetrofitData needed by MPCv2 DKG.
19
22
  *
20
23
  * @param {Object} params - MPCv1 decrypted signing material for user and backup as a json.stringify string and bitgo's Big Si.
21
- * @returns {Promise<{ mpcv2UserKeyShare: DklsTypes.RetrofitData; mpcv2BakcupKeyShare: DklsTypes.RetrofitData }>} - the retrofit data needed to start an MPCv2 DKG session.
24
+ * @returns {{ mpcv2UserKeyShare: DklsTypes.RetrofitData; mpcv2BakcupKeyShare: DklsTypes.RetrofitData }} - the retrofit data needed to start an MPCv2 DKG session.
22
25
  */
23
26
  getMpcV2RetrofitDataFromMpcV1Keys(params: {
24
27
  mpcv1UserKeyShare: string;
25
28
  mpcv1BackupKeyShare: string;
26
- }): Promise<{
29
+ }): {
27
30
  mpcv2UserKeyShare: DklsTypes.RetrofitData;
28
31
  mpcv2BakcupKeyShare: DklsTypes.RetrofitData;
29
- }>;
32
+ };
33
+ getMpcV2RetrofitDataFromMpcV1Key({ mpcv1PartyKeyShare, mpcv1PartyIndex, xiList, mpc, }: {
34
+ mpcv1PartyKeyShare: string;
35
+ mpcv1PartyIndex: number;
36
+ xiList: number[][];
37
+ mpc: Ecdsa;
38
+ }): DklsTypes.RetrofitData;
30
39
  private addUserKeychain;
31
40
  private addBackupKeychain;
41
+ private getUserAndBackupSession;
32
42
  private addBitgoKeychain;
33
43
  private sendKeyGenerationRequest;
34
44
  private sendKeyGenerationRound1;
@@ -41,9 +51,65 @@ export declare class EcdsaMPCv2Utils extends BaseEcdsaUtils {
41
51
  * @param {string} params.reqId - request id
42
52
  * @returns {Promise<TxRequest>} fully signed TxRequest object
43
53
  */
44
- signTxRequest(params: TSSParams): Promise<TxRequest>;
54
+ signTxRequest(params: TSSParamsWithPrv): Promise<TxRequest>;
45
55
  private signRequestBase;
46
56
  private formatBitgoBroadcastMessage;
47
57
  private formatP2PMessage;
58
+ /**
59
+ * Get the hash string and derivation path from the transaction request.
60
+ * @param {TxRequest} txRequest - the transaction request object
61
+ * @param {RequestType} requestType - the request type
62
+ * @returns {{ hashBuffer: Buffer; derivationPath: string }} - the hash string and derivation path
63
+ */
64
+ private getHashStringAndDerivationPath;
65
+ /**
66
+ * Gets the BitGo and user GPG keys from the BitGo public GPG key and the encrypted user GPG private key.
67
+ * @param {string} bitgoPublicGpgKey - the BitGo public GPG key
68
+ * @param {string} encryptedUserGpgPrvKey - the encrypted user GPG private key
69
+ * @param {string} walletPassphrase - the wallet passphrase
70
+ * @returns {Promise<{ bitgoGpgKey: pgp.Key; userGpgKey: pgp.SerializedKeyPair<string> }>} - the BitGo and user GPG keys
71
+ */
72
+ private getBitgoAndUserGpgKeys;
73
+ /**
74
+ * Validates the adata and cyphertext.
75
+ * @param adata string
76
+ * @param cyphertext string
77
+ * @returns void
78
+ * @throws {Error} if the adata or cyphertext is invalid
79
+ */
80
+ private validateAdata;
81
+ /** @inheritdoc */
82
+ signEcdsaMPCv2TssUsingExternalSigner(params: TSSParams | TSSParamsForMessage, externalSignerMPCv2SigningRound1Generator: CustomMPCv2SigningRound1GeneratingFunction, externalSignerMPCv2SigningRound2Generator: CustomMPCv2SigningRound2GeneratingFunction, externalSignerMPCv2SigningRound3Generator: CustomMPCv2SigningRound3GeneratingFunction, requestType?: RequestType): Promise<TxRequest>;
83
+ createOfflineRound1Share(params: {
84
+ txRequest: TxRequest;
85
+ prv: string;
86
+ walletPassphrase: string;
87
+ }): Promise<{
88
+ signatureShareRound1: SignatureShareRecord;
89
+ userGpgPubKey: string;
90
+ encryptedRound1Session: string;
91
+ encryptedUserGpgPrvKey: string;
92
+ }>;
93
+ createOfflineRound2Share(params: {
94
+ txRequest: TxRequest;
95
+ prv: string;
96
+ walletPassphrase: string;
97
+ bitgoPublicGpgKey: string;
98
+ encryptedUserGpgPrvKey: string;
99
+ encryptedRound1Session: string;
100
+ }): Promise<{
101
+ signatureShareRound2: SignatureShareRecord;
102
+ encryptedRound2Session: string;
103
+ }>;
104
+ createOfflineRound3Share(params: {
105
+ txRequest: TxRequest;
106
+ prv: string;
107
+ walletPassphrase: string;
108
+ bitgoPublicGpgKey: string;
109
+ encryptedUserGpgPrvKey: string;
110
+ encryptedRound2Session: string;
111
+ }): Promise<{
112
+ signatureShareRound3: SignatureShareRecord;
113
+ }>;
48
114
  }
49
115
  //# sourceMappingURL=ecdsaMPCv2.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ecdsaMPCv2.d.ts","sourceRoot":"","sources":["../../../../../../src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,OAAO,EAAW,SAAS,EAAwC,MAAM,oBAAoB,CAAC;AAE9F,OAAO,EAAsB,QAAQ,EAAW,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAWL,4BAA4B,EAC7B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAe,SAAS,EAAuB,SAAS,EAAE,MAAM,cAAc,CAAC;AAYtF,qBAAa,eAAgB,SAAQ,cAAc;IACjD,kBAAkB;IACZ,eAAe,CAAC,MAAM,EAAE;QAC5B,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,8BAA8B,CAAC,EAAE,MAAM,CAAC;KACzC,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAuRvB,yBAAyB,CAC7B,gBAAgB,EAAE,4BAA4B,EAC9C,cAAc,EAAE,MAAM,EACtB,eAAe,CAAC,EAAE,MAAM,EACxB,sBAAsB,CAAC,EAAE,MAAM,EAC/B,UAAU,CAAC,EAAE,MAAM,EACnB,8BAA8B,CAAC,EAAE,MAAM,GACtC,OAAO,CAAC,QAAQ,CAAC;IA0CpB;;;;;OAKG;IACG,iCAAiC,CAAC,MAAM,EAAE;QAC9C,iBAAiB,EAAE,MAAM,CAAC;QAC1B,mBAAmB,EAAE,MAAM,CAAC;KAC7B,GAAG,OAAO,CAAC;QAAE,iBAAiB,EAAE,SAAS,CAAC,YAAY,CAAC;QAAC,mBAAmB,EAAE,SAAS,CAAC,YAAY,CAAA;KAAE,CAAC;YA+BzF,eAAe;YAiBf,iBAAiB;YAiBjB,gBAAgB;YAMhB,wBAAwB;YAWxB,uBAAuB;YAqBvB,uBAAuB;YAsCvB,uBAAuB;IA4BrC;;;;;;OAMG;IACG,aAAa,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;YAK5C,eAAe;IAsJ7B,OAAO,CAAC,2BAA2B;IAOnC,OAAO,CAAC,gBAAgB;CASzB"}
1
+ {"version":3,"file":"ecdsaMPCv2.d.ts","sourceRoot":"","sources":["../../../../../../src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.ts"],"names":[],"mappings":";AAAA,OAAO,EAAiD,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE9F,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAKhC,OAAO,EASL,4BAA4B,EAG7B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAsB,QAAQ,EAAW,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAYxE,OAAO,EACL,0CAA0C,EAC1C,0CAA0C,EAC1C,0CAA0C,EAC1C,WAAW,EACX,oBAAoB,EACpB,SAAS,EACT,mBAAmB,EACnB,gBAAgB,EAChB,SAAS,EACV,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAGxC,qBAAa,eAAgB,SAAQ,cAAc;IACjD,kBAAkB;IACZ,eAAe,CAAC,MAAM,EAAE;QAC5B,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,8BAA8B,CAAC,EAAE,MAAM,CAAC;QACxC,QAAQ,CAAC,EAAE,wBAAwB,CAAC;KACrC,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAyRvB,yBAAyB,CAC7B,gBAAgB,EAAE,4BAA4B,EAC9C,cAAc,EAAE,MAAM,EACtB,eAAe,CAAC,EAAE,MAAM,EACxB,sBAAsB,CAAC,EAAE,MAAM,EAC/B,UAAU,CAAC,EAAE,MAAM,EACnB,8BAA8B,CAAC,EAAE,MAAM,GACtC,OAAO,CAAC,QAAQ,CAAC;IA0CpB;;;;;OAKG;IACH,iCAAiC,CAAC,MAAM,EAAE;QAAE,iBAAiB,EAAE,MAAM,CAAC;QAAC,mBAAmB,EAAE,MAAM,CAAA;KAAE,GAAG;QACrG,iBAAiB,EAAE,SAAS,CAAC,YAAY,CAAC;QAC1C,mBAAmB,EAAE,SAAS,CAAC,YAAY,CAAC;KAC7C;IAuBD,gCAAgC,CAAC,EAC/B,kBAAkB,EAClB,eAAe,EACf,MAAM,EACN,GAAG,GACJ,EAAE;QACD,kBAAkB,EAAE,MAAM,CAAC;QAC3B,eAAe,EAAE,MAAM,CAAC;QACxB,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;QACnB,GAAG,EAAE,KAAK,CAAC;KACZ,GAAG,SAAS,CAAC,YAAY;YAkCZ,eAAe;YAiBf,iBAAiB;IAiB/B,OAAO,CAAC,uBAAuB;YAmBjB,gBAAgB;YAMhB,wBAAwB;YAWxB,uBAAuB;YAsBvB,uBAAuB;YAsCvB,uBAAuB;IAgCrC;;;;;;OAMG;IACG,aAAa,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC;YAKnD,eAAe;IAkI7B,OAAO,CAAC,2BAA2B;IAOnC,OAAO,CAAC,gBAAgB;IASxB;;;;;OAKG;IACH,OAAO,CAAC,8BAA8B;IA4BtC;;;;;;OAMG;YACW,sBAAsB;IAsBpC;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;IAerB,kBAAkB;IACZ,oCAAoC,CACxC,MAAM,EAAE,SAAS,GAAG,mBAAmB,EACvC,yCAAyC,EAAE,0CAA0C,EACrF,yCAAyC,EAAE,0CAA0C,EACrF,yCAAyC,EAAE,0CAA0C,EACrF,WAAW,GAAE,WAA4B,GACxC,OAAO,CAAC,SAAS,CAAC;IAsFf,wBAAwB,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,SAAS,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAC/G,oBAAoB,EAAE,oBAAoB,CAAC;QAC3C,aAAa,EAAE,MAAM,CAAC;QACtB,sBAAsB,EAAE,MAAM,CAAC;QAC/B,sBAAsB,EAAE,MAAM,CAAC;KAChC,CAAC;IAwBI,wBAAwB,CAAC,MAAM,EAAE;QACrC,SAAS,EAAE,SAAS,CAAC;QACrB,GAAG,EAAE,MAAM,CAAC;QACZ,gBAAgB,EAAE,MAAM,CAAC;QACzB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,sBAAsB,EAAE,MAAM,CAAC;QAC/B,sBAAsB,EAAE,MAAM,CAAC;KAChC,GAAG,OAAO,CAAC;QACV,oBAAoB,EAAE,oBAAoB,CAAC;QAC3C,sBAAsB,EAAE,MAAM,CAAC;KAChC,CAAC;IAyDI,wBAAwB,CAAC,MAAM,EAAE;QACrC,SAAS,EAAE,SAAS,CAAC;QACrB,GAAG,EAAE,MAAM,CAAC;QACZ,gBAAgB,EAAE,MAAM,CAAC;QACzB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,sBAAsB,EAAE,MAAM,CAAC;QAC/B,sBAAsB,EAAE,MAAM,CAAC;KAChC,GAAG,OAAO,CAAC;QACV,oBAAoB,EAAE,oBAAoB,CAAC;KAC5C,CAAC;CAiDH"}