@bitpay-labs/bitcore-wallet-service 11.10.2 → 11.10.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 (83) hide show
  1. package/.mocharc.yml +2 -0
  2. package/.nycrc.yml +13 -0
  3. package/bws.example.config.js +4 -3
  4. package/package.json +6 -25
  5. package/src/config.ts +4 -3
  6. package/src/externalservices/moonpay.ts +10 -0
  7. package/src/externalservices/transak.ts +15 -0
  8. package/src/lib/blockchainexplorers/v8.ts +19 -0
  9. package/src/lib/chain/xrp/index.ts +13 -8
  10. package/src/lib/common/defaults.ts +3 -0
  11. package/src/lib/common/utils.ts +3 -3
  12. package/src/lib/emailservice.ts +2 -1
  13. package/src/lib/model/txproposal.ts +4 -0
  14. package/src/lib/pushnotificationsservice.ts +2 -1
  15. package/src/lib/routes/moralis.ts +12 -0
  16. package/src/lib/routes/services.ts +22 -6
  17. package/src/lib/routes/tss.ts +1 -1
  18. package/src/lib/routes/wallets.ts +16 -1
  19. package/src/lib/server.ts +96 -2
  20. package/test/chain/xrp.test.ts +21 -0
  21. package/test/integration/externalservices/moonpay.test.ts +14 -2
  22. package/test/integration/externalservices/moralis.test.ts +476 -0
  23. package/test/integration/server.test.ts +138 -0
  24. package/ts_build/package.json +5 -24
  25. package/ts_build/src/config.d.ts.map +1 -1
  26. package/ts_build/src/config.js.map +1 -1
  27. package/ts_build/src/externalservices/moonpay.d.ts.map +1 -1
  28. package/ts_build/src/externalservices/moonpay.js +6 -0
  29. package/ts_build/src/externalservices/moonpay.js.map +1 -1
  30. package/ts_build/src/externalservices/transak.d.ts.map +1 -1
  31. package/ts_build/src/externalservices/transak.js +15 -0
  32. package/ts_build/src/externalservices/transak.js.map +1 -1
  33. package/ts_build/src/lib/blockchainexplorers/v8.d.ts +3 -0
  34. package/ts_build/src/lib/blockchainexplorers/v8.d.ts.map +1 -1
  35. package/ts_build/src/lib/blockchainexplorers/v8.js +18 -0
  36. package/ts_build/src/lib/blockchainexplorers/v8.js.map +1 -1
  37. package/ts_build/src/lib/chain/xrp/index.d.ts.map +1 -1
  38. package/ts_build/src/lib/chain/xrp/index.js +12 -8
  39. package/ts_build/src/lib/chain/xrp/index.js.map +1 -1
  40. package/ts_build/src/lib/common/defaults.d.ts +1 -0
  41. package/ts_build/src/lib/common/defaults.d.ts.map +1 -1
  42. package/ts_build/src/lib/common/defaults.js +1 -0
  43. package/ts_build/src/lib/common/defaults.js.map +1 -1
  44. package/ts_build/src/lib/common/index.d.ts +2 -1
  45. package/ts_build/src/lib/common/index.d.ts.map +1 -1
  46. package/ts_build/src/lib/common/utils.d.ts +1 -1
  47. package/ts_build/src/lib/common/utils.d.ts.map +1 -1
  48. package/ts_build/src/lib/common/utils.js.map +1 -1
  49. package/ts_build/src/lib/emailservice.d.ts.map +1 -1
  50. package/ts_build/src/lib/emailservice.js +1 -1
  51. package/ts_build/src/lib/emailservice.js.map +1 -1
  52. package/ts_build/src/lib/model/txproposal.d.ts +2 -0
  53. package/ts_build/src/lib/model/txproposal.d.ts.map +1 -1
  54. package/ts_build/src/lib/model/txproposal.js +3 -0
  55. package/ts_build/src/lib/model/txproposal.js.map +1 -1
  56. package/ts_build/src/lib/pushnotificationsservice.d.ts.map +1 -1
  57. package/ts_build/src/lib/pushnotificationsservice.js +1 -1
  58. package/ts_build/src/lib/pushnotificationsservice.js.map +1 -1
  59. package/ts_build/src/lib/routes/moralis.d.ts.map +1 -1
  60. package/ts_build/src/lib/routes/moralis.js +10 -0
  61. package/ts_build/src/lib/routes/moralis.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 +22 -6
  64. package/ts_build/src/lib/routes/services.js.map +1 -1
  65. package/ts_build/src/lib/routes/tss.js +0 -1
  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 +15 -0
  69. package/ts_build/src/lib/routes/wallets.js.map +1 -1
  70. package/ts_build/src/lib/server.d.ts +5 -0
  71. package/ts_build/src/lib/server.d.ts.map +1 -1
  72. package/ts_build/src/lib/server.js +83 -2
  73. package/ts_build/src/lib/server.js.map +1 -1
  74. package/ts_build/test/chain/xrp.test.js +19 -0
  75. package/ts_build/test/chain/xrp.test.js.map +1 -1
  76. package/ts_build/test/integration/externalservices/moonpay.test.js +14 -2
  77. package/ts_build/test/integration/externalservices/moonpay.test.js.map +1 -1
  78. package/ts_build/test/integration/externalservices/moralis.test.d.ts +2 -0
  79. package/ts_build/test/integration/externalservices/moralis.test.d.ts.map +1 -0
  80. package/ts_build/test/integration/externalservices/moralis.test.js +455 -0
  81. package/ts_build/test/integration/externalservices/moralis.test.js.map +1 -0
  82. package/ts_build/test/integration/server.test.js +115 -0
  83. package/ts_build/test/integration/server.test.js.map +1 -1
@@ -40,6 +40,25 @@ const txproposal_1 = require("../../src/lib/model/txproposal");
40
40
  const should = chai.should();
41
41
  const xpub = 'tpubDD7tYYerLNNm65Ez7pRjxQ2NpRHDoyRWoLWudnQ8agXjr7qs9BsPsRXk8Z6spPPJodnaY158YqeCKT5oXuZvbuNLfm1R4kXGJ2vPd9pUxDT';
42
42
  describe('Chain XRP', function () {
43
+ describe('#getWalletSendMaxInfo', function () {
44
+ it('should resolve fee level before calculating sendMax amount', function (done) {
45
+ const server = {
46
+ getBalance: (_opts, cb) => cb(null, { availableAmount: 1000000 }),
47
+ _getFeePerKb: (_wallet, opts, cb) => {
48
+ opts.feeLevel.should.equal('normal');
49
+ return cb(null, 12);
50
+ }
51
+ };
52
+ const wallet = { chain: 'xrp' };
53
+ chain_1.ChainService.get('xrp').getWalletSendMaxInfo(server, wallet, { feeLevel: 'normal' }, (err, info) => {
54
+ should.not.exist(err);
55
+ info.amount.should.equal(999988);
56
+ info.fee.should.equal(12);
57
+ info.feePerKb.should.equal(12);
58
+ done();
59
+ });
60
+ });
61
+ });
43
62
  describe('#getBitcoreTx', function () {
44
63
  it('should create a valid bitcore TX', function () {
45
64
  const txp = txproposal_1.TxProposal.fromObj(aTXP());
@@ -1 +1 @@
1
- {"version":3,"file":"xrp.test.js","sourceRoot":"","sources":["../../../test/chain/xrp.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"xrp.test.js","sourceRoot":"","sources":["../../../test/chain/xrp.test.ts"],"names":[],"mappings":"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"}
@@ -276,7 +276,9 @@ describe('Moonpay integration', () => {
276
276
  describe('#moonpayGetSignedPaymentUrl', () => {
277
277
  beforeEach(() => {
278
278
  req = {
279
- headers: {},
279
+ headers: {
280
+ 'x-forwarded-for': '1.2.3.4'
281
+ },
280
282
  body: {
281
283
  env: 'production',
282
284
  currencyCode: 'btc',
@@ -292,7 +294,17 @@ describe('Moonpay integration', () => {
292
294
  it('should get the paymentUrl properly if req is OK', () => {
293
295
  const data = server.externalServices.moonpay.moonpayGetSignedPaymentUrl(req);
294
296
  should.exist(data.urlWithSignature);
295
- data.urlWithSignature.should.equal('widgetApi2?apiKey=apiKey2&currencyCode=btc&walletAddress=bitcoin%3A123123&baseCurrencyCode=usd&baseCurrencyAmount=500&externalTransactionId=123123&redirectURL=bitpay%3A%2F%2Fmoonpay&signature=%2FDnbsboySgE%2FeAvMrwzROCLuuctkhgw5C2t2OofjOzo%3D');
297
+ data.urlWithSignature.should.equal('widgetApi2?apiKey=apiKey2&currencyCode=btc&walletAddress=bitcoin%3A123123&baseCurrencyCode=usd&baseCurrencyAmount=500&externalTransactionId=123123&redirectURL=bitpay%3A%2F%2Fmoonpay&allowedIpAddress=CN35SFB5PKS4vkiZ4CglTxRgTAaUHBLGZcenAw6gHEY%3D&signature=3XxjRX3EMj2RNaoAwgOwFBOiVTXsgAS7C50uJf9SsvM%3D');
298
+ });
299
+ it('should return error if request does not have IP', () => {
300
+ delete req.headers['x-forwarded-for'];
301
+ try {
302
+ server.externalServices.moonpay.moonpayGetSignedPaymentUrl(req);
303
+ should.fail('should have thrown');
304
+ }
305
+ catch (err) {
306
+ err.message.should.equal('Could not determine device IP address');
307
+ }
296
308
  });
297
309
  it('should return error if there is some missing arguments', () => {
298
310
  delete req.body.currencyCode;
@@ -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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"}
@@ -0,0 +1,2 @@
1
+ import 'chai/register-should';
2
+ //# sourceMappingURL=moralis.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"moralis.test.d.ts","sourceRoot":"","sources":["../../../../test/integration/externalservices/moralis.test.ts"],"names":[],"mappings":"AAGA,OAAO,sBAAsB,CAAC"}
@@ -0,0 +1,455 @@
1
+ 'use strict';
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ const chai = __importStar(require("chai"));
40
+ require("chai/register-should");
41
+ const util_1 = __importDefault(require("util"));
42
+ const sinon_1 = __importDefault(require("sinon"));
43
+ const moralis_1 = __importDefault(require("moralis"));
44
+ const server_1 = require("../../../src/lib/server");
45
+ const TestData = __importStar(require("../../testdata"));
46
+ const config_1 = __importDefault(require("../../../src/config"));
47
+ const helpers_1 = __importDefault(require("../helpers"));
48
+ const should = chai.should();
49
+ describe('Moralis integration', () => {
50
+ let server;
51
+ let wallet;
52
+ let fakeRequest;
53
+ let lastGet;
54
+ let lastPost;
55
+ let req;
56
+ before(async function () {
57
+ await helpers_1.default.before();
58
+ });
59
+ beforeEach(async function () {
60
+ config_1.default.moralis = {
61
+ apiKey: 'moralisApiKey1',
62
+ whitelist: []
63
+ };
64
+ lastGet = null;
65
+ lastPost = null;
66
+ fakeRequest = {
67
+ get: (_url, _opts, _cb) => {
68
+ lastGet = { url: _url, opts: _opts };
69
+ return _cb(null, { statusCode: 200, body: { result: [] } });
70
+ },
71
+ post: (_url, _opts, _cb) => {
72
+ lastPost = { url: _url, opts: _opts };
73
+ return _cb(null, { statusCode: 200, body: [{ tokenAddress: 'addr1', usdPrice: 1 }] });
74
+ },
75
+ };
76
+ await helpers_1.default.beforeEach();
77
+ ({ wallet } = await helpers_1.default.createAndJoinWallet(1, 1));
78
+ const priv = TestData.copayers[0].privKey_1H_0;
79
+ const sig = helpers_1.default.signMessage('hello world', priv);
80
+ server = await util_1.default.promisify(server_1.WalletService.getInstanceWithAuth).call(server_1.WalletService, {
81
+ copayerId: wallet.copayers[0].id,
82
+ message: 'hello world',
83
+ signature: sig,
84
+ clientVersion: 'bwc-2.0.0',
85
+ walletId: '123',
86
+ });
87
+ server.request = fakeRequest;
88
+ });
89
+ afterEach(() => {
90
+ sinon_1.default.restore();
91
+ });
92
+ after(async function () {
93
+ await helpers_1.default.after();
94
+ });
95
+ describe('#moralisGetWalletTokenBalances', () => {
96
+ beforeEach(() => {
97
+ req = {
98
+ headers: {},
99
+ body: {
100
+ address: '0xabc',
101
+ chain: '0x1',
102
+ toBlock: 100,
103
+ tokenAddresses: ['0xtoken1'],
104
+ excludeSpam: true,
105
+ }
106
+ };
107
+ });
108
+ it('should resolve response.raw and pass through the request params', async () => {
109
+ const stub = sinon_1.default.stub(moralis_1.default.EvmApi.token, 'getWalletTokenBalances')
110
+ .resolves({ raw: [{ token_address: '0xtoken1', balance: '100' }] });
111
+ const data = await server.moralisGetWalletTokenBalances(req);
112
+ data.should.deep.equal([{ token_address: '0xtoken1', balance: '100' }]);
113
+ stub.getCall(0).args[0].should.deep.equal({
114
+ address: '0xabc',
115
+ chain: '0x1',
116
+ toBlock: 100,
117
+ tokenAddresses: ['0xtoken1'],
118
+ excludeSpam: true,
119
+ });
120
+ });
121
+ it('should reject if the SDK call fails', async () => {
122
+ sinon_1.default.stub(moralis_1.default.EvmApi.token, 'getWalletTokenBalances').rejects(new Error('sdk error'));
123
+ try {
124
+ await server.moralisGetWalletTokenBalances(req);
125
+ should.fail('should have thrown');
126
+ }
127
+ catch (err) {
128
+ err.message.should.equal('sdk error');
129
+ }
130
+ });
131
+ });
132
+ describe('#moralisGetTokenAllowance', () => {
133
+ beforeEach(() => {
134
+ req = {
135
+ headers: {},
136
+ body: {
137
+ ownerAddress: '0xowner',
138
+ }
139
+ };
140
+ });
141
+ it('should call the approvals endpoint with server-side credentials using ownerAddress', async () => {
142
+ const data = await server.moralisGetTokenAllowance(req);
143
+ should.exist(data);
144
+ lastGet.url.should.equal('https://deep-index.moralis.io/api/v2.2/wallets/0xowner/approvals');
145
+ lastGet.opts.headers['X-Api-Key'].should.equal('moralisApiKey1');
146
+ });
147
+ it('should fall back to address when ownerAddress is not provided', async () => {
148
+ req.body = { address: '0xaddr' };
149
+ await server.moralisGetTokenAllowance(req);
150
+ lastGet.url.should.equal('https://deep-index.moralis.io/api/v2.2/wallets/0xaddr/approvals');
151
+ });
152
+ it('should reject if neither ownerAddress nor address is provided', async () => {
153
+ req.body = {};
154
+ try {
155
+ await server.moralisGetTokenAllowance(req);
156
+ should.fail('should have thrown');
157
+ }
158
+ catch (err) {
159
+ err.message.should.contain('request missing arguments');
160
+ should.not.exist(lastGet);
161
+ }
162
+ });
163
+ it('should convert a numeric chain to hex in the query string', async () => {
164
+ req.body.chain = 1;
165
+ await server.moralisGetTokenAllowance(req);
166
+ lastGet.url.should.contain('chain=0x1');
167
+ });
168
+ it('should apply the legacy spender/allowance workaround when spenderAddress and ownerAddress are given', async () => {
169
+ req.body = {
170
+ ownerAddress: '0xowner',
171
+ address: '0xtoken',
172
+ spenderAddress: '0xSPENDER',
173
+ };
174
+ const fakeRequest2 = {
175
+ get: (_url, _opts, _cb) => {
176
+ return _cb(null, {
177
+ statusCode: 200,
178
+ body: {
179
+ result: [
180
+ {
181
+ spender: { address: '0xspender' },
182
+ token: { address: '0xtoken' },
183
+ value: '42',
184
+ },
185
+ ],
186
+ },
187
+ });
188
+ },
189
+ };
190
+ server.request = fakeRequest2;
191
+ const data = await server.moralisGetTokenAllowance(req);
192
+ data.should.deep.equal({ allowance: '42' });
193
+ });
194
+ it('should default the allowance to 0 when no matching spender is found', async () => {
195
+ req.body = {
196
+ ownerAddress: '0xowner',
197
+ address: '0xtoken',
198
+ spenderAddress: '0xnotfound',
199
+ };
200
+ const fakeRequest2 = {
201
+ get: (_url, _opts, _cb) => {
202
+ return _cb(null, { statusCode: 200, body: { result: [] } });
203
+ },
204
+ };
205
+ server.request = fakeRequest2;
206
+ const data = await server.moralisGetTokenAllowance(req);
207
+ data.should.deep.equal({ allowance: '0' });
208
+ });
209
+ it('should return error if moralis is commented in config', async () => {
210
+ config_1.default.moralis = undefined;
211
+ try {
212
+ await server.moralisGetTokenAllowance(req);
213
+ should.fail('should have thrown');
214
+ }
215
+ catch (err) {
216
+ err.message.should.equal('Moralis missing credentials');
217
+ should.not.exist(lastGet);
218
+ }
219
+ });
220
+ it('should return error if get returns error', async () => {
221
+ const fakeRequest2 = {
222
+ get: (_url, _opts, _cb) => { return _cb(new Error('Error'), null); },
223
+ };
224
+ server.request = fakeRequest2;
225
+ try {
226
+ await server.moralisGetTokenAllowance(req);
227
+ should.fail('should have thrown');
228
+ }
229
+ catch (err) {
230
+ err.message.should.equal('Error');
231
+ }
232
+ });
233
+ });
234
+ describe('#moralisGetNativeBalance', () => {
235
+ it('should resolve response.raw and pass through the request params', async () => {
236
+ req = { headers: {}, body: { address: '0xabc', chain: '0x1', toBlock: 100 } };
237
+ const stub = sinon_1.default.stub(moralis_1.default.EvmApi.balance, 'getNativeBalance')
238
+ .resolves({ raw: { balance: '1000000000000000000' } });
239
+ const data = await server.moralisGetNativeBalance(req);
240
+ data.should.deep.equal({ balance: '1000000000000000000' });
241
+ stub.getCall(0).args[0].should.deep.equal({ address: '0xabc', chain: '0x1', toBlock: 100 });
242
+ });
243
+ });
244
+ describe('#moralisGetTokenPrice', () => {
245
+ it('should resolve response.raw and pass through the request params', async () => {
246
+ req = {
247
+ headers: {},
248
+ body: { address: '0xabc', chain: '0x1', include: 'percent_change', exchange: 'uniswapv2', toBlock: 100 }
249
+ };
250
+ const stub = sinon_1.default.stub(moralis_1.default.EvmApi.token, 'getTokenPrice')
251
+ .resolves({ raw: { usdPrice: 5 } });
252
+ const data = await server.moralisGetTokenPrice(req);
253
+ data.should.deep.equal({ usdPrice: 5 });
254
+ stub.getCall(0).args[0].should.deep.equal({
255
+ address: '0xabc',
256
+ chain: '0x1',
257
+ include: 'percent_change',
258
+ exchange: 'uniswapv2',
259
+ toBlock: 100,
260
+ });
261
+ });
262
+ });
263
+ describe('#moralisGetMultipleERC20TokenPrices', () => {
264
+ it('should resolve response.raw and call the SDK with (params, body)', async () => {
265
+ req = {
266
+ headers: {},
267
+ body: {
268
+ chain: '0x1',
269
+ include: 'percent_change',
270
+ tokens: [{ tokenAddress: '0xaaa' }, { tokenAddress: '0xbbb' }],
271
+ }
272
+ };
273
+ const stub = sinon_1.default.stub(moralis_1.default.EvmApi.token, 'getMultipleTokenPrices')
274
+ .resolves({ raw: [{ tokenAddress: '0xaaa', usdPrice: 1 }] });
275
+ const data = await server.moralisGetMultipleERC20TokenPrices(req);
276
+ data.should.deep.equal([{ tokenAddress: '0xaaa', usdPrice: 1 }]);
277
+ stub.getCall(0).args[0].should.deep.equal({ chain: '0x1', include: 'percent_change' });
278
+ stub.getCall(0).args[1].should.deep.equal({ tokens: req.body.tokens });
279
+ });
280
+ });
281
+ describe('#moralisGetERC20TokenBalancesWithPricesByWallet', () => {
282
+ beforeEach(() => {
283
+ req = {
284
+ headers: {},
285
+ body: { address: '0xabc' }
286
+ };
287
+ });
288
+ it('should call the tokens endpoint with server-side credentials', async () => {
289
+ const data = await server.moralisGetERC20TokenBalancesWithPricesByWallet(req);
290
+ should.exist(data);
291
+ lastGet.url.should.equal('https://deep-index.moralis.io/api/v2.2/wallets/0xabc/tokens');
292
+ lastGet.opts.headers['X-Api-Key'].should.equal('moralisApiKey1');
293
+ });
294
+ it('should include all optional query params when provided', async () => {
295
+ req.body = {
296
+ address: '0xabc',
297
+ chain: '0x1',
298
+ toBlock: 100,
299
+ tokenAddresses: '0xtoken1',
300
+ excludeSpam: true,
301
+ cursor: 'abc',
302
+ limit: 10,
303
+ excludeNative: true,
304
+ };
305
+ await server.moralisGetERC20TokenBalancesWithPricesByWallet(req);
306
+ lastGet.url.should.contain('chain=0x1');
307
+ lastGet.url.should.contain('to_block=100');
308
+ lastGet.url.should.contain('token_addresses=0xtoken1');
309
+ lastGet.url.should.contain('exclude_spam=true');
310
+ lastGet.url.should.contain('cursor=abc');
311
+ lastGet.url.should.contain('limit=10');
312
+ lastGet.url.should.contain('exclude_native=true');
313
+ });
314
+ it('should reject if address is missing', async () => {
315
+ req.body = {};
316
+ try {
317
+ await server.moralisGetERC20TokenBalancesWithPricesByWallet(req);
318
+ should.fail('should have thrown');
319
+ }
320
+ catch (err) {
321
+ err.message.should.contain('request missing arguments');
322
+ should.not.exist(lastGet);
323
+ }
324
+ });
325
+ it('should return error if moralis is commented in config', async () => {
326
+ config_1.default.moralis = undefined;
327
+ try {
328
+ await server.moralisGetERC20TokenBalancesWithPricesByWallet(req);
329
+ should.fail('should have thrown');
330
+ }
331
+ catch (err) {
332
+ err.message.should.equal('Moralis missing credentials');
333
+ should.not.exist(lastGet);
334
+ }
335
+ });
336
+ });
337
+ describe('#moralisGetTransactionVerbose', () => {
338
+ beforeEach(() => {
339
+ req = {
340
+ headers: {},
341
+ body: { transactionHash: '0xhash', chain: '0x89' }
342
+ };
343
+ });
344
+ it('should resolve response.raw and pass through the request params', async () => {
345
+ const stub = sinon_1.default.stub(moralis_1.default.EvmApi.transaction, 'getTransactionVerbose')
346
+ .resolves({ raw: { hash: '0xhash', logs: [] } });
347
+ const data = await server.moralisGetTransactionVerbose(req);
348
+ data.should.deep.equal({ hash: '0xhash', logs: [] });
349
+ stub.getCall(0).args[0].should.deep.equal({ transactionHash: '0xhash', chain: '0x89' });
350
+ });
351
+ it('should reject if the SDK call fails', async () => {
352
+ sinon_1.default.stub(moralis_1.default.EvmApi.transaction, 'getTransactionVerbose').rejects(new Error('sdk error'));
353
+ try {
354
+ await server.moralisGetTransactionVerbose(req);
355
+ should.fail('should have thrown');
356
+ }
357
+ catch (err) {
358
+ err.message.should.equal('sdk error');
359
+ }
360
+ });
361
+ it('should resolve null when the SDK finds no matching transaction', async () => {
362
+ sinon_1.default.stub(moralis_1.default.EvmApi.transaction, 'getTransactionVerbose').resolves(null);
363
+ const data = await server.moralisGetTransactionVerbose(req);
364
+ should.equal(data, null);
365
+ });
366
+ });
367
+ describe('#moralisGetSolWalletPortfolio', () => {
368
+ beforeEach(() => {
369
+ req = {
370
+ headers: {},
371
+ body: { address: 'solWalletAddress' }
372
+ };
373
+ });
374
+ it('should resolve response.raw and default to mainnet', async () => {
375
+ const stub = sinon_1.default.stub(moralis_1.default.SolApi.account, 'getPortfolio')
376
+ .resolves({ raw: { tokens: [] } });
377
+ const data = await server.moralisGetSolWalletPortfolio(req);
378
+ data.should.deep.equal({ tokens: [] });
379
+ stub.getCall(0).args[0].should.deep.equal({ address: 'solWalletAddress', network: 'mainnet' });
380
+ });
381
+ it('should prefer network over chain when both are provided', async () => {
382
+ const stub = sinon_1.default.stub(moralis_1.default.SolApi.account, 'getPortfolio').resolves({ raw: {} });
383
+ req.body.network = 'testnet';
384
+ req.body.chain = 'devnet';
385
+ await server.moralisGetSolWalletPortfolio(req);
386
+ stub.getCall(0).args[0].network.should.equal('testnet');
387
+ });
388
+ it('should map hex-encoded and numeric chain ids to the matching network', async () => {
389
+ const stub = sinon_1.default.stub(moralis_1.default.SolApi.account, 'getPortfolio').resolves({ raw: {} });
390
+ req.body.chain = '0x66';
391
+ await server.moralisGetSolWalletPortfolio(req);
392
+ stub.getCall(0).args[0].network.should.equal('testnet');
393
+ req.body.chain = undefined;
394
+ req.body.network = 101;
395
+ await server.moralisGetSolWalletPortfolio(req);
396
+ stub.getCall(1).args[0].network.should.equal('devnet');
397
+ });
398
+ });
399
+ describe('#moralisGetMultipleSolTokenPrices', () => {
400
+ beforeEach(() => {
401
+ req = {
402
+ headers: {},
403
+ body: {
404
+ addresses: ['So11111111111111111111111111111111111111112'],
405
+ }
406
+ };
407
+ });
408
+ it('should call the solana gateway prices endpoint with server-side credentials', async () => {
409
+ const data = await server.moralisGetMultipleSolTokenPrices(req);
410
+ should.exist(data);
411
+ lastPost.url.should.equal('https://solana-gateway.moralis.io/token/mainnet/prices');
412
+ lastPost.opts.headers['X-Api-Key'].should.equal('moralisApiKey1');
413
+ lastPost.opts.body.addresses.should.deep.equal(req.body.addresses);
414
+ });
415
+ it('should only use the devnet network when explicitly requested, defaulting to mainnet otherwise', async () => {
416
+ req.body.network = 'devnet';
417
+ await server.moralisGetMultipleSolTokenPrices(req);
418
+ lastPost.url.should.equal('https://solana-gateway.moralis.io/token/devnet/prices');
419
+ req.body.network = 'whatever';
420
+ await server.moralisGetMultipleSolTokenPrices(req);
421
+ lastPost.url.should.equal('https://solana-gateway.moralis.io/token/mainnet/prices');
422
+ });
423
+ it('should reject when addresses is missing or not an array', async () => {
424
+ delete req.body.addresses;
425
+ try {
426
+ await server.moralisGetMultipleSolTokenPrices(req);
427
+ should.fail('should have thrown');
428
+ }
429
+ catch (err) {
430
+ err.message.should.contain('request missing arguments');
431
+ }
432
+ req.body.addresses = 'notAnArray';
433
+ try {
434
+ await server.moralisGetMultipleSolTokenPrices(req);
435
+ should.fail('should have thrown');
436
+ }
437
+ catch (err) {
438
+ err.message.should.contain('request missing arguments');
439
+ }
440
+ should.not.exist(lastPost);
441
+ });
442
+ it('should return error if moralis is commented in config', async () => {
443
+ config_1.default.moralis = undefined;
444
+ try {
445
+ await server.moralisGetMultipleSolTokenPrices(req);
446
+ should.fail('should have thrown');
447
+ }
448
+ catch (err) {
449
+ err.message.should.equal('Moralis missing credentials');
450
+ should.not.exist(lastPost);
451
+ }
452
+ });
453
+ });
454
+ });
455
+ //# sourceMappingURL=moralis.test.js.map