@bitpay-labs/bitcore-wallet-service 11.10.13 → 11.11.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 (103) hide show
  1. package/package.json +5 -5
  2. package/src/externalservices/moonpay.ts +6 -2
  3. package/src/lib/common/constants.ts +1 -1
  4. package/src/lib/errors/errordefinitions.ts +8 -0
  5. package/src/lib/model/tsskeygen.ts +12 -4
  6. package/src/lib/routes/middleware/authRequest.ts +6 -16
  7. package/src/lib/routes/middleware/authTssRequest.ts +130 -26
  8. package/src/lib/routes/tss.ts +21 -8
  9. package/src/lib/routes/wallets.ts +8 -9
  10. package/src/lib/server.ts +9 -17
  11. package/src/lib/storage.ts +55 -22
  12. package/src/lib/tss.ts +77 -1
  13. package/test/integration/externalservices/moonpay.test.ts +50 -0
  14. package/test/integration/tss.test.ts +706 -371
  15. package/test/storage.test.ts +6 -7
  16. package/ts_build/package.json +4 -4
  17. package/ts_build/src/externalservices/moonpay.d.ts.map +1 -1
  18. package/ts_build/src/externalservices/moonpay.js +8 -3
  19. package/ts_build/src/externalservices/moonpay.js.map +1 -1
  20. package/ts_build/src/lib/chain/btc/index.js +7 -7
  21. package/ts_build/src/lib/chain/btc/index.js.map +1 -1
  22. package/ts_build/src/lib/chain/eth/index.js +1 -1
  23. package/ts_build/src/lib/chain/eth/index.js.map +1 -1
  24. package/ts_build/src/lib/chain/sol/index.d.ts +2 -0
  25. package/ts_build/src/lib/chain/sol/index.d.ts.map +1 -1
  26. package/ts_build/src/lib/chain/sol/index.js +36 -3
  27. package/ts_build/src/lib/chain/sol/index.js.map +1 -1
  28. package/ts_build/src/lib/chain/xrp/index.js +2 -2
  29. package/ts_build/src/lib/chain/xrp/index.js.map +1 -1
  30. package/ts_build/src/lib/common/constants.d.ts +1 -1
  31. package/ts_build/src/lib/common/constants.js +1 -1
  32. package/ts_build/src/lib/common/defaults.d.ts +3 -0
  33. package/ts_build/src/lib/common/defaults.d.ts.map +1 -1
  34. package/ts_build/src/lib/common/defaults.js +3 -0
  35. package/ts_build/src/lib/common/defaults.js.map +1 -1
  36. package/ts_build/src/lib/common/index.d.ts +4 -1
  37. package/ts_build/src/lib/common/index.d.ts.map +1 -1
  38. package/ts_build/src/lib/errors/errordefinitions.d.ts +6 -0
  39. package/ts_build/src/lib/errors/errordefinitions.d.ts.map +1 -1
  40. package/ts_build/src/lib/errors/errordefinitions.js +6 -0
  41. package/ts_build/src/lib/errors/errordefinitions.js.map +1 -1
  42. package/ts_build/src/lib/model/tsskeygen.d.ts +2 -0
  43. package/ts_build/src/lib/model/tsskeygen.d.ts.map +1 -1
  44. package/ts_build/src/lib/model/tsskeygen.js +6 -2
  45. package/ts_build/src/lib/model/tsskeygen.js.map +1 -1
  46. package/ts_build/src/lib/model/txproposal.d.ts +3 -2
  47. package/ts_build/src/lib/model/txproposal.d.ts.map +1 -1
  48. package/ts_build/src/lib/model/txproposal.js +33 -9
  49. package/ts_build/src/lib/model/txproposal.js.map +1 -1
  50. package/ts_build/src/lib/routes/context.d.ts.map +1 -1
  51. package/ts_build/src/lib/routes/context.js +3 -1
  52. package/ts_build/src/lib/routes/context.js.map +1 -1
  53. package/ts_build/src/lib/routes/helpers/error.js +2 -2
  54. package/ts_build/src/lib/routes/helpers/error.js.map +1 -1
  55. package/ts_build/src/lib/routes/middleware/authRequest.d.ts.map +1 -1
  56. package/ts_build/src/lib/routes/middleware/authRequest.js +6 -16
  57. package/ts_build/src/lib/routes/middleware/authRequest.js.map +1 -1
  58. package/ts_build/src/lib/routes/middleware/authTssRequest.d.ts +2 -1
  59. package/ts_build/src/lib/routes/middleware/authTssRequest.d.ts.map +1 -1
  60. package/ts_build/src/lib/routes/middleware/authTssRequest.js +104 -24
  61. package/ts_build/src/lib/routes/middleware/authTssRequest.js.map +1 -1
  62. package/ts_build/src/lib/routes/transactions.js +10 -5
  63. package/ts_build/src/lib/routes/transactions.js.map +1 -1
  64. package/ts_build/src/lib/routes/tss.d.ts.map +1 -1
  65. package/ts_build/src/lib/routes/tss.js +19 -7
  66. package/ts_build/src/lib/routes/tss.js.map +1 -1
  67. package/ts_build/src/lib/routes/wallets.d.ts.map +1 -1
  68. package/ts_build/src/lib/routes/wallets.js +12 -11
  69. package/ts_build/src/lib/routes/wallets.js.map +1 -1
  70. package/ts_build/src/lib/server.d.ts.map +1 -1
  71. package/ts_build/src/lib/server.js +14 -20
  72. package/ts_build/src/lib/server.js.map +1 -1
  73. package/ts_build/src/lib/storage.d.ts +9 -2
  74. package/ts_build/src/lib/storage.d.ts.map +1 -1
  75. package/ts_build/src/lib/storage.js +51 -20
  76. package/ts_build/src/lib/storage.js.map +1 -1
  77. package/ts_build/src/lib/tss.d.ts +8 -0
  78. package/ts_build/src/lib/tss.d.ts.map +1 -1
  79. package/ts_build/src/lib/tss.js +59 -1
  80. package/ts_build/src/lib/tss.js.map +1 -1
  81. package/ts_build/test/chain/btc.test.js +26 -0
  82. package/ts_build/test/chain/btc.test.js.map +1 -1
  83. package/ts_build/test/chain/eth.test.js +40 -0
  84. package/ts_build/test/chain/eth.test.js.map +1 -1
  85. package/ts_build/test/chain/sol.test.js +156 -0
  86. package/ts_build/test/chain/sol.test.js.map +1 -1
  87. package/ts_build/test/chain/xrp.test.js +18 -0
  88. package/ts_build/test/chain/xrp.test.js.map +1 -1
  89. package/ts_build/test/integration/externalservices/moonpay.test.js +67 -0
  90. package/ts_build/test/integration/externalservices/moonpay.test.js.map +1 -1
  91. package/ts_build/test/integration/server.test.js +87 -0
  92. package/ts_build/test/integration/server.test.js.map +1 -1
  93. package/ts_build/test/integration/tss.test.d.ts.map +1 -1
  94. package/ts_build/test/integration/tss.test.js +599 -357
  95. package/ts_build/test/integration/tss.test.js.map +1 -1
  96. package/ts_build/test/model/txproposal.test.js +101 -0
  97. package/ts_build/test/model/txproposal.test.js.map +1 -1
  98. package/ts_build/test/numberformat-routes.test.d.ts +2 -0
  99. package/ts_build/test/numberformat-routes.test.d.ts.map +1 -0
  100. package/ts_build/test/numberformat-routes.test.js +116 -0
  101. package/ts_build/test/numberformat-routes.test.js.map +1 -0
  102. package/ts_build/test/storage.test.js +6 -7
  103. package/ts_build/test/storage.test.js.map +1 -1
@@ -566,6 +566,30 @@ describe('Moonpay integration', () => {
566
566
  const data = await server.externalServices.moonpay.moonpayCancelSellTransaction(req);
567
567
  should.exist(data);
568
568
  });
569
+ it('should return the response body if there is one', async () => {
570
+ const data = await server.externalServices.moonpay.moonpayCancelSellTransaction(req);
571
+ data.should.equal('data');
572
+ });
573
+ it('should return success true without leaking the response if there is no body', async () => {
574
+ const fakeRequest2 = {
575
+ delete: (_url, opts, _cb) => {
576
+ return _cb(null, { statusCode: 204, body: undefined, headers: {}, request: { headers: opts.headers } });
577
+ },
578
+ };
579
+ server.externalServices.moonpay.request = fakeRequest2;
580
+ const data = await server.externalServices.moonpay.moonpayCancelSellTransaction(req);
581
+ data.should.deep.equal({ success: true });
582
+ });
583
+ it('should return success false if there is no body and status is not 2xx', async () => {
584
+ const fakeRequest2 = {
585
+ delete: (_url, opts, _cb) => {
586
+ return _cb(null, { statusCode: 404, body: '', headers: {}, request: { headers: opts.headers } });
587
+ },
588
+ };
589
+ server.externalServices.moonpay.request = fakeRequest2;
590
+ const data = await server.externalServices.moonpay.moonpayCancelSellTransaction(req);
591
+ data.should.deep.equal({ success: false });
592
+ });
569
593
  it('should return error if delete returns error', async () => {
570
594
  const fakeRequest2 = {
571
595
  delete: (_url, _opts, _cb) => { return _cb(new Error('Error'), null); },
@@ -629,6 +653,25 @@ describe('Moonpay integration', () => {
629
653
  const data = await server.externalServices.moonpay.moonpayCreateSession(req);
630
654
  should.exist(data);
631
655
  });
656
+ it('should return the response body if there is one', async () => {
657
+ const data = await server.externalServices.moonpay.moonpayCreateSession(req);
658
+ data.should.equal('data');
659
+ });
660
+ it('should throw without leaking the response if there is no session body', async () => {
661
+ const fakeRequest2 = {
662
+ post: (_url, opts, _cb) => {
663
+ return _cb(null, { statusCode: 200, body: undefined, headers: {}, request: { headers: opts.headers } });
664
+ },
665
+ };
666
+ server.externalServices.moonpay.request = fakeRequest2;
667
+ try {
668
+ await server.externalServices.moonpay.moonpayCreateSession(req);
669
+ should.fail('should have thrown');
670
+ }
671
+ catch (err) {
672
+ err.message.should.equal('Moonpay did not return a session');
673
+ }
674
+ });
632
675
  it('should return error if post returns error', async () => {
633
676
  const fakeRequest2 = {
634
677
  post: (_url, _opts, _cb) => { return _cb(new Error('Error'), null); },
@@ -706,6 +749,30 @@ describe('Moonpay integration', () => {
706
749
  req.body.context = 'web';
707
750
  await server.externalServices.moonpay.moonpayRevokeActiveSession(req);
708
751
  });
752
+ it('should return the response body if there is one', async () => {
753
+ const data = await server.externalServices.moonpay.moonpayRevokeActiveSession(req);
754
+ data.should.equal('data');
755
+ });
756
+ it('should return success true without leaking the response if there is no body', async () => {
757
+ const fakeRequest2 = {
758
+ delete: (_url, opts, _cb) => {
759
+ return _cb(null, { statusCode: 204, body: undefined, headers: {}, request: { headers: opts.headers } });
760
+ },
761
+ };
762
+ server.externalServices.moonpay.request = fakeRequest2;
763
+ const data = await server.externalServices.moonpay.moonpayRevokeActiveSession(req);
764
+ data.should.deep.equal({ success: true });
765
+ });
766
+ it('should return success false if there is no body and status is not 2xx', async () => {
767
+ const fakeRequest2 = {
768
+ delete: (_url, opts, _cb) => {
769
+ return _cb(null, { statusCode: 404, body: '', headers: {}, request: { headers: opts.headers } });
770
+ },
771
+ };
772
+ server.externalServices.moonpay.request = fakeRequest2;
773
+ const data = await server.externalServices.moonpay.moonpayRevokeActiveSession(req);
774
+ data.should.deep.equal({ success: false });
775
+ });
709
776
  it('should return error if delete returns error', async () => {
710
777
  const fakeRequest2 = {
711
778
  delete: (_url, _opts, _cb) => { return _cb(new Error('Error'), null); },
@@ -1 +1 @@
1
- {"version":3,"file":"moonpay.test.js","sourceRoot":"","sources":["../../../../test/integration/externalservices/moonpay.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"moonpay.test.js","sourceRoot":"","sources":["../../../../test/integration/externalservices/moonpay.test.ts"],"names":[],"mappings":"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"}
@@ -3570,6 +3570,40 @@ describe('Wallet service', function () {
3570
3570
  });
3571
3571
  });
3572
3572
  });
3573
+ describe('#createTx token allowance', function () {
3574
+ let server;
3575
+ let wallet;
3576
+ beforeEach(async function () {
3577
+ ({ server, wallet } = await helpers_1.default.createAndJoinWallet(1, 1, { coin: 'eth' }));
3578
+ await util_1.default.promisify(server.createAddress).call(server, {});
3579
+ });
3580
+ it('should reject a total that a number rounds down to the allowance', async function () {
3581
+ const be = helpers_1.default.getBlockchainExplorer();
3582
+ be.getBalance = sinon_1.default.stub().callsArgWith(1, null, { unconfirmed: 0, confirmed: '1' + '0'.repeat(20), balance: '1' + '0'.repeat(20) });
3583
+ be.getTokenAllowance = sinon_1.default.stub().callsArgWith(1, null, '9007199254740992');
3584
+ const opts = {
3585
+ outputs: [
3586
+ { toAddress: '0x37d7B3bBD88EFdE6a93cF74D2F5b0385D3E3B08A', amount: '9007199254740992' },
3587
+ { toAddress: '0x37d7B3bBD88EFdE6a93cF74D2F5b0385D3E3B08A', amount: '1' }
3588
+ ],
3589
+ from: '0xE299d49C2cf9BfaFb7C6E861E80bb8c83f961622',
3590
+ tokenAddress: '0x6B175474E89094C44Da98b954EedeAC495271d0F',
3591
+ multiSendContractAddress: '0x30e5bfa1e83c9c6f0a4c4bd4a1f0e0d7d0c4d3a2',
3592
+ feePerKb: 25000000000,
3593
+ nonce: 5
3594
+ };
3595
+ let error;
3596
+ try {
3597
+ await util_1.default.promisify(server.createTx).call(server, opts);
3598
+ }
3599
+ catch (e) {
3600
+ error = e;
3601
+ }
3602
+ should.exist(error);
3603
+ error.message.should.contain('Insufficient token allowance');
3604
+ error.message.should.contain('Want: 9007199254740993');
3605
+ });
3606
+ });
3573
3607
  const testSet = [
3574
3608
  {
3575
3609
  coin: 'btc',
@@ -7748,6 +7782,59 @@ describe('Wallet service', function () {
7748
7782
  should.not.exist(txp.deferNonce);
7749
7783
  txp.nonce.should.equal('5');
7750
7784
  });
7785
+ describe('republishing a txp with mutable tx data', function () {
7786
+ let txp, publishOpts;
7787
+ beforeEach(async function () {
7788
+ txp = await util_1.default.promisify(server.createTx).call(server, {
7789
+ outputs: [{ toAddress: ETH_ADDR, amount: 8000 }],
7790
+ feePerKb: 123e2,
7791
+ from: fromAddr,
7792
+ deferNonce: true
7793
+ });
7794
+ publishOpts = helpers_1.default.getProposalSignatureOpts(txp, TestData.copayers[0].privKey_1H_0);
7795
+ await util_1.default.promisify(server.publishTx).call(server, publishOpts);
7796
+ });
7797
+ const setStatus = async (status) => {
7798
+ const stored = await util_1.default.promisify(server.storage.fetchTx).call(server.storage, wallet.id, txp.id);
7799
+ stored.status = status;
7800
+ await util_1.default.promisify(server.storage.storeTx).call(server.storage, wallet.id, stored);
7801
+ };
7802
+ const republishError = async () => {
7803
+ try {
7804
+ await util_1.default.promisify(server.publishTx).call(server, publishOpts);
7805
+ }
7806
+ catch (err) {
7807
+ return err;
7808
+ }
7809
+ };
7810
+ it('should republish a pending txp', async function () {
7811
+ should.not.exist(await republishError());
7812
+ const stored = await util_1.default.promisify(server.storage.fetchTx).call(server.storage, wallet.id, txp.id);
7813
+ stored.status.should.equal('pending');
7814
+ });
7815
+ it('should not republish a broadcasted txp back to pending', async function () {
7816
+ await setStatus('broadcasted');
7817
+ const err = await republishError();
7818
+ should.exist(err);
7819
+ err.code.should.equal('TX_ALREADY_BROADCASTED');
7820
+ const stored = await util_1.default.promisify(server.storage.fetchTx).call(server.storage, wallet.id, txp.id);
7821
+ stored.status.should.equal('broadcasted');
7822
+ });
7823
+ it('should not republish an accepted txp back to pending', async function () {
7824
+ await setStatus('accepted');
7825
+ const err = await republishError();
7826
+ should.exist(err);
7827
+ err.code.should.equal('TX_NOT_PENDING');
7828
+ const stored = await util_1.default.promisify(server.storage.fetchTx).call(server.storage, wallet.id, txp.id);
7829
+ stored.status.should.equal('accepted');
7830
+ });
7831
+ it('should not republish a rejected txp back to pending', async function () {
7832
+ await setStatus('rejected');
7833
+ const err = await republishError();
7834
+ should.exist(err);
7835
+ err.code.should.equal('TX_NOT_PENDING');
7836
+ });
7837
+ });
7751
7838
  it('should publish a deferred-nonce txp and save prePublishRaw', async function () {
7752
7839
  const txOpts = {
7753
7840
  outputs: [{ toAddress: ETH_ADDR, amount: 8000 }],