@ledgerhq/live-common 27.2.0-nightly.3 → 27.2.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 (100) hide show
  1. package/lib/bot/specs.d.ts +0 -8
  2. package/lib/bot/specs.d.ts.map +1 -1
  3. package/lib/bot/specs.js +1 -45
  4. package/lib/bot/specs.js.map +1 -1
  5. package/lib/env.js +1 -1
  6. package/lib/exchange/swap/getExchangeRates.d.ts.map +1 -1
  7. package/lib/exchange/swap/getExchangeRates.js +1 -1
  8. package/lib/exchange/swap/getExchangeRates.js.map +1 -1
  9. package/lib/exchange/swap/getProviders.d.ts.map +1 -1
  10. package/lib/exchange/swap/getProviders.js +5 -45
  11. package/lib/exchange/swap/getProviders.js.map +1 -1
  12. package/lib/exchange/swap/index.d.ts +1 -2
  13. package/lib/exchange/swap/index.d.ts.map +1 -1
  14. package/lib/exchange/swap/index.js +1 -11
  15. package/lib/exchange/swap/index.js.map +1 -1
  16. package/lib/exchange/swap/index.test.js +0 -22
  17. package/lib/exchange/swap/index.test.js.map +1 -1
  18. package/lib/exchange/swap/mock.js +1 -1
  19. package/lib/exchange/swap/mock.js.map +1 -1
  20. package/lib/exchange/swap/types.d.ts +0 -14
  21. package/lib/exchange/swap/types.d.ts.map +1 -1
  22. package/lib/families/algorand/speculos-deviceActions.d.ts.map +1 -1
  23. package/lib/families/algorand/speculos-deviceActions.js +29 -2
  24. package/lib/families/algorand/speculos-deviceActions.js.map +1 -1
  25. package/lib/families/bitcoin/speculos-deviceActions.d.ts.map +1 -1
  26. package/lib/families/bitcoin/speculos-deviceActions.js +22 -2
  27. package/lib/families/bitcoin/speculos-deviceActions.js.map +1 -1
  28. package/lib/families/cardano/speculos-deviceActions.d.ts.map +1 -1
  29. package/lib/families/cardano/speculos-deviceActions.js +10 -2
  30. package/lib/families/cardano/speculos-deviceActions.js.map +1 -1
  31. package/lib/families/celo/speculos-deviceActions.d.ts.map +1 -1
  32. package/lib/families/celo/speculos-deviceActions.js +10 -3
  33. package/lib/families/celo/speculos-deviceActions.js.map +1 -1
  34. package/lib/families/elrond/speculos-deviceActions.d.ts.map +1 -1
  35. package/lib/families/elrond/speculos-deviceActions.js +8 -3
  36. package/lib/families/elrond/speculos-deviceActions.js.map +1 -1
  37. package/lib/families/ethereum/speculos-deviceActions.d.ts.map +1 -1
  38. package/lib/families/ethereum/speculos-deviceActions.js +33 -10
  39. package/lib/families/ethereum/speculos-deviceActions.js.map +1 -1
  40. package/lib/families/evm/specs.d.ts.map +1 -1
  41. package/lib/families/evm/specs.js +3 -7
  42. package/lib/families/evm/specs.js.map +1 -1
  43. package/lib/families/evm/speculos-deviceActions.d.ts.map +1 -1
  44. package/lib/families/evm/speculos-deviceActions.js +25 -5
  45. package/lib/families/evm/speculos-deviceActions.js.map +1 -1
  46. package/lib/families/filecoin/speculos-deviceActions.d.ts.map +1 -1
  47. package/lib/families/filecoin/speculos-deviceActions.js +10 -6
  48. package/lib/families/filecoin/speculos-deviceActions.js.map +1 -1
  49. package/lib/families/polkadot/speculos-deviceActions.d.ts.map +1 -1
  50. package/lib/families/polkadot/speculos-deviceActions.js +10 -3
  51. package/lib/families/polkadot/speculos-deviceActions.js.map +1 -1
  52. package/lib/families/ripple/speculos-deviceActions.d.ts.map +1 -1
  53. package/lib/families/ripple/speculos-deviceActions.js +22 -2
  54. package/lib/families/ripple/speculos-deviceActions.js.map +1 -1
  55. package/lib/families/solana/speculos-deviceActions.d.ts.map +1 -1
  56. package/lib/families/solana/speculos-deviceActions.js +7 -5
  57. package/lib/families/solana/speculos-deviceActions.js.map +1 -1
  58. package/lib/families/stellar/api/horizon.d.ts.map +1 -1
  59. package/lib/families/stellar/api/horizon.js +10 -15
  60. package/lib/families/stellar/api/horizon.js.map +1 -1
  61. package/lib/families/stellar/speculos-deviceActions.d.ts.map +1 -1
  62. package/lib/families/stellar/speculos-deviceActions.js +8 -4
  63. package/lib/families/stellar/speculos-deviceActions.js.map +1 -1
  64. package/lib/families/tezos/speculos-deviceActions.d.ts.map +1 -1
  65. package/lib/families/tezos/speculos-deviceActions.js +11 -6
  66. package/lib/families/tezos/speculos-deviceActions.js.map +1 -1
  67. package/lib/families/tron/speculos-deviceActions.d.ts.map +1 -1
  68. package/lib/families/tron/speculos-deviceActions.js +14 -2
  69. package/lib/families/tron/speculos-deviceActions.js.map +1 -1
  70. package/package.json +17 -17
  71. package/src/bot/specs.ts +0 -39
  72. package/src/currencies/__snapshots__/sortByMarketcap.test.ts.snap +35 -1
  73. package/src/env.ts +1 -1
  74. package/src/exchange/swap/getExchangeRates.ts +3 -7
  75. package/src/exchange/swap/getProviders.ts +8 -31
  76. package/src/exchange/swap/index.test.ts +1 -36
  77. package/src/exchange/swap/index.ts +0 -15
  78. package/src/exchange/swap/mock.ts +2 -2
  79. package/src/exchange/swap/types.ts +0 -11
  80. package/src/families/algorand/speculos-deviceActions.ts +35 -4
  81. package/src/families/bitcoin/speculos-deviceActions.ts +26 -3
  82. package/src/families/cardano/speculos-deviceActions.ts +14 -3
  83. package/src/families/celo/speculos-deviceActions.ts +14 -6
  84. package/src/families/elrond/speculos-deviceActions.ts +9 -4
  85. package/src/families/ethereum/speculos-deviceActions.ts +46 -16
  86. package/src/families/evm/specs.ts +6 -10
  87. package/src/families/evm/speculos-deviceActions.ts +35 -7
  88. package/src/families/filecoin/speculos-deviceActions.ts +11 -7
  89. package/src/families/polkadot/speculos-deviceActions.ts +16 -5
  90. package/src/families/ripple/speculos-deviceActions.ts +28 -3
  91. package/src/families/solana/speculos-deviceActions.ts +8 -6
  92. package/src/families/stellar/api/horizon.ts +6 -10
  93. package/src/families/stellar/speculos-deviceActions.ts +11 -5
  94. package/src/families/tezos/speculos-deviceActions.ts +16 -9
  95. package/src/families/tron/speculos-deviceActions.ts +12 -4
  96. package/lib/exchange/swap/getProviders.test.d.ts +0 -2
  97. package/lib/exchange/swap/getProviders.test.d.ts.map +0 -1
  98. package/lib/exchange/swap/getProviders.test.js +0 -519
  99. package/lib/exchange/swap/getProviders.test.js.map +0 -1
  100. package/src/exchange/swap/getProviders.test.ts +0 -450
@@ -1,519 +0,0 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
- return new (P || (P = Promise))(function (resolve, reject) {
16
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
- step((generator = generator.apply(thisArg, _arguments || [])).next());
20
- });
21
- };
22
- var __generator = (this && this.__generator) || function (thisArg, body) {
23
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
- function verb(n) { return function (v) { return step([n, v]); }; }
26
- function step(op) {
27
- if (f) throw new TypeError("Generator is already executing.");
28
- while (_) try {
29
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
- if (y = 0, t) op = [op[0] & 2, t.value];
31
- switch (op[0]) {
32
- case 0: case 1: t = op; break;
33
- case 4: _.label++; return { value: op[1], done: false };
34
- case 5: _.label++; y = op[1]; op = [0]; continue;
35
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
- default:
37
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
- if (t[2]) _.ops.pop();
42
- _.trys.pop(); continue;
43
- }
44
- op = body.call(thisArg, _);
45
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
- }
48
- };
49
- var __importDefault = (this && this.__importDefault) || function (mod) {
50
- return (mod && mod.__esModule) ? mod : { "default": mod };
51
- };
52
- exports.__esModule = true;
53
- var axios_1 = __importDefault(require("axios"));
54
- var getProviders_1 = __importDefault(require("./getProviders"));
55
- var env_1 = require("../../env");
56
- var EXPECTED_RESULT_V4 = [
57
- {
58
- provider: "changelly",
59
- pairs: [
60
- {
61
- from: "bitcoin",
62
- to: "ethereum",
63
- tradeMethod: "float"
64
- },
65
- {
66
- from: "bitcoin",
67
- to: "zcash",
68
- tradeMethod: "float"
69
- },
70
- {
71
- from: "bitcoin",
72
- to: "ethereum_classic",
73
- tradeMethod: "float"
74
- },
75
- {
76
- from: "ethereum",
77
- to: "bitcoin",
78
- tradeMethod: "float"
79
- },
80
- {
81
- from: "ethereum",
82
- to: "zcash",
83
- tradeMethod: "float"
84
- },
85
- {
86
- from: "ethereum",
87
- to: "ethereum_classic",
88
- tradeMethod: "float"
89
- },
90
- {
91
- from: "bitcoin",
92
- to: "ethereum",
93
- tradeMethod: "float"
94
- },
95
- {
96
- from: "bitcoin",
97
- to: "zcash",
98
- tradeMethod: "float"
99
- },
100
- {
101
- from: "bitcoin",
102
- to: "ethereum_classic",
103
- tradeMethod: "float"
104
- },
105
- {
106
- from: "ethereum",
107
- to: "bitcoin",
108
- tradeMethod: "float"
109
- },
110
- {
111
- from: "ethereum",
112
- to: "zcash",
113
- tradeMethod: "float"
114
- },
115
- {
116
- from: "ethereum",
117
- to: "ethereum_classic",
118
- tradeMethod: "float"
119
- },
120
- {
121
- from: "zcash",
122
- to: "bitcoin",
123
- tradeMethod: "float"
124
- },
125
- {
126
- from: "zcash",
127
- to: "ethereum_classic",
128
- tradeMethod: "float"
129
- },
130
- {
131
- from: "ethereum_classic",
132
- to: "bitcoin",
133
- tradeMethod: "float"
134
- },
135
- {
136
- from: "ethereum_classic",
137
- to: "ethereum",
138
- tradeMethod: "float"
139
- },
140
- {
141
- from: "bitcoin",
142
- to: "ethereum",
143
- tradeMethod: "fixed"
144
- },
145
- {
146
- from: "bitcoin",
147
- to: "zcash",
148
- tradeMethod: "fixed"
149
- },
150
- {
151
- from: "bitcoin",
152
- to: "ethereum_classic",
153
- tradeMethod: "fixed"
154
- },
155
- {
156
- from: "ethereum",
157
- to: "bitcoin",
158
- tradeMethod: "fixed"
159
- },
160
- {
161
- from: "ethereum",
162
- to: "zcash",
163
- tradeMethod: "fixed"
164
- },
165
- {
166
- from: "ethereum",
167
- to: "ethereum_classic",
168
- tradeMethod: "fixed"
169
- },
170
- {
171
- from: "zcash",
172
- to: "bitcoin",
173
- tradeMethod: "fixed"
174
- },
175
- {
176
- from: "zcash",
177
- to: "ethereum_classic",
178
- tradeMethod: "fixed"
179
- },
180
- {
181
- from: "ethereum_classic",
182
- to: "bitcoin",
183
- tradeMethod: "fixed"
184
- },
185
- {
186
- from: "ethereum_classic",
187
- to: "ethereum",
188
- tradeMethod: "fixed"
189
- },
190
- {
191
- from: "zcash",
192
- to: "bitcoin",
193
- tradeMethod: "fixed"
194
- },
195
- {
196
- from: "zcash",
197
- to: "ethereum_classic",
198
- tradeMethod: "fixed"
199
- },
200
- {
201
- from: "ethereum_classic",
202
- to: "bitcoin",
203
- tradeMethod: "fixed"
204
- },
205
- {
206
- from: "ethereum_classic",
207
- to: "ethereum",
208
- tradeMethod: "fixed"
209
- },
210
- ]
211
- },
212
- {
213
- provider: "ftx",
214
- pairs: [
215
- {
216
- from: "bitcoin",
217
- to: "ethereum",
218
- tradeMethod: "float"
219
- },
220
- {
221
- from: "bitcoin",
222
- to: "zcash",
223
- tradeMethod: "float"
224
- },
225
- {
226
- from: "bitcoin",
227
- to: "ethereum_classic",
228
- tradeMethod: "float"
229
- },
230
- {
231
- from: "ethereum",
232
- to: "bitcoin",
233
- tradeMethod: "float"
234
- },
235
- {
236
- from: "ethereum",
237
- to: "zcash",
238
- tradeMethod: "float"
239
- },
240
- {
241
- from: "ethereum",
242
- to: "ethereum_classic",
243
- tradeMethod: "float"
244
- },
245
- {
246
- from: "zcash",
247
- to: "bitcoin",
248
- tradeMethod: "float"
249
- },
250
- {
251
- from: "zcash",
252
- to: "ethereum",
253
- tradeMethod: "float"
254
- },
255
- {
256
- from: "zcash",
257
- to: "ethereum_classic",
258
- tradeMethod: "float"
259
- },
260
- {
261
- from: "ethereum_classic",
262
- to: "bitcoin",
263
- tradeMethod: "float"
264
- },
265
- {
266
- from: "ethereum_classic",
267
- to: "ethereum",
268
- tradeMethod: "float"
269
- },
270
- {
271
- from: "ethereum_classic",
272
- to: "zcash",
273
- tradeMethod: "float"
274
- },
275
- ]
276
- },
277
- ];
278
- jest.mock("axios");
279
- var mockedAxios = jest.mocked(axios_1["default"]);
280
- describe("swap/getProviders", function () {
281
- var DEFAULT_SWAP_API_BASE = (0, env_1.getEnv)("SWAP_API_BASE");
282
- afterAll(function () {
283
- // Restore DEFAULT_SWAP_API_BASE
284
- (0, env_1.setEnv)("SWAP_API_BASE", DEFAULT_SWAP_API_BASE);
285
- });
286
- describe("version 2", function () {
287
- var data = [
288
- {
289
- provider: "changelly",
290
- pairs: [
291
- {
292
- from: "bitcoin",
293
- to: "ethereum",
294
- tradeMethod: ["float", "fixed"]
295
- },
296
- {
297
- from: "bitcoin",
298
- to: "ethereum_classic",
299
- tradeMethod: ["float", "fixed"]
300
- },
301
- ]
302
- },
303
- ];
304
- var resp = {
305
- data: data,
306
- status: 200,
307
- statusText: "",
308
- headers: {},
309
- config: {}
310
- };
311
- beforeAll(function () {
312
- // set SWAP_API_BASE
313
- (0, env_1.setEnv)("SWAP_API_BASE", "https://swap.ledger.com/v2");
314
- });
315
- beforeEach(function () {
316
- mockedAxios.mockResolvedValue(Promise.resolve(resp));
317
- });
318
- afterEach(function () {
319
- mockedAxios.mockClear();
320
- });
321
- test("should not be called with whitelist", function () { return __awaiter(void 0, void 0, void 0, function () {
322
- return __generator(this, function (_a) {
323
- switch (_a.label) {
324
- case 0: return [4 /*yield*/, (0, getProviders_1["default"])()];
325
- case 1:
326
- _a.sent();
327
- expect(mockedAxios).toBeCalledWith(expect.objectContaining({
328
- params: undefined
329
- }));
330
- return [2 /*return*/];
331
- }
332
- });
333
- }); });
334
- });
335
- describe("version 3", function () {
336
- var data = [
337
- {
338
- provider: "changelly",
339
- pairs: [
340
- {
341
- from: "bitcoin",
342
- to: "ethereum",
343
- tradeMethod: ["float", "fixed"]
344
- },
345
- {
346
- from: "bitcoin",
347
- to: "ethereum_classic",
348
- tradeMethod: ["float", "fixed"]
349
- },
350
- ]
351
- },
352
- ];
353
- var resp = {
354
- data: data,
355
- status: 200,
356
- statusText: "",
357
- headers: {},
358
- config: {}
359
- };
360
- beforeAll(function () {
361
- // set SWAP_API_BASE
362
- (0, env_1.setEnv)("SWAP_API_BASE", "https://swap.ledger.com/v3");
363
- });
364
- beforeEach(function () {
365
- mockedAxios.mockResolvedValue(Promise.resolve(resp));
366
- });
367
- afterEach(function () {
368
- mockedAxios.mockClear();
369
- });
370
- test("should be called with whitelist", function () { return __awaiter(void 0, void 0, void 0, function () {
371
- return __generator(this, function (_a) {
372
- switch (_a.label) {
373
- case 0: return [4 /*yield*/, (0, getProviders_1["default"])()];
374
- case 1:
375
- _a.sent();
376
- expect(mockedAxios).toBeCalledWith(expect.objectContaining({
377
- params: expect.objectContaining({
378
- whitelist: expect.any(Array)
379
- })
380
- }));
381
- return [2 /*return*/];
382
- }
383
- });
384
- }); });
385
- test("should throw error if no data", function () { return __awaiter(void 0, void 0, void 0, function () {
386
- var emptyResp;
387
- return __generator(this, function (_a) {
388
- switch (_a.label) {
389
- case 0:
390
- emptyResp = __assign(__assign({}, resp), { data: [] });
391
- mockedAxios.mockResolvedValue(Promise.resolve(emptyResp));
392
- return [4 /*yield*/, expect(getProviders_1["default"]).rejects.toThrow("SwapNoAvailableProviders")];
393
- case 1:
394
- _a.sent();
395
- return [2 /*return*/];
396
- }
397
- });
398
- }); });
399
- test("should return list of providers with pairs", function () { return __awaiter(void 0, void 0, void 0, function () {
400
- var res;
401
- return __generator(this, function (_a) {
402
- switch (_a.label) {
403
- case 0: return [4 /*yield*/, (0, getProviders_1["default"])()];
404
- case 1:
405
- res = _a.sent();
406
- expect(res).toEqual(data);
407
- return [2 /*return*/];
408
- }
409
- });
410
- }); });
411
- });
412
- describe("version 4", function () {
413
- var data = {
414
- currencies: {
415
- "1": "bitcoin",
416
- "2": "ethereum",
417
- "3": "zcash",
418
- "4": "ethereum_classic"
419
- },
420
- providers: {
421
- changelly: [
422
- {
423
- methods: ["float"],
424
- pairs: {
425
- "1": [2, 3, 4],
426
- "2": [1, 3, 4]
427
- }
428
- },
429
- {
430
- methods: ["float", "fixed"],
431
- pairs: {
432
- "1": [2, 3, 4],
433
- "2": [1, 3, 4],
434
- "3": [1, 4],
435
- "4": [1, 2]
436
- }
437
- },
438
- {
439
- methods: ["fixed"],
440
- pairs: {
441
- "3": [1, 4],
442
- "4": [1, 2]
443
- }
444
- },
445
- ],
446
- ftx: [
447
- {
448
- methods: ["float"],
449
- pairs: {
450
- "1": [2, 3, 4],
451
- "2": [1, 3, 4],
452
- "3": [1, 2, 4],
453
- "4": [1, 2, 3]
454
- }
455
- },
456
- ]
457
- }
458
- };
459
- var resp = {
460
- data: data,
461
- status: 200,
462
- statusText: "",
463
- headers: {},
464
- config: {}
465
- };
466
- beforeAll(function () {
467
- // set SWAP_API_BASE
468
- (0, env_1.setEnv)("SWAP_API_BASE", "https://swap.ledger.com/v4");
469
- });
470
- beforeEach(function () {
471
- mockedAxios.mockResolvedValue(Promise.resolve(resp));
472
- });
473
- afterEach(function () {
474
- mockedAxios.mockClear();
475
- });
476
- test("should be called with whitelist", function () { return __awaiter(void 0, void 0, void 0, function () {
477
- return __generator(this, function (_a) {
478
- switch (_a.label) {
479
- case 0: return [4 /*yield*/, (0, getProviders_1["default"])()];
480
- case 1:
481
- _a.sent();
482
- expect(mockedAxios).toBeCalledWith(expect.objectContaining({
483
- params: expect.objectContaining({
484
- whitelist: expect.any(Array)
485
- })
486
- }));
487
- return [2 /*return*/];
488
- }
489
- });
490
- }); });
491
- test("should throw error if no providers", function () { return __awaiter(void 0, void 0, void 0, function () {
492
- var emptyResp;
493
- return __generator(this, function (_a) {
494
- switch (_a.label) {
495
- case 0:
496
- emptyResp = __assign(__assign({}, resp), { data: __assign(__assign({}, data), { providers: {} }) });
497
- mockedAxios.mockResolvedValue(Promise.resolve(emptyResp));
498
- return [4 /*yield*/, expect(getProviders_1["default"]).rejects.toThrow("SwapNoAvailableProviders")];
499
- case 1:
500
- _a.sent();
501
- return [2 /*return*/];
502
- }
503
- });
504
- }); });
505
- test("should return list of providers with pairs", function () { return __awaiter(void 0, void 0, void 0, function () {
506
- var res;
507
- return __generator(this, function (_a) {
508
- switch (_a.label) {
509
- case 0: return [4 /*yield*/, (0, getProviders_1["default"])()];
510
- case 1:
511
- res = _a.sent();
512
- expect(res).toEqual(EXPECTED_RESULT_V4);
513
- return [2 /*return*/];
514
- }
515
- });
516
- }); });
517
- });
518
- });
519
- //# sourceMappingURL=getProviders.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getProviders.test.js","sourceRoot":"","sources":["../../../src/exchange/swap/getProviders.test.ts"],"names":[],"mappings":"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"}