@bitpay-labs/bitcore-wallet-service 11.7.3 → 11.8.1

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.
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@bitpay-labs/bitcore-wallet-service",
3
3
  "description": "A service for Mutisig HD Bitcoin Wallets",
4
4
  "author": "BitPay Inc",
5
- "version": "11.7.3",
5
+ "version": "11.8.1",
6
6
  "license": "MIT",
7
7
  "main": "ts_build/src/index.js",
8
8
  "types": "./ts_build/src/index.d.ts",
@@ -43,8 +43,9 @@
43
43
  "cp:templates": "cp -r ./templates ./ts_build/templates"
44
44
  },
45
45
  "dependencies": {
46
- "@bitpay-labs/bitcore-tss": "^11.7.3",
47
- "@bitpay-labs/crypto-wallet-core": "^11.7.3",
46
+ "@bitpay-labs/bitcore-logging": "^11.8.1",
47
+ "@bitpay-labs/bitcore-tss": "^11.8.1",
48
+ "@bitpay-labs/crypto-wallet-core": "^11.8.1",
48
49
  "@sendgrid/mail": "6.5.4",
49
50
  "abi-decoder": "2.4.0",
50
51
  "async": "0.9.2",
@@ -72,8 +73,7 @@
72
73
  "socket.io-client": "4.8.1",
73
74
  "source-map-support": "0.5.16",
74
75
  "sticky-session": "0.1.0",
75
- "uuid": "3.4.0",
76
- "winston": "3.3.3"
76
+ "uuid": "3.4.0"
77
77
  },
78
78
  "devDependencies": {
79
79
  "@types/async": "^2.4.1",
@@ -152,7 +152,6 @@ export class RampService {
152
152
  if (req.body.useSendCryptoCallback) qs.push('useSendCryptoCallback=' + encodeURIComponent(req.body.useSendCryptoCallback));
153
153
  if (req.body.paymentMethodType) qs.push('paymentMethodType=' + encodeURIComponent(req.body.paymentMethodType));
154
154
  if (req.body.hideExitButton) qs.push('hideExitButton=' + encodeURIComponent(req.body.hideExitButton));
155
- if (req.body.variant) qs.push('variant=' + encodeURIComponent(req.body.variant));
156
155
  if (req.body.useSendCryptoCallbackVersion) qs.push('useSendCryptoCallbackVersion=' + encodeURIComponent(req.body.useSendCryptoCallbackVersion));
157
156
 
158
157
  const queryString = qs.join('&');
@@ -433,9 +433,9 @@ export class ExpressApp {
433
433
  twoStep,
434
434
  silentFailure,
435
435
  includeServerMessages,
436
- tokenAddresses: getParam('tokenAddress', true),
437
- multisigContractAddress: getParam('multisigContractAddress'),
438
- network: getParam('network')
436
+ tokenAddresses: getParam('tokenAddress', true) as string[] | null,
437
+ multisigContractAddress: getParam('multisigContractAddress') as string | null,
438
+ network: getParam('network') as string | null
439
439
  };
440
440
  return opts;
441
441
  };
@@ -446,7 +446,7 @@ export class ExpressApp {
446
446
  promise.then(
447
447
  (server: WalletService) =>
448
448
  new Promise(resolve => {
449
- const options: any = buildOpts(req, server.copayerId);
449
+ const options = buildOpts(req, server.copayerId);
450
450
  if (options.tokenAddresses) {
451
451
  // add a null entry to array so we can get the chain balance
452
452
  options.tokenAddresses.unshift(null);
@@ -457,7 +457,7 @@ export class ExpressApp {
457
457
  optsClone.tokenAddresses = null;
458
458
  optsClone.tokenAddress = tokenAddress;
459
459
  return server.getStatus(optsClone, (err, status) => {
460
- const result: any = {
460
+ const result = {
461
461
  walletId: server.walletId,
462
462
  tokenAddress: optsClone.tokenAddress,
463
463
  success: true,
@@ -468,7 +468,7 @@ export class ExpressApp {
468
468
  logger.error(
469
469
  `An error occurred retrieving wallet status - id: ${server.walletId} - token address: ${optsClone.tokenAddress} - err: ${err.message}`
470
470
  );
471
- cb(null, result); // do not throw error, continue with next wallets
471
+ cb(null, [result]); // do not throw error, continue with next wallets
472
472
  });
473
473
  },
474
474
  (err, result) => {
@@ -505,6 +505,30 @@ export class ExpressApp {
505
505
  return res.json(_.flatten(responses));
506
506
  });
507
507
 
508
+ router.post('/v1/wallets/exist', async (req, res) => {
509
+ try {
510
+ const copayers = req.body.copayers;
511
+ if (!copayers || !Array.isArray(copayers)) {
512
+ logger.info('Invalid request to /v1/wallets/exist - copayers should be an array');
513
+ return res.json([]);
514
+ }
515
+
516
+ const storage = WalletService.getStorage();
517
+ const existing = await Promise.all<{ copayerId: string; verified: boolean }>(copayers.map(c => new Promise((resolve) => {
518
+ storage.fetchCopayerLookup(c.copayerId, (err, copayer) => {
519
+ if (err || !copayer) {
520
+ return resolve({ copayerId: c.copayerId, verified: false });
521
+ }
522
+ const verified = copayer.requestPubKeys.some(pubkey => Utils.verifyMessage(c.copayerId, c.signature, pubkey.key));
523
+ return resolve({ copayerId: c.copayerId, verified });
524
+ });
525
+ })));
526
+ return res.json(existing.filter(e => e.verified).map(e => e.copayerId));
527
+ } catch (err) {
528
+ return returnError(err, res, req);
529
+ }
530
+ });
531
+
508
532
  router.get('/v1/wallets/:identifier/', (req, res) => {
509
533
  getServerWithAuth(
510
534
  req,
package/src/lib/logger.ts CHANGED
@@ -1,77 +1,8 @@
1
- import path from 'path';
2
- import * as winston from 'winston';
1
+ import { createLogger, formatTimestamp, timestamp } from '@bitpay-labs/bitcore-logging';
3
2
 
4
- // const logLevel = args.DEBUG ? 'debug' : 'info';
5
- const logLevel = process.env.BWS_LOG_LEVEL || 'debug';
6
-
7
- export const transports: winston.transport[] = [
8
- new winston.transports.Console({
9
- level: logLevel,
10
- format: winston.format.combine(
11
- winston.format.colorize(),
12
- winston.format.prettyPrint(),
13
- winston.format.splat(),
14
- winston.format.simple(),
15
- winston.format.printf(function(info) {
16
- // fallback in case the above formatters don't work.
17
- // eg: logger.log({ some: 'object' })
18
- if (typeof info.message === 'object') {
19
- info.message = JSON.stringify(info.message, null, 4);
20
- }
21
- return `${info.level} :: ${new Date().toISOString()} :: ${info.message}`;
22
- })
23
- ),
24
- })
25
- ];
26
-
27
- if (process.env.BWS_LOG_HTTP_HOST) {
28
- transports.push(new winston.transports.Http({
29
- level: process.env.BWS_LOG_HTTP_LEVEL || logLevel,
30
- host: process.env.BWS_LOG_HTTP_HOST,
31
- port: parseInt(process.env.BWS_LOG_HTTP_PORT) || undefined,
32
- path: process.env.BWS_LOG_HTTP_PATH || ('bws.' + path.parse(process.argv[1]).name),
33
- headers: {
34
- 'Content-Type': 'application/json'
35
- },
36
- format: winston.format.combine(
37
- winston.format.splat(),
38
- winston.format.simple(),
39
- winston.format.printf(info => {
40
- // fallback in case the above formatters don't work.
41
- // eg: logger.log({ some: 'object' })
42
- if (typeof info.message === 'object') {
43
- info.message = JSON.stringify(info.message, null, 4);
44
- }
45
- return JSON.stringify({
46
- tag: process.env.BWS_LOG_HTTP_TAG || ('bws.' + path.parse(process.argv[1]).name),
47
- ...info
48
- });
49
- }),
50
- )
51
- }));
52
- }
53
-
54
- export const logger = winston.createLogger({ transports });
55
-
56
- export const formatTimestamp = (date: Date): string =>
57
- `${date.getFullYear()}-${(date.getMonth() + 1).toString().padStart(2, '0')}-${date
58
- .getDate()
59
- .toString()
60
- .padStart(2, '0')} ${date
61
- .getHours()
62
- .toString()
63
- .padStart(2, '0')}:${date
64
- .getMinutes()
65
- .toString()
66
- .padStart(2, '0')}:${date
67
- .getSeconds()
68
- .toString()
69
- .padStart(2, '0')}.${date
70
- .getMilliseconds()
71
- .toString()
72
- // .padEnd(3, '0')} ${timezone}`;
73
- .padEnd(3, '0')}`;
74
-
75
- export const timestamp = () => formatTimestamp(new Date());
3
+ type BwsLogger = ReturnType<typeof createLogger>;
76
4
 
5
+ export const logger: BwsLogger = createLogger({ prefix: 'BWS', defaultLevel: 'debug' });
6
+ export const transports: BwsLogger['transports'] = logger.transports;
7
+ export { formatTimestamp, timestamp };
77
8
  export default logger;
package/src/lib/server.ts CHANGED
@@ -58,6 +58,8 @@ import { Storage } from './storage';
58
58
  import type { ExternalServicesConfig } from '../types/externalservices';
59
59
  import type { GetAddressesOpts, UpgradeCheckOpts } from '../types/server';
60
60
 
61
+ type BwsLogger = typeof logger;
62
+
61
63
  let request = _request;
62
64
  const $ = singleton();
63
65
 
@@ -489,7 +491,7 @@ export class WalletService implements IWalletService {
489
491
  return args;
490
492
  }
491
493
 
492
- logi(message, ...args) {
494
+ logi(message: string, ...args: any[]): BwsLogger {
493
495
  args = this._cleanLogArgs(args);
494
496
 
495
497
  if (typeof message === 'string' && args.length > 0 && !message.endsWith('%o')) {
@@ -506,7 +508,7 @@ export class WalletService implements IWalletService {
506
508
  return logger.info(message, ...args);
507
509
  }
508
510
 
509
- logw(message, ...args) {
511
+ logw(message: string, ...args: any[]): BwsLogger {
510
512
  args = this._cleanLogArgs(args);
511
513
 
512
514
  if (typeof message === 'string' && args.length > 0 && !message.endsWith('%o')) {
@@ -524,7 +526,7 @@ export class WalletService implements IWalletService {
524
526
  return logger.warn(message, ...args);
525
527
  }
526
528
 
527
- logd(message, ...args) {
529
+ logd(message: string, ...args: any[]): BwsLogger {
528
530
  args = this._cleanLogArgs(args);
529
531
 
530
532
  if (typeof message === 'string' && args.length > 0 && !message.endsWith('%o')) {
@@ -944,7 +946,7 @@ export class WalletService implements IWalletService {
944
946
  );
945
947
  }
946
948
 
947
- /*
949
+ /**
948
950
  * Verifies a signature
949
951
  * @param text
950
952
  * @param signature
@@ -954,7 +956,7 @@ export class WalletService implements IWalletService {
954
956
  return Utils.verifyMessage(text, signature, pubkey);
955
957
  }
956
958
 
957
- /*
959
+ /**
958
960
  * Verifies a request public key
959
961
  * @param requestPubKey
960
962
  * @param signature
@@ -965,7 +967,7 @@ export class WalletService implements IWalletService {
965
967
  return Utils.verifyMessage(requestPubKey, signature, pub.toString());
966
968
  }
967
969
 
968
- /*
970
+ /**
969
971
  * Verifies signature againt a collection of pubkeys
970
972
  * @param text
971
973
  * @param signature
@@ -310,7 +310,6 @@ describe('Ramp integration', () => {
310
310
  defaultFlow: 'OFFRAMP',
311
311
  selectedCountryCode: 'US',
312
312
  defaultAsset: 'BTC_BTC',
313
- variant: 'webview-mobile',
314
313
  useSendCryptoCallback: true,
315
314
  useSendCryptoCallbackVersion: 1,
316
315
  hideExitButton: false,
@@ -329,7 +328,6 @@ describe('Ramp integration', () => {
329
328
  params.swapAmount.should.equal('1000000');
330
329
  params.defaultAsset.should.equal('BTC_BTC');
331
330
  params.useSendCryptoCallback.should.equal('true');
332
- params.variant.should.equal('webview-mobile');
333
331
  params.useSendCryptoCallbackVersion.should.equal('1');
334
332
 
335
333
  // timestamp must exist and be numeric
@@ -350,7 +348,6 @@ describe('Ramp integration', () => {
350
348
  defaultFlow: 'OFFRAMP',
351
349
  selectedCountryCode: 'US',
352
350
  defaultAsset: 'BTC_BTC',
353
- variant: 'webview-mobile',
354
351
  useSendCryptoCallback: true,
355
352
  useSendCryptoCallbackVersion: 1,
356
353
  hideExitButton: false,
@@ -369,7 +366,6 @@ describe('Ramp integration', () => {
369
366
  params.swapAmount.should.equal('1000000');
370
367
  params.defaultAsset.should.equal('BTC_BTC');
371
368
  params.useSendCryptoCallback.should.equal('true');
372
- params.variant.should.equal('webview-mobile');
373
369
  params.useSendCryptoCallbackVersion.should.equal('1');
374
370
 
375
371
  // timestamp must exist and be numeric
@@ -2,7 +2,7 @@
2
2
  "name": "@bitpay-labs/bitcore-wallet-service",
3
3
  "description": "A service for Mutisig HD Bitcoin Wallets",
4
4
  "author": "BitPay Inc",
5
- "version": "11.7.2",
5
+ "version": "11.8.0",
6
6
  "license": "MIT",
7
7
  "main": "ts_build/src/index.js",
8
8
  "types": "./ts_build/src/index.d.ts",
@@ -43,8 +43,9 @@
43
43
  "cp:templates": "cp -r ./templates ./ts_build/templates"
44
44
  },
45
45
  "dependencies": {
46
- "@bitpay-labs/bitcore-tss": "^11.7.2",
47
- "@bitpay-labs/crypto-wallet-core": "^11.7.2",
46
+ "@bitpay-labs/bitcore-logging": "^11.8.0",
47
+ "@bitpay-labs/bitcore-tss": "^11.7.3",
48
+ "@bitpay-labs/crypto-wallet-core": "^11.7.3",
48
49
  "@sendgrid/mail": "6.5.4",
49
50
  "abi-decoder": "2.4.0",
50
51
  "async": "0.9.2",
@@ -72,8 +73,7 @@
72
73
  "socket.io-client": "4.8.1",
73
74
  "source-map-support": "0.5.16",
74
75
  "sticky-session": "0.1.0",
75
- "uuid": "3.4.0",
76
- "winston": "3.3.3"
76
+ "uuid": "3.4.0"
77
77
  },
78
78
  "devDependencies": {
79
79
  "@types/async": "^2.4.1",
@@ -1 +1 @@
1
- {"version":3,"file":"ramp.d.ts","sourceRoot":"","sources":["../../../src/externalservices/ramp.ts"],"names":[],"mappings":"AAOA,qBAAa,WAAW;IACtB,OAAO,EAAE,GAAG,CAAW;IAEvB,OAAO,CAAC,WAAW;IA0BnB,YAAY,CAAC,GAAG,KAAA,GAAG,OAAO,CAAC,GAAG,CAAC;IAkC/B,gBAAgB,CAAC,GAAG,KAAA,GAAG,OAAO,CAAC,GAAG,CAAC;IAwCnC,uBAAuB,CAAC,GAAG,KAAA,GAAG;QAAE,gBAAgB,EAAE,MAAM,CAAA;KAAE;IA0E1D,aAAa,CAAC,GAAG,KAAA,GAAG,OAAO,CAAC,GAAG,CAAC;IAwChC,6BAA6B,CAAC,GAAG,KAAA,GAAG,OAAO,CAAC,GAAG,CAAC;CAkCjD"}
1
+ {"version":3,"file":"ramp.d.ts","sourceRoot":"","sources":["../../../src/externalservices/ramp.ts"],"names":[],"mappings":"AAOA,qBAAa,WAAW;IACtB,OAAO,EAAE,GAAG,CAAW;IAEvB,OAAO,CAAC,WAAW;IA0BnB,YAAY,CAAC,GAAG,KAAA,GAAG,OAAO,CAAC,GAAG,CAAC;IAkC/B,gBAAgB,CAAC,GAAG,KAAA,GAAG,OAAO,CAAC,GAAG,CAAC;IAwCnC,uBAAuB,CAAC,GAAG,KAAA,GAAG;QAAE,gBAAgB,EAAE,MAAM,CAAA;KAAE;IAyE1D,aAAa,CAAC,GAAG,KAAA,GAAG,OAAO,CAAC,GAAG,CAAC;IAwChC,6BAA6B,CAAC,GAAG,KAAA,GAAG,OAAO,CAAC,GAAG,CAAC;CAkCjD"}
@@ -170,8 +170,6 @@ class RampService {
170
170
  qs.push('paymentMethodType=' + encodeURIComponent(req.body.paymentMethodType));
171
171
  if (req.body.hideExitButton)
172
172
  qs.push('hideExitButton=' + encodeURIComponent(req.body.hideExitButton));
173
- if (req.body.variant)
174
- qs.push('variant=' + encodeURIComponent(req.body.variant));
175
173
  if (req.body.useSendCryptoCallbackVersion)
176
174
  qs.push('useSendCryptoCallbackVersion=' + encodeURIComponent(req.body.useSendCryptoCallbackVersion));
177
175
  const queryString = qs.join('&');
@@ -1 +1 @@
1
- {"version":3,"file":"ramp.js","sourceRoot":"","sources":["../../../src/externalservices/ramp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ramp.js","sourceRoot":"","sources":["../../../src/externalservices/ramp.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAiC;AACjC,iDAAmC;AACnC,uDAA+B;AAC/B,+CAA4C;AAC5C,2DAAwD;AACxD,0CAA8C;AAE9C,MAAa,WAAW;IACtB,OAAO,GAAQ,OAAO,CAAC;IAEf,WAAW,CAAC,GAAG;QACrB,IAAI,CAAC,gBAAM,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAE9D,IAAI,GAA8D,CAAC;QACnE,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/D,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YAC/B,GAAG,IAAI,KAAK,CAAC;QACf,CAAC;QACD,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC;QACpB,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;QAExB,MAAM,IAAI,GAKN;YACF,GAAG,EAAE,gBAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG;YACzB,UAAU,EAAE,gBAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS;YACtC,OAAO,EAAE,gBAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM;YAChC,WAAW,EAAE,gBAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,UAAU;SACzC,CAAC;QAEF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,YAAY,CAAC,GAAG;QACd,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACnC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;YACrB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YAE7B,IAAI,CAAC,IAAA,sBAAa,EAAC,GAAG,CAAC,IAAI,EAAE,CAAC,mBAAmB,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;gBACjF,OAAO,MAAM,CAAC,IAAI,yBAAW,CAAC,kCAAkC,CAAC,CAAC,CAAC;YACrE,CAAC;YAED,MAAM,OAAO,GAAG;gBACd,cAAc,EAAE,kBAAkB;aACnC,CAAC;YAEF,MAAM,GAAG,GAAW,GAAG,GAAG,4CAA4C,OAAO,EAAE,CAAC;YAEhF,IAAI,CAAC,OAAO,CAAC,IAAI,CACf,GAAG,EACH;gBACE,OAAO;gBACP,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,IAAI,EAAE,IAAI;aACX,EACD,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;gBACZ,IAAI,GAAG,EAAE,CAAC;oBACR,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC3C,CAAC;qBAAM,CAAC;oBACN,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC/C,CAAC;YACH,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gBAAgB,CAAC,GAAG;QAClB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACnC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;YACrB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YAQ7B,IAAI,CAAC,IAAA,sBAAa,EAAC,GAAG,CAAC,IAAI,EAAE,CAAC,mBAAmB,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,IAAA,sBAAa,EAAC,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAA,sBAAa,EAAC,GAAG,CAAC,IAAI,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/J,OAAO,MAAM,CAAC,IAAI,yBAAW,CAAC,kCAAkC,CAAC,CAAC,CAAC;YACrE,CAAC;YAED,MAAM,OAAO,GAAG;gBACd,cAAc,EAAE,kBAAkB;aACnC,CAAC;YAEF,MAAM,GAAG,GAAW,GAAG,GAAG,6CAA6C,OAAO,EAAE,CAAC;YAEjF,IAAI,CAAC,OAAO,CAAC,IAAI,CACf,GAAG,EACH;gBACE,OAAO;gBACP,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,IAAI,EAAE,IAAI;aACX,EACD,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;gBACZ,IAAI,GAAG,EAAE,CAAC;oBACR,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC3C,CAAC;qBAAM,CAAC;oBACN,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC/C,CAAC;YACH,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,uBAAuB,CAAC,GAAG;QACzB,MAAM,iBAAiB,GAAG;YACxB,qBAAqB;SACtB,CAAC;QACF,MAAM,iBAAiB,GAAG;YACxB,cAAc;YACd,aAAa;YACb,qBAAqB;YACrB,cAAc;SACf,CAAC;QACF,MAAM,mBAAmB,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;QAClJ,iBAAiB,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAE9C,MAAM,cAAc,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC;QAC1F,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAErC,IACE,CAAC,IAAA,sBAAa,EAAC,GAAG,CAAC,IAAI,EAAE,cAAc,CAAC,EACxC,CAAC;YACD,MAAM,IAAI,yBAAW,CAAC,kCAAkC,CAAC,CAAC;QAC5D,CAAC;QAED,MAAM,EAAE,GAAa,EAAE,CAAC;QACxB,EAAE,CAAC,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,CAAC;QACjC,EAAE,CAAC,IAAI,CAAC,sBAAsB,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;QACnF,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ;YAAE,EAAE,CAAC,IAAI,CAAC,WAAW,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QACpF,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW;YAAE,EAAE,CAAC,IAAI,CAAC,cAAc,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QAC7F,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS;YAAE,EAAE,CAAC,IAAI,CAAC,YAAY,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QACvF,IAAI,GAAG,CAAC,IAAI,CAAC,YAAY;YAAE,EAAE,CAAC,IAAI,CAAC,eAAe,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QAChG,IAAI,GAAG,CAAC,IAAI,CAAC,YAAY;YAAE,EAAE,CAAC,IAAI,CAAC,eAAe,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QAChG,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW;YAAE,EAAE,CAAC,IAAI,CAAC,cAAc,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QAC7F,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW;YAAE,EAAE,CAAC,IAAI,CAAC,cAAc,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QAC7F,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW;YAAE,EAAE,CAAC,IAAI,CAAC,cAAc,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QAC7F,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU;YAAE,EAAE,CAAC,IAAI,CAAC,aAAa,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAC1F,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS;YAAE,EAAE,CAAC,IAAI,CAAC,YAAY,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QACvF,IAAI,GAAG,CAAC,IAAI,CAAC,YAAY;YAAE,EAAE,CAAC,IAAI,CAAC,eAAe,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QAChG,IAAI,GAAG,CAAC,IAAI,CAAC,YAAY;YAAE,EAAE,CAAC,IAAI,CAAC,eAAe,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QAChG,IAAI,GAAG,CAAC,IAAI,CAAC,gBAAgB;YAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC5G,IAAI,GAAG,CAAC,IAAI,CAAC,qBAAqB;YAAE,EAAE,CAAC,IAAI,CAAC,wBAAwB,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;QAC3H,IAAI,GAAG,CAAC,IAAI,CAAC,iBAAiB;YAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC/G,IAAI,GAAG,CAAC,IAAI,CAAC,cAAc;YAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;QACtG,IAAI,GAAG,CAAC,IAAI,CAAC,4BAA4B;YAAE,EAAE,CAAC,IAAI,CAAC,+BAA+B,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,CAAC;QAEhJ,MAAM,WAAW,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAGjC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACzC,MAAM,kBAAkB,GAAG,GAAG,WAAW,cAAc,SAAS,EAAE,CAAC;QAGnE,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;QAC3D,IAAI,eAAuB,CAAC;QAC5B,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YACtD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YACnG,eAAe,GAAG,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACjD,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,yBAAW,CAAC,0BAA0B,CAAC,CAAC;QACpD,CAAC;QAGD,MAAM,UAAU,GAAW,IAAI,kBAAkB,cAAc,kBAAkB,CAC/E,eAAe,CAChB,EAAE,CAAC;QAEJ,MAAM,gBAAgB,GAAG,GAAG,UAAU,GAAG,UAAU,EAAE,CAAC;QAEtD,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC9B,CAAC;IAED,aAAa,CAAC,GAAG;QACf,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACnC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;YACrB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YAE7B,MAAM,OAAO,GAAG;gBACd,cAAc,EAAE,kBAAkB;aACnC,CAAC;YAEF,MAAM,EAAE,GAAa,EAAE,CAAC;YAExB,EAAE,CAAC,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,CAAC;YACjC,IAAI,GAAG,CAAC,IAAI,CAAC,YAAY;gBAAE,EAAE,CAAC,IAAI,CAAC,eAAe,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;YAChG,IAAI,GAAG,CAAC,IAAI,CAAC,YAAY;gBAAE,EAAE,CAAC,IAAI,CAAC,eAAe,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;YAChG,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU;gBAAE,EAAE,CAAC,IAAI,CAAC,aAAa,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YAC1F,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACnB,MAAM,EAAE,GAAG,aAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;gBACnC,EAAE,CAAC,IAAI,CAAC,SAAS,GAAG,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC;YAC9C,CAAC;YAED,MAAM,GAAG,GAAG,GAAG,GAAG,eAAe,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAEtH,IAAI,CAAC,OAAO,CAAC,GAAG,CACd,GAAG,EACH;gBACE,OAAO;gBACP,IAAI,EAAE,IAAI;aACX,EACD,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;gBACZ,IAAI,GAAG,EAAE,CAAC;oBACR,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC3C,CAAC;qBAAM,CAAC;oBACN,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC/C,CAAC;YACH,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,6BAA6B,CAAC,GAAG;QAC/B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACnC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;YAErB,IAAI,CAAC,IAAA,sBAAa,EAAC,GAAG,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC;gBACtD,OAAO,MAAM,CAAC,IAAI,yBAAW,CAAC,kCAAkC,CAAC,CAAC,CAAC;YACrE,CAAC;YAED,MAAM,OAAO,GAAG;gBACd,cAAc,EAAE,kBAAkB;aACnC,CAAC;YAEF,MAAM,EAAE,GAAa,EAAE,CAAC;YACxB,EAAE,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAE5C,MAAM,GAAG,GAAG,GAAG,GAAG,6BAA6B,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAE7E,IAAI,CAAC,OAAO,CAAC,GAAG,CACd,GAAG,EACH;gBACE,OAAO;gBACP,IAAI,EAAE,IAAI;aACX,EACD,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;gBACZ,IAAI,GAAG,EAAE,CAAC;oBACR,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC3C,CAAC;qBAAM,CAAC;oBACN,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC/C,CAAC;YACH,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AA1PD,kCA0PC"}
@@ -1 +1 @@
1
- {"version":3,"file":"expressapp.d.ts","sourceRoot":"","sources":["../../../src/lib/expressapp.ts"],"names":[],"mappings":"AAIA,OAAO,OAAO,MAAM,SAAS,CAAC;AAI9B,OAAO,6BAA6B,CAAC;AAmBrC,qBAAa,UAAU;IACrB,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC;;IAcrB,KAAK,CAAC,IAAI,KAAA,EAAE,EAAE,KAAA;CA+1Ef"}
1
+ {"version":3,"file":"expressapp.d.ts","sourceRoot":"","sources":["../../../src/lib/expressapp.ts"],"names":[],"mappings":"AAIA,OAAO,OAAO,MAAM,SAAS,CAAC;AAI9B,OAAO,6BAA6B,CAAC;AAmBrC,qBAAa,UAAU;IACrB,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC;;IAcrB,KAAK,CAAC,IAAI,KAAA,EAAE,EAAE,KAAA;CAu3Ef"}
@@ -410,7 +410,7 @@ class ExpressApp {
410
410
  };
411
411
  if (err && err.message)
412
412
  logger_1.logger.error(`An error occurred retrieving wallet status - id: ${server.walletId} - token address: ${optsClone.tokenAddress} - err: ${err.message}`);
413
- cb(null, result);
413
+ cb(null, [result]);
414
414
  });
415
415
  }, (err, result) => {
416
416
  return resolve(result);
@@ -441,6 +441,29 @@ class ExpressApp {
441
441
  }
442
442
  return res.json(lodash_1.default.flatten(responses));
443
443
  });
444
+ router.post('/v1/wallets/exist', async (req, res) => {
445
+ try {
446
+ const copayers = req.body.copayers;
447
+ if (!copayers || !Array.isArray(copayers)) {
448
+ logger_1.logger.info('Invalid request to /v1/wallets/exist - copayers should be an array');
449
+ return res.json([]);
450
+ }
451
+ const storage = server_1.WalletService.getStorage();
452
+ const existing = await Promise.all(copayers.map(c => new Promise((resolve) => {
453
+ storage.fetchCopayerLookup(c.copayerId, (err, copayer) => {
454
+ if (err || !copayer) {
455
+ return resolve({ copayerId: c.copayerId, verified: false });
456
+ }
457
+ const verified = copayer.requestPubKeys.some(pubkey => Utils.verifyMessage(c.copayerId, c.signature, pubkey.key));
458
+ return resolve({ copayerId: c.copayerId, verified });
459
+ });
460
+ })));
461
+ return res.json(existing.filter(e => e.verified).map(e => e.copayerId));
462
+ }
463
+ catch (err) {
464
+ return returnError(err, res, req);
465
+ }
466
+ });
444
467
  router.get('/v1/wallets/:identifier/', (req, res) => {
445
468
  getServerWithAuth(req, res, {
446
469
  onlySupportStaff: true