@bitpay-labs/bitcore-wallet-service 11.11.2 → 11.11.4

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 (152) hide show
  1. package/package.json +4 -4
  2. package/src/config.ts +8 -0
  3. package/src/externalservices/coingecko.ts +6 -1
  4. package/src/externalservices/transak.ts +394 -70
  5. package/src/lib/blockchainexplorer.ts +4 -0
  6. package/src/lib/blockchainexplorers/v8.ts +1 -0
  7. package/src/lib/blockchainmonitor.ts +1 -0
  8. package/src/lib/chain/arc/index.ts +95 -0
  9. package/src/lib/chain/eth/index.ts +41 -23
  10. package/src/lib/chain/index.ts +2 -0
  11. package/src/lib/common/constants.ts +13 -2
  12. package/src/lib/common/defaults.ts +31 -0
  13. package/src/lib/common/utils.ts +18 -1
  14. package/src/lib/emailservice.ts +3 -1
  15. package/src/lib/errors/errordefinitions.ts +4 -0
  16. package/src/lib/model/preferences.ts +4 -0
  17. package/src/lib/model/tsskeygen.ts +16 -0
  18. package/src/lib/model/wallet.ts +1 -0
  19. package/src/lib/pushnotificationsservice.ts +2 -0
  20. package/src/lib/routes/maintenance.ts +11 -2
  21. package/src/lib/routes/middleware/authTssRequest.ts +28 -16
  22. package/src/lib/routes/middleware/verifyTssMessage.ts +4 -1
  23. package/src/lib/routes/services.ts +8 -2
  24. package/src/lib/routes/tss.ts +33 -30
  25. package/src/lib/routes/walletdata.ts +2 -0
  26. package/src/lib/server.ts +82 -19
  27. package/src/lib/storage.ts +39 -0
  28. package/src/lib/tss.ts +111 -7
  29. package/test/blockchainexplorer.test.ts +7 -0
  30. package/test/expressapp.test.ts +130 -0
  31. package/test/integration/externalservices/coinGecko.test.ts +42 -2
  32. package/test/integration/externalservices/transak.test.ts +545 -135
  33. package/test/integration/fiatrateservice.test.ts +13 -0
  34. package/test/integration/helpers.ts +1 -0
  35. package/test/integration/server.test.ts +192 -4
  36. package/test/integration/tss.test.ts +428 -0
  37. package/ts_build/package.json +4 -4
  38. package/ts_build/src/config.d.ts.map +1 -1
  39. package/ts_build/src/config.js +8 -0
  40. package/ts_build/src/config.js.map +1 -1
  41. package/ts_build/src/externalservices/coingecko.d.ts.map +1 -1
  42. package/ts_build/src/externalservices/coingecko.js +6 -1
  43. package/ts_build/src/externalservices/coingecko.js.map +1 -1
  44. package/ts_build/src/externalservices/transak.d.ts +28 -2
  45. package/ts_build/src/externalservices/transak.d.ts.map +1 -1
  46. package/ts_build/src/externalservices/transak.js +274 -57
  47. package/ts_build/src/externalservices/transak.js.map +1 -1
  48. package/ts_build/src/lib/blockchainexplorer.d.ts.map +1 -1
  49. package/ts_build/src/lib/blockchainexplorer.js +4 -0
  50. package/ts_build/src/lib/blockchainexplorer.js.map +1 -1
  51. package/ts_build/src/lib/blockchainexplorers/v8.d.ts.map +1 -1
  52. package/ts_build/src/lib/blockchainexplorers/v8.js +1 -0
  53. package/ts_build/src/lib/blockchainexplorers/v8.js.map +1 -1
  54. package/ts_build/src/lib/blockchainmonitor.d.ts.map +1 -1
  55. package/ts_build/src/lib/blockchainmonitor.js +1 -0
  56. package/ts_build/src/lib/blockchainmonitor.js.map +1 -1
  57. package/ts_build/src/lib/chain/arc/index.d.ts +20 -0
  58. package/ts_build/src/lib/chain/arc/index.d.ts.map +1 -0
  59. package/ts_build/src/lib/chain/arc/index.js +95 -0
  60. package/ts_build/src/lib/chain/arc/index.js.map +1 -0
  61. package/ts_build/src/lib/chain/eth/index.d.ts +1 -0
  62. package/ts_build/src/lib/chain/eth/index.d.ts.map +1 -1
  63. package/ts_build/src/lib/chain/eth/index.js +38 -19
  64. package/ts_build/src/lib/chain/eth/index.js.map +1 -1
  65. package/ts_build/src/lib/chain/index.d.ts.map +1 -1
  66. package/ts_build/src/lib/chain/index.js +2 -0
  67. package/ts_build/src/lib/chain/index.js.map +1 -1
  68. package/ts_build/src/lib/common/constants.d.ts +13 -1
  69. package/ts_build/src/lib/common/constants.d.ts.map +1 -1
  70. package/ts_build/src/lib/common/constants.js +13 -2
  71. package/ts_build/src/lib/common/constants.js.map +1 -1
  72. package/ts_build/src/lib/common/defaults.d.ts +24 -0
  73. package/ts_build/src/lib/common/defaults.d.ts.map +1 -1
  74. package/ts_build/src/lib/common/defaults.js +30 -0
  75. package/ts_build/src/lib/common/defaults.js.map +1 -1
  76. package/ts_build/src/lib/common/index.d.ts +38 -1
  77. package/ts_build/src/lib/common/index.d.ts.map +1 -1
  78. package/ts_build/src/lib/common/utils.d.ts +1 -0
  79. package/ts_build/src/lib/common/utils.d.ts.map +1 -1
  80. package/ts_build/src/lib/common/utils.js +16 -1
  81. package/ts_build/src/lib/common/utils.js.map +1 -1
  82. package/ts_build/src/lib/emailservice.d.ts.map +1 -1
  83. package/ts_build/src/lib/emailservice.js +2 -0
  84. package/ts_build/src/lib/emailservice.js.map +1 -1
  85. package/ts_build/src/lib/errors/errordefinitions.d.ts +2 -0
  86. package/ts_build/src/lib/errors/errordefinitions.d.ts.map +1 -1
  87. package/ts_build/src/lib/errors/errordefinitions.js +2 -0
  88. package/ts_build/src/lib/errors/errordefinitions.js.map +1 -1
  89. package/ts_build/src/lib/model/preferences.d.ts +2 -0
  90. package/ts_build/src/lib/model/preferences.d.ts.map +1 -1
  91. package/ts_build/src/lib/model/preferences.js +3 -0
  92. package/ts_build/src/lib/model/preferences.js.map +1 -1
  93. package/ts_build/src/lib/model/tsskeygen.d.ts +10 -0
  94. package/ts_build/src/lib/model/tsskeygen.d.ts.map +1 -1
  95. package/ts_build/src/lib/model/tsskeygen.js +3 -0
  96. package/ts_build/src/lib/model/tsskeygen.js.map +1 -1
  97. package/ts_build/src/lib/model/wallet.d.ts.map +1 -1
  98. package/ts_build/src/lib/model/wallet.js +1 -0
  99. package/ts_build/src/lib/model/wallet.js.map +1 -1
  100. package/ts_build/src/lib/pushnotificationsservice.d.ts.map +1 -1
  101. package/ts_build/src/lib/pushnotificationsservice.js +2 -0
  102. package/ts_build/src/lib/pushnotificationsservice.js.map +1 -1
  103. package/ts_build/src/lib/routes/maintenance.d.ts.map +1 -1
  104. package/ts_build/src/lib/routes/maintenance.js +12 -4
  105. package/ts_build/src/lib/routes/maintenance.js.map +1 -1
  106. package/ts_build/src/lib/routes/middleware/authTssRequest.d.ts +6 -2
  107. package/ts_build/src/lib/routes/middleware/authTssRequest.d.ts.map +1 -1
  108. package/ts_build/src/lib/routes/middleware/authTssRequest.js +21 -14
  109. package/ts_build/src/lib/routes/middleware/authTssRequest.js.map +1 -1
  110. package/ts_build/src/lib/routes/middleware/verifyTssMessage.d.ts.map +1 -1
  111. package/ts_build/src/lib/routes/middleware/verifyTssMessage.js +2 -1
  112. package/ts_build/src/lib/routes/middleware/verifyTssMessage.js.map +1 -1
  113. package/ts_build/src/lib/routes/services.d.ts.map +1 -1
  114. package/ts_build/src/lib/routes/services.js +7 -2
  115. package/ts_build/src/lib/routes/services.js.map +1 -1
  116. package/ts_build/src/lib/routes/tss.d.ts.map +1 -1
  117. package/ts_build/src/lib/routes/tss.js +32 -30
  118. package/ts_build/src/lib/routes/tss.js.map +1 -1
  119. package/ts_build/src/lib/routes/walletdata.d.ts.map +1 -1
  120. package/ts_build/src/lib/routes/walletdata.js +2 -0
  121. package/ts_build/src/lib/routes/walletdata.js.map +1 -1
  122. package/ts_build/src/lib/server.d.ts +23 -2
  123. package/ts_build/src/lib/server.d.ts.map +1 -1
  124. package/ts_build/src/lib/server.js +37 -5
  125. package/ts_build/src/lib/server.js.map +1 -1
  126. package/ts_build/src/lib/storage.d.ts +9 -0
  127. package/ts_build/src/lib/storage.d.ts.map +1 -1
  128. package/ts_build/src/lib/storage.js +26 -0
  129. package/ts_build/src/lib/storage.js.map +1 -1
  130. package/ts_build/src/lib/tss.d.ts +12 -0
  131. package/ts_build/src/lib/tss.d.ts.map +1 -1
  132. package/ts_build/src/lib/tss.js +64 -5
  133. package/ts_build/src/lib/tss.js.map +1 -1
  134. package/ts_build/test/blockchainexplorer.test.js +6 -0
  135. package/ts_build/test/blockchainexplorer.test.js.map +1 -1
  136. package/ts_build/test/expressapp.test.js +120 -0
  137. package/ts_build/test/expressapp.test.js.map +1 -1
  138. package/ts_build/test/integration/externalservices/coinGecko.test.js +38 -2
  139. package/ts_build/test/integration/externalservices/coinGecko.test.js.map +1 -1
  140. package/ts_build/test/integration/externalservices/transak.test.d.ts.map +1 -1
  141. package/ts_build/test/integration/externalservices/transak.test.js +498 -128
  142. package/ts_build/test/integration/externalservices/transak.test.js.map +1 -1
  143. package/ts_build/test/integration/fiatrateservice.test.js +11 -0
  144. package/ts_build/test/integration/fiatrateservice.test.js.map +1 -1
  145. package/ts_build/test/integration/helpers.d.ts.map +1 -1
  146. package/ts_build/test/integration/helpers.js +1 -0
  147. package/ts_build/test/integration/helpers.js.map +1 -1
  148. package/ts_build/test/integration/server.test.js +182 -3
  149. package/ts_build/test/integration/server.test.js.map +1 -1
  150. package/ts_build/test/integration/tss.test.d.ts.map +1 -1
  151. package/ts_build/test/integration/tss.test.js +344 -0
  152. package/ts_build/test/integration/tss.test.js.map +1 -1
@@ -65,6 +65,7 @@ export declare class Storage {
65
65
  fetchNewAddresses(walletId: any, fromTs: any, cb: any): void;
66
66
  storeAddress(address: any, cb: any): void;
67
67
  markSyncedAddresses(addresses: any, cb: any): void;
68
+ storeWalletRegistration(wallet: any, cb: any): void;
68
69
  deregisterWallet(walletId: any, cb: any): void;
69
70
  storeAddressAndWallet(wallet: any, addresses: any, cb: any): any;
70
71
  fetchAddressByWalletId(walletId: any, address: any, cb: any): void;
@@ -155,6 +156,14 @@ export declare class Storage {
155
156
  id: string;
156
157
  secret: string;
157
158
  }): Promise<mongodb.UpdateWriteOpResult>;
159
+ storeTssKeyBwsJoinSecrets(params: {
160
+ id: string;
161
+ chain: string;
162
+ network: string;
163
+ secrets: {
164
+ [partyId: number]: string;
165
+ };
166
+ }): Promise<mongodb.UpdateWriteOpResult>;
158
167
  fetchTssSigSession({ id }: {
159
168
  id: string;
160
169
  }): Promise<TssSigGenModel>;
@@ -1 +1 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/lib/storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/lib/storage.ts"],"names":[],"mappings":"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"}
@@ -717,6 +717,20 @@ class Storage {
717
717
  upsert: false
718
718
  }, cb);
719
719
  }
720
+ storeWalletRegistration(wallet, cb) {
721
+ this.db.collection(collections.WALLETS).updateOne({
722
+ id: wallet.id
723
+ }, {
724
+ $set: {
725
+ beRegistered: wallet.beRegistered,
726
+ beAuthPrivateKey2: wallet.beAuthPrivateKey2,
727
+ beAuthPublicKey2: wallet.beAuthPublicKey2
728
+ }
729
+ }, {
730
+ w: 1,
731
+ upsert: false
732
+ }, cb);
733
+ }
720
734
  deregisterWallet(walletId, cb) {
721
735
  this.db.collection(collections.WALLETS).updateOne({
722
736
  id: walletId
@@ -1555,6 +1569,18 @@ class Storage {
1555
1569
  }
1556
1570
  }, { upsert: false });
1557
1571
  }
1572
+ async storeTssKeyBwsJoinSecrets(params) {
1573
+ const { id, chain, network, secrets } = params;
1574
+ const _chain = chain.toLowerCase();
1575
+ const _network = network.toLowerCase();
1576
+ return this.db.collection(collections.TSS_KEYGEN).updateOne({
1577
+ id
1578
+ }, {
1579
+ $set: {
1580
+ [`bwsJoinSecrets.${_chain}:${_network}`]: secrets
1581
+ }
1582
+ }, { upsert: false });
1583
+ }
1558
1584
  async fetchTssSigSession({ id }) {
1559
1585
  const doc = await this.db.collection(collections.TSS_SIGN).findOne({ id });
1560
1586
  if (!doc) {
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/lib/storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/lib/storage.ts"],"names":[],"mappings":"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"}
@@ -54,8 +54,19 @@ declare class TssKeyGenClass {
54
54
  secret: string;
55
55
  copayerId: string;
56
56
  }): Promise<void>;
57
+ storeBwsJoinSecrets(params: {
58
+ id: string;
59
+ chain: string;
60
+ network: string;
61
+ secrets: {
62
+ [party: string]: string;
63
+ };
64
+ copayerId: string;
65
+ }): Promise<void>;
57
66
  getBwsJoinSecret(params: {
58
67
  id: string;
68
+ chain?: string;
69
+ network?: string;
59
70
  copayerId: string;
60
71
  }): Promise<string>;
61
72
  }
@@ -92,6 +103,7 @@ declare class TssSignClass {
92
103
  storeSignature(params: {
93
104
  id: string;
94
105
  signature: ITssSigMessageObject['signature'];
106
+ copayerId: string;
95
107
  }): Promise<void>;
96
108
  }
97
109
  export declare const TssSign: TssSignClass;
@@ -1 +1 @@
1
- {"version":3,"file":"tss.d.ts","sourceRoot":"","sources":["../../../src/lib/tss.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tss.d.ts","sourceRoot":"","sources":["../../../src/lib/tss.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ exports.TssSign = exports.TssKeyGen = void 0;
7
7
  const events_1 = require("events");
8
8
  const crypto_wallet_core_1 = require("@bitpay-labs/crypto-wallet-core");
9
9
  const constants_1 = require("./common/constants");
10
+ const utils_1 = require("./common/utils");
10
11
  const errordefinitions_1 = require("./errors/errordefinitions");
11
12
  const logger_1 = __importDefault(require("./logger"));
12
13
  const tsskeygen_1 = require("./model/tsskeygen");
@@ -371,6 +372,40 @@ class TssKeyGenClass {
371
372
  throw errordefinitions_1.Errors.TSS_GENERIC_ERROR.withMessage('Failed to store TSS key generation BWS join secret');
372
373
  }
373
374
  }
375
+ async storeBwsJoinSecrets(params) {
376
+ const { id, copayerId } = params;
377
+ const { chain, network } = getSecretChainNetwork(params.chain, params.network);
378
+ if (!params.secrets || typeof params.secrets !== 'object' || Array.isArray(params.secrets)) {
379
+ throw errordefinitions_1.Errors.TSS_GENERIC_ERROR.withMessage('Invalid BWS join secrets provided');
380
+ }
381
+ const storage = server_1.WalletService.getStorage();
382
+ const session = await storage.fetchTssKeyGenSession({ id });
383
+ if (!session) {
384
+ throw errordefinitions_1.Errors.TSS_SESSION_NOT_FOUND;
385
+ }
386
+ if (session.participants.indexOf(copayerId) !== 0) {
387
+ throw errordefinitions_1.Errors.TSS_GENERIC_ERROR.withMessage('Only the session creator can store the BWS join secret');
388
+ }
389
+ const secrets = {};
390
+ for (const [party, secret] of Object.entries(params.secrets)) {
391
+ const partyId = /^\d+$/.test(party) ? parseInt(party) : session.participants.indexOf(party);
392
+ if (!(partyId > 0 && partyId < session.n) || typeof secret !== 'string' || !secret) {
393
+ throw errordefinitions_1.Errors.TSS_GENERIC_ERROR.withMessage('Invalid BWS join secret for party ' + party);
394
+ }
395
+ if (secrets[partyId]) {
396
+ throw errordefinitions_1.Errors.TSS_GENERIC_ERROR.withMessage('Multiple BWS join secret for party ' + party);
397
+ }
398
+ secrets[partyId] = secret;
399
+ }
400
+ if (Object.keys(secrets).length !== session.n - 1) {
401
+ throw errordefinitions_1.Errors.TSS_GENERIC_ERROR.withMessage('Missing BWS join secrets for some parties');
402
+ }
403
+ const result = await storage.storeTssKeyBwsJoinSecrets({ id, chain, network, secrets });
404
+ if (!result.result.ok) {
405
+ logger_1.default.error('Failed to store TSS key generation BWS join secrets %o %o', id, result);
406
+ throw errordefinitions_1.Errors.TSS_GENERIC_ERROR.withMessage('Failed to store TSS key generation BWS join secrets');
407
+ }
408
+ }
374
409
  async getBwsJoinSecret(params) {
375
410
  const { id, copayerId } = params;
376
411
  const storage = server_1.WalletService.getStorage();
@@ -378,16 +413,36 @@ class TssKeyGenClass {
378
413
  if (!session) {
379
414
  throw errordefinitions_1.Errors.TSS_SESSION_NOT_FOUND;
380
415
  }
381
- if (session.participants.indexOf(copayerId) === -1) {
416
+ const partyId = session.participants.indexOf(copayerId);
417
+ if (partyId === -1) {
382
418
  throw errordefinitions_1.Errors.TSS_NON_PARTICIPANT;
383
419
  }
384
- if (!session.bwsJoinSecret) {
420
+ if (params.chain == null && params.network == null) {
421
+ if (!session.bwsJoinSecret) {
422
+ throw errordefinitions_1.Errors.TSS_BWS_JOIN_SECRET_NOT_FOUND;
423
+ }
424
+ return session.bwsJoinSecret;
425
+ }
426
+ const { chain, network } = getSecretChainNetwork(params.chain, params.network);
427
+ const secret = session.bwsJoinSecrets?.[`${chain}:${network}`]?.[partyId];
428
+ if (typeof secret !== 'string') {
385
429
  throw errordefinitions_1.Errors.TSS_BWS_JOIN_SECRET_NOT_FOUND;
386
430
  }
387
- return session.bwsJoinSecret;
431
+ return secret;
388
432
  }
389
433
  }
390
434
  ;
435
+ function getSecretChainNetwork(chain, network) {
436
+ chain = typeof chain === 'string' ? chain.toLowerCase() : chain;
437
+ if (!utils_1.Utils.checkValueInCollection(chain, constants_1.Constants.CHAINS)) {
438
+ throw errordefinitions_1.Errors.TSS_GENERIC_ERROR.withMessage('Invalid chain provided');
439
+ }
440
+ network = typeof network === 'string' ? utils_1.Utils.getNetworkName(chain, utils_1.Utils.getGenericName(network.toLowerCase())) : network;
441
+ if (!utils_1.Utils.checkValueInCollection(network, constants_1.Constants.NETWORKS[chain])) {
442
+ throw errordefinitions_1.Errors.TSS_GENERIC_ERROR.withMessage('Invalid network provided');
443
+ }
444
+ return { chain, network };
445
+ }
391
446
  exports.TssKeyGen = new TssKeyGenClass();
392
447
  class TssSignClass {
393
448
  static TSS_SIGGEN_MESSAGE_TYPE = 'TssSigMessage';
@@ -468,7 +523,7 @@ class TssSignClass {
468
523
  if (session.isExpired()) {
469
524
  throw errordefinitions_1.Errors.TSS_SESSION_EXPIRED;
470
525
  }
471
- if (!this._isValidBroadcastMessage({ message }) && !this._isValidP2pMessage({ message })) {
526
+ if (session.m > 1 && !this._isValidBroadcastMessage({ message }) && !this._isValidP2pMessage({ message })) {
472
527
  throw errordefinitions_1.Errors.TSS_INVALID_MESSAGE.withMessage('Invalid message provided');
473
528
  }
474
529
  if (session.schemeVersion != version) {
@@ -579,7 +634,7 @@ class TssSignClass {
579
634
  }
580
635
  }
581
636
  async storeSignature(params) {
582
- const { id, signature } = params;
637
+ const { id, signature, copayerId } = params;
583
638
  if (!signature) {
584
639
  throw errordefinitions_1.Errors.TSS_NO_FINAL_SIGNATURE;
585
640
  }
@@ -591,6 +646,10 @@ class TssSignClass {
591
646
  if (!session) {
592
647
  throw errordefinitions_1.Errors.TSS_SESSION_NOT_FOUND;
593
648
  }
649
+ const party = session.participants.find(p => p.copayerId === copayerId);
650
+ if (!party) {
651
+ throw errordefinitions_1.Errors.TSS_NON_PARTICIPANT;
652
+ }
594
653
  const verifySig = (sig1, sig2) => {
595
654
  return sig1.r === sig2.r &&
596
655
  sig1.s === sig2.s &&