@bitpay-labs/bitcore-wallet-service 11.11.1 → 11.11.3

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 (105) hide show
  1. package/Dockerfile +1 -1
  2. package/package.json +5 -5
  3. package/src/lib/chain/btc/index.ts +3 -2
  4. package/src/lib/chain/eth/index.ts +134 -117
  5. package/src/lib/chain/sol/index.ts +1 -1
  6. package/src/lib/chain/xrp/index.ts +1 -1
  7. package/src/lib/common/constants.ts +1 -1
  8. package/src/lib/common/utils.ts +18 -1
  9. package/src/lib/model/tsskeygen.ts +16 -0
  10. package/src/lib/routes/maintenance.ts +11 -2
  11. package/src/lib/routes/middleware/authTssRequest.ts +28 -16
  12. package/src/lib/routes/middleware/verifyTssMessage.ts +4 -1
  13. package/src/lib/routes/services.ts +7 -1
  14. package/src/lib/routes/tss.ts +33 -30
  15. package/src/lib/routes/wallets.ts +3 -1
  16. package/src/lib/server.ts +198 -105
  17. package/src/lib/storage.ts +129 -20
  18. package/src/lib/tss.ts +111 -7
  19. package/test/chain/eth.test.ts +70 -0
  20. package/test/chain/sol.test.ts +1 -1
  21. package/test/chain/xrp.test.ts +1 -1
  22. package/test/expressapp.test.ts +243 -0
  23. package/test/integration/addressReads.test.ts +503 -0
  24. package/test/integration/bcmonitor.test.ts +44 -0
  25. package/test/integration/server.test.ts +251 -49
  26. package/test/integration/tss.test.ts +428 -0
  27. package/test/integration/walletReads.test.ts +488 -0
  28. package/ts_build/package.json +4 -4
  29. package/ts_build/src/lib/chain/btc/index.d.ts.map +1 -1
  30. package/ts_build/src/lib/chain/btc/index.js +3 -2
  31. package/ts_build/src/lib/chain/btc/index.js.map +1 -1
  32. package/ts_build/src/lib/chain/eth/index.d.ts +8 -1
  33. package/ts_build/src/lib/chain/eth/index.d.ts.map +1 -1
  34. package/ts_build/src/lib/chain/eth/index.js +114 -102
  35. package/ts_build/src/lib/chain/eth/index.js.map +1 -1
  36. package/ts_build/src/lib/chain/sol/index.js +1 -1
  37. package/ts_build/src/lib/chain/sol/index.js.map +1 -1
  38. package/ts_build/src/lib/chain/xrp/index.js +1 -1
  39. package/ts_build/src/lib/chain/xrp/index.js.map +1 -1
  40. package/ts_build/src/lib/common/constants.d.ts +1 -1
  41. package/ts_build/src/lib/common/constants.js +1 -1
  42. package/ts_build/src/lib/common/index.d.ts +2 -1
  43. package/ts_build/src/lib/common/index.d.ts.map +1 -1
  44. package/ts_build/src/lib/common/utils.d.ts +1 -0
  45. package/ts_build/src/lib/common/utils.d.ts.map +1 -1
  46. package/ts_build/src/lib/common/utils.js +16 -1
  47. package/ts_build/src/lib/common/utils.js.map +1 -1
  48. package/ts_build/src/lib/model/tsskeygen.d.ts +10 -0
  49. package/ts_build/src/lib/model/tsskeygen.d.ts.map +1 -1
  50. package/ts_build/src/lib/model/tsskeygen.js +3 -0
  51. package/ts_build/src/lib/model/tsskeygen.js.map +1 -1
  52. package/ts_build/src/lib/routes/maintenance.d.ts.map +1 -1
  53. package/ts_build/src/lib/routes/maintenance.js +12 -4
  54. package/ts_build/src/lib/routes/maintenance.js.map +1 -1
  55. package/ts_build/src/lib/routes/middleware/authTssRequest.d.ts +6 -2
  56. package/ts_build/src/lib/routes/middleware/authTssRequest.d.ts.map +1 -1
  57. package/ts_build/src/lib/routes/middleware/authTssRequest.js +21 -14
  58. package/ts_build/src/lib/routes/middleware/authTssRequest.js.map +1 -1
  59. package/ts_build/src/lib/routes/middleware/verifyTssMessage.d.ts.map +1 -1
  60. package/ts_build/src/lib/routes/middleware/verifyTssMessage.js +2 -1
  61. package/ts_build/src/lib/routes/middleware/verifyTssMessage.js.map +1 -1
  62. package/ts_build/src/lib/routes/services.d.ts.map +1 -1
  63. package/ts_build/src/lib/routes/services.js +6 -1
  64. package/ts_build/src/lib/routes/services.js.map +1 -1
  65. package/ts_build/src/lib/routes/tss.d.ts.map +1 -1
  66. package/ts_build/src/lib/routes/tss.js +32 -30
  67. package/ts_build/src/lib/routes/tss.js.map +1 -1
  68. package/ts_build/src/lib/routes/wallets.d.ts.map +1 -1
  69. package/ts_build/src/lib/routes/wallets.js +2 -1
  70. package/ts_build/src/lib/routes/wallets.js.map +1 -1
  71. package/ts_build/src/lib/server.d.ts +24 -3
  72. package/ts_build/src/lib/server.d.ts.map +1 -1
  73. package/ts_build/src/lib/server.js +148 -97
  74. package/ts_build/src/lib/server.js.map +1 -1
  75. package/ts_build/src/lib/storage.d.ts +26 -10
  76. package/ts_build/src/lib/storage.d.ts.map +1 -1
  77. package/ts_build/src/lib/storage.js +99 -20
  78. package/ts_build/src/lib/storage.js.map +1 -1
  79. package/ts_build/src/lib/tss.d.ts +12 -0
  80. package/ts_build/src/lib/tss.d.ts.map +1 -1
  81. package/ts_build/src/lib/tss.js +64 -5
  82. package/ts_build/src/lib/tss.js.map +1 -1
  83. package/ts_build/test/chain/eth.test.js +59 -0
  84. package/ts_build/test/chain/eth.test.js.map +1 -1
  85. package/ts_build/test/chain/sol.test.js +1 -1
  86. package/ts_build/test/chain/sol.test.js.map +1 -1
  87. package/ts_build/test/chain/xrp.test.js +1 -1
  88. package/ts_build/test/chain/xrp.test.js.map +1 -1
  89. package/ts_build/test/expressapp.test.js +222 -0
  90. package/ts_build/test/expressapp.test.js.map +1 -1
  91. package/ts_build/test/integration/addressReads.test.d.ts +2 -0
  92. package/ts_build/test/integration/addressReads.test.d.ts.map +1 -0
  93. package/ts_build/test/integration/addressReads.test.js +465 -0
  94. package/ts_build/test/integration/addressReads.test.js.map +1 -0
  95. package/ts_build/test/integration/bcmonitor.test.js +40 -0
  96. package/ts_build/test/integration/bcmonitor.test.js.map +1 -1
  97. package/ts_build/test/integration/server.test.js +228 -48
  98. package/ts_build/test/integration/server.test.js.map +1 -1
  99. package/ts_build/test/integration/tss.test.d.ts.map +1 -1
  100. package/ts_build/test/integration/tss.test.js +344 -0
  101. package/ts_build/test/integration/tss.test.js.map +1 -1
  102. package/ts_build/test/integration/walletReads.test.d.ts +2 -0
  103. package/ts_build/test/integration/walletReads.test.d.ts.map +1 -0
  104. package/ts_build/test/integration/walletReads.test.js +436 -0
  105. package/ts_build/test/integration/walletReads.test.js.map +1 -0
@@ -1,5 +1,5 @@
1
1
  import * as mongodb from 'mongodb';
2
- import { Copayer, Email, Preferences, TxNote, TxProposal, Wallet } from './model';
2
+ import { Address, Copayer, Email, Preferences, TxNote, TxProposal, Wallet } from './model';
3
3
  import { TssKeyGenModel } from './model/tsskeygen';
4
4
  import { TssSigGenModel } from './model/tsssign';
5
5
  import type { ITssKeyMessageObject } from './model/tsskeygen';
@@ -38,26 +38,34 @@ export declare class Storage {
38
38
  storeWallet(wallet: any, cb: any): void;
39
39
  storeWalletAndUpdateCopayersLookup(wallet: any, cb: any): void;
40
40
  fetchCopayerLookup(copayerId: string): Promise<Copayer | undefined>;
41
- _completeTxData(walletId: string, txs: TxProposal | TxProposal[], cb: (err?: any, txs?: TxProposal | TxProposal[]) => void): void;
42
- fetchTx(walletId: string, txProposalId: string, cb: (err?: any, tx?: TxProposal) => void): void;
41
+ _completeTxData(walletId: string, txs: TxProposal | TxProposal[], cb: (err?: any, txs?: TxProposal | TxProposal[]) => void, wallet?: Wallet): void;
42
+ fetchTx(walletId: string, txProposalId: string, cb: (err?: any, tx?: TxProposal) => void, wallet?: Wallet): void;
43
43
  fetchTxByHash(hash: any, cb: any): any;
44
- fetchTxByHashForWallet(walletId: string, hash: any, cb: (err?: any, tx?: TxProposal) => void): void;
44
+ fetchTxByHashForWallet(walletId: string, hash: any, cb: (err?: any, tx?: TxProposal) => void, wallet?: Wallet): void;
45
45
  fetchLastTxs(walletId: any, creatorId: any, limit: any, cb: any): void;
46
46
  fetchEthPendingTxs(multisigTxpsInfo: any): Promise<TxProposal<number>[]>;
47
- fetchPendingTxs(walletId: any, cb: any): void;
48
- fetchTxs(walletId: any, opts: any, cb: any): void;
49
- fetchBroadcastedTxs(walletId: any, opts: any, cb: any): void;
47
+ fetchPendingTxs(walletId: any, cb: any, wallet?: Wallet): void;
48
+ fetchTxs(walletId: any, opts: any, cb: any, wallet?: Wallet): void;
49
+ fetchBroadcastedTxs(walletId: any, opts: any, cb: any, wallet?: Wallet): void;
50
50
  fetchNotifications(walletId: any, notificationId: any, minTs: any, cb: any): void;
51
51
  storeNotification(walletId: any, notification: any, cb: any): void;
52
52
  storeTx(walletId: any, txp: any, cb: any): void;
53
53
  removeTx(walletId: any, txProposalId: any, cb: any): void;
54
54
  removeWallet(walletId: any, cb: any): void;
55
55
  fetchAddresses(walletId: any, cb: any): void;
56
+ fetchAddressesPage(walletId: string, opts: {
57
+ noChange?: boolean;
58
+ addresses?: string[];
59
+ reverse?: boolean;
60
+ skip?: number;
61
+ limit?: number;
62
+ }, cb: (err?: any, addresses?: Address[]) => void): void;
56
63
  migrateToCashAddr(walletId: any, cb: any): void;
57
64
  fetchUnsyncAddresses(walletId: any, cb: any): void;
58
65
  fetchNewAddresses(walletId: any, fromTs: any, cb: any): void;
59
66
  storeAddress(address: any, cb: any): void;
60
67
  markSyncedAddresses(addresses: any, cb: any): void;
68
+ storeWalletRegistration(wallet: any, cb: any): void;
61
69
  deregisterWallet(walletId: any, cb: any): void;
62
70
  storeAddressAndWallet(wallet: any, addresses: any, cb: any): any;
63
71
  fetchAddressByWalletId(walletId: any, address: any, cb: any): void;
@@ -80,9 +88,9 @@ export declare class Storage {
80
88
  storeFiatRate(coin: any, rates: any, cb: any): void;
81
89
  fetchFiatRate(coin: any, code: any, ts: any, cb: any): void;
82
90
  fetchHistoricalRates(coin: any, code: any, ts: any, cb: any): void;
83
- fetchTxNote(walletId: any, txid: any, cb: (err?: any, note?: TxNote) => void): void;
84
- _completeTxNotesData(walletId: any, notes: TxNote | TxNote[], cb: (err?: any, notes?: TxNote | TxNote[]) => void): void;
85
- fetchTxNotes(walletId: any, opts: any, cb: any): void;
91
+ fetchTxNote(walletId: any, txid: any, cb: (err?: any, note?: TxNote) => void, wallet?: Wallet): void;
92
+ _completeTxNotesData(walletId: any, notes: TxNote | TxNote[], cb: (err?: any, notes?: TxNote | TxNote[]) => void, wallet?: Wallet): void;
93
+ fetchTxNotes(walletId: any, opts: any, cb: any, wallet?: Wallet): void;
86
94
  storeTxNote(txNote: any, cb: any): void;
87
95
  getSession(copayerId: any, cb: any): void;
88
96
  storeSession(session: any, cb: any): void;
@@ -148,6 +156,14 @@ export declare class Storage {
148
156
  id: string;
149
157
  secret: string;
150
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>;
151
167
  fetchTssSigSession({ id }: {
152
168
  id: string;
153
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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"}
@@ -292,8 +292,8 @@ class Storage {
292
292
  }
293
293
  return model_1.Copayer.fromObj(result);
294
294
  }
295
- _completeTxData(walletId, txs, cb) {
296
- this.fetchWallet(walletId, (err, wallet) => {
295
+ _completeTxData(walletId, txs, cb, wallet) {
296
+ const complete = (err, wallet) => {
297
297
  if (err)
298
298
  return cb(err);
299
299
  for (const tx of [].concat(txs)) {
@@ -306,9 +306,12 @@ class Storage {
306
306
  tx.raw = tx.getRawTx();
307
307
  }
308
308
  return cb(null, txs);
309
- });
309
+ };
310
+ if (wallet)
311
+ return complete(null, wallet);
312
+ this.fetchWallet(walletId, complete);
310
313
  }
311
- fetchTx(walletId, txProposalId, cb) {
314
+ fetchTx(walletId, txProposalId, cb, wallet) {
312
315
  if (!this.db)
313
316
  return cb();
314
317
  this.db.collection(collections.TXS).findOne({
@@ -319,7 +322,7 @@ class Storage {
319
322
  return cb(err);
320
323
  if (!result)
321
324
  return cb();
322
- return this._completeTxData(walletId, model_1.TxProposal.fromObj(result), cb);
325
+ return this._completeTxData(walletId, model_1.TxProposal.fromObj(result), cb, wallet);
323
326
  });
324
327
  }
325
328
  fetchTxByHash(hash, cb) {
@@ -335,7 +338,7 @@ class Storage {
335
338
  return this._completeTxData(result.walletId, model_1.TxProposal.fromObj(result), cb);
336
339
  });
337
340
  }
338
- fetchTxByHashForWallet(walletId, hash, cb) {
341
+ fetchTxByHashForWallet(walletId, hash, cb, wallet) {
339
342
  if (!this.db)
340
343
  return cb();
341
344
  this.db.collection(collections.TXS).findOne({
@@ -346,7 +349,7 @@ class Storage {
346
349
  return cb(err);
347
350
  if (!result)
348
351
  return cb();
349
- return this._completeTxData(walletId, model_1.TxProposal.fromObj(result), cb);
352
+ return this._completeTxData(walletId, model_1.TxProposal.fromObj(result), cb, wallet);
350
353
  });
351
354
  }
352
355
  fetchLastTxs(walletId, creatorId, limit, cb) {
@@ -415,7 +418,7 @@ class Storage {
415
418
  });
416
419
  });
417
420
  }
418
- fetchPendingTxs(walletId, cb) {
421
+ fetchPendingTxs(walletId, cb, wallet) {
419
422
  this.db
420
423
  .collection(collections.TXS)
421
424
  .find({
@@ -433,10 +436,10 @@ class Storage {
433
436
  const txs = lodash_1.default.map(result, tx => {
434
437
  return model_1.TxProposal.fromObj(tx);
435
438
  });
436
- return this._completeTxData(walletId, txs, cb);
439
+ return this._completeTxData(walletId, txs, cb, wallet);
437
440
  });
438
441
  }
439
- fetchTxs(walletId, opts, cb) {
442
+ fetchTxs(walletId, opts, cb, wallet) {
440
443
  opts = opts || {};
441
444
  const tsFilter = {};
442
445
  if (lodash_1.default.isNumber(opts.minTs))
@@ -465,10 +468,10 @@ class Storage {
465
468
  const txs = lodash_1.default.map(result, tx => {
466
469
  return model_1.TxProposal.fromObj(tx);
467
470
  });
468
- return this._completeTxData(walletId, txs, cb);
471
+ return this._completeTxData(walletId, txs, cb, wallet);
469
472
  });
470
473
  }
471
- fetchBroadcastedTxs(walletId, opts, cb) {
474
+ fetchBroadcastedTxs(walletId, opts, cb, wallet) {
472
475
  opts = opts || {};
473
476
  const tsFilter = {};
474
477
  if (lodash_1.default.isNumber(opts.minTs))
@@ -498,7 +501,7 @@ class Storage {
498
501
  const txs = lodash_1.default.map(result, tx => {
499
502
  return model_1.TxProposal.fromObj(tx);
500
503
  });
501
- return this._completeTxData(walletId, txs, cb);
504
+ return this._completeTxData(walletId, txs, cb, wallet);
502
505
  });
503
506
  }
504
507
  fetchNotifications(walletId, notificationId, minTs, cb) {
@@ -591,6 +594,53 @@ class Storage {
591
594
  return cb(null, Utils.sortAsc(result.map(model_1.Address.fromObj), 'createdOn', 'path'));
592
595
  });
593
596
  }
597
+ fetchAddressesPage(walletId, opts, cb) {
598
+ const query = { walletId };
599
+ if (opts.noChange)
600
+ query.isChange = { $in: [false, null] };
601
+ if (opts.addresses)
602
+ query.address = { $in: opts.addresses };
603
+ const skip = opts.skip > 0 ? Math.floor(opts.skip) : 0;
604
+ const limit = opts.limit > 0 ? Math.floor(opts.limit) : null;
605
+ const collection = this.db.collection(collections.ADDRESSES);
606
+ const page = docs => {
607
+ let addresses = Utils.sortAsc(docs.map(model_1.Address.fromObj), 'createdOn', 'path');
608
+ if (opts.reverse)
609
+ addresses.reverse();
610
+ if (skip)
611
+ addresses = addresses.slice(skip);
612
+ if (limit !== null)
613
+ addresses = addresses.slice(0, limit);
614
+ return addresses;
615
+ };
616
+ const readAll = () => collection.find(query).sort({ createdOn: 1 }).toArray((err, docs) => {
617
+ if (err)
618
+ return cb(err);
619
+ return cb(null, page(docs));
620
+ });
621
+ if (opts.addresses || !(limit > 0) || !Number.isSafeInteger(skip + limit + 1))
622
+ return readAll();
623
+ collection.findOne({ walletId, createdOn: null }, { projection: { _id: 1 } }, (err, unordered) => {
624
+ if (err)
625
+ return cb(err);
626
+ if (unordered)
627
+ return readAll();
628
+ const count = skip + limit;
629
+ collection.find(query).sort({ createdOn: opts.reverse ? -1 : 1 }).limit(count + 1).toArray((err, docs) => {
630
+ if (err)
631
+ return cb(err);
632
+ if (docs.length <= count || docs[count].createdOn !== docs[count - 1].createdOn) {
633
+ return cb(null, page(docs.slice(0, count)));
634
+ }
635
+ collection.find({ ...query, createdOn: docs[count - 1].createdOn }).toArray((err, ties) => {
636
+ if (err)
637
+ return cb(err);
638
+ const read = new Set(docs.slice(0, count).map(doc => String(doc._id)));
639
+ return cb(null, page([...docs.slice(0, count), ...ties.filter(doc => !read.has(String(doc._id)))]));
640
+ });
641
+ });
642
+ });
643
+ }
594
644
  migrateToCashAddr(walletId, cb) {
595
645
  const cursor = this.db.collection(collections.ADDRESSES).find({
596
646
  walletId
@@ -667,6 +717,20 @@ class Storage {
667
717
  upsert: false
668
718
  }, cb);
669
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
+ }
670
734
  deregisterWallet(walletId, cb) {
671
735
  this.db.collection(collections.WALLETS).updateOne({
672
736
  id: walletId
@@ -1058,7 +1122,7 @@ class Storage {
1058
1122
  return cb(null, result);
1059
1123
  });
1060
1124
  }
1061
- fetchTxNote(walletId, txid, cb) {
1125
+ fetchTxNote(walletId, txid, cb, wallet) {
1062
1126
  this.db.collection(collections.TX_NOTES).findOne({
1063
1127
  walletId,
1064
1128
  txid
@@ -1067,20 +1131,23 @@ class Storage {
1067
1131
  return cb(err);
1068
1132
  if (!result)
1069
1133
  return cb();
1070
- return this._completeTxNotesData(walletId, model_1.TxNote.fromObj(result), cb);
1134
+ return this._completeTxNotesData(walletId, model_1.TxNote.fromObj(result), cb, wallet);
1071
1135
  });
1072
1136
  }
1073
- _completeTxNotesData(walletId, notes, cb) {
1074
- this.fetchWallet(walletId, (err, wallet) => {
1137
+ _completeTxNotesData(walletId, notes, cb, wallet) {
1138
+ const complete = (err, wallet) => {
1075
1139
  if (err)
1076
1140
  return cb(err);
1077
1141
  for (const note of [].concat(notes)) {
1078
1142
  note.editedByName = wallet.getCopayer(note.editedBy).name;
1079
1143
  }
1080
1144
  return cb(null, notes);
1081
- });
1145
+ };
1146
+ if (wallet)
1147
+ return complete(null, wallet);
1148
+ this.fetchWallet(walletId, complete);
1082
1149
  }
1083
- fetchTxNotes(walletId, opts, cb) {
1150
+ fetchTxNotes(walletId, opts, cb, wallet) {
1084
1151
  const filter = {
1085
1152
  walletId
1086
1153
  };
@@ -1097,7 +1164,7 @@ class Storage {
1097
1164
  const notes = lodash_1.default.compact(lodash_1.default.map(result, note => {
1098
1165
  return model_1.TxNote.fromObj(note);
1099
1166
  }));
1100
- return this._completeTxNotesData(walletId, notes, cb);
1167
+ return this._completeTxNotesData(walletId, notes, cb, wallet);
1101
1168
  });
1102
1169
  }
1103
1170
  storeTxNote(txNote, cb) {
@@ -1502,6 +1569,18 @@ class Storage {
1502
1569
  }
1503
1570
  }, { upsert: false });
1504
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
+ }
1505
1584
  async fetchTssSigSession({ id }) {
1506
1585
  const doc = await this.db.collection(collections.TSS_SIGN).findOne({ id });
1507
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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"}