@bitpay-labs/bitcore-wallet-service 11.8.2 → 11.9.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 (43) hide show
  1. package/bws.example.config.js +4 -2
  2. package/package.json +4 -4
  3. package/src/config.ts +4 -2
  4. package/src/externalservices/moonpay.ts +85 -1
  5. package/src/lib/blockchainexplorers/v8.ts +1 -1
  6. package/src/lib/common/utils.ts +12 -5
  7. package/src/lib/routes/blockchain.ts +2 -3
  8. package/src/lib/routes/maintenance.ts +6 -3
  9. package/src/lib/routes/services.ts +12 -0
  10. package/src/lib/routes/walletdata.ts +1 -2
  11. package/src/lib/routes/wallets.ts +1 -2
  12. package/test/integration/externalservices/moonpay.test.ts +149 -0
  13. package/test/utils.test.ts +29 -0
  14. package/ts_build/package.json +1 -1
  15. package/ts_build/src/config.d.ts.map +1 -1
  16. package/ts_build/src/config.js.map +1 -1
  17. package/ts_build/src/externalservices/moonpay.d.ts +4 -0
  18. package/ts_build/src/externalservices/moonpay.d.ts.map +1 -1
  19. package/ts_build/src/externalservices/moonpay.js +68 -1
  20. package/ts_build/src/externalservices/moonpay.js.map +1 -1
  21. package/ts_build/src/lib/blockchainexplorers/v8.js +1 -1
  22. package/ts_build/src/lib/common/utils.d.ts.map +1 -1
  23. package/ts_build/src/lib/common/utils.js +14 -9
  24. package/ts_build/src/lib/common/utils.js.map +1 -1
  25. package/ts_build/src/lib/routes/blockchain.d.ts.map +1 -1
  26. package/ts_build/src/lib/routes/blockchain.js +2 -36
  27. package/ts_build/src/lib/routes/blockchain.js.map +1 -1
  28. package/ts_build/src/lib/routes/maintenance.d.ts.map +1 -1
  29. package/ts_build/src/lib/routes/maintenance.js +6 -36
  30. package/ts_build/src/lib/routes/maintenance.js.map +1 -1
  31. package/ts_build/src/lib/routes/services.d.ts.map +1 -1
  32. package/ts_build/src/lib/routes/services.js +10 -0
  33. package/ts_build/src/lib/routes/services.js.map +1 -1
  34. package/ts_build/src/lib/routes/walletdata.d.ts.map +1 -1
  35. package/ts_build/src/lib/routes/walletdata.js +1 -35
  36. package/ts_build/src/lib/routes/walletdata.js.map +1 -1
  37. package/ts_build/src/lib/routes/wallets.d.ts.map +1 -1
  38. package/ts_build/src/lib/routes/wallets.js +1 -2
  39. package/ts_build/src/lib/routes/wallets.js.map +1 -1
  40. package/ts_build/test/integration/externalservices/moonpay.test.js +139 -0
  41. package/ts_build/test/integration/externalservices/moonpay.test.js.map +1 -1
  42. package/ts_build/test/utils.test.js +23 -0
  43. package/ts_build/test/utils.test.js.map +1 -1
@@ -214,10 +214,11 @@ module.exports = {
214
214
  // moonpay: {
215
215
  // sandbox: {
216
216
  // apiKey: 'moonpay_sandbox_api_key_here',
217
- // api: 'https://api.moonpay.com',
217
+ // api: 'https://api.moonpay.dev',
218
218
  // widgetApi: 'https://buy-sandbox.moonpay.com',
219
219
  // sellWidgetApi: 'https://sell-sandbox.moonpay.com',
220
220
  // secretKey: 'moonpay_sandbox_secret_key_here',
221
+ // secretKeyEmbedded: 'moonpay_sandbox_secret_key_embedded_here',
221
222
  // },
222
223
  // production: {
223
224
  // apiKey: 'moonpay_production_api_key_here',
@@ -225,10 +226,11 @@ module.exports = {
225
226
  // widgetApi: 'https://buy.moonpay.com',
226
227
  // sellWidgetApi: 'https://sell.moonpay.com',
227
228
  // secretKey: 'moonpay_production_secret_key_here',
229
+ // secretKeyEmbedded: 'moonpay_production_secret_key_embedded_here',
228
230
  // },
229
231
  // sandboxWeb: {
230
232
  // apiKey: 'moonpay_sandbox_web_api_key_here',
231
- // api: 'https://api.moonpay.com',
233
+ // api: 'https://api.moonpay.dev',
232
234
  // widgetApi: 'https://buy-sandbox.moonpay.com',
233
235
  // sellWidgetApi: 'https://sell-sandbox.moonpay.com',
234
236
  // secretKey: 'moonpay_sandbox_web_secret_key_here',
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.8.2",
5
+ "version": "11.9.0",
6
6
  "license": "MIT",
7
7
  "main": "ts_build/src/index.js",
8
8
  "types": "./ts_build/src/index.d.ts",
@@ -44,8 +44,8 @@
44
44
  },
45
45
  "dependencies": {
46
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",
47
+ "@bitpay-labs/bitcore-tss": "^11.9.0",
48
+ "@bitpay-labs/crypto-wallet-core": "^11.9.0",
49
49
  "@sendgrid/mail": "6.5.4",
50
50
  "abi-decoder": "2.4.0",
51
51
  "async": "0.9.2",
@@ -126,5 +126,5 @@
126
126
  "email": "kjoseph@bitpay.com"
127
127
  }
128
128
  ],
129
- "gitHead": "a46b839de0bbad1e1dde9dcc50cafce7ef414edd"
129
+ "gitHead": "3491bf1216d3c6b103c591564726333d55ad8c6d"
130
130
  }
package/src/config.ts CHANGED
@@ -289,10 +289,11 @@ const Config = (): any => {
289
289
  // moonpay: {
290
290
  // sandbox: {
291
291
  // apiKey: 'moonpay_sandbox_api_key_here',
292
- // api: 'https://api.moonpay.com',
292
+ // api: 'https://api.moonpay.dev',
293
293
  // widgetApi: 'https://buy-sandbox.moonpay.com',
294
294
  // sellWidgetApi: 'https://sell-sandbox.moonpay.com',
295
295
  // secretKey: 'moonpay_sandbox_secret_key_here',
296
+ // secretKeyEmbedded: 'moonpay_sandbox_secret_key_embedded_here',
296
297
  // },
297
298
  // production: {
298
299
  // apiKey: 'moonpay_production_api_key_here',
@@ -300,10 +301,11 @@ const Config = (): any => {
300
301
  // widgetApi: 'https://buy.moonpay.com',
301
302
  // sellWidgetApi: 'https://sell.moonpay.com',
302
303
  // secretKey: 'moonpay_production_secret_key_here',
304
+ // secretKeyEmbedded: 'moonpay_production_secret_key_embedded_here',
303
305
  // },
304
306
  // sandboxWeb: {
305
307
  // apiKey: 'moonpay_sandbox_web_api_key_here',
306
- // api: 'https://api.moonpay.com',
308
+ // api: 'https://api.moonpay.dev',
307
309
  // widgetApi: 'https://buy-sandbox.moonpay.com',
308
310
  // sellWidgetApi: 'https://sell-sandbox.moonpay.com',
309
311
  // secretKey: 'moonpay_sandbox_web_secret_key_here',
@@ -1,6 +1,7 @@
1
1
  import { BitcoreLib as Bitcore } from '@bitpay-labs/crypto-wallet-core';
2
2
  import * as request from 'request';
3
3
  import config from '../config';
4
+ import { Utils } from '../lib/common/utils';
4
5
  import { ClientError } from '../lib/errors/clienterror';
5
6
  import { checkRequired } from '../lib/server';
6
7
 
@@ -25,12 +26,14 @@ export class MoonpayService {
25
26
  SELL_WIDGET_API: string;
26
27
  API_KEY: string;
27
28
  SECRET_KEY: string;
29
+ SECRET_KEY_EMBEDDED: string | undefined;
28
30
  } = {
29
31
  API: config.moonpay[env].api,
30
32
  WIDGET_API: config.moonpay[env].widgetApi,
31
33
  SELL_WIDGET_API: config.moonpay[env].sellWidgetApi,
32
34
  API_KEY: config.moonpay[env].apiKey,
33
- SECRET_KEY: config.moonpay[env].secretKey
35
+ SECRET_KEY: config.moonpay[env].secretKey,
36
+ SECRET_KEY_EMBEDDED: config.moonpay[env].secretKeyEmbedded
34
37
  };
35
38
 
36
39
  return keys;
@@ -435,4 +438,85 @@ export class MoonpayService {
435
438
  );
436
439
  });
437
440
  }
441
+
442
+ moonpayCreateSession(req): Promise<{ sessionToken: string }> {
443
+ return new Promise((resolve, reject) => {
444
+ const keys = this.moonpayGetKeys(req);
445
+ const API = keys.API;
446
+ const SECRET_KEY = keys.SECRET_KEY_EMBEDDED;
447
+
448
+ if (!checkRequired(req.body, ['externalCustomerId'])) {
449
+ return reject(new ClientError("Moonpay's request missing arguments"));
450
+ }
451
+
452
+ const deviceIp = Utils.getIpFromReq(req);
453
+ if (!deviceIp) {
454
+ return reject(new ClientError('Could not determine device IP address'));
455
+ }
456
+
457
+ const headers = {
458
+ 'Content-Type': 'application/json',
459
+ Authorization: 'Api-Key ' + SECRET_KEY,
460
+ };
461
+
462
+ const body: any = {
463
+ externalCustomerId: req.body.externalCustomerId,
464
+ deviceIp
465
+ };
466
+ if (req.body.email) body.email = req.body.email;
467
+ if (req.body.phoneNumber) body.phoneNumber = req.body.phoneNumber;
468
+
469
+ const URL = API + '/platform/v1/session';
470
+
471
+ this.request.post(
472
+ URL,
473
+ {
474
+ headers,
475
+ body,
476
+ json: true
477
+ },
478
+ (err, data) => {
479
+ if (err) {
480
+ return reject(err.body ?? err);
481
+ } else {
482
+ return resolve(data.body ?? data);
483
+ }
484
+ }
485
+ );
486
+ });
487
+ }
488
+
489
+ moonpayRevokeActiveSession(req): Promise<void> {
490
+ return new Promise((resolve, reject) => {
491
+ const keys = this.moonpayGetKeys(req);
492
+ const API = keys.API;
493
+ const SECRET_KEY = keys.SECRET_KEY_EMBEDDED;
494
+
495
+ if (!checkRequired(req.body, ['externalCustomerId'])) {
496
+ return reject(new ClientError("Moonpay's request missing arguments"));
497
+ }
498
+
499
+ const headers = {
500
+ Accept: 'application/json',
501
+ Authorization: 'Api-Key ' + SECRET_KEY
502
+ };
503
+
504
+ const URL = API + '/platform/v1/sessions?externalCustomerId=' + encodeURIComponent(req.body.externalCustomerId);
505
+
506
+ this.request.delete(
507
+ URL,
508
+ {
509
+ headers,
510
+ json: true
511
+ },
512
+ (err, data) => {
513
+ if (err) {
514
+ return reject(err.body ? err.body : err);
515
+ } else {
516
+ return resolve(data.body ? data.body : data);
517
+ }
518
+ }
519
+ );
520
+ });
521
+ }
438
522
  }
@@ -695,7 +695,7 @@ export class V8 {
695
695
  return cb(null, ret || Defaults.MIN_SOL_BALANCE);
696
696
  } catch (err) {
697
697
  logger.error('[v8.js] Error getting rentMinimum: %o', err);
698
- return cb(null, Defaults.MIN_XRP_BALANCE);
698
+ return cb(null, Defaults.MIN_SOL_BALANCE);
699
699
  }
700
700
  })
701
701
  .catch(cb);
@@ -282,13 +282,20 @@ export const Utils = {
282
282
  },
283
283
 
284
284
  getIpFromReq(req): string {
285
+ let ip = '';
285
286
  if (req.headers) {
286
- if (req.headers['x-forwarded-for']) return req.headers['x-forwarded-for'].split(',')[0];
287
- if (req.headers['x-real-ip']) return req.headers['x-real-ip'].split(',')[0];
287
+ if (req.headers['x-forwarded-for']) {
288
+ ip = req.headers['x-forwarded-for'].split(',')[0];
289
+ } else if (req.headers['x-real-ip']) {
290
+ ip = req.headers['x-real-ip'].split(',')[0];
291
+ }
288
292
  }
289
- if (req.ip) return req.ip;
290
- if (req.connection && req.connection.remoteAddress) return req.connection.remoteAddress;
291
- return '';
293
+ if (!ip && req.ip) ip = req.ip;
294
+ if (!ip && req.connection?.remoteAddress) ip = req.connection.remoteAddress;
295
+
296
+ if (ip && typeof ip === 'string') ip = ip.trim();
297
+
298
+ return ip;
292
299
  },
293
300
 
294
301
  checkValueInCollection(value, collection) {
@@ -1,5 +1,4 @@
1
1
  import express from 'express';
2
- import * as _ from 'lodash';
3
2
  import type * as Types from '../../types/expressapp';
4
3
  import type { WalletService } from '../server';
5
4
 
@@ -74,10 +73,10 @@ export function registerBlockchainRoutes(router: express.Router, context: RouteC
74
73
  if (req.query.network) opts.network = req.query.network as string;
75
74
  server.getFeeLevels(opts, resolve);
76
75
  }).then((feeLevels: any[]) => {
77
- _.each(feeLevels, feeLevel => {
76
+ for (const feeLevel of feeLevels) {
78
77
  feeLevel.feePerKB = feeLevel.feePerKb;
79
78
  delete feeLevel.feePerKb;
80
- });
79
+ }
81
80
  return feeLevels;
82
81
  })
83
82
  );
@@ -1,5 +1,4 @@
1
1
  import express from 'express';
2
- import * as _ from 'lodash';
3
2
  import { WalletService } from '../server';
4
3
  import { Stats } from '../stats';
5
4
  import type * as Types from '../../types/expressapp';
@@ -84,8 +83,12 @@ export function registerMaintenanceRoutes(router: express.Router, context: Route
84
83
  router.get('/v1/txnotes/', (req, res) => {
85
84
  getServerWithAuth(req, res, server => {
86
85
  const opts: { minTs?: number } = {};
87
- if (req.query.minTs && _.isNumber(+req.query.minTs)) {
88
- opts.minTs = +req.query.minTs;
86
+ const rawMinTs = req.query.minTs;
87
+ if (typeof rawMinTs === 'string' && rawMinTs.trim() !== '') {
88
+ const minTs = Number(rawMinTs);
89
+ if (Number.isFinite(minTs)) {
90
+ opts.minTs = minTs;
91
+ }
89
92
  }
90
93
  server.getTxNotes(opts, (err, notes) => {
91
94
  if (err) return returnError(err, res, req);
@@ -281,6 +281,18 @@ export function registerServiceRoutes(router: express.Router, context: RouteCont
281
281
  });
282
282
  });
283
283
 
284
+ router.post('/v1/service/moonpay/createSession', (req, res) => {
285
+ respondWithAuthServer(req, res, context, server => {
286
+ return server.externalServices.moonpay.moonpayCreateSession(req);
287
+ });
288
+ });
289
+
290
+ router.post('/v1/service/moonpay/revokeActiveSession', (req, res) => {
291
+ respondWithAuthServer(req, res, context, server => {
292
+ return server.externalServices.moonpay.moonpayRevokeActiveSession(req);
293
+ });
294
+ });
295
+
284
296
  router.post('/v1/service/ramp/quote', (req, res) => {
285
297
  respondWithAuthServer(req, res, context, server => {
286
298
  return server.externalServices.ramp.rampGetQuote(req);
@@ -1,5 +1,4 @@
1
1
  import express from 'express';
2
- import * as _ from 'lodash';
3
2
  import { Common } from '../common';
4
3
  import type * as Types from '../../types/expressapp';
5
4
  import type { GetAddressesOpts } from '../../types/server';
@@ -133,7 +132,7 @@ export function registerWalletDataRoutes(router: express.Router, context: RouteC
133
132
  router.get('/v1/utxos/', (req, res) => {
134
133
  const opts: { addresses?: string[] } = {};
135
134
  const addresses = req.query.addresses;
136
- if (addresses && _.isString(addresses)) {
135
+ if (addresses && typeof addresses === 'string') {
137
136
  opts.addresses = (req.query.addresses as string).split(',');
138
137
  }
139
138
 
@@ -1,6 +1,5 @@
1
1
  import * as async from 'async';
2
2
  import express from 'express';
3
- import * as _ from 'lodash';
4
3
  import { Common } from '../common';
5
4
  import { ClientError } from '../errors/clienterror';
6
5
  import logger from '../logger';
@@ -212,7 +211,7 @@ export function registerWalletRoutes(router: express.Router, context: RouteConte
212
211
  if (res.headersSent) {
213
212
  return;
214
213
  }
215
- return res.json(_.flatten(responses));
214
+ return res.json(responses.flat());
216
215
  });
217
216
 
218
217
  router.post('/v1/wallets/exist', async (req, res) => {
@@ -566,4 +566,153 @@ describe('Moonpay integration', () => {
566
566
  }
567
567
  });
568
568
  });
569
+
570
+ describe('#moonpayCreateSession', () => {
571
+ beforeEach(() => {
572
+ req = {
573
+ headers: {
574
+ 'x-forwarded-for': '192.168.1.1'
575
+ },
576
+ body: {
577
+ env: 'sandbox',
578
+ externalCustomerId: 'externalCustomerId1'
579
+ }
580
+ };
581
+ server.externalServices.moonpay.request = fakeRequest;
582
+ });
583
+
584
+ it('should work properly if req is OK', async () => {
585
+ const data = await server.externalServices.moonpay.moonpayCreateSession(req);
586
+ should.exist(data);
587
+ });
588
+
589
+ it('should work properly if req is OK for web', async () => {
590
+ req.body.context = 'web';
591
+ const data = await server.externalServices.moonpay.moonpayCreateSession(req);
592
+ should.exist(data);
593
+ });
594
+
595
+ it('should work properly with optional email and phoneNumber', async () => {
596
+ req.body.email = 'user@example.com';
597
+ req.body.phoneNumber = '+14155551234';
598
+ const data = await server.externalServices.moonpay.moonpayCreateSession(req);
599
+ should.exist(data);
600
+ });
601
+
602
+ it('should return error if post returns error', async () => {
603
+ const fakeRequest2 = {
604
+ post: (_url, _opts, _cb) => { return _cb(new Error('Error'), null); },
605
+ };
606
+
607
+ server.externalServices.moonpay.request = fakeRequest2;
608
+ try {
609
+ await server.externalServices.moonpay.moonpayCreateSession(req);
610
+ should.fail('should have thrown');
611
+ } catch (err) {
612
+ err.message.should.equal('Error');
613
+ }
614
+ });
615
+
616
+ it('should return error if there is some missing arguments', async () => {
617
+ delete req.body.externalCustomerId;
618
+ try {
619
+ await server.externalServices.moonpay.moonpayCreateSession(req);
620
+ should.fail('should have thrown');
621
+ } catch (err) {
622
+ err.message.should.equal('Moonpay\'s request missing arguments');
623
+ }
624
+ });
625
+
626
+ it('should return error if device IP cannot be determined', async () => {
627
+ req.headers = {};
628
+ delete req.ip;
629
+ delete req.connection;
630
+ try {
631
+ await server.externalServices.moonpay.moonpayCreateSession(req);
632
+ should.fail('should have thrown');
633
+ } catch (err) {
634
+ err.message.should.equal('Could not determine device IP address');
635
+ }
636
+ });
637
+
638
+ it('should extract IP from x-forwarded-for header', async () => {
639
+ req.headers = { 'x-forwarded-for': '10.0.0.1, 10.0.0.2' };
640
+ let capturedBody;
641
+ const fakeRequest2 = {
642
+ post: (_url, _opts, _cb) => {
643
+ capturedBody = _opts.body;
644
+ return _cb(null, { body: { sessionToken: 'token123' } });
645
+ },
646
+ };
647
+ server.externalServices.moonpay.request = fakeRequest2;
648
+ await server.externalServices.moonpay.moonpayCreateSession(req);
649
+ capturedBody.deviceIp.should.equal('10.0.0.1');
650
+ });
651
+
652
+ it('should return error if moonpay is commented in config', async () => {
653
+ config.moonpay = undefined;
654
+ try {
655
+ await server.externalServices.moonpay.moonpayCreateSession(req);
656
+ should.fail('should have thrown');
657
+ } catch (err) {
658
+ err.message.should.equal('Moonpay missing credentials');
659
+ }
660
+ });
661
+ });
662
+
663
+ describe('#moonpayRevokeActiveSession', () => {
664
+ beforeEach(() => {
665
+ req = {
666
+ headers: {},
667
+ body: {
668
+ env: 'sandbox',
669
+ externalCustomerId: 'externalCustomerId1'
670
+ }
671
+ };
672
+ server.externalServices.moonpay.request = fakeRequest;
673
+ });
674
+
675
+ it('should work properly if req is OK', async () => {
676
+ await server.externalServices.moonpay.moonpayRevokeActiveSession(req);
677
+ });
678
+
679
+ it('should work properly if req is OK for web', async () => {
680
+ req.body.context = 'web';
681
+ await server.externalServices.moonpay.moonpayRevokeActiveSession(req);
682
+ });
683
+
684
+ it('should return error if delete returns error', async () => {
685
+ const fakeRequest2 = {
686
+ delete: (_url, _opts, _cb) => { return _cb(new Error('Error'), null); },
687
+ };
688
+
689
+ server.externalServices.moonpay.request = fakeRequest2;
690
+ try {
691
+ await server.externalServices.moonpay.moonpayRevokeActiveSession(req);
692
+ should.fail('should have thrown');
693
+ } catch (err) {
694
+ err.message.should.equal('Error');
695
+ }
696
+ });
697
+
698
+ it('should return error if there is some missing arguments', async () => {
699
+ delete req.body.externalCustomerId;
700
+ try {
701
+ await server.externalServices.moonpay.moonpayRevokeActiveSession(req);
702
+ should.fail('should have thrown');
703
+ } catch (err) {
704
+ err.message.should.equal('Moonpay\'s request missing arguments');
705
+ }
706
+ });
707
+
708
+ it('should return error if moonpay is commented in config', async () => {
709
+ config.moonpay = undefined;
710
+ try {
711
+ await server.externalServices.moonpay.moonpayRevokeActiveSession(req);
712
+ should.fail('should have thrown');
713
+ } catch (err) {
714
+ err.message.should.equal('Moonpay missing credentials');
715
+ }
716
+ });
717
+ });
569
718
  });
@@ -360,6 +360,35 @@ describe('Utils', function() {
360
360
  const ip = Utils.getIpFromReq(req);
361
361
  ip.should.equal('');
362
362
  });
363
+
364
+ it('should trim whitespace from the ip', function() {
365
+ const req = {
366
+ headers: {
367
+ 'x-forwarded-for': ' 1.2.3.4 , 5.6.7.8'
368
+ }
369
+ };
370
+
371
+ const ip = Utils.getIpFromReq(req);
372
+ ip.should.equal('1.2.3.4');
373
+ });
374
+
375
+ it('should preserve IPv4-mapped IPv6 addresses', function() {
376
+ const req = {
377
+ ip: '::ffff:192.168.1.1'
378
+ };
379
+
380
+ const ip = Utils.getIpFromReq(req);
381
+ ip.should.equal('::ffff:192.168.1.1');
382
+ });
383
+
384
+ it('should preserve regular IPv6 addresses', function() {
385
+ const req = {
386
+ ip: '2001:0db8:85a3:0000:0000:8a2e:0370:7334'
387
+ };
388
+
389
+ const ip = Utils.getIpFromReq(req);
390
+ ip.should.equal('2001:0db8:85a3:0000:0000:8a2e:0370:7334');
391
+ });
363
392
  });
364
393
 
365
394
  describe('#sortAsc', function() {
@@ -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.8.1",
5
+ "version": "11.8.2",
6
6
  "license": "MIT",
7
7
  "main": "ts_build/src/index.js",
8
8
  "types": "./ts_build/src/index.d.ts",
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":";AA2hBA,wBAAwB"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":";AA6hBA,wBAAwB"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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"}
@@ -15,5 +15,9 @@ export declare class MoonpayService {
15
15
  moonpayGetSellTransactionDetails(req: any): Promise<any>;
16
16
  moonpayCancelSellTransaction(req: any): Promise<any>;
17
17
  moonpayGetAccountDetails(req: any): Promise<any>;
18
+ moonpayCreateSession(req: any): Promise<{
19
+ sessionToken: string;
20
+ }>;
21
+ moonpayRevokeActiveSession(req: any): Promise<void>;
18
22
  }
19
23
  //# sourceMappingURL=moonpay.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"moonpay.d.ts","sourceRoot":"","sources":["../../../src/externalservices/moonpay.ts"],"names":[],"mappings":"AAMA,qBAAa,cAAc;IACzB,OAAO,EAAE,GAAG,CAAW;IAEvB,OAAO,CAAC,cAAc;IA6BtB,oBAAoB,CAAC,GAAG,KAAA,GAAG,OAAO,CAAC,GAAG,CAAC;IA4BvC,eAAe,CAAC,GAAG,KAAA,GAAG,OAAO,CAAC,GAAG,CAAC;IA0ClC,mBAAmB,CAAC,GAAG,KAAA,GAAG,OAAO,CAAC,GAAG,CAAC;IAyCtC,wBAAwB,CAAC,GAAG,KAAA,GAAG,OAAO,CAAC,GAAG,CAAC;IAuC3C,0BAA0B,CAAC,GAAG,KAAA,GAAG;QAAE,gBAAgB,EAAE,MAAM,CAAA;KAAE;IAgD7D,8BAA8B,CAAC,GAAG,KAAA,GAAG;QAAE,gBAAgB,EAAE,MAAM,CAAA;KAAE;IAmDjE,4BAA4B,CAAC,GAAG,KAAA,GAAG,OAAO,CAAC,GAAG,CAAC;IAwC/C,gCAAgC,CAAC,GAAG,KAAA,GAAG,OAAO,CAAC,GAAG,CAAC;IAwCnD,4BAA4B,CAAC,GAAG,KAAA,GAAG,OAAO,CAAC,GAAG,CAAC;IAuC/C,wBAAwB,CAAC,GAAG,KAAA,GAAG,OAAO,CAAC,GAAG,CAAC;CA+B5C"}
1
+ {"version":3,"file":"moonpay.d.ts","sourceRoot":"","sources":["../../../src/externalservices/moonpay.ts"],"names":[],"mappings":"AAOA,qBAAa,cAAc;IACzB,OAAO,EAAE,GAAG,CAAW;IAEvB,OAAO,CAAC,cAAc;IA+BtB,oBAAoB,CAAC,GAAG,KAAA,GAAG,OAAO,CAAC,GAAG,CAAC;IA4BvC,eAAe,CAAC,GAAG,KAAA,GAAG,OAAO,CAAC,GAAG,CAAC;IA0ClC,mBAAmB,CAAC,GAAG,KAAA,GAAG,OAAO,CAAC,GAAG,CAAC;IAyCtC,wBAAwB,CAAC,GAAG,KAAA,GAAG,OAAO,CAAC,GAAG,CAAC;IAuC3C,0BAA0B,CAAC,GAAG,KAAA,GAAG;QAAE,gBAAgB,EAAE,MAAM,CAAA;KAAE;IAgD7D,8BAA8B,CAAC,GAAG,KAAA,GAAG;QAAE,gBAAgB,EAAE,MAAM,CAAA;KAAE;IAmDjE,4BAA4B,CAAC,GAAG,KAAA,GAAG,OAAO,CAAC,GAAG,CAAC;IAwC/C,gCAAgC,CAAC,GAAG,KAAA,GAAG,OAAO,CAAC,GAAG,CAAC;IAwCnD,4BAA4B,CAAC,GAAG,KAAA,GAAG,OAAO,CAAC,GAAG,CAAC;IAuC/C,wBAAwB,CAAC,GAAG,KAAA,GAAG,OAAO,CAAC,GAAG,CAAC;IAgC3C,oBAAoB,CAAC,GAAG,KAAA,GAAG,OAAO,CAAC;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;IA+C5D,0BAA0B,CAAC,GAAG,KAAA,GAAG,OAAO,CAAC,IAAI,CAAC;CAiC/C"}
@@ -40,6 +40,7 @@ exports.MoonpayService = void 0;
40
40
  const crypto_wallet_core_1 = require("@bitpay-labs/crypto-wallet-core");
41
41
  const request = __importStar(require("request"));
42
42
  const config_1 = __importDefault(require("../config"));
43
+ const utils_1 = require("../lib/common/utils");
43
44
  const clienterror_1 = require("../lib/errors/clienterror");
44
45
  const server_1 = require("../lib/server");
45
46
  class MoonpayService {
@@ -59,7 +60,8 @@ class MoonpayService {
59
60
  WIDGET_API: config_1.default.moonpay[env].widgetApi,
60
61
  SELL_WIDGET_API: config_1.default.moonpay[env].sellWidgetApi,
61
62
  API_KEY: config_1.default.moonpay[env].apiKey,
62
- SECRET_KEY: config_1.default.moonpay[env].secretKey
63
+ SECRET_KEY: config_1.default.moonpay[env].secretKey,
64
+ SECRET_KEY_EMBEDDED: config_1.default.moonpay[env].secretKeyEmbedded
63
65
  };
64
66
  return keys;
65
67
  }
@@ -398,6 +400,71 @@ class MoonpayService {
398
400
  });
399
401
  });
400
402
  }
403
+ moonpayCreateSession(req) {
404
+ return new Promise((resolve, reject) => {
405
+ const keys = this.moonpayGetKeys(req);
406
+ const API = keys.API;
407
+ const SECRET_KEY = keys.SECRET_KEY_EMBEDDED;
408
+ if (!(0, server_1.checkRequired)(req.body, ['externalCustomerId'])) {
409
+ return reject(new clienterror_1.ClientError("Moonpay's request missing arguments"));
410
+ }
411
+ const deviceIp = utils_1.Utils.getIpFromReq(req);
412
+ if (!deviceIp) {
413
+ return reject(new clienterror_1.ClientError('Could not determine device IP address'));
414
+ }
415
+ const headers = {
416
+ 'Content-Type': 'application/json',
417
+ Authorization: 'Api-Key ' + SECRET_KEY,
418
+ };
419
+ const body = {
420
+ externalCustomerId: req.body.externalCustomerId,
421
+ deviceIp
422
+ };
423
+ if (req.body.email)
424
+ body.email = req.body.email;
425
+ if (req.body.phoneNumber)
426
+ body.phoneNumber = req.body.phoneNumber;
427
+ const URL = API + '/platform/v1/session';
428
+ this.request.post(URL, {
429
+ headers,
430
+ body,
431
+ json: true
432
+ }, (err, data) => {
433
+ if (err) {
434
+ return reject(err.body ?? err);
435
+ }
436
+ else {
437
+ return resolve(data.body ?? data);
438
+ }
439
+ });
440
+ });
441
+ }
442
+ moonpayRevokeActiveSession(req) {
443
+ return new Promise((resolve, reject) => {
444
+ const keys = this.moonpayGetKeys(req);
445
+ const API = keys.API;
446
+ const SECRET_KEY = keys.SECRET_KEY_EMBEDDED;
447
+ if (!(0, server_1.checkRequired)(req.body, ['externalCustomerId'])) {
448
+ return reject(new clienterror_1.ClientError("Moonpay's request missing arguments"));
449
+ }
450
+ const headers = {
451
+ Accept: 'application/json',
452
+ Authorization: 'Api-Key ' + SECRET_KEY
453
+ };
454
+ const URL = API + '/platform/v1/sessions?externalCustomerId=' + encodeURIComponent(req.body.externalCustomerId);
455
+ this.request.delete(URL, {
456
+ headers,
457
+ json: true
458
+ }, (err, data) => {
459
+ if (err) {
460
+ return reject(err.body ? err.body : err);
461
+ }
462
+ else {
463
+ return resolve(data.body ? data.body : data);
464
+ }
465
+ });
466
+ });
467
+ }
401
468
  }
402
469
  exports.MoonpayService = MoonpayService;
403
470
  //# sourceMappingURL=moonpay.js.map