@bitgo/sdk-core 27.4.1 → 27.6.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 (53) hide show
  1. package/CHANGELOG.md +29 -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/baseCoin/iBaseCoin.d.ts +10 -0
  6. package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts.map +1 -1
  7. package/dist/src/bitgo/baseCoin/iBaseCoin.js +1 -1
  8. package/dist/src/bitgo/config.d.ts +6 -0
  9. package/dist/src/bitgo/config.d.ts.map +1 -1
  10. package/dist/src/bitgo/enterprise/enterprise.d.ts +2 -2
  11. package/dist/src/bitgo/enterprise/enterprise.d.ts.map +1 -1
  12. package/dist/src/bitgo/enterprise/enterprise.js +9 -4
  13. package/dist/src/bitgo/environments.js +2 -2
  14. package/dist/src/bitgo/keychain/iKeychains.d.ts +27 -1
  15. package/dist/src/bitgo/keychain/iKeychains.d.ts.map +1 -1
  16. package/dist/src/bitgo/keychain/iKeychains.js +1 -1
  17. package/dist/src/bitgo/keychain/keychains.d.ts +2 -1
  18. package/dist/src/bitgo/keychain/keychains.d.ts.map +1 -1
  19. package/dist/src/bitgo/keychain/keychains.js +41 -2
  20. package/dist/src/bitgo/utils/mpcUtils.d.ts.map +1 -1
  21. package/dist/src/bitgo/utils/mpcUtils.js +4 -1
  22. package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts +14 -3
  23. package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts.map +1 -1
  24. package/dist/src/bitgo/utils/tss/baseTSSUtils.js +14 -1
  25. package/dist/src/bitgo/utils/tss/baseTypes.d.ts +46 -2
  26. package/dist/src/bitgo/utils/tss/baseTypes.d.ts.map +1 -1
  27. package/dist/src/bitgo/utils/tss/baseTypes.js +4 -1
  28. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts +3 -3
  29. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts.map +1 -1
  30. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.js +1 -1
  31. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts +83 -9
  32. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -1
  33. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.js +338 -50
  34. package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts +2 -2
  35. package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts.map +1 -1
  36. package/dist/src/bitgo/utils/tss/eddsa/eddsa.js +1 -1
  37. package/dist/src/bitgo/wallet/iWallet.d.ts +5 -1
  38. package/dist/src/bitgo/wallet/iWallet.d.ts.map +1 -1
  39. package/dist/src/bitgo/wallet/iWallet.js +1 -1
  40. package/dist/src/bitgo/wallet/iWallets.d.ts +16 -2
  41. package/dist/src/bitgo/wallet/iWallets.d.ts.map +1 -1
  42. package/dist/src/bitgo/wallet/iWallets.js +32 -2
  43. package/dist/src/bitgo/wallet/wallet.d.ts +6 -0
  44. package/dist/src/bitgo/wallet/wallet.d.ts.map +1 -1
  45. package/dist/src/bitgo/wallet/wallet.js +53 -6
  46. package/dist/src/bitgo/wallet/wallets.d.ts +10 -3
  47. package/dist/src/bitgo/wallet/wallets.d.ts.map +1 -1
  48. package/dist/src/bitgo/wallet/wallets.js +68 -29
  49. package/dist/src/index.d.ts +2 -0
  50. package/dist/src/index.d.ts.map +1 -1
  51. package/dist/src/index.js +4 -2
  52. package/dist/tsconfig.tsbuildinfo +1 -1
  53. 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';
5
4
  import { KeychainsTriplet } from '../../../baseCoin';
6
- import { BaseEcdsaUtils } from './base';
7
5
  import { MPCv2PartyFromStringOrNumber } from '@bitgo/public-types';
8
- import { TSSParams, TxRequest } from '../baseTypes';
6
+ import { Ecdsa } from '../../../../account-lib';
7
+ import { Keychain } from '../../../keychain';
8
+ import { DecryptedRetrofitPayload } from '../../../keychain/iKeychains';
9
+ import { CustomMPCv2SigningRound1GeneratingFunction, CustomMPCv2SigningRound2GeneratingFunction, CustomMPCv2SigningRound3GeneratingFunction, RequestType, SignatureShareRecord, TSSParams, TSSParamsForMessage, TSSParamsForMessageWithPrv, TSSParamsWithPrv, TxRequest } from '../baseTypes';
10
+ import { BaseEcdsaUtils } from './base';
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
- mpcv2BakcupKeyShare: DklsTypes.RetrofitData;
29
- }>;
31
+ mpcv2BackupKeyShare: DklsTypes.RetrofitData;
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,73 @@ 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>;
55
+ /**
56
+ * Signs the message associated to the transaction request.
57
+ * @param {string | TxRequest} params.txRequest - transaction request object or id
58
+ * @param {string} params.prv - decrypted private key
59
+ * @param {string} params.reqId - request id
60
+ * @returns {Promise<TxRequest>} fully signed TxRequest object
61
+ */
62
+ signTxRequestForMessage(params: TSSParamsForMessageWithPrv): Promise<TxRequest>;
45
63
  private signRequestBase;
46
64
  private formatBitgoBroadcastMessage;
47
65
  private formatP2PMessage;
66
+ /**
67
+ * Get the hash string and derivation path from the transaction request.
68
+ * @param {TxRequest} txRequest - the transaction request object
69
+ * @param {RequestType} requestType - the request type
70
+ * @returns {{ hashBuffer: Buffer; derivationPath: string }} - the hash string and derivation path
71
+ */
72
+ private getHashStringAndDerivationPath;
73
+ /**
74
+ * Gets the BitGo and user GPG keys from the BitGo public GPG key and the encrypted user GPG private key.
75
+ * @param {string} bitgoPublicGpgKey - the BitGo public GPG key
76
+ * @param {string} encryptedUserGpgPrvKey - the encrypted user GPG private key
77
+ * @param {string} walletPassphrase - the wallet passphrase
78
+ * @returns {Promise<{ bitgoGpgKey: pgp.Key; userGpgKey: pgp.SerializedKeyPair<string> }>} - the BitGo and user GPG keys
79
+ */
80
+ private getBitgoAndUserGpgKeys;
81
+ /**
82
+ * Validates the adata and cyphertext.
83
+ * @param adata string
84
+ * @param cyphertext string
85
+ * @returns void
86
+ * @throws {Error} if the adata or cyphertext is invalid
87
+ */
88
+ private validateAdata;
89
+ /** @inheritdoc */
90
+ signEcdsaMPCv2TssUsingExternalSigner(params: TSSParams | TSSParamsForMessage, externalSignerMPCv2SigningRound1Generator: CustomMPCv2SigningRound1GeneratingFunction, externalSignerMPCv2SigningRound2Generator: CustomMPCv2SigningRound2GeneratingFunction, externalSignerMPCv2SigningRound3Generator: CustomMPCv2SigningRound3GeneratingFunction, requestType?: RequestType): Promise<TxRequest>;
91
+ createOfflineRound1Share(params: {
92
+ txRequest: TxRequest;
93
+ prv: string;
94
+ walletPassphrase: string;
95
+ }): Promise<{
96
+ signatureShareRound1: SignatureShareRecord;
97
+ userGpgPubKey: string;
98
+ encryptedRound1Session: string;
99
+ encryptedUserGpgPrvKey: string;
100
+ }>;
101
+ createOfflineRound2Share(params: {
102
+ txRequest: TxRequest;
103
+ prv: string;
104
+ walletPassphrase: string;
105
+ bitgoPublicGpgKey: string;
106
+ encryptedUserGpgPrvKey: string;
107
+ encryptedRound1Session: string;
108
+ }): Promise<{
109
+ signatureShareRound2: SignatureShareRecord;
110
+ encryptedRound2Session: string;
111
+ }>;
112
+ createOfflineRound3Share(params: {
113
+ txRequest: TxRequest;
114
+ prv: string;
115
+ walletPassphrase: string;
116
+ bitgoPublicGpgKey: string;
117
+ encryptedUserGpgPrvKey: string;
118
+ encryptedRound2Session: string;
119
+ }): Promise<{
120
+ signatureShareRound3: SignatureShareRecord;
121
+ }>;
48
122
  }
49
123
  //# 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":"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"}