@ledgerhq/live-common 21.26.3 → 21.30.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 (262) hide show
  1. package/lib/__tests__/currencies.js +1 -1
  2. package/lib/__tests__/families/bitcoin/wallet-btc/xpub.synced.unit.test.js +27 -26
  3. package/lib/__tests__/families/bitcoin/wallet-btc/xpub.synced.unit.test.js.map +1 -1
  4. package/lib/__tests__/families/bitcoin/wallet-btc/xpub.syncing.integration.test.js +9 -7
  5. package/lib/__tests__/families/bitcoin/wallet-btc/xpub.syncing.integration.test.js.map +1 -1
  6. package/lib/__tests__/test-helpers/bridge.js +1 -1
  7. package/lib/__tests__/test-helpers/bridge.js.map +1 -1
  8. package/lib/apps/hw.d.ts.map +1 -1
  9. package/lib/apps/hw.js +8 -3
  10. package/lib/apps/hw.js.map +1 -1
  11. package/lib/apps/support.d.ts.map +1 -1
  12. package/lib/apps/support.js +2 -1
  13. package/lib/apps/support.js.map +1 -1
  14. package/lib/bridge/jsHelpers.js +1 -1
  15. package/lib/bridge/jsHelpers.js.map +1 -1
  16. package/lib/data/icons/react/index.d.ts +1 -0
  17. package/lib/data/icons/react/index.d.ts.map +1 -1
  18. package/lib/data/icons/react/index.js +4 -2
  19. package/lib/data/icons/react/index.js.map +1 -1
  20. package/lib/data/icons/react/sol.js +3 -3
  21. package/lib/data/icons/react/sol.js.map +1 -1
  22. package/lib/data/icons/react/tyc.d.ts +8 -0
  23. package/lib/data/icons/react/tyc.d.ts.map +1 -0
  24. package/lib/data/icons/react/tyc.js +33 -0
  25. package/lib/data/icons/react/tyc.js.map +1 -0
  26. package/lib/data/icons/reactNative/index.d.ts +1 -0
  27. package/lib/data/icons/reactNative/index.d.ts.map +1 -1
  28. package/lib/data/icons/reactNative/index.js +4 -2
  29. package/lib/data/icons/reactNative/index.js.map +1 -1
  30. package/lib/data/icons/reactNative/sol.js +3 -3
  31. package/lib/data/icons/reactNative/sol.js.map +1 -1
  32. package/lib/data/icons/reactNative/tyc.d.ts +8 -0
  33. package/lib/data/icons/reactNative/tyc.d.ts.map +1 -0
  34. package/lib/data/icons/reactNative/tyc.js +34 -0
  35. package/lib/data/icons/reactNative/tyc.js.map +1 -0
  36. package/lib/env.d.ts +20 -6
  37. package/lib/env.d.ts.map +1 -1
  38. package/lib/env.js +16 -2
  39. package/lib/env.js.map +1 -1
  40. package/lib/env.react.d.ts +1 -1
  41. package/lib/env.react.d.ts.map +1 -1
  42. package/lib/exchange/hw-app-exchange/Exchange.d.ts +12 -15
  43. package/lib/exchange/hw-app-exchange/Exchange.d.ts.map +1 -1
  44. package/lib/exchange/hw-app-exchange/Exchange.js +4 -13
  45. package/lib/exchange/hw-app-exchange/Exchange.js.map +1 -1
  46. package/lib/exchange/index.d.ts.map +1 -1
  47. package/lib/exchange/index.js +9 -2
  48. package/lib/exchange/index.js.map +1 -1
  49. package/lib/exchange/platform/completeExchange.d.ts +6 -0
  50. package/lib/exchange/platform/completeExchange.d.ts.map +1 -0
  51. package/lib/exchange/platform/completeExchange.js +24 -0
  52. package/lib/exchange/platform/completeExchange.js.map +1 -0
  53. package/lib/exchange/platform/serialization.d.ts +4 -0
  54. package/lib/exchange/platform/serialization.d.ts.map +1 -0
  55. package/lib/exchange/platform/serialization.js +57 -0
  56. package/lib/exchange/platform/serialization.js.map +1 -0
  57. package/lib/exchange/{swap → platform}/startExchange.d.ts +0 -0
  58. package/lib/exchange/platform/startExchange.d.ts.map +1 -0
  59. package/lib/exchange/{swap → platform}/startExchange.js +3 -3
  60. package/lib/exchange/platform/startExchange.js.map +1 -0
  61. package/lib/exchange/platform/transfer/completeExchange.d.ts +5 -0
  62. package/lib/exchange/platform/transfer/completeExchange.d.ts.map +1 -0
  63. package/lib/exchange/platform/transfer/completeExchange.js +198 -0
  64. package/lib/exchange/platform/transfer/completeExchange.js.map +1 -0
  65. package/lib/exchange/platform/transfer/index.d.ts +5 -0
  66. package/lib/exchange/platform/transfer/index.d.ts.map +1 -0
  67. package/lib/exchange/platform/transfer/index.js +49 -0
  68. package/lib/exchange/platform/transfer/index.js.map +1 -0
  69. package/lib/exchange/platform/types.d.ts +59 -0
  70. package/lib/exchange/platform/types.d.ts.map +1 -0
  71. package/lib/exchange/platform/types.js +3 -0
  72. package/lib/exchange/platform/types.js.map +1 -0
  73. package/lib/exchange/sell/checkSignatureAndPrepare.js +1 -2
  74. package/lib/exchange/sell/checkSignatureAndPrepare.js.map +1 -1
  75. package/lib/exchange/sell/getTransactionId.js +1 -2
  76. package/lib/exchange/sell/getTransactionId.js.map +1 -1
  77. package/lib/exchange/sell/index.d.ts +6 -0
  78. package/lib/exchange/sell/index.d.ts.map +1 -1
  79. package/lib/exchange/sell/index.js +3 -3
  80. package/lib/exchange/sell/index.js.map +1 -1
  81. package/lib/exchange/swap/completeExchange.d.ts +2 -13
  82. package/lib/exchange/swap/completeExchange.d.ts.map +1 -1
  83. package/lib/exchange/swap/completeExchange.js +2 -4
  84. package/lib/exchange/swap/completeExchange.js.map +1 -1
  85. package/lib/exchange/swap/hooks/usePickDefaultAccount.d.ts.map +1 -1
  86. package/lib/exchange/swap/hooks/usePickDefaultAccount.js +4 -9
  87. package/lib/exchange/swap/hooks/usePickDefaultAccount.js.map +1 -1
  88. package/lib/exchange/swap/initSwap.d.ts.map +1 -1
  89. package/lib/exchange/swap/initSwap.js +3 -4
  90. package/lib/exchange/swap/initSwap.js.map +1 -1
  91. package/lib/exchange/swap/types.d.ts +0 -12
  92. package/lib/exchange/swap/types.d.ts.map +1 -1
  93. package/lib/exchange/swap/utils/index.d.ts +6 -1
  94. package/lib/exchange/swap/utils/index.d.ts.map +1 -1
  95. package/lib/exchange/swap/utils/index.js +8 -1
  96. package/lib/exchange/swap/utils/index.js.map +1 -1
  97. package/lib/exchange/swap/utils/index.test.js +27 -0
  98. package/lib/exchange/swap/utils/index.test.js.map +1 -1
  99. package/lib/exchange/testCurrencyConfig/data/coins.d.ts +8 -0
  100. package/lib/exchange/testCurrencyConfig/data/coins.d.ts.map +1 -0
  101. package/lib/exchange/testCurrencyConfig/data/coins.js +21 -0
  102. package/lib/exchange/testCurrencyConfig/data/coins.js.map +1 -0
  103. package/lib/exchange/testCurrencyConfig/index.d.ts +8 -0
  104. package/lib/exchange/testCurrencyConfig/index.d.ts.map +1 -0
  105. package/lib/exchange/testCurrencyConfig/index.js +68 -0
  106. package/lib/exchange/testCurrencyConfig/index.js.map +1 -0
  107. package/lib/families/algorand/api/algodv2.d.ts +2 -1
  108. package/lib/families/algorand/api/algodv2.d.ts.map +1 -1
  109. package/lib/families/algorand/api/algodv2.js +2 -2
  110. package/lib/families/algorand/api/algodv2.js.map +1 -1
  111. package/lib/families/algorand/js-broadcast.js +1 -1
  112. package/lib/families/algorand/js-broadcast.js.map +1 -1
  113. package/lib/families/algorand/js-signOperation.d.ts.map +1 -1
  114. package/lib/families/algorand/js-signOperation.js +1 -1
  115. package/lib/families/algorand/js-signOperation.js.map +1 -1
  116. package/lib/families/bitcoin/wallet-btc/wallet.d.ts.map +1 -1
  117. package/lib/families/bitcoin/wallet-btc/wallet.js +8 -2
  118. package/lib/families/bitcoin/wallet-btc/wallet.js.map +1 -1
  119. package/lib/families/ethereum/datasets/ethereum.scanAccounts.1.js +1 -1
  120. package/lib/families/ethereum/datasets/ethereum.scanAccounts.1.js.map +1 -1
  121. package/lib/families/ethereum/nft.integration.test.js +1 -36
  122. package/lib/families/ethereum/nft.integration.test.js.map +1 -1
  123. package/lib/families/ethereum/specs.d.ts.map +1 -1
  124. package/lib/families/ethereum/specs.js +2 -0
  125. package/lib/families/ethereum/specs.js.map +1 -1
  126. package/lib/families/ethereum/synchronisation.d.ts.map +1 -1
  127. package/lib/families/ethereum/synchronisation.js +2 -7
  128. package/lib/families/ethereum/synchronisation.js.map +1 -1
  129. package/lib/families/solana/api/chain/index.d.ts +2 -2
  130. package/lib/families/solana/api/chain/index.d.ts.map +1 -1
  131. package/lib/families/solana/api/chain/index.js +4 -4
  132. package/lib/families/solana/api/chain/index.js.map +1 -1
  133. package/lib/families/solana/bridge/bridge.js +5 -5
  134. package/lib/families/solana/bridge/bridge.js.map +1 -1
  135. package/lib/families/solana/bridge/js.js +3 -3
  136. package/lib/families/solana/bridge/js.js.map +1 -1
  137. package/lib/families/solana/bridge/mock.js +1 -1
  138. package/lib/families/solana/bridge/mock.js.map +1 -1
  139. package/lib/families/solana/utils.d.ts +1 -2
  140. package/lib/families/solana/utils.d.ts.map +1 -1
  141. package/lib/families/solana/utils.js +11 -9
  142. package/lib/families/solana/utils.js.map +1 -1
  143. package/lib/families/tezos/datasets/tezos.scanAccounts.1.js +1 -1
  144. package/lib/families/tezos/datasets/tezos.scanAccounts.1.js.map +1 -1
  145. package/lib/hw/actions/app.d.ts +3 -0
  146. package/lib/hw/actions/app.d.ts.map +1 -1
  147. package/lib/hw/actions/app.js +7 -1
  148. package/lib/hw/actions/app.js.map +1 -1
  149. package/lib/hw/actions/completeExchange.d.ts +1 -0
  150. package/lib/hw/actions/completeExchange.d.ts.map +1 -1
  151. package/lib/hw/actions/completeExchange.js +4 -3
  152. package/lib/hw/actions/completeExchange.js.map +1 -1
  153. package/lib/hw/connectApp.d.ts +5 -0
  154. package/lib/hw/connectApp.d.ts.map +1 -1
  155. package/lib/hw/connectApp.js +37 -26
  156. package/lib/hw/connectApp.js.map +1 -1
  157. package/lib/market/MarketDataProvider.d.ts +26 -0
  158. package/lib/market/MarketDataProvider.d.ts.map +1 -0
  159. package/lib/market/MarketDataProvider.js +339 -0
  160. package/lib/market/MarketDataProvider.js.map +1 -0
  161. package/lib/market/api/api.d.ts +15 -0
  162. package/lib/market/api/api.d.ts.map +1 -0
  163. package/lib/market/api/api.js +261 -0
  164. package/lib/market/api/api.js.map +1 -0
  165. package/lib/market/api/api.mock.d.ts +15 -0
  166. package/lib/market/api/api.mock.d.ts.map +1 -0
  167. package/lib/market/api/api.mock.js +454 -0
  168. package/lib/market/api/api.mock.js.map +1 -0
  169. package/lib/market/types.d.ts +83 -0
  170. package/lib/market/types.d.ts.map +1 -0
  171. package/lib/market/types.js +3 -0
  172. package/lib/market/types.js.map +1 -0
  173. package/lib/market/utils/countervalueFormatter.d.ts +8 -0
  174. package/lib/market/utils/countervalueFormatter.d.ts.map +1 -0
  175. package/lib/market/utils/countervalueFormatter.js +18 -0
  176. package/lib/market/utils/countervalueFormatter.js.map +1 -0
  177. package/lib/market/utils/rangeDataTable.d.ts +10 -0
  178. package/lib/market/utils/rangeDataTable.d.ts.map +1 -0
  179. package/lib/market/utils/rangeDataTable.js +36 -0
  180. package/lib/market/utils/rangeDataTable.js.map +1 -0
  181. package/lib/nft/support.d.ts.map +1 -1
  182. package/lib/nft/support.js +1 -1
  183. package/lib/nft/support.js.map +1 -1
  184. package/lib/platform/PlatformAppProvider/api/api.mock.d.ts.map +1 -1
  185. package/lib/platform/PlatformAppProvider/api/api.mock.js +27 -0
  186. package/lib/platform/PlatformAppProvider/api/api.mock.js.map +1 -1
  187. package/lib/types/manager.d.ts +7 -0
  188. package/lib/types/manager.d.ts.map +1 -1
  189. package/lib/types/manager.js +7 -0
  190. package/lib/types/manager.js.map +1 -1
  191. package/package.json +17 -17
  192. package/src/.DS_Store +0 -0
  193. package/src/__tests__/__snapshots__/all.libcore.ts.snap +221 -212
  194. package/src/__tests__/currencies.ts +1 -1
  195. package/src/__tests__/families/bitcoin/wallet-btc/xpub.synced.unit.test.ts +26 -25
  196. package/src/__tests__/families/bitcoin/wallet-btc/xpub.syncing.integration.test.ts +2 -0
  197. package/src/__tests__/test-helpers/bridge.ts +1 -1
  198. package/src/apps/hw.ts +7 -0
  199. package/src/apps/support.ts +1 -0
  200. package/src/bridge/jsHelpers.ts +1 -1
  201. package/src/data/flags/.DS_Store +0 -0
  202. package/src/data/icons/react/index.tsx +1 -0
  203. package/src/data/icons/react/sol.tsx +1 -1
  204. package/src/data/icons/react/tyc.tsx +12 -0
  205. package/src/data/icons/reactNative/index.tsx +1 -0
  206. package/src/data/icons/reactNative/sol.tsx +1 -1
  207. package/src/data/icons/reactNative/tyc.tsx +13 -0
  208. package/src/data/icons/svg/SOL.svg +8 -1
  209. package/src/data/icons/svg/TYC.svg +6 -0
  210. package/src/env.ts +16 -2
  211. package/src/exchange/hw-app-exchange/Exchange.ts +22 -18
  212. package/src/exchange/index.ts +19 -1
  213. package/src/exchange/platform/completeExchange.ts +42 -0
  214. package/src/exchange/platform/serialization.ts +78 -0
  215. package/src/exchange/{swap → platform}/startExchange.ts +6 -2
  216. package/src/exchange/platform/transfer/completeExchange.ts +187 -0
  217. package/src/exchange/platform/transfer/index.ts +66 -0
  218. package/src/exchange/platform/types.ts +76 -0
  219. package/src/exchange/sell/checkSignatureAndPrepare.ts +2 -2
  220. package/src/exchange/sell/getTransactionId.ts +2 -2
  221. package/src/exchange/sell/index.ts +1 -1
  222. package/src/exchange/swap/completeExchange.ts +41 -50
  223. package/src/exchange/swap/hooks/usePickDefaultAccount.ts +4 -9
  224. package/src/exchange/swap/initSwap.ts +4 -7
  225. package/src/exchange/swap/types.ts +1 -14
  226. package/src/exchange/swap/utils/index.test.ts +44 -1
  227. package/src/exchange/swap/utils/index.ts +12 -1
  228. package/src/exchange/testCurrencyConfig/data/coins.ts +20 -0
  229. package/src/exchange/testCurrencyConfig/index.ts +24 -0
  230. package/src/families/algorand/api/algodv2.ts +2 -2
  231. package/src/families/algorand/js-broadcast.ts +1 -1
  232. package/src/families/algorand/js-signOperation.ts +8 -3
  233. package/src/families/bitcoin/wallet-btc/wallet.ts +6 -2
  234. package/src/families/ethereum/datasets/ethereum.scanAccounts.1.ts +43 -43
  235. package/src/families/ethereum/nft.integration.test.ts +1 -18
  236. package/src/families/ethereum/specs.ts +2 -0
  237. package/src/families/ethereum/synchronisation.ts +1 -6
  238. package/src/families/solana/api/chain/index.ts +8 -7
  239. package/src/families/solana/bridge/bridge.ts +11 -11
  240. package/src/families/solana/bridge/js.ts +3 -3
  241. package/src/families/solana/bridge/mock.ts +1 -1
  242. package/src/families/solana/utils.ts +9 -8
  243. package/src/families/tezos/datasets/tezos.scanAccounts.1.ts +39 -39
  244. package/src/hw/actions/app.ts +17 -1
  245. package/src/hw/actions/completeExchange.ts +9 -3
  246. package/src/hw/connectApp.ts +53 -31
  247. package/src/market/MarketDataProvider.tsx +440 -0
  248. package/src/market/api/api.mock.ts +374 -0
  249. package/src/market/api/api.ts +227 -0
  250. package/src/market/types.ts +92 -0
  251. package/src/market/utils/countervalueFormatter.ts +24 -0
  252. package/src/market/utils/rangeDataTable.ts +40 -0
  253. package/src/nft/support.ts +1 -3
  254. package/src/platform/PlatformAppProvider/api/api.mock.ts +27 -0
  255. package/src/types/manager.ts +7 -0
  256. package/lib/exchange/swap/startExchange.d.ts.map +0 -1
  257. package/lib/exchange/swap/startExchange.js.map +0 -1
  258. package/lib/families/ethereum/versions.d.ts +0 -2
  259. package/lib/families/ethereum/versions.d.ts.map +0 -1
  260. package/lib/families/ethereum/versions.js +0 -5
  261. package/lib/families/ethereum/versions.js.map +0 -1
  262. package/src/families/ethereum/versions.ts +0 -1
@@ -0,0 +1,339 @@
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 __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
16
+ }) : (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ o[k2] = m[k];
19
+ }));
20
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
22
+ }) : function(o, v) {
23
+ o["default"] = v;
24
+ });
25
+ var __importStar = (this && this.__importStar) || function (mod) {
26
+ if (mod && mod.__esModule) return mod;
27
+ var result = {};
28
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
29
+ __setModuleDefault(result, mod);
30
+ return result;
31
+ };
32
+ var __rest = (this && this.__rest) || function (s, e) {
33
+ var t = {};
34
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
35
+ t[p] = s[p];
36
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
37
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
38
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
39
+ t[p[i]] = s[p[i]];
40
+ }
41
+ return t;
42
+ };
43
+ var __read = (this && this.__read) || function (o, n) {
44
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
45
+ if (!m) return o;
46
+ var i = m.call(o), r, ar = [], e;
47
+ try {
48
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
49
+ }
50
+ catch (error) { e = { error: error }; }
51
+ finally {
52
+ try {
53
+ if (r && !r.done && (m = i["return"])) m.call(i);
54
+ }
55
+ finally { if (e) throw e.error; }
56
+ }
57
+ return ar;
58
+ };
59
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
60
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
61
+ if (ar || !(i in from)) {
62
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
63
+ ar[i] = from[i];
64
+ }
65
+ }
66
+ return to.concat(ar || Array.prototype.slice.call(from));
67
+ };
68
+ var __importDefault = (this && this.__importDefault) || function (mod) {
69
+ return (mod && mod.__esModule) ? mod : { "default": mod };
70
+ };
71
+ exports.__esModule = true;
72
+ exports.useSingleCoinMarketData = exports.useMarketData = exports.MarketDataProvider = void 0;
73
+ /* eslint-disable @typescript-eslint/no-empty-function */
74
+ // @flow
75
+ var react_1 = __importStar(require("react"));
76
+ var useDebounce_1 = require("../hooks/useDebounce");
77
+ var api_1 = __importDefault(require("./api/api"));
78
+ var initialState = {
79
+ ready: false,
80
+ marketData: [],
81
+ selectedCurrency: undefined,
82
+ requestParams: {
83
+ range: "24h",
84
+ limit: 50,
85
+ ids: [],
86
+ starred: [],
87
+ orderBy: "market_cap",
88
+ order: "desc",
89
+ search: "",
90
+ liveCompatible: false
91
+ },
92
+ page: 1,
93
+ chartRequestParams: {
94
+ range: "24h"
95
+ },
96
+ loading: false,
97
+ loadingChart: false,
98
+ endOfList: false,
99
+ error: undefined,
100
+ totalCoinsAvailable: 0,
101
+ supportedCounterCurrencies: [],
102
+ selectedCoinData: undefined,
103
+ counterCurrency: undefined
104
+ };
105
+ var MarketDataContext = (0, react_1.createContext)(__assign(__assign({}, initialState), { refresh: function () { }, refreshChart: function () { }, selectCurrency: function () { }, loadNextPage: function () { return Promise.resolve(true); }, setCounterCurrency: function () { } }));
106
+ var ACTIONS = {
107
+ IS_READY: "IS_READY",
108
+ UPDATE_MARKET_DATA: "UPDATE_MARKET_DATA",
109
+ UPDATE_SINGLE_MARKET_DATA: "UPDATE_SINGLE_MARKET_DATA",
110
+ UPDATE_SINGLE_CHART_DATA: "UPDATE_SINGLE_CHART_DATA",
111
+ REFRESH_MARKET_DATA: "REFRESH_MARKET_DATA",
112
+ REFRESH_CHART_DATA: "REFRESH_CHART_DATA",
113
+ SET_LOADING: "SET_LOADING",
114
+ SET_LOADING_CHART: "SET_LOADING_CHART",
115
+ SET_ERROR: "SET_ERROR",
116
+ SELECT_CURRENCY: "SELECT_CURRENCY",
117
+ UPDATE_COUNTERVALUE: "UPDATE_COUNTERVALUE"
118
+ };
119
+ function marketDataReducer(state, action) {
120
+ switch (action.type) {
121
+ case ACTIONS.IS_READY:
122
+ return __assign(__assign(__assign({}, state), action.payload), { isReady: true });
123
+ case ACTIONS.UPDATE_MARKET_DATA: {
124
+ var newData_1 = action.payload.marketData;
125
+ var page = action.payload.page || state.requestParams.page;
126
+ var marketData = __spreadArray([], __read(state.marketData.map(function (data) { return (__assign({}, data)); })), false);
127
+ if (!newData_1.length || marketData.some(function (_a) {
128
+ var id = _a.id;
129
+ return id === newData_1[0].id;
130
+ }))
131
+ return __assign(__assign({}, state), { loading: false });
132
+ return __assign(__assign({}, state), { marketData: marketData.concat(newData_1), endOfList: newData_1.length < state.requestParams.limit, loading: false, page: page });
133
+ }
134
+ case ACTIONS.UPDATE_SINGLE_MARKET_DATA: {
135
+ var marketData = __spreadArray([], __read(state.marketData.map(function (data) { return (__assign({}, data)); })), false);
136
+ var index = marketData.findIndex(function (_a) {
137
+ var id = _a.id;
138
+ return id === action.payload.id;
139
+ });
140
+ if (index >= 0) {
141
+ marketData[index] = __assign(__assign({}, marketData[index]), action.payload);
142
+ }
143
+ return __assign(__assign({}, state), { marketData: marketData, loading: false });
144
+ }
145
+ case ACTIONS.UPDATE_SINGLE_CHART_DATA: {
146
+ var marketData = __spreadArray([], __read(state.marketData.map(function (data) { return (__assign({}, data)); })), false);
147
+ var index = marketData.findIndex(function (_a) {
148
+ var id = _a.id;
149
+ return id === action.payload.id;
150
+ });
151
+ if (index >= 0) {
152
+ marketData[index].chartData = __assign(__assign({}, marketData[index].chartData), action.payload.chartData);
153
+ }
154
+ return __assign(__assign({}, state), { marketData: marketData, loading: false });
155
+ }
156
+ case ACTIONS.REFRESH_MARKET_DATA: {
157
+ var requestParams = __assign(__assign(__assign({}, state.requestParams), action.payload), { lastRequestTime: Date.now() });
158
+ return __assign(__assign({}, state), { marketData: [], requestParams: requestParams, loading: true, page: 1 });
159
+ }
160
+ case ACTIONS.REFRESH_CHART_DATA: {
161
+ var chartRequestParams = __assign(__assign(__assign({}, state.chartRequestParams), action.payload), { loadingChart: true, lastRequestTime: Date.now() });
162
+ return __assign(__assign({}, state), { chartRequestParams: chartRequestParams });
163
+ }
164
+ case ACTIONS.UPDATE_COUNTERVALUE: {
165
+ var requestParams = __assign(__assign({}, state.requestParams), { lastRequestTime: Date.now(), page: 1, counterCurrency: action.payload });
166
+ var chartRequestParams = __assign(__assign({}, state.chartRequestParams), { lastRequestTime: Date.now(), counterCurrency: action.payload });
167
+ return __assign(__assign({}, state), { counterCurrency: action.payload, marketData: [], requestParams: requestParams, chartRequestParams: chartRequestParams, loading: true });
168
+ }
169
+ case ACTIONS.SET_LOADING:
170
+ return __assign(__assign({}, state), { loading: action.payload });
171
+ case ACTIONS.SET_LOADING_CHART:
172
+ return __assign(__assign({}, state), { loadingChart: action.payload });
173
+ case ACTIONS.SET_ERROR:
174
+ return __assign(__assign({}, state), { error: action.payload, loading: false });
175
+ case ACTIONS.SELECT_CURRENCY:
176
+ return __assign(__assign({}, state), { selectedCurrency: action.payload, loading: !!action.payload });
177
+ default:
178
+ return state;
179
+ }
180
+ }
181
+ var MarketDataProvider = function (_a) {
182
+ var children = _a.children, fetchApi = _a.fetchApi, countervalue = _a.countervalue, _b = _a.initState, initState = _b === void 0 ? {} : _b;
183
+ var _c = __read((0, react_1.useReducer)(marketDataReducer, __assign(__assign({}, initialState), initState)), 2), state = _c[0], dispatch = _c[1];
184
+ var api = fetchApi || api_1["default"];
185
+ var _d = (0, useDebounce_1.useDebounce)(state, 300), marketData = _d.marketData, requestParams = _d.requestParams, chartRequestParams = _d.chartRequestParams, loading = _d.loading, loadingChart = _d.loadingChart, page = _d.page;
186
+ var handleError = (0, react_1.useCallback)(function (payload) {
187
+ dispatch({ type: ACTIONS.SET_ERROR, payload: payload });
188
+ }, []);
189
+ (0, react_1.useEffect)(function () {
190
+ if (countervalue)
191
+ api.supportedCounterCurrencies().then(function (supportedCounterCurrencies) {
192
+ return api.setSupportedCoinsList().then(function (coins) {
193
+ dispatch({
194
+ type: ACTIONS.IS_READY,
195
+ payload: {
196
+ totalCoinsAvailable: coins.length,
197
+ supportedCounterCurrencies: supportedCounterCurrencies
198
+ }
199
+ });
200
+ dispatch({
201
+ type: ACTIONS.UPDATE_COUNTERVALUE,
202
+ payload: supportedCounterCurrencies.includes(countervalue.ticker)
203
+ ? countervalue.ticker
204
+ : "usd"
205
+ });
206
+ }, handleError);
207
+ }, handleError);
208
+ }, [api, countervalue, handleError]);
209
+ (0, react_1.useEffect)(function () {
210
+ var _a;
211
+ if ((chartRequestParams === null || chartRequestParams === void 0 ? void 0 : chartRequestParams.id) &&
212
+ (chartRequestParams === null || chartRequestParams === void 0 ? void 0 : chartRequestParams.counterCurrency) &&
213
+ !loadingChart) {
214
+ var currentMarketData = marketData.find(function (_a) {
215
+ var id = _a.id;
216
+ return id === chartRequestParams.id;
217
+ });
218
+ var range = chartRequestParams.range;
219
+ if (currentMarketData && !((_a = currentMarketData === null || currentMarketData === void 0 ? void 0 : currentMarketData.chartData) === null || _a === void 0 ? void 0 : _a[range])) {
220
+ api.currencyChartData(chartRequestParams).then(function (chartData) {
221
+ return dispatch({
222
+ type: ACTIONS.UPDATE_SINGLE_CHART_DATA,
223
+ payload: { id: chartRequestParams.id, chartData: chartData }
224
+ });
225
+ }, handleError);
226
+ }
227
+ else
228
+ dispatch({
229
+ type: ACTIONS.SET_LOADING_CHART,
230
+ payload: false
231
+ });
232
+ }
233
+ }, [chartRequestParams, marketData, loadingChart, api, handleError]);
234
+ (0, react_1.useEffect)(function () {
235
+ if ((chartRequestParams === null || chartRequestParams === void 0 ? void 0 : chartRequestParams.id) &&
236
+ (chartRequestParams === null || chartRequestParams === void 0 ? void 0 : chartRequestParams.counterCurrency) &&
237
+ !loading) {
238
+ dispatch({ type: ACTIONS.SET_LOADING, payload: true });
239
+ api
240
+ .listPaginated(__assign(__assign({}, chartRequestParams), { search: "", starred: [], liveCompatible: false, ids: [chartRequestParams.id], limit: 1, page: 1 }))
241
+ .then(function (_a) {
242
+ var _b = _a, _c = __read(_b, 1), _d = _c[0], _ = _d.chartData, marketData = __rest(_d, ["chartData"]);
243
+ return dispatch({
244
+ type: ACTIONS.UPDATE_SINGLE_MARKET_DATA,
245
+ payload: marketData
246
+ });
247
+ }, handleError);
248
+ }
249
+ }, [api, chartRequestParams, handleError, loading]);
250
+ (0, react_1.useEffect)(function () {
251
+ if (requestParams === null || requestParams === void 0 ? void 0 : requestParams.counterCurrency) {
252
+ api.listPaginated(requestParams).then(function (marketData) {
253
+ return dispatch({
254
+ type: ACTIONS.UPDATE_MARKET_DATA,
255
+ payload: { marketData: marketData }
256
+ });
257
+ }, handleError);
258
+ }
259
+ }, [api, handleError, requestParams]);
260
+ var refresh = (0, react_1.useCallback)(function (payload) {
261
+ if (payload === void 0) { payload = {}; }
262
+ dispatch({ type: ACTIONS.REFRESH_MARKET_DATA, payload: payload });
263
+ }, []);
264
+ var refreshChart = (0, react_1.useCallback)(function (payload) {
265
+ if (payload === void 0) { payload = {}; }
266
+ dispatch({ type: ACTIONS.REFRESH_CHART_DATA, payload: payload });
267
+ }, []);
268
+ var selectCurrency = (0, react_1.useCallback)(function (id) {
269
+ dispatch({
270
+ type: ACTIONS.REFRESH_CHART_DATA,
271
+ payload: {
272
+ id: id
273
+ }
274
+ });
275
+ }, []);
276
+ var loadNextPage = (0, react_1.useCallback)(function () {
277
+ return new Promise(function (resolve, reject) {
278
+ if (loading) {
279
+ reject(new Error());
280
+ }
281
+ else {
282
+ var newPage_1 = page + 1;
283
+ api.listPaginated(__assign(__assign({}, requestParams), { page: newPage_1 })).then(function (marketData) {
284
+ dispatch({
285
+ type: ACTIONS.UPDATE_MARKET_DATA,
286
+ payload: { marketData: marketData, page: newPage_1 }
287
+ });
288
+ resolve(true);
289
+ }, function (err) {
290
+ handleError(err);
291
+ reject(new Error(err));
292
+ });
293
+ }
294
+ });
295
+ }, [loading, page, api, requestParams, handleError]);
296
+ var setCounterCurrency = (0, react_1.useCallback)(function (payload) { return dispatch({ type: ACTIONS.UPDATE_COUNTERVALUE, payload: payload }); }, [dispatch]);
297
+ var value = __assign(__assign({}, state), { refresh: refresh, refreshChart: refreshChart, selectCurrency: selectCurrency, loadNextPage: loadNextPage, setCounterCurrency: setCounterCurrency });
298
+ return (react_1["default"].createElement(MarketDataContext.Provider, { value: value }, children));
299
+ };
300
+ exports.MarketDataProvider = MarketDataProvider;
301
+ function useMarketData() {
302
+ return (0, react_1.useContext)(MarketDataContext);
303
+ }
304
+ exports.useMarketData = useMarketData;
305
+ function useSingleCoinMarketData(currencyId) {
306
+ var _a = (0, react_1.useContext)(MarketDataContext), marketData = _a.marketData, selectedCurrency = _a.selectedCurrency, chartRequestParams = _a.chartRequestParams, loading = _a.loading, loadingChart = _a.loadingChart, error = _a.error, counterCurrency = _a.counterCurrency, refreshChart = _a.refreshChart, setCounterCurrency = _a.setCounterCurrency, supportedCounterCurrencies = _a.supportedCounterCurrencies;
307
+ var _b = __read((0, react_1.useState)({
308
+ selectedCoinData: undefined,
309
+ selectedCurrency: selectedCurrency,
310
+ chartRequestParams: chartRequestParams,
311
+ loading: loading,
312
+ loadingChart: loadingChart,
313
+ error: error,
314
+ counterCurrency: counterCurrency,
315
+ refreshChart: refreshChart,
316
+ setCounterCurrency: setCounterCurrency,
317
+ supportedCounterCurrencies: supportedCounterCurrencies
318
+ }), 2), state = _b[0], setState = _b[1];
319
+ (0, react_1.useEffect)(function () {
320
+ if (marketData)
321
+ setState(function (s) { return (__assign(__assign({}, s), { selectedCoinData: marketData.find(function (_a) {
322
+ var id = _a.id;
323
+ return id === currencyId;
324
+ }) || s.selectedCoinData, selectedCurrency: selectedCurrency, chartRequestParams: chartRequestParams, loading: loading, loadingChart: loadingChart, error: error, counterCurrency: counterCurrency, supportedCounterCurrencies: supportedCounterCurrencies })); });
325
+ }, [
326
+ marketData,
327
+ currencyId,
328
+ selectedCurrency,
329
+ chartRequestParams,
330
+ loading,
331
+ loadingChart,
332
+ error,
333
+ counterCurrency,
334
+ supportedCounterCurrencies,
335
+ ]);
336
+ return state;
337
+ }
338
+ exports.useSingleCoinMarketData = useSingleCoinMarketData;
339
+ //# sourceMappingURL=MarketDataProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MarketDataProvider.js","sourceRoot":"","sources":["../../src/market/MarketDataProvider.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { MarketListRequestParams, MarketCurrencyChartDataRequestParams, CurrencyData, SupportedCoins } from "../types";
2
+ declare function setSupportedCoinsList(): Promise<SupportedCoins>;
3
+ declare function listPaginated({ counterCurrency, range, limit, page, ids: _ids, starred, orderBy, order, search, sparkline, liveCompatible, }: MarketListRequestParams): Promise<CurrencyData[]>;
4
+ declare function supportedCounterCurrencies(): Promise<string[]>;
5
+ declare function currencyChartData({ id, counterCurrency, range, }: MarketCurrencyChartDataRequestParams): Promise<{
6
+ [range: string]: number[];
7
+ }>;
8
+ declare const _default: {
9
+ setSupportedCoinsList: typeof setSupportedCoinsList;
10
+ listPaginated: typeof listPaginated;
11
+ supportedCounterCurrencies: typeof supportedCounterCurrencies;
12
+ currencyChartData: typeof currencyChartData;
13
+ };
14
+ export default _default;
15
+ //# sourceMappingURL=api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/market/api/api.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,oCAAoC,EACpC,YAAY,EACZ,cAAc,EAGf,MAAM,UAAU,CAAC;AAyBlB,iBAAe,qBAAqB,IAAI,OAAO,CAAC,cAAc,CAAC,CAW9D;AA8CD,iBAAe,aAAa,CAAC,EAC3B,eAAe,EACf,KAAa,EACb,KAAU,EACV,IAAQ,EACR,GAAG,EAAE,IAAS,EACd,OAAY,EACZ,OAAsB,EACtB,KAAc,EACd,MAAW,EACX,SAAgB,EAChB,cAAsB,GACvB,EAAE,uBAAuB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAuFnD;AAGD,iBAAe,0BAA0B,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAS7D;AAGD,iBAAe,iBAAiB,CAAC,EAC/B,EAAE,EACF,eAAe,EACf,KAAa,GACd,EAAE,oCAAoC,GAAG,OAAO,CAAC;IAChD,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC3B,CAAC,CAUD;;;;;;;AAED,wBAKE"}
@@ -0,0 +1,261 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ 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;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __read = (this && this.__read) || function (o, n) {
39
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
40
+ if (!m) return o;
41
+ var i = m.call(o), r, ar = [], e;
42
+ try {
43
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
44
+ }
45
+ catch (error) { e = { error: error }; }
46
+ finally {
47
+ try {
48
+ if (r && !r.done && (m = i["return"])) m.call(i);
49
+ }
50
+ finally { if (e) throw e.error; }
51
+ }
52
+ return ar;
53
+ };
54
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
55
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
56
+ if (ar || !(i in from)) {
57
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
58
+ ar[i] = from[i];
59
+ }
60
+ }
61
+ return to.concat(ar || Array.prototype.slice.call(from));
62
+ };
63
+ var __importDefault = (this && this.__importDefault) || function (mod) {
64
+ return (mod && mod.__esModule) ? mod : { "default": mod };
65
+ };
66
+ exports.__esModule = true;
67
+ var currencies_1 = require("../../currencies");
68
+ var rangeDataTable_1 = require("../utils/rangeDataTable");
69
+ var env_1 = require("../../env");
70
+ var network_1 = __importDefault(require("../../network"));
71
+ var cryptoCurrenciesList = __spreadArray(__spreadArray([], __read((0, currencies_1.listCryptoCurrencies)()), false), __read((0, currencies_1.listTokens)()), false);
72
+ var supportedCurrencies = (0, currencies_1.listSupportedCurrencies)();
73
+ var liveCompatibleIds = supportedCurrencies
74
+ .map(function (_a) {
75
+ var id = _a.id;
76
+ return id;
77
+ })
78
+ .filter(Boolean);
79
+ var LIVE_COINS_LIST = [];
80
+ var ROOT_PATH = (0, env_1.getEnv)("MARKET_API_URL");
81
+ var SUPPORTED_COINS_LIST = [];
82
+ function setSupportedCoinsList() {
83
+ return __awaiter(this, void 0, void 0, function () {
84
+ var url, data;
85
+ return __generator(this, function (_a) {
86
+ switch (_a.label) {
87
+ case 0:
88
+ url = "".concat(ROOT_PATH, "/coins/list");
89
+ return [4 /*yield*/, (0, network_1["default"])({ method: "GET", url: url })];
90
+ case 1:
91
+ data = (_a.sent()).data;
92
+ SUPPORTED_COINS_LIST = data;
93
+ LIVE_COINS_LIST = SUPPORTED_COINS_LIST.filter(function (_a) {
94
+ var id = _a.id;
95
+ return liveCompatibleIds.includes(id);
96
+ }).map(function (_a) {
97
+ var id = _a.id;
98
+ return id;
99
+ });
100
+ return [2 /*return*/, SUPPORTED_COINS_LIST];
101
+ }
102
+ });
103
+ });
104
+ }
105
+ var matchSearch = function (search) {
106
+ return function (currency) {
107
+ if (!search)
108
+ return false;
109
+ var match = "".concat(currency.symbol, "|").concat(currency.name);
110
+ return match.toLowerCase().includes(search.toLowerCase());
111
+ };
112
+ };
113
+ function distributedCopy(items, n) {
114
+ var elements = [items[0]];
115
+ var totalItems = items.length - 2;
116
+ var interval = Math.floor(totalItems / (n - 2));
117
+ for (var i = 1; i < n - 1; i++) {
118
+ elements.push(items[i * interval]);
119
+ }
120
+ elements.push(items[items.length - 1]);
121
+ return elements;
122
+ }
123
+ var sparklineXMagnitude = 5;
124
+ var sparklineYHeight = 50;
125
+ function sparklineAsSvgData(points) {
126
+ var totalXSteps = sparklineXMagnitude * points.length;
127
+ var min = Math.min.apply(Math, __spreadArray([], __read(points), false));
128
+ var max = Math.max.apply(Math, __spreadArray([], __read(points), false));
129
+ var yOffset = max - min;
130
+ return {
131
+ path: points
132
+ .map(function (d, i) {
133
+ var _a = __read([
134
+ i * sparklineXMagnitude,
135
+ sparklineYHeight + 3 - ((d - min) * sparklineYHeight) / yOffset,
136
+ ], 2), x = _a[0], y = _a[1];
137
+ return i === 0 ? "M ".concat(x, " ").concat(y) : "L ".concat(x, " ").concat(y);
138
+ })
139
+ .join(" "),
140
+ viewBox: "0 0 ".concat(totalXSteps, " ").concat(sparklineYHeight + 3)
141
+ };
142
+ }
143
+ // fetches currencies data for selected currencies ids
144
+ function listPaginated(_a) {
145
+ var counterCurrency = _a.counterCurrency, _b = _a.range, range = _b === void 0 ? "24h" : _b, _c = _a.limit, limit = _c === void 0 ? 50 : _c, _d = _a.page, page = _d === void 0 ? 1 : _d, _e = _a.ids, _ids = _e === void 0 ? [] : _e, _f = _a.starred, starred = _f === void 0 ? [] : _f, _g = _a.orderBy, orderBy = _g === void 0 ? "market_cap" : _g, _h = _a.order, order = _h === void 0 ? "desc" : _h, _j = _a.search, search = _j === void 0 ? "" : _j, _k = _a.sparkline, sparkline = _k === void 0 ? true : _k, _l = _a.liveCompatible, liveCompatible = _l === void 0 ? false : _l;
146
+ return __awaiter(this, void 0, void 0, function () {
147
+ var ids, url, data;
148
+ return __generator(this, function (_m) {
149
+ switch (_m.label) {
150
+ case 0:
151
+ ids = _ids;
152
+ if (liveCompatible) {
153
+ ids = ids.concat(LIVE_COINS_LIST);
154
+ }
155
+ if (starred.length > 0) {
156
+ ids = ids.concat(starred);
157
+ }
158
+ if (search) {
159
+ ids = SUPPORTED_COINS_LIST.filter(matchSearch(search)).map(function (_a) {
160
+ var id = _a.id;
161
+ return id;
162
+ });
163
+ if (!ids.length) {
164
+ return [2 /*return*/, []];
165
+ }
166
+ }
167
+ ids = ids.slice((page - 1) * limit, limit * page);
168
+ url = "".concat(ROOT_PATH, "/coins/markets?vs_currency=").concat(counterCurrency, "&order=").concat(orderBy, "_").concat(order, "&per_page=").concat(limit) +
169
+ "&sparkline=".concat(sparkline ? "true" : "false", "&price_change_percentage=").concat(range) +
170
+ "".concat(ids.length > 0 ? "&page=1&&ids=".concat(ids.toString()) : "&page=".concat(page));
171
+ return [4 /*yield*/, (0, network_1["default"])({
172
+ method: "GET",
173
+ url: url
174
+ })];
175
+ case 1:
176
+ data = (_m.sent()).data;
177
+ return [2 /*return*/, data.map(function (currency) {
178
+ var _a;
179
+ return ({
180
+ id: currency.id,
181
+ name: currency.name,
182
+ image: currency.image,
183
+ isLiveSupported: LIVE_COINS_LIST.includes(currency.id),
184
+ internalCurrency: cryptoCurrenciesList.find(function (_a) {
185
+ var ticker = _a.ticker;
186
+ return ticker.toLowerCase() === currency.symbol;
187
+ }),
188
+ marketcap: currency.market_cap,
189
+ marketcapRank: currency.market_cap_rank,
190
+ totalVolume: currency.total_volume,
191
+ high24h: currency.high_24h,
192
+ low24h: currency.low_24h,
193
+ ticker: currency.symbol,
194
+ price: currency.current_price,
195
+ priceChangePercentage: currency["price_change_percentage_".concat(range, "_in_currency")],
196
+ marketCapChangePercentage24h: currency.market_cap_change_percentage_24h,
197
+ circulatingSupply: currency.circulating_supply,
198
+ totalSupply: currency.total_supply,
199
+ maxSupply: currency.max_supply,
200
+ ath: currency.ath,
201
+ athDate: currency.ath_date,
202
+ atl: currency.atl,
203
+ atlDate: currency.atl_date,
204
+ sparklineIn7d: ((_a = currency === null || currency === void 0 ? void 0 : currency.sparkline_in_7d) === null || _a === void 0 ? void 0 : _a.price)
205
+ ? sparklineAsSvgData(distributedCopy(currency.sparkline_in_7d.price, 6 * 7)) // keep 6 points per day
206
+ : null,
207
+ chartData: []
208
+ });
209
+ })];
210
+ }
211
+ });
212
+ });
213
+ }
214
+ // Fetches list of supported counterCurrencies
215
+ function supportedCounterCurrencies() {
216
+ return __awaiter(this, void 0, void 0, function () {
217
+ var url, data;
218
+ return __generator(this, function (_a) {
219
+ switch (_a.label) {
220
+ case 0:
221
+ url = "".concat(ROOT_PATH, "/simple/supported_vs_currencies");
222
+ return [4 /*yield*/, (0, network_1["default"])({
223
+ method: "GET",
224
+ url: url
225
+ })];
226
+ case 1:
227
+ data = (_a.sent()).data;
228
+ return [2 /*return*/, data];
229
+ }
230
+ });
231
+ });
232
+ }
233
+ // Fetches list of supported currencies
234
+ function currencyChartData(_a) {
235
+ var id = _a.id, counterCurrency = _a.counterCurrency, _b = _a.range, range = _b === void 0 ? "24h" : _b;
236
+ return __awaiter(this, void 0, void 0, function () {
237
+ var _c, days, interval, url, data;
238
+ var _d;
239
+ return __generator(this, function (_e) {
240
+ switch (_e.label) {
241
+ case 0:
242
+ _c = rangeDataTable_1.rangeDataTable[range], days = _c.days, interval = _c.interval;
243
+ url = "".concat(ROOT_PATH, "/coins/").concat(id, "/market_chart?vs_currency=").concat(counterCurrency, "&days=").concat(days, "&interval=").concat(interval);
244
+ return [4 /*yield*/, (0, network_1["default"])({
245
+ method: "GET",
246
+ url: url
247
+ })];
248
+ case 1:
249
+ data = (_e.sent()).data;
250
+ return [2 /*return*/, (_d = {}, _d[range] = data.prices, _d)];
251
+ }
252
+ });
253
+ });
254
+ }
255
+ exports["default"] = {
256
+ setSupportedCoinsList: setSupportedCoinsList,
257
+ listPaginated: listPaginated,
258
+ supportedCounterCurrencies: supportedCounterCurrencies,
259
+ currencyChartData: currencyChartData
260
+ };
261
+ //# sourceMappingURL=api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/market/api/api.ts"],"names":[],"mappings":"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"}