@ledgerhq/live-common 33.3.0 → 33.4.0-next.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 (153) hide show
  1. package/lib/deposit/api.d.ts.map +1 -1
  2. package/lib/deposit/api.js.map +1 -1
  3. package/lib/deposit/deposit.integration.test.d.ts +2 -0
  4. package/lib/deposit/deposit.integration.test.d.ts.map +1 -0
  5. package/lib/deposit/deposit.integration.test.js +22 -0
  6. package/lib/deposit/deposit.integration.test.js.map +1 -0
  7. package/lib/deposit/deposit.test.js +2 -2
  8. package/lib/deposit/deposit.test.js.map +1 -1
  9. package/lib/deposit/helper.d.ts +5 -5
  10. package/lib/deposit/helper.d.ts.map +1 -1
  11. package/lib/deposit/helper.js +45 -13
  12. package/lib/deposit/helper.js.map +1 -1
  13. package/lib/deposit/type.d.ts +4 -0
  14. package/lib/deposit/type.d.ts.map +1 -1
  15. package/lib/deposit/useGroupedCurrenciesByProvider.hook.d.ts +2 -6
  16. package/lib/deposit/useGroupedCurrenciesByProvider.hook.d.ts.map +1 -1
  17. package/lib/deposit/useGroupedCurrenciesByProvider.hook.js +10 -31
  18. package/lib/deposit/useGroupedCurrenciesByProvider.hook.js.map +1 -1
  19. package/lib/deviceSDK/hooks/useBatteryStatuses.d.ts +2 -2
  20. package/lib/deviceSDK/hooks/useBatteryStatuses.d.ts.map +1 -1
  21. package/lib/deviceSDK/hooks/useBatteryStatuses.js +4 -1
  22. package/lib/deviceSDK/hooks/useBatteryStatuses.js.map +1 -1
  23. package/lib/deviceSDK/hooks/useBatteryStatuses.test.d.ts +2 -0
  24. package/lib/deviceSDK/hooks/useBatteryStatuses.test.d.ts.map +1 -0
  25. package/lib/deviceSDK/hooks/useBatteryStatuses.test.js +20 -0
  26. package/lib/deviceSDK/hooks/useBatteryStatuses.test.js.map +1 -0
  27. package/lib/exchange/swap/hooks/index.d.ts +1 -1
  28. package/lib/exchange/swap/hooks/index.d.ts.map +1 -1
  29. package/lib/exchange/swap/hooks/index.js +1 -1
  30. package/lib/exchange/swap/hooks/index.js.map +1 -1
  31. package/lib/exchange/swap/hooks/live-app-migration/useIsCurrencySupported.d.ts +12 -0
  32. package/lib/exchange/swap/hooks/live-app-migration/useIsCurrencySupported.d.ts.map +1 -0
  33. package/lib/exchange/swap/hooks/live-app-migration/useIsCurrencySupported.js +18 -0
  34. package/lib/exchange/swap/hooks/live-app-migration/useIsCurrencySupported.js.map +1 -0
  35. package/lib/exchange/swap/hooks/{useIsSwapLiveApp.d.ts → live-app-migration/useIsSwapLiveApp.d.ts} +4 -1
  36. package/lib/exchange/swap/hooks/live-app-migration/useIsSwapLiveApp.d.ts.map +1 -0
  37. package/lib/exchange/swap/hooks/live-app-migration/useIsSwapLiveApp.js +27 -0
  38. package/lib/exchange/swap/hooks/live-app-migration/useIsSwapLiveApp.js.map +1 -0
  39. package/lib/exchange/swap/hooks/live-app-migration/useIsSwapLiveApp.test.d.ts.map +1 -0
  40. package/lib/exchange/swap/hooks/{useIsSwapLiveApp.test.js → live-app-migration/useIsSwapLiveApp.test.js} +12 -12
  41. package/lib/exchange/swap/hooks/live-app-migration/useIsSwapLiveApp.test.js.map +1 -0
  42. package/lib/exchange/swap/index.js +1 -1
  43. package/lib/exchange/swap/index.js.map +1 -1
  44. package/lib/families/cardano/hw-getAddress.js +5 -5
  45. package/lib/families/cardano/hw-getAddress.js.map +1 -1
  46. package/lib/families/cardano/js-synchronisation.js +4 -4
  47. package/lib/families/cardano/js-synchronisation.js.map +1 -1
  48. package/lib/families/cardano/logic.js +4 -4
  49. package/lib/families/cardano/logic.js.map +1 -1
  50. package/lib/families/cardano/specs.d.ts.map +1 -1
  51. package/lib/families/cardano/specs.js +31 -34
  52. package/lib/families/cardano/specs.js.map +1 -1
  53. package/lib/families/cardano/speculos-deviceActions.d.ts.map +1 -1
  54. package/lib/families/cardano/speculos-deviceActions.js +17 -18
  55. package/lib/families/cardano/speculos-deviceActions.js.map +1 -1
  56. package/lib/families/cardano/tx-helpers.js +8 -8
  57. package/lib/families/cardano/tx-helpers.js.map +1 -1
  58. package/lib/postOnboarding/hooks/useStartPostOnboardingCallback.d.ts.map +1 -1
  59. package/lib/postOnboarding/hooks/useStartPostOnboardingCallback.js +1 -0
  60. package/lib/postOnboarding/hooks/useStartPostOnboardingCallback.js.map +1 -1
  61. package/lib-es/deposit/api.d.ts.map +1 -1
  62. package/lib-es/deposit/api.js.map +1 -1
  63. package/lib-es/deposit/deposit.integration.test.d.ts +2 -0
  64. package/lib-es/deposit/deposit.integration.test.d.ts.map +1 -0
  65. package/lib-es/deposit/deposit.integration.test.js +20 -0
  66. package/lib-es/deposit/deposit.integration.test.js.map +1 -0
  67. package/lib-es/deposit/deposit.test.js +2 -2
  68. package/lib-es/deposit/deposit.test.js.map +1 -1
  69. package/lib-es/deposit/helper.d.ts +5 -5
  70. package/lib-es/deposit/helper.d.ts.map +1 -1
  71. package/lib-es/deposit/helper.js +45 -15
  72. package/lib-es/deposit/helper.js.map +1 -1
  73. package/lib-es/deposit/type.d.ts +4 -0
  74. package/lib-es/deposit/type.d.ts.map +1 -1
  75. package/lib-es/deposit/useGroupedCurrenciesByProvider.hook.d.ts +2 -6
  76. package/lib-es/deposit/useGroupedCurrenciesByProvider.hook.d.ts.map +1 -1
  77. package/lib-es/deposit/useGroupedCurrenciesByProvider.hook.js +13 -34
  78. package/lib-es/deposit/useGroupedCurrenciesByProvider.hook.js.map +1 -1
  79. package/lib-es/deviceSDK/hooks/useBatteryStatuses.d.ts +2 -2
  80. package/lib-es/deviceSDK/hooks/useBatteryStatuses.d.ts.map +1 -1
  81. package/lib-es/deviceSDK/hooks/useBatteryStatuses.js +4 -1
  82. package/lib-es/deviceSDK/hooks/useBatteryStatuses.js.map +1 -1
  83. package/lib-es/deviceSDK/hooks/useBatteryStatuses.test.d.ts +2 -0
  84. package/lib-es/deviceSDK/hooks/useBatteryStatuses.test.d.ts.map +1 -0
  85. package/lib-es/deviceSDK/hooks/useBatteryStatuses.test.js +18 -0
  86. package/lib-es/deviceSDK/hooks/useBatteryStatuses.test.js.map +1 -0
  87. package/lib-es/exchange/swap/hooks/index.d.ts +1 -1
  88. package/lib-es/exchange/swap/hooks/index.d.ts.map +1 -1
  89. package/lib-es/exchange/swap/hooks/index.js +1 -1
  90. package/lib-es/exchange/swap/hooks/index.js.map +1 -1
  91. package/lib-es/exchange/swap/hooks/live-app-migration/useIsCurrencySupported.d.ts +12 -0
  92. package/lib-es/exchange/swap/hooks/live-app-migration/useIsCurrencySupported.d.ts.map +1 -0
  93. package/lib-es/exchange/swap/hooks/live-app-migration/useIsCurrencySupported.js +14 -0
  94. package/lib-es/exchange/swap/hooks/live-app-migration/useIsCurrencySupported.js.map +1 -0
  95. package/lib-es/exchange/swap/hooks/{useIsSwapLiveApp.d.ts → live-app-migration/useIsSwapLiveApp.d.ts} +4 -1
  96. package/lib-es/exchange/swap/hooks/live-app-migration/useIsSwapLiveApp.d.ts.map +1 -0
  97. package/lib-es/exchange/swap/hooks/live-app-migration/useIsSwapLiveApp.js +23 -0
  98. package/lib-es/exchange/swap/hooks/live-app-migration/useIsSwapLiveApp.js.map +1 -0
  99. package/lib-es/exchange/swap/hooks/live-app-migration/useIsSwapLiveApp.test.d.ts.map +1 -0
  100. package/lib-es/exchange/swap/hooks/{useIsSwapLiveApp.test.js → live-app-migration/useIsSwapLiveApp.test.js} +12 -12
  101. package/lib-es/exchange/swap/hooks/live-app-migration/useIsSwapLiveApp.test.js.map +1 -0
  102. package/lib-es/exchange/swap/index.js +1 -1
  103. package/lib-es/exchange/swap/index.js.map +1 -1
  104. package/lib-es/families/cardano/hw-getAddress.js +1 -1
  105. package/lib-es/families/cardano/hw-getAddress.js.map +1 -1
  106. package/lib-es/families/cardano/js-synchronisation.js +1 -1
  107. package/lib-es/families/cardano/js-synchronisation.js.map +1 -1
  108. package/lib-es/families/cardano/logic.js +1 -1
  109. package/lib-es/families/cardano/logic.js.map +1 -1
  110. package/lib-es/families/cardano/specs.d.ts.map +1 -1
  111. package/lib-es/families/cardano/specs.js +31 -34
  112. package/lib-es/families/cardano/specs.js.map +1 -1
  113. package/lib-es/families/cardano/speculos-deviceActions.d.ts.map +1 -1
  114. package/lib-es/families/cardano/speculos-deviceActions.js +17 -18
  115. package/lib-es/families/cardano/speculos-deviceActions.js.map +1 -1
  116. package/lib-es/families/cardano/tx-helpers.js +1 -1
  117. package/lib-es/families/cardano/tx-helpers.js.map +1 -1
  118. package/lib-es/postOnboarding/hooks/useStartPostOnboardingCallback.d.ts.map +1 -1
  119. package/lib-es/postOnboarding/hooks/useStartPostOnboardingCallback.js +2 -1
  120. package/lib-es/postOnboarding/hooks/useStartPostOnboardingCallback.js.map +1 -1
  121. package/package.json +5 -5
  122. package/src/deposit/api.ts +0 -1
  123. package/src/deposit/deposit.integration.test.ts +11 -0
  124. package/src/deposit/deposit.test.ts +2 -3
  125. package/src/deposit/helper.ts +41 -19
  126. package/src/deposit/type.ts +5 -0
  127. package/src/deposit/useGroupedCurrenciesByProvider.hook.ts +15 -34
  128. package/src/deviceSDK/hooks/useBatteryStatuses.test.ts +9 -0
  129. package/src/deviceSDK/hooks/useBatteryStatuses.ts +7 -3
  130. package/src/exchange/swap/hooks/index.ts +1 -1
  131. package/src/exchange/swap/hooks/live-app-migration/useIsCurrencySupported.ts +32 -0
  132. package/src/exchange/swap/hooks/{useIsSwapLiveApp.test.ts → live-app-migration/useIsSwapLiveApp.test.ts} +12 -12
  133. package/src/exchange/swap/hooks/{useIsSwapLiveApp.ts → live-app-migration/useIsSwapLiveApp.ts} +14 -11
  134. package/src/exchange/swap/index.ts +1 -1
  135. package/src/families/cardano/hw-getAddress.ts +1 -1
  136. package/src/families/cardano/js-synchronisation.ts +1 -1
  137. package/src/families/cardano/logic.ts +1 -1
  138. package/src/families/cardano/specs.ts +42 -45
  139. package/src/families/cardano/speculos-deviceActions.ts +17 -18
  140. package/src/families/cardano/tx-helpers.ts +1 -1
  141. package/src/postOnboarding/hooks/useStartPostOnboardingCallback.ts +2 -1
  142. package/lib/exchange/swap/hooks/useIsSwapLiveApp.d.ts.map +0 -1
  143. package/lib/exchange/swap/hooks/useIsSwapLiveApp.js +0 -24
  144. package/lib/exchange/swap/hooks/useIsSwapLiveApp.js.map +0 -1
  145. package/lib/exchange/swap/hooks/useIsSwapLiveApp.test.d.ts.map +0 -1
  146. package/lib/exchange/swap/hooks/useIsSwapLiveApp.test.js.map +0 -1
  147. package/lib-es/exchange/swap/hooks/useIsSwapLiveApp.d.ts.map +0 -1
  148. package/lib-es/exchange/swap/hooks/useIsSwapLiveApp.js +0 -20
  149. package/lib-es/exchange/swap/hooks/useIsSwapLiveApp.js.map +0 -1
  150. package/lib-es/exchange/swap/hooks/useIsSwapLiveApp.test.d.ts.map +0 -1
  151. package/lib-es/exchange/swap/hooks/useIsSwapLiveApp.test.js.map +0 -1
  152. /package/lib/exchange/swap/hooks/{useIsSwapLiveApp.test.d.ts → live-app-migration/useIsSwapLiveApp.test.d.ts} +0 -0
  153. /package/lib-es/exchange/swap/hooks/{useIsSwapLiveApp.test.d.ts → live-app-migration/useIsSwapLiveApp.test.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/deposit/api.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAIrC,wBAAsB,eAAe,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,CAK9D"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/deposit/api.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAIrC,wBAAsB,eAAe,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,CAI9D"}
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/deposit/api.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,OAAO,MAAM,gCAAgC,CAAC;AAGrD,MAAM,SAAS,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAE5C,MAAM,UAAgB,eAAe;;QACnC,MAAM,GAAG,GAAG,GAAG,SAAS,6BAA6B,CAAC;QACtD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QAEvD,OAAO,IAAI,CAAC;IACd,CAAC;CAAA"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/deposit/api.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,OAAO,MAAM,gCAAgC,CAAC;AAGrD,MAAM,SAAS,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAE5C,MAAM,UAAgB,eAAe;;QACnC,MAAM,GAAG,GAAG,GAAG,SAAS,6BAA6B,CAAC;QACtD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC;IACd,CAAC;CAAA"}
@@ -0,0 +1,2 @@
1
+ import "../__tests__/test-helpers/setup";
2
+ //# sourceMappingURL=deposit.integration.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deposit.integration.test.d.ts","sourceRoot":"","sources":["../../src/deposit/deposit.integration.test.ts"],"names":[],"mappings":"AAAA,OAAO,iCAAiC,CAAC"}
@@ -0,0 +1,20 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import "../__tests__/test-helpers/setup";
11
+ import { renderHook } from "@testing-library/react-hooks";
12
+ import { useGroupedCurrenciesByProvider } from ".";
13
+ test("list is starting with Bitcoin", () => __awaiter(void 0, void 0, void 0, function* () {
14
+ const { waitForNextUpdate, result } = renderHook(() => useGroupedCurrenciesByProvider());
15
+ yield waitForNextUpdate();
16
+ expect(result.current.sortedCryptoCurrencies.slice(0, 1).map(o => o.id)).toMatchObject([
17
+ "bitcoin",
18
+ ]);
19
+ }));
20
+ //# sourceMappingURL=deposit.integration.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deposit.integration.test.js","sourceRoot":"","sources":["../../src/deposit/deposit.integration.test.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,iCAAiC,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,8BAA8B,EAAE,MAAM,GAAG,CAAC;AAEnD,IAAI,CAAC,+BAA+B,EAAE,GAAS,EAAE;IAC/C,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,8BAA8B,EAAE,CAAC,CAAC;IACzF,MAAM,iBAAiB,EAAE,CAAC;IAC1B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC;QACrF,SAAS;KACV,CAAC,CAAC;AACL,CAAC,CAAA,CAAC,CAAC"}
@@ -13,8 +13,8 @@ describe("Deposit logic", () => {
13
13
  });
14
14
  test("groupCurrenciesByProvider", () => {
15
15
  const currencies = MAPPED_ASSETS.map(asset => getTokenById(asset.ledgerId));
16
- const result = groupCurrenciesByProvider(MAPPED_ASSETS, currencies);
17
- expect(result).toEqual([
16
+ const { currenciesByProvider } = groupCurrenciesByProvider(MAPPED_ASSETS, currencies);
17
+ expect(currenciesByProvider).toEqual([
18
18
  {
19
19
  providerId: "tether",
20
20
  currenciesByNetwork: currencies,
@@ -1 +1 @@
1
- {"version":3,"file":"deposit.test.js","sourceRoot":"","sources":["../../src/deposit/deposit.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC/F,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,MAAM,aAAa,GAAG,IAAqB,CAAC;AAE5C,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,IAAI,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC9B,MAAM,MAAM,GAAG,kBAAkB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAE3D,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAChC,MAAM,MAAM,GAAG,oBAAoB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAC3D,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACrC,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC5E,MAAM,MAAM,GAAG,yBAAyB,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;QACpE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACrB;gBACE,UAAU,EAAE,QAAQ;gBACpB,mBAAmB,EAAE,UAAU;aAChC;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"deposit.test.js","sourceRoot":"","sources":["../../src/deposit/deposit.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC/F,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,MAAM,aAAa,GAAG,IAAqB,CAAC;AAE5C,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,IAAI,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC9B,MAAM,MAAM,GAAG,kBAAkB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAC3D,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAChC,MAAM,MAAM,GAAG,oBAAoB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAC3D,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACrC,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC5E,MAAM,EAAE,oBAAoB,EAAE,GAAG,yBAAyB,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;QACtF,MAAM,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC;YACnC;gBACE,UAAU,EAAE,QAAQ;gBACpB,mBAAmB,EAAE,UAAU;aAChC;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { CryptoOrTokenCurrency } from "@ledgerhq/types-cryptoassets";
2
- import { MappedAsset, CurrenciesByProviderId } from "./type";
3
- declare const groupCurrenciesByProvider: (assets: MappedAsset[], currenciesSupported: CryptoOrTokenCurrency[]) => CurrenciesByProviderId[];
4
- declare const searchByProviderId: (list: MappedAsset[], providerId: string) => MappedAsset[];
5
- declare const searchByNameOrTicker: (list: MappedAsset[], nameOrTicker: string) => MappedAsset[];
6
- export { searchByProviderId, searchByNameOrTicker, groupCurrenciesByProvider };
2
+ import { MappedAsset, GroupedCurrencies } from "./type";
3
+ export declare const loadCurrenciesByProvider: (coinsAndTokensSupported: CryptoOrTokenCurrency[]) => Promise<GroupedCurrencies>;
4
+ export declare const groupCurrenciesByProvider: (assets: MappedAsset[], sortedCurrencies: CryptoOrTokenCurrency[]) => GroupedCurrencies;
5
+ export declare const searchByProviderId: (list: MappedAsset[], providerId: string) => MappedAsset[];
6
+ export declare const searchByNameOrTicker: (list: MappedAsset[], nameOrTicker: string) => MappedAsset[];
7
7
  //# sourceMappingURL=helper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../../src/deposit/helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,QAAQ,CAAC;AAE7D,QAAA,MAAM,yBAAyB,WACrB,WAAW,EAAE,uBACA,qBAAqB,EAAE,6BAoB7C,CAAC;AAEF,QAAA,MAAM,kBAAkB,SAAU,WAAW,EAAE,cAAc,MAAM,kBACc,CAAC;AAElF,QAAA,MAAM,oBAAoB,SAAU,WAAW,EAAE,gBAAgB,MAAM,kBAKpE,CAAC;AAEJ,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,CAAC"}
1
+ {"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../../src/deposit/helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,WAAW,EAA0B,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAIhF,eAAO,MAAM,wBAAwB,4BACV,qBAAqB,EAAE,KAC/C,QAAQ,iBAAiB,CAM3B,CAAC;AAEF,eAAO,MAAM,yBAAyB,WAC5B,WAAW,EAAE,oBACH,qBAAqB,EAAE,KACxC,iBA+BF,CAAC;AAEF,eAAO,MAAM,kBAAkB,SAAU,WAAW,EAAE,cAAc,MAAM,kBACO,CAAC;AAElF,eAAO,MAAM,oBAAoB,SAAU,WAAW,EAAE,gBAAgB,MAAM,kBAK3E,CAAC"}
@@ -1,25 +1,55 @@
1
- const groupCurrenciesByProvider = (assets, currenciesSupported) => {
2
- const assetsByLedgerId = {};
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { currenciesByMarketcap } from "../currencies";
11
+ import { getMappedAssets } from "./api";
12
+ export const loadCurrenciesByProvider = (coinsAndTokensSupported) => __awaiter(void 0, void 0, void 0, function* () {
13
+ const [sortedCurrenciesSupported, assets] = yield Promise.all([
14
+ currenciesByMarketcap(coinsAndTokensSupported),
15
+ getMappedAssets(),
16
+ ]);
17
+ return groupCurrenciesByProvider(assets, sortedCurrenciesSupported);
18
+ });
19
+ export const groupCurrenciesByProvider = (assets, sortedCurrencies) => {
20
+ const assetsByLedgerId = new Map();
3
21
  for (const asset of assets) {
4
- assetsByLedgerId[asset.ledgerId.toLowerCase()] = asset;
22
+ /// FIXME(LIVE-10508) drop usage of toLowerCase
23
+ assetsByLedgerId.set(asset.ledgerId.toLowerCase(), asset);
5
24
  }
6
- const assetsByProviderId = {};
7
- for (const ledgerCurrency of currenciesSupported) {
8
- const asset = assetsByLedgerId[ledgerCurrency.id.toLowerCase()];
25
+ const assetsByProviderId = new Map();
26
+ const sortedCryptoCurrencies = [];
27
+ // iterate over currencies by preserving their order
28
+ for (const ledgerCurrency of sortedCurrencies) {
29
+ /// FIXME(LIVE-10508) drop usage of toLowerCase
30
+ const asset = assetsByLedgerId.get(ledgerCurrency.id.toLowerCase());
9
31
  if (asset) {
10
- if (!assetsByProviderId[asset.providerId]) {
11
- assetsByProviderId[asset.providerId] = {
32
+ // we only yield the intersection of currencies and mapped assets
33
+ const existingEntry = assetsByProviderId.get(asset.providerId);
34
+ if (!existingEntry) {
35
+ assetsByProviderId.set(asset.providerId, {
12
36
  providerId: asset.providerId,
13
- currenciesByNetwork: [],
14
- };
37
+ currenciesByNetwork: [ledgerCurrency],
38
+ });
39
+ // in this case, the first currency of the provider is the one we want to display
40
+ sortedCryptoCurrencies.push(ledgerCurrency);
41
+ }
42
+ else {
43
+ existingEntry.currenciesByNetwork.push(ledgerCurrency);
15
44
  }
16
- assetsByProviderId[asset.providerId].currenciesByNetwork.push(ledgerCurrency);
17
45
  }
18
46
  }
19
- return Object.values(assetsByProviderId);
47
+ return {
48
+ currenciesByProvider: Array.from(assetsByProviderId.values()),
49
+ sortedCryptoCurrencies,
50
+ };
20
51
  };
21
- const searchByProviderId = (list, providerId) => list.filter(elem => elem.providerId.toLowerCase() === providerId.toLowerCase());
22
- const searchByNameOrTicker = (list, nameOrTicker) => list.filter(elem => elem.name.toLowerCase().includes(nameOrTicker.toLowerCase()) ||
52
+ export const searchByProviderId = (list, providerId) => list.filter(elem => elem.providerId.toLowerCase() === providerId.toLowerCase());
53
+ export const searchByNameOrTicker = (list, nameOrTicker) => list.filter(elem => elem.name.toLowerCase().includes(nameOrTicker.toLowerCase()) ||
23
54
  elem.ticker.toLowerCase().includes(nameOrTicker.toLowerCase()));
24
- export { searchByProviderId, searchByNameOrTicker, groupCurrenciesByProvider };
25
55
  //# sourceMappingURL=helper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helper.js","sourceRoot":"","sources":["../../src/deposit/helper.ts"],"names":[],"mappings":"AAGA,MAAM,yBAAyB,GAAG,CAChC,MAAqB,EACrB,mBAA4C,EAC5C,EAAE;IACF,MAAM,gBAAgB,GAAgC,EAAE,CAAC;IACzD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;QAC1B,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,GAAG,KAAK,CAAC;KACxD;IACD,MAAM,kBAAkB,GAA2C,EAAE,CAAC;IACtE,KAAK,MAAM,cAAc,IAAI,mBAAmB,EAAE;QAChD,MAAM,KAAK,GAAG,gBAAgB,CAAC,cAAc,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QAChE,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE;gBACzC,kBAAkB,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG;oBACrC,UAAU,EAAE,KAAK,CAAC,UAAU;oBAC5B,mBAAmB,EAAE,EAAE;iBACxB,CAAC;aACH;YACD,kBAAkB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;SAC/E;KACF;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAC3C,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,IAAmB,EAAE,UAAkB,EAAE,EAAE,CACrE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;AAElF,MAAM,oBAAoB,GAAG,CAAC,IAAmB,EAAE,YAAoB,EAAE,EAAE,CACzE,IAAI,CAAC,MAAM,CACT,IAAI,CAAC,EAAE,CACL,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;IAC5D,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CACjE,CAAC;AAEJ,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,CAAC"}
1
+ {"version":3,"file":"helper.js","sourceRoot":"","sources":["../../src/deposit/helper.ts"],"names":[],"mappings":";;;;;;;;;AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAExC,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,uBAAgD,EACpB,EAAE;IAC9B,MAAM,CAAC,yBAAyB,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC5D,qBAAqB,CAAC,uBAAuB,CAAC;QAC9C,eAAe,EAAE;KAClB,CAAC,CAAC;IACH,OAAO,yBAAyB,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;AACtE,CAAC,CAAA,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACvC,MAAqB,EACrB,gBAAyC,EACtB,EAAE;IACrB,MAAM,gBAAgB,GAA6B,IAAI,GAAG,EAAE,CAAC;IAC7D,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;QAC1B,+CAA+C;QAC/C,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,CAAC;KAC3D;IACD,MAAM,kBAAkB,GAAwC,IAAI,GAAG,EAAE,CAAC;IAC1E,MAAM,sBAAsB,GAA4B,EAAE,CAAC;IAC3D,oDAAoD;IACpD,KAAK,MAAM,cAAc,IAAI,gBAAgB,EAAE;QAC7C,+CAA+C;QAC/C,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QACpE,IAAI,KAAK,EAAE;YACT,iEAAiE;YACjE,MAAM,aAAa,GAAG,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAC/D,IAAI,CAAC,aAAa,EAAE;gBAClB,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE;oBACvC,UAAU,EAAE,KAAK,CAAC,UAAU;oBAC5B,mBAAmB,EAAE,CAAC,cAAc,CAAC;iBACtC,CAAC,CAAC;gBACH,iFAAiF;gBACjF,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;aAC7C;iBAAM;gBACL,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;aACxD;SACF;KACF;IACD,OAAO;QACL,oBAAoB,EAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC;QAC7D,sBAAsB;KACvB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,IAAmB,EAAE,UAAkB,EAAE,EAAE,CAC5E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;AAElF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,IAAmB,EAAE,YAAoB,EAAE,EAAE,CAChF,IAAI,CAAC,MAAM,CACT,IAAI,CAAC,EAAE,CACL,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;IAC5D,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CACjE,CAAC"}
@@ -23,4 +23,8 @@ export type CurrenciesByProviderId = {
23
23
  currenciesByNetwork: CryptoOrTokenCurrency[];
24
24
  providerId: string;
25
25
  };
26
+ export type GroupedCurrencies = {
27
+ currenciesByProvider: CurrenciesByProviderId[];
28
+ sortedCryptoCurrencies: CryptoOrTokenCurrency[];
29
+ };
26
30
  //# sourceMappingURL=type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../src/deposit/type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAErE,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,IAAI,CAAC;IACb,IAAI,EAAE;QACJ,GAAG,EAAE,MAAM,CAAC;QACZ,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;KAC9B,CAAC;IACF,cAAc,CAAC,EAAE,qBAAqB,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,WAAW,EAAE,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,mBAAmB,EAAE,qBAAqB,EAAE,CAAC;IAC7C,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC"}
1
+ {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../src/deposit/type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAErE,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,IAAI,CAAC;IACb,IAAI,EAAE;QACJ,GAAG,EAAE,MAAM,CAAC;QACZ,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;KAC9B,CAAC;IACF,cAAc,CAAC,EAAE,qBAAqB,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,WAAW,EAAE,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,mBAAmB,EAAE,qBAAqB,EAAE,CAAC;IAC7C,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,oBAAoB,EAAE,sBAAsB,EAAE,CAAC;IAC/C,sBAAsB,EAAE,qBAAqB,EAAE,CAAC;CACjD,CAAC"}
@@ -1,7 +1,3 @@
1
- import { CurrenciesByProviderId } from "./type";
2
- import { CryptoOrTokenCurrency } from "@ledgerhq/types-cryptoassets";
3
- export declare const useGroupedCurrenciesByProvider: () => {
4
- currenciesByProvider: CurrenciesByProviderId[];
5
- sortedCryptoCurrencies: CryptoOrTokenCurrency[];
6
- };
1
+ import { GroupedCurrencies } from "./type";
2
+ export declare const useGroupedCurrenciesByProvider: () => GroupedCurrencies;
7
3
  //# sourceMappingURL=useGroupedCurrenciesByProvider.hook.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useGroupedCurrenciesByProvider.hook.d.ts","sourceRoot":"","sources":["../../src/deposit/useGroupedCurrenciesByProvider.hook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAarE,eAAO,MAAM,8BAA8B;;;CAiC1C,CAAC"}
1
+ {"version":3,"file":"useGroupedCurrenciesByProvider.hook.d.ts","sourceRoot":"","sources":["../../src/deposit/useGroupedCurrenciesByProvider.hook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAc3C,eAAO,MAAM,8BAA8B,yBAc1C,CAAC"}
@@ -1,40 +1,19 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import { useCallback, useEffect, useMemo, useState } from "react";
11
- import { isCurrencySupported, listSupportedCurrencies, listTokens, currenciesByMarketcap, } from "../currencies";
12
- import { getMappedAssets } from "./api";
13
- import { groupCurrenciesByProvider } from "./helper";
1
+ import { useEffect, useMemo, useState } from "react";
2
+ import { isCurrencySupported, listSupportedCurrencies, listTokens } from "../currencies";
3
+ import { loadCurrenciesByProvider } from "./helper";
4
+ // FIXME(LIVE-10505): bad performane & shared utility to move to coin-framework
14
5
  const listSupportedTokens = () => listTokens().filter(t => isCurrencySupported(t.parentCurrency));
6
+ const initialResult = {
7
+ sortedCryptoCurrencies: [],
8
+ currenciesByProvider: [],
9
+ };
15
10
  export const useGroupedCurrenciesByProvider = () => {
16
- const [currencies, setCurrencies] = useState([]);
17
- const [currenciesByProvider, setCurrenciesByProvider] = useState([]);
18
- // Get Supported Currencies and sort them by marketcap
11
+ const [result, setResult] = useState(initialResult);
19
12
  const coinsAndTokensSupported = useMemo(() => listSupportedCurrencies().concat(listSupportedTokens()), []);
20
- // Get mapped assets filtered by supported currencies and grouped by provider id
21
- const getCurrenciesAndGroupThemByProvider = useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
22
- const [sortedCurrenciesSupported, assets] = yield Promise.all([
23
- currenciesByMarketcap(coinsAndTokensSupported),
24
- getMappedAssets(),
25
- ]);
26
- const currenciesByProvider = groupCurrenciesByProvider(assets, sortedCurrenciesSupported);
27
- setCurrenciesByProvider(currenciesByProvider);
28
- setCurrencies(currenciesByProvider
29
- .filter(value => value.currenciesByNetwork && value.currenciesByNetwork.length > 0)
30
- .map(value => value.currenciesByNetwork[0]));
31
- }), [coinsAndTokensSupported]);
13
+ // Get mapped assets filtered by supported & sorted currencies, grouped by provider id
32
14
  useEffect(() => {
33
- getCurrenciesAndGroupThemByProvider();
34
- }, [getCurrenciesAndGroupThemByProvider]);
35
- return {
36
- currenciesByProvider,
37
- sortedCryptoCurrencies: currencies,
38
- };
15
+ loadCurrenciesByProvider(coinsAndTokensSupported).then(setResult);
16
+ }, [coinsAndTokensSupported]);
17
+ return result;
39
18
  };
40
19
  //# sourceMappingURL=useGroupedCurrenciesByProvider.hook.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useGroupedCurrenciesByProvider.hook.js","sourceRoot":"","sources":["../../src/deposit/useGroupedCurrenciesByProvider.hook.ts"],"names":[],"mappings":";;;;;;;;;AAEA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAClE,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,qBAAqB,GACtB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAErD,MAAM,mBAAmB,GAAG,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;AAElG,MAAM,CAAC,MAAM,8BAA8B,GAAG,GAAG,EAAE;IACjD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAA0B,EAAE,CAAC,CAAC;IAC1E,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,GAAG,QAAQ,CAA2B,EAAE,CAAC,CAAC;IAE/F,sDAAsD;IACtD,MAAM,uBAAuB,GAAG,OAAO,CACrC,GAAG,EAAE,CAAE,uBAAuB,EAA8B,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC,EAC1F,EAAE,CACH,CAAC;IAEF,gFAAgF;IAChF,MAAM,mCAAmC,GAAG,WAAW,CAAC,GAAS,EAAE;QACjE,MAAM,CAAC,yBAAyB,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC5D,qBAAqB,CAAC,uBAAuB,CAAC;YAC9C,eAAe,EAAE;SAClB,CAAC,CAAC;QACH,MAAM,oBAAoB,GAAG,yBAAyB,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;QAC1F,uBAAuB,CAAC,oBAAoB,CAAC,CAAC;QAC9C,aAAa,CACX,oBAAoB;aACjB,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,mBAAmB,IAAI,KAAK,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC;aAClF,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAC9C,CAAC;IACJ,CAAC,CAAA,EAAE,CAAC,uBAAuB,CAAC,CAAC,CAAC;IAE9B,SAAS,CAAC,GAAG,EAAE;QACb,mCAAmC,EAAE,CAAC;IACxC,CAAC,EAAE,CAAC,mCAAmC,CAAC,CAAC,CAAC;IAE1C,OAAO;QACL,oBAAoB;QACpB,sBAAsB,EAAE,UAAU;KACnC,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"useGroupedCurrenciesByProvider.hook.js","sourceRoot":"","sources":["../../src/deposit/useGroupedCurrenciesByProvider.hook.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACzF,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAEpD,+EAA+E;AAC/E,MAAM,mBAAmB,GAAG,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;AAElG,MAAM,aAAa,GAAsB;IACvC,sBAAsB,EAAE,EAAE;IAC1B,oBAAoB,EAAE,EAAE;CACzB,CAAC;AAEF,MAAM,CAAC,MAAM,8BAA8B,GAAG,GAAG,EAAE;IACjD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;IAEpD,MAAM,uBAAuB,GAAG,OAAO,CACrC,GAAG,EAAE,CAAE,uBAAuB,EAA8B,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC,EAC1F,EAAE,CACH,CAAC;IAEF,sFAAsF;IACtF,SAAS,CAAC,GAAG,EAAE;QACb,wBAAwB,CAAC,uBAAuB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACpE,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAAC,CAAC;IAE9B,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { GetBatteryStatusesActionState } from "../actions/getBatteryStatuses";
2
2
  import { BatteryStatusTypes } from "../../hw/getBatteryStatus";
3
- export type UseBateryStatusesArgs = {
3
+ export type UseBatteryStatusesArgs = {
4
4
  deviceId?: string;
5
5
  statuses: BatteryStatusTypes[];
6
6
  };
@@ -16,7 +16,7 @@ export type UseBateryStatusesArgs = {
16
16
  * - a boolean that informs if the request is complete
17
17
  * - a function to trigger an retrigger the device action
18
18
  */
19
- export declare const useBatteryStatuses: ({ deviceId, statuses, }: UseBateryStatusesArgs) => {
19
+ export declare const useBatteryStatuses: ({ deviceId, statuses, }: UseBatteryStatusesArgs) => {
20
20
  batteryStatusesState: GetBatteryStatusesActionState;
21
21
  requestCompleted: boolean;
22
22
  triggerRequest: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"useBatteryStatuses.d.ts","sourceRoot":"","sources":["../../../src/deviceSDK/hooks/useBatteryStatuses.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,6BAA6B,EAE9B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAG/D,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,kBAAkB,EAAE,CAAC;CAChC,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,kBAAkB,4BAG5B,qBAAqB;0BACA,6BAA6B;sBACjC,OAAO;oBACT,MAAM,IAAI;mBACX,MAAM,IAAI;kBACX,OAAO;0BACC,MAAM;CAiE7B,CAAC"}
1
+ {"version":3,"file":"useBatteryStatuses.d.ts","sourceRoot":"","sources":["../../../src/deviceSDK/hooks/useBatteryStatuses.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,6BAA6B,EAE9B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAG/D,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,kBAAkB,EAAE,CAAC;CAChC,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,kBAAkB,4BAG5B,sBAAsB;0BACD,6BAA6B;sBACjC,OAAO;oBACT,MAAM,IAAI;mBACX,MAAM,IAAI;kBACX,OAAO;0BACC,MAAM;CAqE7B,CAAC"}
@@ -18,7 +18,10 @@ export const useBatteryStatuses = ({ deviceId, statuses, }) => {
18
18
  const [batteryStatusesState, setBatteryStatusesState] = useState(initialState);
19
19
  const [requestCompleted, setRequestCompleted] = useState(false);
20
20
  const [nonce, setNonce] = useState(0);
21
- const [cancelRequest, setCancelRequest] = useState(() => { });
21
+ // when passing a function to useState, the function is used as an initializer,
22
+ // i.e its return value will be the initial state value,
23
+ // cf. https://react.dev/reference/react/useState#parameters
24
+ const [cancelRequest, setCancelRequest] = useState(() => () => { });
22
25
  const [isBatteryLow, setIsBatteryLow] = useState(false);
23
26
  const lowBatteryPercentage = useEnv("LOW_BATTERY_PERCENTAGE");
24
27
  useEffect(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"useBatteryStatuses.js","sourceRoot":"","sources":["../../../src/deviceSDK/hooks/useBatteryStatuses.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useBatteryStatuses.js","sourceRoot":"","sources":["../../../src/deviceSDK/hooks/useBatteryStatuses.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=useBatteryStatuses.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useBatteryStatuses.test.d.ts","sourceRoot":"","sources":["../../../src/deviceSDK/hooks/useBatteryStatuses.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,18 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { renderHook } from "@testing-library/react-hooks";
11
+ import { useBatteryStatuses } from "./useBatteryStatuses";
12
+ describe("useBatteryStatuses", () => {
13
+ it("should return an initial cancelRequest method that is callable", () => __awaiter(void 0, void 0, void 0, function* () {
14
+ const { result } = renderHook(() => useBatteryStatuses({ statuses: [] }));
15
+ expect(() => result.current.cancelRequest()).not.toThrow();
16
+ }));
17
+ });
18
+ //# sourceMappingURL=useBatteryStatuses.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useBatteryStatuses.test.js","sourceRoot":"","sources":["../../../src/deviceSDK/hooks/useBatteryStatuses.test.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,gEAAgE,EAAE,GAAS,EAAE;QAC9E,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAC1E,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IAC7D,CAAC,CAAA,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -8,5 +8,5 @@ export * from "./useToState";
8
8
  export * from "./usePageState";
9
9
  export * from "./v5";
10
10
  export * from "./useSwapableAccounts";
11
- export * from "./useIsSwapLiveApp";
11
+ export * from "./live-app-migration/useIsSwapLiveApp";
12
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/exchange/swap/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,MAAM,CAAC;AACrB,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/exchange/swap/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,MAAM,CAAC;AACrB,cAAc,uBAAuB,CAAC;AACtC,cAAc,uCAAuC,CAAC"}
@@ -8,5 +8,5 @@ export * from "./useToState";
8
8
  export * from "./usePageState";
9
9
  export * from "./v5";
10
10
  export * from "./useSwapableAccounts";
11
- export * from "./useIsSwapLiveApp";
11
+ export * from "./live-app-migration/useIsSwapLiveApp";
12
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/exchange/swap/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,MAAM,CAAC;AACrB,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/exchange/swap/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,MAAM,CAAC;AACrB,cAAc,uBAAuB,CAAC;AACtC,cAAc,uCAAuC,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { CryptoOrTokenCurrency } from "@ledgerhq/types-cryptoassets";
2
+ type UseIsCurrencySupportedProps = {
3
+ currencyFrom?: CryptoOrTokenCurrency;
4
+ params: {
5
+ families: string;
6
+ currencies: Array<unknown>;
7
+ };
8
+ defaultValue: boolean;
9
+ };
10
+ export declare function useIsCurrencySupported({ currencyFrom, params, defaultValue, }: UseIsCurrencySupportedProps): boolean;
11
+ export {};
12
+ //# sourceMappingURL=useIsCurrencySupported.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useIsCurrencySupported.d.ts","sourceRoot":"","sources":["../../../../../src/exchange/swap/hooks/live-app-migration/useIsCurrencySupported.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAGrE,KAAK,2BAA2B,GAAG;IACjC,YAAY,CAAC,EAAE,qBAAqB,CAAC;IACrC,MAAM,EAAE;QACN,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;KAC5B,CAAC;IACF,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,wBAAgB,sBAAsB,CAAC,EACrC,YAAY,EACZ,MAAM,EACN,YAAY,GACb,EAAE,2BAA2B,WAe7B"}
@@ -0,0 +1,14 @@
1
+ import { isCryptoCurrency } from "../../../../currencies";
2
+ export function useIsCurrencySupported({ currencyFrom, params, defaultValue, }) {
3
+ const { families, currencies } = params || {};
4
+ if (!currencyFrom || (!families && !currencies)) {
5
+ return defaultValue;
6
+ }
7
+ const familyOfCurrencyFrom = isCryptoCurrency(currencyFrom)
8
+ ? currencyFrom.family
9
+ : currencyFrom.parentCurrency.family;
10
+ const familyIsEnabled = (families === null || families === void 0 ? void 0 : families.length) ? families.includes(familyOfCurrencyFrom) : true;
11
+ const currencyIsEnabled = (currencies === null || currencies === void 0 ? void 0 : currencies.length) ? currencies.includes(currencyFrom.id) : true;
12
+ return familyIsEnabled || currencyIsEnabled;
13
+ }
14
+ //# sourceMappingURL=useIsCurrencySupported.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useIsCurrencySupported.js","sourceRoot":"","sources":["../../../../../src/exchange/swap/hooks/live-app-migration/useIsCurrencySupported.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAW1D,MAAM,UAAU,sBAAsB,CAAC,EACrC,YAAY,EACZ,MAAM,EACN,YAAY,GACgB;IAC5B,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;IAE9C,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,UAAU,CAAC,EAAE;QAC/C,OAAO,YAAY,CAAC;KACrB;IAED,MAAM,oBAAoB,GAAG,gBAAgB,CAAC,YAAY,CAAC;QACzD,CAAC,CAAC,YAAY,CAAC,MAAM;QACrB,CAAC,CAAC,YAAY,CAAC,cAAc,CAAC,MAAM,CAAC;IAEvC,MAAM,eAAe,GAAG,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,EAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1F,MAAM,iBAAiB,GAAG,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,EAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAE3F,OAAO,eAAe,IAAI,iBAAiB,CAAC;AAC9C,CAAC"}
@@ -3,6 +3,9 @@ type Props = {
3
3
  currencyFrom?: CryptoOrTokenCurrency;
4
4
  swapWebManifestId: string;
5
5
  };
6
- export declare function useIsSwapLiveApp({ currencyFrom, swapWebManifestId }: Props): any;
6
+ export declare function useIsSwapLiveApp({ currencyFrom, swapWebManifestId }: Props): {
7
+ enabled: boolean;
8
+ onLiveAppCrashed: () => void;
9
+ };
7
10
  export {};
8
11
  //# sourceMappingURL=useIsSwapLiveApp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useIsSwapLiveApp.d.ts","sourceRoot":"","sources":["../../../../../src/exchange/swap/hooks/live-app-migration/useIsSwapLiveApp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAKrE,KAAK,KAAK,GAAG;IACX,YAAY,CAAC,EAAE,qBAAqB,CAAC;IACrC,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,EAAE,YAAY,EAAE,iBAAiB,EAAE,EAAE,KAAK;;;EAyB1E"}
@@ -0,0 +1,23 @@
1
+ import { useFeature } from "@ledgerhq/live-config/featureFlags/index";
2
+ import { useIsCurrencySupported } from "./useIsCurrencySupported";
3
+ import { useCallback, useState } from "react";
4
+ export function useIsSwapLiveApp({ currencyFrom, swapWebManifestId }) {
5
+ const ptxSwapLiveApp = useFeature("ptxSwapLiveApp");
6
+ const flagConfig = ptxSwapLiveApp && ptxSwapLiveApp[swapWebManifestId]
7
+ ? ptxSwapLiveApp[swapWebManifestId]
8
+ : ptxSwapLiveApp;
9
+ const { enabled, params } = flagConfig || {};
10
+ const isCurrencySupported = useIsCurrencySupported({
11
+ params,
12
+ currencyFrom,
13
+ defaultValue: enabled,
14
+ });
15
+ const [crashed, setHasCrashed] = useState(false);
16
+ const onLiveAppCrashed = useCallback(() => setHasCrashed(true), []);
17
+ const liveAppAvailable = Boolean(enabled && isCurrencySupported && !crashed);
18
+ return {
19
+ enabled: liveAppAvailable,
20
+ onLiveAppCrashed,
21
+ };
22
+ }
23
+ //# sourceMappingURL=useIsSwapLiveApp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useIsSwapLiveApp.js","sourceRoot":"","sources":["../../../../../src/exchange/swap/hooks/live-app-migration/useIsSwapLiveApp.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,0CAA0C,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAO9C,MAAM,UAAU,gBAAgB,CAAC,EAAE,YAAY,EAAE,iBAAiB,EAAS;IACzE,MAAM,cAAc,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAEpD,MAAM,UAAU,GACd,cAAc,IAAI,cAAc,CAAC,iBAAiB,CAAC;QACjD,CAAC,CAAC,cAAc,CAAC,iBAAiB,CAAC;QACnC,CAAC,CAAC,cAAc,CAAC;IAErB,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,IAAI,EAAE,CAAC;IAE7C,MAAM,mBAAmB,GAAG,sBAAsB,CAAC;QACjD,MAAM;QACN,YAAY;QACZ,YAAY,EAAE,OAAO;KACtB,CAAC,CAAC;IAEH,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACjD,MAAM,gBAAgB,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAEpE,MAAM,gBAAgB,GAAG,OAAO,CAAC,OAAO,IAAI,mBAAmB,IAAI,CAAC,OAAO,CAAC,CAAC;IAE7E,OAAO;QACL,OAAO,EAAE,gBAAgB;QACzB,gBAAgB;KACjB,CAAC;AACJ,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useIsSwapLiveApp.test.d.ts","sourceRoot":"","sources":["../../../../../src/exchange/swap/hooks/live-app-migration/useIsSwapLiveApp.test.ts"],"names":[],"mappings":""}
@@ -14,7 +14,7 @@ describe("useIsSwapLiveApp hook", () => {
14
14
  it("returns the enabled flag when currencyFrom is not defined", () => {
15
15
  useMockFeature.mockReturnValue({ enabled: true });
16
16
  const { result } = renderHook(() => useIsSwapLiveApp({ currencyFrom: undefined, swapWebManifestId: "swap-live-app-demo-0" }));
17
- expect(result.current).toBe(true);
17
+ expect(result.current.enabled).toBe(true);
18
18
  });
19
19
  it("returns the enabled flag when families and currencies are not defined", () => {
20
20
  useMockFeature.mockReturnValue({
@@ -22,7 +22,7 @@ describe("useIsSwapLiveApp hook", () => {
22
22
  params: { families: undefined, currencies: undefined },
23
23
  });
24
24
  const { result } = renderHook(() => useIsSwapLiveApp({ currencyFrom: bitcoin, swapWebManifestId: "swap-live-app-demo-0" }));
25
- expect(result.current).toBe(true);
25
+ expect(result.current.enabled).toBe(true);
26
26
  });
27
27
  it("returns true when currencyFrom family is in families array and feature is enabled", () => {
28
28
  useMockFeature.mockReturnValue({
@@ -30,7 +30,7 @@ describe("useIsSwapLiveApp hook", () => {
30
30
  params: { families: ["bitcoin"], currencies: [] },
31
31
  });
32
32
  const { result } = renderHook(() => useIsSwapLiveApp({ currencyFrom: bitcoin, swapWebManifestId: "swap-live-app-demo-0" }));
33
- expect(result.current).toBe(true);
33
+ expect(result.current.enabled).toBe(true);
34
34
  });
35
35
  it("returns true when currencyFrom is in currencies array and feature is enabled", () => {
36
36
  useMockFeature.mockReturnValue({
@@ -38,7 +38,7 @@ describe("useIsSwapLiveApp hook", () => {
38
38
  params: { families: [], currencies: ["bitcoin"] },
39
39
  });
40
40
  const { result } = renderHook(() => useIsSwapLiveApp({ currencyFrom: bitcoin, swapWebManifestId: "swap-live-app-demo-0" }));
41
- expect(result.current).toBe(true);
41
+ expect(result.current.enabled).toBe(true);
42
42
  });
43
43
  it("returns false when currencyFrom family is not in families, currencyFrom is not in currencies, and feature is disabled", () => {
44
44
  useMockFeature.mockReturnValue({
@@ -46,7 +46,7 @@ describe("useIsSwapLiveApp hook", () => {
46
46
  params: { families: ["ethereum"], currencies: ["ethereum"] },
47
47
  });
48
48
  const { result } = renderHook(() => useIsSwapLiveApp({ currencyFrom: bitcoin, swapWebManifestId: "swap-live-app-demo-0" }));
49
- expect(result.current).toBe(false);
49
+ expect(result.current.enabled).toBe(false);
50
50
  });
51
51
  it("returns enabled flag if both families and currencies are empty arrays", () => {
52
52
  useMockFeature.mockReturnValue({
@@ -54,14 +54,14 @@ describe("useIsSwapLiveApp hook", () => {
54
54
  params: { families: [], currencies: [] },
55
55
  });
56
56
  const { result } = renderHook(() => useIsSwapLiveApp({ currencyFrom: bitcoin, swapWebManifestId: "swap-live-app-demo-0" }));
57
- expect(result.current).toBe(true);
57
+ expect(result.current.enabled).toBe(true);
58
58
  });
59
59
  });
60
60
  describe("flag with nested manifest properties", () => {
61
61
  it("returns the enabled flag when currencyFrom is not defined", () => {
62
62
  useMockFeature.mockReturnValue({ enabled: true, "swap-live-app-demo-0": { enabled: true } });
63
63
  const { result } = renderHook(() => useIsSwapLiveApp({ currencyFrom: undefined, swapWebManifestId: "swap-live-app-demo-0" }));
64
- expect(result.current).toBe(true);
64
+ expect(result.current.enabled).toBe(true);
65
65
  });
66
66
  it("returns the enabled flag when families and currencies are not defined", () => {
67
67
  useMockFeature.mockReturnValue({
@@ -70,7 +70,7 @@ describe("useIsSwapLiveApp hook", () => {
70
70
  "swap-live-app-demo-0": { enabled: true },
71
71
  });
72
72
  const { result } = renderHook(() => useIsSwapLiveApp({ currencyFrom: bitcoin, swapWebManifestId: "swap-live-app-demo-0" }));
73
- expect(result.current).toBe(true);
73
+ expect(result.current.enabled).toBe(true);
74
74
  });
75
75
  it("returns true when currencyFrom family is in families array and feature is enabled", () => {
76
76
  useMockFeature.mockReturnValue({
@@ -81,7 +81,7 @@ describe("useIsSwapLiveApp hook", () => {
81
81
  },
82
82
  });
83
83
  const { result } = renderHook(() => useIsSwapLiveApp({ currencyFrom: bitcoin, swapWebManifestId: "swap-live-app-demo-0" }));
84
- expect(result.current).toBe(true);
84
+ expect(result.current.enabled).toBe(true);
85
85
  });
86
86
  it("returns true when currencyFrom is in currencies array and feature is enabled", () => {
87
87
  useMockFeature.mockReturnValue({
@@ -92,7 +92,7 @@ describe("useIsSwapLiveApp hook", () => {
92
92
  },
93
93
  });
94
94
  const { result } = renderHook(() => useIsSwapLiveApp({ currencyFrom: bitcoin, swapWebManifestId: "swap-live-app-demo-0" }));
95
- expect(result.current).toBe(true);
95
+ expect(result.current.enabled).toBe(true);
96
96
  });
97
97
  it("returns false when currencyFrom family is not in families, currencyFrom is not in currencies, and feature is disabled", () => {
98
98
  useMockFeature.mockReturnValue({
@@ -103,7 +103,7 @@ describe("useIsSwapLiveApp hook", () => {
103
103
  },
104
104
  });
105
105
  const { result } = renderHook(() => useIsSwapLiveApp({ currencyFrom: bitcoin, swapWebManifestId: "swap-live-app-demo-0" }));
106
- expect(result.current).toBe(false);
106
+ expect(result.current.enabled).toBe(false);
107
107
  });
108
108
  it("returns enabled flag if both families and currencies are empty arrays", () => {
109
109
  useMockFeature.mockReturnValue({
@@ -114,7 +114,7 @@ describe("useIsSwapLiveApp hook", () => {
114
114
  },
115
115
  });
116
116
  const { result } = renderHook(() => useIsSwapLiveApp({ currencyFrom: bitcoin, swapWebManifestId: "swap-live-app-demo-0" }));
117
- expect(result.current).toBe(true);
117
+ expect(result.current.enabled).toBe(true);
118
118
  });
119
119
  });
120
120
  });
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useIsSwapLiveApp.test.js","sourceRoot":"","sources":["../../../../../src/exchange/swap/hooks/live-app-migration/useIsSwapLiveApp.test.ts"],"names":[],"mappings":"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"}