@ledgerhq/live-common 34.48.0-nightly.0 → 34.48.0-nightly.2

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 (211) hide show
  1. package/lib/bridge/crypto-assets/index.d.ts.map +1 -1
  2. package/lib/bridge/crypto-assets/index.js +0 -4
  3. package/lib/bridge/crypto-assets/index.js.map +1 -1
  4. package/lib/bridge/crypto-assets/index.test.js +0 -36
  5. package/lib/bridge/crypto-assets/index.test.js.map +1 -1
  6. package/lib/bridge/generic-alpaca/alpaca/network/network-alpaca.d.ts +2 -2
  7. package/lib/bridge/generic-alpaca/alpaca/network/network-alpaca.d.ts.map +1 -1
  8. package/lib/bridge/generic-alpaca/alpaca/network/network-alpaca.js +1 -1
  9. package/lib/bridge/generic-alpaca/alpaca/network/network-alpaca.js.map +1 -1
  10. package/lib/bridge/generic-alpaca/signOperation.js +1 -1
  11. package/lib/bridge/generic-alpaca/signOperation.js.map +1 -1
  12. package/lib/config/sharedConfig.d.ts.map +1 -1
  13. package/lib/config/sharedConfig.js +2 -0
  14. package/lib/config/sharedConfig.js.map +1 -1
  15. package/lib/e2e/index.d.ts +4 -4
  16. package/lib/e2e/index.d.ts.map +1 -1
  17. package/lib/env.react.d.ts +1 -1
  18. package/lib/env.react.d.ts.map +1 -1
  19. package/lib/families/canton/bridge/mock-data.d.ts +6 -0
  20. package/lib/families/canton/bridge/mock-data.d.ts.map +1 -0
  21. package/lib/families/canton/bridge/mock-data.js +120 -0
  22. package/lib/families/canton/bridge/mock-data.js.map +1 -0
  23. package/lib/families/canton/bridge/mock.d.ts +12 -0
  24. package/lib/families/canton/bridge/mock.d.ts.map +1 -0
  25. package/lib/families/canton/bridge/mock.js +154 -0
  26. package/lib/families/canton/bridge/mock.js.map +1 -0
  27. package/lib/families/canton/config.d.ts.map +1 -1
  28. package/lib/families/canton/config.js +5 -2
  29. package/lib/families/canton/config.js.map +1 -1
  30. package/lib/families/canton/setup.d.ts.map +1 -1
  31. package/lib/families/canton/setup.js +8 -2
  32. package/lib/families/canton/setup.js.map +1 -1
  33. package/lib/featureFlags/defaultFeatures.d.ts.map +1 -1
  34. package/lib/featureFlags/defaultFeatures.js +0 -1
  35. package/lib/featureFlags/defaultFeatures.js.map +1 -1
  36. package/lib/featureFlags/useFeature.d.ts +1 -1
  37. package/lib/featureFlags/useFeature.d.ts.map +1 -1
  38. package/lib/generated/bridge/mock.d.ts +8 -0
  39. package/lib/generated/bridge/mock.d.ts.map +1 -1
  40. package/lib/generated/bridge/mock.js +26 -24
  41. package/lib/generated/bridge/mock.js.map +1 -1
  42. package/lib/modularDrawer/hooks/__test__/useModularDrawerConfiguration.test.d.ts +2 -0
  43. package/lib/modularDrawer/hooks/__test__/useModularDrawerConfiguration.test.d.ts.map +1 -0
  44. package/lib/modularDrawer/hooks/__test__/useModularDrawerConfiguration.test.js +206 -0
  45. package/lib/modularDrawer/hooks/__test__/useModularDrawerConfiguration.test.js.map +1 -0
  46. package/lib/modularDrawer/hooks/useAssetsData.d.ts +1 -0
  47. package/lib/modularDrawer/hooks/useAssetsData.d.ts.map +1 -1
  48. package/lib/modularDrawer/hooks/useAssetsData.js +3 -2
  49. package/lib/modularDrawer/hooks/useAssetsData.js.map +1 -1
  50. package/lib/modularDrawer/hooks/useModularDrawerConfiguration.d.ts +13 -0
  51. package/lib/modularDrawer/hooks/useModularDrawerConfiguration.d.ts.map +1 -0
  52. package/lib/modularDrawer/hooks/useModularDrawerConfiguration.js +29 -0
  53. package/lib/modularDrawer/hooks/useModularDrawerConfiguration.js.map +1 -0
  54. package/lib/modularDrawer/hooks/useSearch.d.ts +16 -0
  55. package/lib/modularDrawer/hooks/useSearch.d.ts.map +1 -0
  56. package/lib/modularDrawer/hooks/useSearch.js +24 -0
  57. package/lib/modularDrawer/hooks/useSearch.js.map +1 -0
  58. package/lib/notifications/ServiceStatusProvider/index.d.ts +16 -1
  59. package/lib/notifications/ServiceStatusProvider/index.d.ts.map +1 -1
  60. package/lib/notifications/ServiceStatusProvider/index.js +31 -7
  61. package/lib/notifications/ServiceStatusProvider/index.js.map +1 -1
  62. package/lib/notifications/ServiceStatusProvider/index.test.d.ts +2 -0
  63. package/lib/notifications/ServiceStatusProvider/index.test.d.ts.map +1 -0
  64. package/lib/notifications/ServiceStatusProvider/index.test.js +88 -0
  65. package/lib/notifications/ServiceStatusProvider/index.test.js.map +1 -0
  66. package/lib/notifications/ServiceStatusProvider/ledger-components.d.ts +2 -0
  67. package/lib/notifications/ServiceStatusProvider/ledger-components.d.ts.map +1 -0
  68. package/lib/notifications/ServiceStatusProvider/ledger-components.js +16 -0
  69. package/lib/notifications/ServiceStatusProvider/ledger-components.js.map +1 -0
  70. package/lib/wallet-api/ACRE/server.d.ts +13 -6
  71. package/lib/wallet-api/ACRE/server.d.ts.map +1 -1
  72. package/lib/wallet-api/ACRE/server.js +142 -1
  73. package/lib/wallet-api/ACRE/server.js.map +1 -1
  74. package/lib/wallet-api/ACRE/server.test.d.ts +2 -0
  75. package/lib/wallet-api/ACRE/server.test.d.ts.map +1 -0
  76. package/lib/wallet-api/ACRE/server.test.js +393 -0
  77. package/lib/wallet-api/ACRE/server.test.js.map +1 -0
  78. package/lib-es/bridge/crypto-assets/index.d.ts.map +1 -1
  79. package/lib-es/bridge/crypto-assets/index.js +0 -4
  80. package/lib-es/bridge/crypto-assets/index.js.map +1 -1
  81. package/lib-es/bridge/crypto-assets/index.test.js +0 -36
  82. package/lib-es/bridge/crypto-assets/index.test.js.map +1 -1
  83. package/lib-es/bridge/generic-alpaca/alpaca/network/network-alpaca.d.ts +2 -2
  84. package/lib-es/bridge/generic-alpaca/alpaca/network/network-alpaca.d.ts.map +1 -1
  85. package/lib-es/bridge/generic-alpaca/alpaca/network/network-alpaca.js +1 -1
  86. package/lib-es/bridge/generic-alpaca/alpaca/network/network-alpaca.js.map +1 -1
  87. package/lib-es/bridge/generic-alpaca/signOperation.js +1 -1
  88. package/lib-es/bridge/generic-alpaca/signOperation.js.map +1 -1
  89. package/lib-es/config/sharedConfig.d.ts.map +1 -1
  90. package/lib-es/config/sharedConfig.js +2 -0
  91. package/lib-es/config/sharedConfig.js.map +1 -1
  92. package/lib-es/e2e/index.d.ts +4 -4
  93. package/lib-es/e2e/index.d.ts.map +1 -1
  94. package/lib-es/env.react.d.ts +1 -1
  95. package/lib-es/env.react.d.ts.map +1 -1
  96. package/lib-es/families/canton/bridge/mock-data.d.ts +6 -0
  97. package/lib-es/families/canton/bridge/mock-data.d.ts.map +1 -0
  98. package/lib-es/families/canton/bridge/mock-data.js +116 -0
  99. package/lib-es/families/canton/bridge/mock-data.js.map +1 -0
  100. package/lib-es/families/canton/bridge/mock.d.ts +12 -0
  101. package/lib-es/families/canton/bridge/mock.d.ts.map +1 -0
  102. package/lib-es/families/canton/bridge/mock.js +152 -0
  103. package/lib-es/families/canton/bridge/mock.js.map +1 -0
  104. package/lib-es/families/canton/config.d.ts.map +1 -1
  105. package/lib-es/families/canton/config.js +5 -2
  106. package/lib-es/families/canton/config.js.map +1 -1
  107. package/lib-es/families/canton/setup.d.ts.map +1 -1
  108. package/lib-es/families/canton/setup.js +8 -2
  109. package/lib-es/families/canton/setup.js.map +1 -1
  110. package/lib-es/featureFlags/defaultFeatures.d.ts.map +1 -1
  111. package/lib-es/featureFlags/defaultFeatures.js +0 -1
  112. package/lib-es/featureFlags/defaultFeatures.js.map +1 -1
  113. package/lib-es/featureFlags/useFeature.d.ts +1 -1
  114. package/lib-es/featureFlags/useFeature.d.ts.map +1 -1
  115. package/lib-es/generated/bridge/mock.d.ts +8 -0
  116. package/lib-es/generated/bridge/mock.d.ts.map +1 -1
  117. package/lib-es/generated/bridge/mock.js +2 -0
  118. package/lib-es/generated/bridge/mock.js.map +1 -1
  119. package/lib-es/modularDrawer/hooks/__test__/useModularDrawerConfiguration.test.d.ts +2 -0
  120. package/lib-es/modularDrawer/hooks/__test__/useModularDrawerConfiguration.test.d.ts.map +1 -0
  121. package/lib-es/modularDrawer/hooks/__test__/useModularDrawerConfiguration.test.js +204 -0
  122. package/lib-es/modularDrawer/hooks/__test__/useModularDrawerConfiguration.test.js.map +1 -0
  123. package/lib-es/modularDrawer/hooks/useAssetsData.d.ts +1 -0
  124. package/lib-es/modularDrawer/hooks/useAssetsData.d.ts.map +1 -1
  125. package/lib-es/modularDrawer/hooks/useAssetsData.js +3 -2
  126. package/lib-es/modularDrawer/hooks/useAssetsData.js.map +1 -1
  127. package/lib-es/modularDrawer/hooks/useModularDrawerConfiguration.d.ts +13 -0
  128. package/lib-es/modularDrawer/hooks/useModularDrawerConfiguration.d.ts.map +1 -0
  129. package/lib-es/modularDrawer/hooks/useModularDrawerConfiguration.js +25 -0
  130. package/lib-es/modularDrawer/hooks/useModularDrawerConfiguration.js.map +1 -0
  131. package/lib-es/modularDrawer/hooks/useSearch.d.ts +16 -0
  132. package/lib-es/modularDrawer/hooks/useSearch.d.ts.map +1 -0
  133. package/lib-es/modularDrawer/hooks/useSearch.js +20 -0
  134. package/lib-es/modularDrawer/hooks/useSearch.js.map +1 -0
  135. package/lib-es/notifications/ServiceStatusProvider/index.d.ts +16 -1
  136. package/lib-es/notifications/ServiceStatusProvider/index.d.ts.map +1 -1
  137. package/lib-es/notifications/ServiceStatusProvider/index.js +31 -7
  138. package/lib-es/notifications/ServiceStatusProvider/index.js.map +1 -1
  139. package/lib-es/notifications/ServiceStatusProvider/index.test.d.ts +2 -0
  140. package/lib-es/notifications/ServiceStatusProvider/index.test.d.ts.map +1 -0
  141. package/lib-es/notifications/ServiceStatusProvider/index.test.js +86 -0
  142. package/lib-es/notifications/ServiceStatusProvider/index.test.js.map +1 -0
  143. package/lib-es/notifications/ServiceStatusProvider/ledger-components.d.ts +2 -0
  144. package/lib-es/notifications/ServiceStatusProvider/ledger-components.d.ts.map +1 -0
  145. package/lib-es/notifications/ServiceStatusProvider/ledger-components.js +13 -0
  146. package/lib-es/notifications/ServiceStatusProvider/ledger-components.js.map +1 -0
  147. package/lib-es/wallet-api/ACRE/server.d.ts +13 -6
  148. package/lib-es/wallet-api/ACRE/server.d.ts.map +1 -1
  149. package/lib-es/wallet-api/ACRE/server.js +140 -2
  150. package/lib-es/wallet-api/ACRE/server.js.map +1 -1
  151. package/lib-es/wallet-api/ACRE/server.test.d.ts +2 -0
  152. package/lib-es/wallet-api/ACRE/server.test.d.ts.map +1 -0
  153. package/lib-es/wallet-api/ACRE/server.test.js +388 -0
  154. package/lib-es/wallet-api/ACRE/server.test.js.map +1 -0
  155. package/package.json +48 -48
  156. package/src/bridge/crypto-assets/index.test.ts +0 -47
  157. package/src/bridge/crypto-assets/index.ts +0 -5
  158. package/src/bridge/generic-alpaca/alpaca/network/network-alpaca.ts +4 -3
  159. package/src/bridge/generic-alpaca/signOperation.ts +1 -1
  160. package/src/config/sharedConfig.ts +2 -0
  161. package/src/families/canton/bridge/mock-data.ts +175 -0
  162. package/src/families/canton/bridge/mock.ts +180 -0
  163. package/src/families/canton/config.ts +5 -3
  164. package/src/families/canton/setup.ts +8 -5
  165. package/src/featureFlags/defaultFeatures.ts +0 -1
  166. package/src/generated/bridge/mock.ts +2 -0
  167. package/src/modularDrawer/hooks/__test__/useModularDrawerConfiguration.test.ts +251 -0
  168. package/src/modularDrawer/hooks/useAssetsData.ts +3 -2
  169. package/src/modularDrawer/hooks/useModularDrawerConfiguration.ts +33 -0
  170. package/src/modularDrawer/hooks/useSearch.ts +52 -0
  171. package/src/notifications/ServiceStatusProvider/index.test.ts +102 -0
  172. package/src/notifications/ServiceStatusProvider/index.tsx +37 -12
  173. package/src/notifications/ServiceStatusProvider/ledger-components.ts +12 -0
  174. package/src/wallet-api/ACRE/server.test.ts +470 -0
  175. package/src/wallet-api/ACRE/server.ts +202 -14
  176. package/lib/bridge/crypto-assets/cal-integration.d.ts +0 -4
  177. package/lib/bridge/crypto-assets/cal-integration.d.ts.map +0 -1
  178. package/lib/bridge/crypto-assets/cal-integration.js +0 -26
  179. package/lib/bridge/crypto-assets/cal-integration.js.map +0 -1
  180. package/lib/bridge/crypto-assets/cal-integration.test.d.ts +0 -2
  181. package/lib/bridge/crypto-assets/cal-integration.test.d.ts.map +0 -1
  182. package/lib/bridge/crypto-assets/cal-integration.test.js +0 -45
  183. package/lib/bridge/crypto-assets/cal-integration.test.js.map +0 -1
  184. package/lib/bridge/crypto-assets/cal-store.d.ts +0 -14
  185. package/lib/bridge/crypto-assets/cal-store.d.ts.map +0 -1
  186. package/lib/bridge/crypto-assets/cal-store.js +0 -58
  187. package/lib/bridge/crypto-assets/cal-store.js.map +0 -1
  188. package/lib/bridge/crypto-assets/cal-store.test.d.ts +0 -2
  189. package/lib/bridge/crypto-assets/cal-store.test.d.ts.map +0 -1
  190. package/lib/bridge/crypto-assets/cal-store.test.js +0 -70
  191. package/lib/bridge/crypto-assets/cal-store.test.js.map +0 -1
  192. package/lib-es/bridge/crypto-assets/cal-integration.d.ts +0 -4
  193. package/lib-es/bridge/crypto-assets/cal-integration.d.ts.map +0 -1
  194. package/lib-es/bridge/crypto-assets/cal-integration.js +0 -21
  195. package/lib-es/bridge/crypto-assets/cal-integration.js.map +0 -1
  196. package/lib-es/bridge/crypto-assets/cal-integration.test.d.ts +0 -2
  197. package/lib-es/bridge/crypto-assets/cal-integration.test.d.ts.map +0 -1
  198. package/lib-es/bridge/crypto-assets/cal-integration.test.js +0 -43
  199. package/lib-es/bridge/crypto-assets/cal-integration.test.js.map +0 -1
  200. package/lib-es/bridge/crypto-assets/cal-store.d.ts +0 -14
  201. package/lib-es/bridge/crypto-assets/cal-store.d.ts.map +0 -1
  202. package/lib-es/bridge/crypto-assets/cal-store.js +0 -54
  203. package/lib-es/bridge/crypto-assets/cal-store.js.map +0 -1
  204. package/lib-es/bridge/crypto-assets/cal-store.test.d.ts +0 -2
  205. package/lib-es/bridge/crypto-assets/cal-store.test.d.ts.map +0 -1
  206. package/lib-es/bridge/crypto-assets/cal-store.test.js +0 -68
  207. package/lib-es/bridge/crypto-assets/cal-store.test.js.map +0 -1
  208. package/src/bridge/crypto-assets/cal-integration.test.ts +0 -53
  209. package/src/bridge/crypto-assets/cal-integration.ts +0 -23
  210. package/src/bridge/crypto-assets/cal-store.test.ts +0 -93
  211. package/src/bridge/crypto-assets/cal-store.ts +0 -63
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useModularDrawerConfiguration = void 0;
4
+ const featureFlags_1 = require("../../featureFlags");
5
+ const assetConfigurationDisabled = {
6
+ rightElement: "undefined",
7
+ leftElement: "undefined",
8
+ filter: "undefined",
9
+ };
10
+ const networkConfigurationDisabled = {
11
+ rightElement: "undefined",
12
+ leftElement: "undefined",
13
+ };
14
+ const useModularDrawerConfiguration = (featureFlagKey, drawerConfiguration) => {
15
+ const featureModularDrawer = (0, featureFlags_1.useFeature)(featureFlagKey);
16
+ const modularizationEnabled = featureModularDrawer?.params?.enableModularization ?? false;
17
+ const assetsConfiguration = modularizationEnabled
18
+ ? drawerConfiguration?.assets
19
+ : assetConfigurationDisabled;
20
+ const networkConfiguration = modularizationEnabled
21
+ ? drawerConfiguration?.networks
22
+ : networkConfigurationDisabled;
23
+ return {
24
+ assetsConfiguration,
25
+ networkConfiguration,
26
+ };
27
+ };
28
+ exports.useModularDrawerConfiguration = useModularDrawerConfiguration;
29
+ //# sourceMappingURL=useModularDrawerConfiguration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useModularDrawerConfiguration.js","sourceRoot":"","sources":["../../../src/modularDrawer/hooks/useModularDrawerConfiguration.ts"],"names":[],"mappings":";;;AAAA,qDAAgD;AAGhD,MAAM,0BAA0B,GAAiD;IAC/E,YAAY,EAAE,WAAW;IACzB,WAAW,EAAE,WAAW;IACxB,MAAM,EAAE,WAAW;CACpB,CAAC;AAEF,MAAM,4BAA4B,GAAmD;IACnF,YAAY,EAAE,WAAW;IACzB,WAAW,EAAE,WAAW;CACzB,CAAC;AAEK,MAAM,6BAA6B,GAAG,CAC3C,cAAuD,EACvD,mBAAwD,EACxD,EAAE;IACF,MAAM,oBAAoB,GAAG,IAAA,yBAAU,EAAC,cAAc,CAAC,CAAC;IAExD,MAAM,qBAAqB,GAAG,oBAAoB,EAAE,MAAM,EAAE,oBAAoB,IAAI,KAAK,CAAC;IAC1F,MAAM,mBAAmB,GAAG,qBAAqB;QAC/C,CAAC,CAAC,mBAAmB,EAAE,MAAM;QAC7B,CAAC,CAAC,0BAA0B,CAAC;IAC/B,MAAM,oBAAoB,GAAG,qBAAqB;QAChD,CAAC,CAAC,mBAAmB,EAAE,QAAQ;QAC/B,CAAC,CAAC,4BAA4B,CAAC;IAEjC,OAAO;QACL,mBAAmB;QACnB,oBAAoB;KACrB,CAAC;AACJ,CAAC,CAAC;AAlBW,QAAA,6BAA6B,iCAkBxC"}
@@ -0,0 +1,16 @@
1
+ import { ChangeEvent } from "react";
2
+ export type UseSearchParams = {
3
+ /** Initial value to display in the search input */
4
+ initialValue?: string;
5
+ /** Persist the search value to the host app state (e.g., Redux) */
6
+ onPersistSearchValue?: (value: string) => void;
7
+ /** Track analytics when the debounced value changes and should be emitted */
8
+ onTrackSearch?: (query: string) => void;
9
+ };
10
+ export type UseSearchResult = {
11
+ handleSearch: (queryOrEvent: string | ChangeEvent<HTMLInputElement>) => void;
12
+ handleDebouncedChange: (current: string, previous: string) => void;
13
+ displayedValue: string | undefined;
14
+ };
15
+ export declare function useSearchCommon({ initialValue, onPersistSearchValue, onTrackSearch, }: UseSearchParams): UseSearchResult;
16
+ //# sourceMappingURL=useSearch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSearch.d.ts","sourceRoot":"","sources":["../../../src/modularDrawer/hooks/useSearch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAyB,MAAM,OAAO,CAAC;AAE3D,MAAM,MAAM,eAAe,GAAG;IAC5B,mDAAmD;IACnD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mEAAmE;IACnE,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,6EAA6E;IAC7E,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,YAAY,EAAE,CAAC,YAAY,EAAE,MAAM,GAAG,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IAC7E,qBAAqB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACnE,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC,CAAC;AAIF,wBAAgB,eAAe,CAAC,EAC9B,YAAY,EACZ,oBAAoB,EACpB,aAAa,GACd,EAAE,eAAe,GAAG,eAAe,CA4BnC"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useSearchCommon = void 0;
4
+ const react_1 = require("react");
5
+ const normalize = (value) => value.trim();
6
+ function useSearchCommon({ initialValue, onPersistSearchValue, onTrackSearch, }) {
7
+ const [displayedValue, setDisplayedValue] = (0, react_1.useState)(initialValue);
8
+ const handleSearch = (0, react_1.useCallback)((queryOrEvent) => {
9
+ const nextValue = typeof queryOrEvent === "string" ? queryOrEvent : queryOrEvent.target.value;
10
+ setDisplayedValue(nextValue);
11
+ }, []);
12
+ const shouldEmitEvent = (0, react_1.useCallback)((currentQuery, previousQuery) => currentQuery !== "" && currentQuery !== previousQuery, []);
13
+ const handleDebouncedChange = (0, react_1.useCallback)((current, previous) => {
14
+ const currentQuery = normalize(current);
15
+ const previousQuery = normalize(previous);
16
+ onPersistSearchValue?.(currentQuery);
17
+ if (!shouldEmitEvent(currentQuery, previousQuery))
18
+ return;
19
+ onTrackSearch?.(currentQuery);
20
+ }, [onPersistSearchValue, onTrackSearch, shouldEmitEvent]);
21
+ return { handleSearch, handleDebouncedChange, displayedValue };
22
+ }
23
+ exports.useSearchCommon = useSearchCommon;
24
+ //# sourceMappingURL=useSearch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSearch.js","sourceRoot":"","sources":["../../../src/modularDrawer/hooks/useSearch.ts"],"names":[],"mappings":";;;AAAA,iCAA2D;AAiB3D,MAAM,SAAS,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;AAElD,SAAgB,eAAe,CAAC,EAC9B,YAAY,EACZ,oBAAoB,EACpB,aAAa,GACG;IAChB,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,IAAA,gBAAQ,EAAqB,YAAY,CAAC,CAAC;IAEvF,MAAM,YAAY,GAAG,IAAA,mBAAW,EAAC,CAAC,YAAoD,EAAE,EAAE;QACxF,MAAM,SAAS,GAAG,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC;QAC9F,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAC/B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,eAAe,GAAG,IAAA,mBAAW,EACjC,CAAC,YAAoB,EAAE,aAAqB,EAAE,EAAE,CAC9C,YAAY,KAAK,EAAE,IAAI,YAAY,KAAK,aAAa,EACvD,EAAE,CACH,CAAC;IACF,MAAM,qBAAqB,GAAG,IAAA,mBAAW,EACvC,CAAC,OAAe,EAAE,QAAgB,EAAE,EAAE;QACpC,MAAM,YAAY,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;QAE1C,oBAAoB,EAAE,CAAC,YAAY,CAAC,CAAC;QAErC,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,aAAa,CAAC;YAAE,OAAO;QAE1D,aAAa,EAAE,CAAC,YAAY,CAAC,CAAC;IAChC,CAAC,EACD,CAAC,oBAAoB,EAAE,aAAa,EAAE,eAAe,CAAC,CACvD,CAAC;IAEF,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,cAAc,EAAE,CAAC;AACjE,CAAC;AAhCD,0CAgCC"}
@@ -11,7 +11,22 @@ type API = {
11
11
  };
12
12
  export type StatusContextType = State & API;
13
13
  export declare function useServiceStatus(): StatusContextType;
14
- export declare function filterServiceStatusIncidents(incidents: Incident[], tickers?: string[]): Incident[];
14
+ /**
15
+ * Filters service status incidents based on related tickers or Ledger components.
16
+ *
17
+ * ## Behavior:
18
+ * - If there are no `tickers` or no `incidents`, returns an empty list.
19
+ * - For each incident:
20
+ * 1. ✅ If the incident has no components → keep it (always relevant).
21
+ * 2. ✅ If at least one component name matches a known **Ledger component** → keep it.
22
+ * 3. ✅ If at least one component name contains a **currency ticker** → keep it.
23
+ * 4. ❌ Otherwise, the incident is discarded.
24
+ *
25
+ * @param {Incident[]} [incidents=[]] - List of incidents to filter.
26
+ * @param {string[]} [tickers=[]] - List of currency tickers to match against incident components.
27
+ * @returns {Incident[]} The list of incidents relevant to the provided tickers or Ledger components.
28
+ */
29
+ export declare function filterServiceStatusIncidents(incidents?: Incident[], tickers?: string[]): Incident[];
15
30
  export declare function useFilteredServiceStatus(filters?: ServiceStatusUserSettings): StatusContextType;
16
31
  export declare const ServiceStatusProvider: ({ children, autoUpdateDelay, networkApi, context, }: Props) => ReactElement;
17
32
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/notifications/ServiceStatusProvider/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAmD,YAAY,EAAE,MAAM,OAAO,CAAC;AAC7F,OAAO,KAAK,EAAE,KAAK,EAAE,yBAAyB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAK5F,KAAK,KAAK,GAAG;IACX,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,OAAO,CAAC,EAAE,yBAAyB,CAAC;CACrC,CAAC;AAEF,KAAK,GAAG,GAAG;IACT,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,KAAK,GAAG,GAAG,CAAC;AAU5C,wBAAgB,gBAAgB,IAAI,iBAAiB,CAEpD;AAMD,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,QAAQ,EAAE,EACrB,OAAO,GAAE,MAAM,EAAO,GACrB,QAAQ,EAAE,CAYZ;AAGD,wBAAgB,wBAAwB,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,iBAAiB,CAQ/F;AAED,eAAO,MAAM,qBAAqB,wDAK/B,KAAK,KAAG,YA+BV,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/notifications/ServiceStatusProvider/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAmD,YAAY,EAAE,MAAM,OAAO,CAAC;AAC7F,OAAO,KAAK,EAAE,KAAK,EAAE,yBAAyB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAM5F,KAAK,KAAK,GAAG;IACX,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,OAAO,CAAC,EAAE,yBAAyB,CAAC;CACrC,CAAC;AAEF,KAAK,GAAG,GAAG;IACT,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,KAAK,GAAG,GAAG,CAAC;AAU5C,wBAAgB,gBAAgB,IAAI,iBAAiB,CAEpD;AAUD;;;;;;;;;;;;;;GAcG;AAEH,wBAAgB,4BAA4B,CAC1C,SAAS,GAAE,QAAQ,EAAO,EAC1B,OAAO,GAAE,MAAM,EAAO,GACrB,QAAQ,EAAE,CAeZ;AAGD,wBAAgB,wBAAwB,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,iBAAiB,CAS/F;AAED,eAAO,MAAM,qBAAqB,wDAK/B,KAAK,KAAG,YA+BV,CAAC"}
@@ -32,6 +32,7 @@ const api_1 = __importDefault(require("./api"));
32
32
  const xstate_1 = require("xstate");
33
33
  const react_2 = require("@xstate/react");
34
34
  const machine_1 = require("./machine");
35
+ const ledger_components_1 = require("./ledger-components");
35
36
  const ServiceStatusContext = (0, react_1.createContext)({
36
37
  incidents: [],
37
38
  isLoading: false,
@@ -47,14 +48,37 @@ exports.useServiceStatus = useServiceStatus;
47
48
  function escapeRegExp(string) {
48
49
  return string.replace(/[.*+?^${}()[\]\\]/g, "\\$&"); // $& means the whole matched string
49
50
  }
50
- function filterServiceStatusIncidents(incidents, tickers = []) {
51
- if (!tickers || tickers.length === 0 || !incidents || incidents.length === 0) {
51
+ function sanitizeName(name) {
52
+ return name.toLowerCase().trim().replace(/\s+/g, " "); // collapse multiple spaces
53
+ }
54
+ /**
55
+ * Filters service status incidents based on related tickers or Ledger components.
56
+ *
57
+ * ## Behavior:
58
+ * - If there are no `tickers` or no `incidents`, returns an empty list.
59
+ * - For each incident:
60
+ * 1. ✅ If the incident has no components → keep it (always relevant).
61
+ * 2. ✅ If at least one component name matches a known **Ledger component** → keep it.
62
+ * 3. ✅ If at least one component name contains a **currency ticker** → keep it.
63
+ * 4. ❌ Otherwise, the incident is discarded.
64
+ *
65
+ * @param {Incident[]} [incidents=[]] - List of incidents to filter.
66
+ * @param {string[]} [tickers=[]] - List of currency tickers to match against incident components.
67
+ * @returns {Incident[]} The list of incidents relevant to the provided tickers or Ledger components.
68
+ */
69
+ function filterServiceStatusIncidents(incidents = [], tickers = []) {
70
+ if (!tickers.length || !incidents.length)
52
71
  return [];
53
- }
54
- const tickersRegex = new RegExp(escapeRegExp(tickers.join("|")), "i");
55
- return incidents.filter(({ components }) => !components || // dont filter out if no components
56
- components.length === 0 ||
57
- components.some(({ name }) => tickersRegex.test(name)));
72
+ const tickerRegex = new RegExp(`\\b(${tickers.map(escapeRegExp).join("|")})\\b`, "i");
73
+ const ledgerComponentsSet = new Set(ledger_components_1.LEDGER_COMPONENTS.map(component => sanitizeName(component)));
74
+ return incidents.filter(({ components }) => {
75
+ if (!components?.length)
76
+ return true;
77
+ return components.some(({ name }) => {
78
+ const sanitizedName = sanitizeName(name);
79
+ return ledgerComponentsSet.has(sanitizedName) || tickerRegex.test(sanitizedName);
80
+ });
81
+ });
58
82
  }
59
83
  exports.filterServiceStatusIncidents = filterServiceStatusIncidents;
60
84
  // filter out service status incidents by given currencies or fallback on context currencies
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/notifications/ServiceStatusProvider/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/notifications/ServiceStatusProvider/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../../src/notifications/ServiceStatusProvider/index.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const index_1 = require("./index");
4
+ const ledger_components_1 = require("./ledger-components");
5
+ const makeIncident = (overrides = {}) => ({
6
+ created_at: "2025-01-01T00:00:00Z",
7
+ id: Math.random().toString(16).slice(2),
8
+ impact: "minor",
9
+ incident_updates: [],
10
+ monitoring_at: null,
11
+ name: "Test incident",
12
+ page_id: null,
13
+ resolved_at: null,
14
+ shortlink: null,
15
+ status: "investigating",
16
+ updated_at: null,
17
+ ...overrides,
18
+ });
19
+ describe("filterServiceStatusIncidents", () => {
20
+ it("returns empty when no tickers or no incidents", () => {
21
+ expect((0, index_1.filterServiceStatusIncidents)([], ["BTC"]).length).toBe(0);
22
+ expect((0, index_1.filterServiceStatusIncidents)([makeIncident()], []).length).toBe(0);
23
+ });
24
+ it("matches incidents with known Ledger components (case-insensitive)", () => {
25
+ const incidents = [
26
+ makeIncident({ components: [{ id: "1", name: "Ledger Application Store" }] }),
27
+ makeIncident({ components: [{ id: "2", name: "ledger appliCAtion store" }] }),
28
+ makeIncident({ components: [{ id: "3", name: "Unknown Component" }] }),
29
+ ];
30
+ const result = (0, index_1.filterServiceStatusIncidents)(incidents, ["BTC"]);
31
+ expect(result.map(i => i.components?.[0].id)).toEqual(["1", "2"]);
32
+ });
33
+ it("matches incidents if a component contains a tracked ticker as a whole word (case-insensitive)", () => {
34
+ const incidents = [
35
+ makeIncident({ components: [{ id: "1", name: "BTC Node" }] }),
36
+ makeIncident({ components: [{ id: "2", name: "eth Node" }] }),
37
+ makeIncident({ components: [{ id: "3", name: "TETHER Service" }] }),
38
+ makeIncident({ components: [{ id: "4", name: "NOTBTCService" }] }),
39
+ ];
40
+ const result = (0, index_1.filterServiceStatusIncidents)(incidents, ["BTC", "ETH"]);
41
+ expect(result.map(i => i.components?.[0].id)).toEqual(["1", "2"]);
42
+ });
43
+ it("includes incidents with no components array or empty array", () => {
44
+ const incidents = [
45
+ makeIncident({ components: undefined }),
46
+ makeIncident({ components: [] }),
47
+ ];
48
+ const result = (0, index_1.filterServiceStatusIncidents)(incidents, ["BTC"]);
49
+ expect(result.length).toBe(2);
50
+ });
51
+ it("escapes tickers so special regex characters do not break matching", () => {
52
+ const incidents = [
53
+ makeIncident({ components: [{ id: "1", name: "USDT Node" }] }),
54
+ makeIncident({ components: [{ id: "2", name: "US.DT Node" }] }),
55
+ makeIncident({ components: [{ id: "3", name: "(USDT) Node" }] }),
56
+ makeIncident({ components: [{ id: "4", name: "Ethereum Node" }] }),
57
+ makeIncident({ components: [{ id: "5", name: "Ethereum (ETH) swap issue" }] }),
58
+ ];
59
+ const result = (0, index_1.filterServiceStatusIncidents)(incidents, ["USDT", "ETH"]);
60
+ expect(result.map(i => i.components?.[0].id)).toEqual(["1", "3", "5"]);
61
+ expect(result.length).toBe(3);
62
+ });
63
+ it("matches incidents for all known Ledger components", () => {
64
+ const incidents = ledger_components_1.LEDGER_COMPONENTS.map((name, index) => makeIncident({ components: [{ id: `${index + 1}`, name }] }));
65
+ const result = (0, index_1.filterServiceStatusIncidents)(incidents, ["BTC"]);
66
+ expect(result.length).toBe(ledger_components_1.LEDGER_COMPONENTS.length);
67
+ });
68
+ it("filters correctly with common tickers", () => {
69
+ const tickers = ["XRP", "SOL", "ETH", "BTC", "ADA", "USDC", "USDT"];
70
+ const incidents = [
71
+ makeIncident({ components: [{ id: "1", name: "BTC Node" }] }),
72
+ makeIncident({ components: [{ id: "2", name: "eth Node" }] }),
73
+ makeIncident({ components: [{ id: "3", name: "ADA-Service" }] }),
74
+ makeIncident({ components: [{ id: "4", name: "usdc gateway" }] }),
75
+ makeIncident({ components: [{ id: "5", name: "NOTUSDTService" }] }),
76
+ makeIncident({ components: [{ id: "6", name: "USDT" }] }),
77
+ makeIncident({ components: [{ id: "7", name: "xrp relayer" }] }),
78
+ makeIncident({ components: [{ id: "8", name: "SOL Node" }] }),
79
+ makeIncident({ components: [{ id: "9", name: "SOLANA Node" }] }),
80
+ makeIncident({ components: [{ id: "10", name: "Random Service" }] }),
81
+ makeIncident({ components: [] }),
82
+ ];
83
+ const result = (0, index_1.filterServiceStatusIncidents)(incidents, tickers);
84
+ expect(result.map(i => i.components?.[0]?.id)).toEqual(["1", "2", "3", "4", "6", "7", "8"]);
85
+ expect(result.length).toBe(8);
86
+ });
87
+ });
88
+ //# sourceMappingURL=index.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../src/notifications/ServiceStatusProvider/index.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const LEDGER_COMPONENTS: readonly ["Ledger Application Store", "Ledger Live Security Services", "Swap API", "Buy", "Earn Dashboard", "Crypto Assets Service", "Cloud Sync", "Trustchain", "Loyalty Program", "Card Program"];
2
+ //# sourceMappingURL=ledger-components.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ledger-components.d.ts","sourceRoot":"","sources":["../../../src/notifications/ServiceStatusProvider/ledger-components.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,qMAWpB,CAAC"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LEDGER_COMPONENTS = void 0;
4
+ exports.LEDGER_COMPONENTS = [
5
+ "Ledger Application Store",
6
+ "Ledger Live Security Services",
7
+ "Swap API",
8
+ "Buy",
9
+ "Earn Dashboard",
10
+ "Crypto Assets Service",
11
+ "Cloud Sync",
12
+ "Trustchain",
13
+ "Loyalty Program",
14
+ "Card Program",
15
+ ];
16
+ //# sourceMappingURL=ledger-components.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ledger-components.js","sourceRoot":"","sources":["../../../src/notifications/ServiceStatusProvider/ledger-components.ts"],"names":[],"mappings":";;;AAAa,QAAA,iBAAiB,GAAG;IAC/B,0BAA0B;IAC1B,+BAA+B;IAC/B,UAAU;IACV,KAAK;IACL,gBAAgB;IAChB,uBAAuB;IACvB,YAAY;IACZ,YAAY;IACZ,iBAAiB;IACjB,cAAc;CACN,CAAC"}
@@ -1,10 +1,10 @@
1
1
  import { RPCHandler } from "@ledgerhq/wallet-api-server";
2
2
  import { Account, AccountLike, AnyMessage, Operation, SignedOperation } from "@ledgerhq/types-live";
3
- import { MessageSignParams, MessageSignResult, SignOptions, TransactionOptions, TransactionSignAndBroadcastParams, TransactionSignAndBroadcastResult, TransactionSignParams, TransactionSignResult } from "@ledgerhq/wallet-api-acre-module";
4
- import { TrackingAPI } from "./tracking";
5
- import { AppManifest } from "../types";
3
+ import { MessageSignParams, MessageSignResult, SignOptions, TransactionOptions, TransactionSignAndBroadcastParams, TransactionSignAndBroadcastResult, TransactionSignParams, TransactionSignResult, RegisterYieldBearingEthereumAddressParams, RegisterYieldBearingEthereumAddressResult } from "@ledgerhq/wallet-api-acre-module";
6
4
  import { Transaction } from "../../generated/types";
7
- type ACREUiHooks = {
5
+ import { AppManifest } from "../types";
6
+ import { TrackingAPI } from "./tracking";
7
+ export type ACREUiHooks = {
8
8
  "custom.acre.messageSign": (params: {
9
9
  account: AccountLike;
10
10
  message: AnyMessage;
@@ -26,8 +26,15 @@ type ACREUiHooks = {
26
26
  onError: (error: Error) => void;
27
27
  }) => void;
28
28
  "custom.acre.transactionBroadcast"?: (account: AccountLike, parentAccount: Account | undefined, mainAccount: Account, optimisticOperation: Operation) => void;
29
+ "custom.acre.registerAccount": (params: {
30
+ parentAccount: Account;
31
+ accountName: string;
32
+ existingAccounts: Account[];
33
+ onSuccess: () => void;
34
+ onError: (error: Error) => void;
35
+ }) => void;
29
36
  };
30
- export declare const handlers: ({ accounts, tracking, manifest, uiHooks: { "custom.acre.messageSign": uiMessageSign, "custom.acre.transactionSign": uiTransactionSign, "custom.acre.transactionBroadcast": uiTransactionBroadcast, }, }: {
37
+ export declare const handlers: ({ accounts, tracking, manifest, uiHooks: { "custom.acre.messageSign": uiMessageSign, "custom.acre.transactionSign": uiTransactionSign, "custom.acre.transactionBroadcast": uiTransactionBroadcast, "custom.acre.registerAccount": uiRegisterAccount, }, }: {
31
38
  accounts: AccountLike[];
32
39
  tracking: TrackingAPI;
33
40
  manifest: AppManifest;
@@ -36,6 +43,6 @@ export declare const handlers: ({ accounts, tracking, manifest, uiHooks: { "cust
36
43
  readonly "custom.acre.messageSign": RPCHandler<MessageSignResult, MessageSignParams>;
37
44
  readonly "custom.acre.transactionSign": RPCHandler<TransactionSignResult, TransactionSignParams>;
38
45
  readonly "custom.acre.transactionSignAndBroadcast": RPCHandler<TransactionSignAndBroadcastResult, TransactionSignAndBroadcastParams>;
46
+ readonly "custom.acre.registerYieldBearingEthereumAddress": RPCHandler<RegisterYieldBearingEthereumAddressResult, RegisterYieldBearingEthereumAddressParams>;
39
47
  };
40
- export {};
41
48
  //# sourceMappingURL=server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/wallet-api/ACRE/server.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAiB,MAAM,6BAA6B,CAAC;AAQxE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEpG,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,EACX,kBAAkB,EAClB,iCAAiC,EACjC,iCAAiC,EACjC,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAMvC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAapD,KAAK,WAAW,GAAG;IACjB,yBAAyB,EAAE,CAAC,MAAM,EAAE;QAClC,OAAO,EAAE,WAAW,CAAC;QACrB,OAAO,EAAE,UAAU,CAAC;QACpB,OAAO,CAAC,EAAE,WAAW,CAAC;QACtB,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;QACvC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;QAChC,QAAQ,EAAE,MAAM,IAAI,CAAC;KACtB,KAAK,IAAI,CAAC;IACX,6BAA6B,EAAE,CAAC,MAAM,EAAE;QACtC,OAAO,EAAE,WAAW,CAAC;QACrB,aAAa,EAAE,OAAO,GAAG,SAAS,CAAC;QACnC,aAAa,EAAE;YACb,WAAW,EAAE,OAAO,CAAC;YACrB,eAAe,EAAE,OAAO,CAAC;YACzB,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;SAC9B,CAAC;QACF,OAAO,CAAC,EAAE,kBAAkB,CAAC;QAC7B,SAAS,EAAE,CAAC,eAAe,EAAE,eAAe,KAAK,IAAI,CAAC;QACtD,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;KACjC,KAAK,IAAI,CAAC;IACX,kCAAkC,CAAC,EAAE,CACnC,OAAO,EAAE,WAAW,EACpB,aAAa,EAAE,OAAO,GAAG,SAAS,EAClC,WAAW,EAAE,OAAO,EACpB,mBAAmB,EAAE,SAAS,KAC3B,IAAI,CAAC;CACX,CAAC;AAEF,eAAO,MAAM,QAAQ;cAUT,WAAW,EAAE;cACb,WAAW;cACX,WAAW;aACZ,WAAW;;;;;CAwNrB,CAAC"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/wallet-api/ACRE/server.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAiB,MAAM,6BAA6B,CAAC;AAQxE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGpG,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,EACX,kBAAkB,EAClB,iCAAiC,EACjC,iCAAiC,EACjC,qBAAqB,EACrB,qBAAqB,EACrB,yCAAyC,EACzC,yCAAyC,EAC1C,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAwBzC,MAAM,MAAM,WAAW,GAAG;IACxB,yBAAyB,EAAE,CAAC,MAAM,EAAE;QAClC,OAAO,EAAE,WAAW,CAAC;QACrB,OAAO,EAAE,UAAU,CAAC;QACpB,OAAO,CAAC,EAAE,WAAW,CAAC;QACtB,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;QACvC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;QAChC,QAAQ,EAAE,MAAM,IAAI,CAAC;KACtB,KAAK,IAAI,CAAC;IACX,6BAA6B,EAAE,CAAC,MAAM,EAAE;QACtC,OAAO,EAAE,WAAW,CAAC;QACrB,aAAa,EAAE,OAAO,GAAG,SAAS,CAAC;QACnC,aAAa,EAAE;YACb,WAAW,EAAE,OAAO,CAAC;YACrB,eAAe,EAAE,OAAO,CAAC;YACzB,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;SAC9B,CAAC;QACF,OAAO,CAAC,EAAE,kBAAkB,CAAC;QAC7B,SAAS,EAAE,CAAC,eAAe,EAAE,eAAe,KAAK,IAAI,CAAC;QACtD,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;KACjC,KAAK,IAAI,CAAC;IACX,kCAAkC,CAAC,EAAE,CACnC,OAAO,EAAE,WAAW,EACpB,aAAa,EAAE,OAAO,GAAG,SAAS,EAClC,WAAW,EAAE,OAAO,EACpB,mBAAmB,EAAE,SAAS,KAC3B,IAAI,CAAC;IACV,6BAA6B,EAAE,CAAC,MAAM,EAAE;QACtC,aAAa,EAAE,OAAO,CAAC;QACvB,WAAW,EAAE,MAAM,CAAC;QACpB,gBAAgB,EAAE,OAAO,EAAE,CAAC;QAC5B,SAAS,EAAE,MAAM,IAAI,CAAC;QACtB,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;KACjC,KAAK,IAAI,CAAC;CACZ,CAAC;AAwGF,eAAO,MAAM,QAAQ;cAWT,WAAW,EAAE;cACb,WAAW;cACX,WAAW;aACZ,WAAW;;;;;;CA8RrB,CAAC"}
@@ -1,4 +1,7 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.handlers = void 0;
4
7
  /* eslint-disable no-console */
@@ -6,11 +9,89 @@ const wallet_api_server_1 = require("@ledgerhq/wallet-api-server");
6
9
  const wallet_api_core_1 = require("@ledgerhq/wallet-api-core");
7
10
  const index_1 = require("@ledgerhq/coin-framework/account/index");
8
11
  const cryptoassets_1 = require("@ledgerhq/cryptoassets");
12
+ const currencies_1 = require("@ledgerhq/cryptoassets/currencies");
9
13
  const converters_1 = require("../converters");
10
14
  const bridge_1 = require("../../bridge");
11
15
  const errors_1 = require("@ledgerhq/errors");
12
16
  const live_env_1 = require("@ledgerhq/live-env");
13
- const handlers = ({ accounts, tracking, manifest, uiHooks: { "custom.acre.messageSign": uiMessageSign, "custom.acre.transactionSign": uiTransactionSign, "custom.acre.transactionBroadcast": uiTransactionBroadcast, }, }) => {
17
+ const bignumber_js_1 = __importDefault(require("bignumber.js"));
18
+ // Helper function to validate Ethereum address format
19
+ function isValidEthereumAddress(address) {
20
+ return /^0x[a-fA-F0-9]{40}$/.test(address);
21
+ }
22
+ // Helper function to validate all inputs before account creation
23
+ function validateInputs(params) {
24
+ const { ethereumAddress, tokenContractAddress, tokenTicker, meta } = params;
25
+ // Validate Ethereum address format
26
+ if (!ethereumAddress) {
27
+ throw new Error("Ethereum address is required");
28
+ }
29
+ if (!isValidEthereumAddress(ethereumAddress)) {
30
+ throw new Error("Invalid Ethereum address format");
31
+ }
32
+ // Validate that at least one token identifier is provided
33
+ if (!tokenContractAddress && !tokenTicker) {
34
+ throw new Error("Either tokenContractAddress or tokenTicker must be provided");
35
+ }
36
+ return { ethereumAddress, tokenContractAddress, tokenTicker, meta };
37
+ }
38
+ // Helper function to find acreToken by address or token id
39
+ function findAcreToken(tokenContractAddress, tokenTicker) {
40
+ let foundToken;
41
+ // Try to find token by contract address first (if provided)
42
+ if (tokenContractAddress) {
43
+ foundToken = (0, cryptoassets_1.findTokenByAddressInCurrency)(tokenContractAddress, "ethereum");
44
+ }
45
+ else if (tokenTicker) {
46
+ foundToken = (0, cryptoassets_1.findTokenById)(tokenTicker.toLowerCase());
47
+ }
48
+ if (!foundToken) {
49
+ throw new Error(`Token not found. Tried contract address: ${tokenContractAddress || "not provided"}, ticker: ${tokenTicker || "not provided"}`);
50
+ }
51
+ return { token: foundToken, contractAddress: foundToken.contractAddress };
52
+ }
53
+ // Helper function to generate unique account names with suffixes
54
+ // This is clearly a hack as we do not have account name on Account type, we leverage on how many accounts have acreBTC as token sub account to define the name
55
+ // This is made to help user to identify different ACRE account but not resilient to token account being wiped, emptied
56
+ // (empty subAccount would not been included in the list therefore parent account not considered as an acre account anymore).
57
+ function generateUniqueAccountName(existingAccounts, baseName, tokenAddress) {
58
+ const existingAccountWithAcreToken = existingAccounts.flatMap(account => account.subAccounts?.filter(subAccount => subAccount.token.contractAddress.toLowerCase() === tokenAddress.toLowerCase()) || []);
59
+ return existingAccountWithAcreToken.length > 0
60
+ ? `${baseName} ${existingAccountWithAcreToken.length}`
61
+ : baseName;
62
+ }
63
+ // Helper function to create parent Ethereum account
64
+ function createParentAccount(ethereumAddress, ethereumCurrency) {
65
+ return {
66
+ type: "Account",
67
+ id: `js:2:ethereum:${ethereumAddress}:`,
68
+ seedIdentifier: `04${ethereumAddress.slice(2)}`,
69
+ derivationMode: "",
70
+ index: 0,
71
+ freshAddress: ethereumAddress,
72
+ freshAddressPath: "44'/60'/0'/0/0",
73
+ used: false,
74
+ blockHeight: 0,
75
+ creationDate: new Date(),
76
+ balance: new bignumber_js_1.default(0),
77
+ spendableBalance: new bignumber_js_1.default(0),
78
+ operationsCount: 0,
79
+ operations: [],
80
+ pendingOperations: [],
81
+ currency: ethereumCurrency,
82
+ lastSyncDate: new Date(),
83
+ swapHistory: [],
84
+ balanceHistoryCache: {
85
+ HOUR: { latestDate: Date.now(), balances: [] },
86
+ DAY: { latestDate: Date.now(), balances: [] },
87
+ WEEK: { latestDate: Date.now(), balances: [] },
88
+ },
89
+ syncHash: "0x00000000",
90
+ subAccounts: [],
91
+ nfts: [],
92
+ };
93
+ }
94
+ const handlers = ({ accounts, tracking, manifest, uiHooks: { "custom.acre.messageSign": uiMessageSign, "custom.acre.transactionSign": uiTransactionSign, "custom.acre.transactionBroadcast": uiTransactionBroadcast, "custom.acre.registerAccount": uiRegisterAccount, }, }) => {
14
95
  function signTransaction({ accountId: walletAccountId, rawTransaction, options, tokenCurrency, }) {
15
96
  const transaction = (0, wallet_api_core_1.deserializeTransaction)(rawTransaction);
16
97
  tracking.signTransactionRequested(manifest);
@@ -183,6 +264,66 @@ const handlers = ({ accounts, tracking, manifest, uiHooks: { "custom.acre.messag
183
264
  transactionHash: optimisticOperation.hash,
184
265
  };
185
266
  }),
267
+ "custom.acre.registerYieldBearingEthereumAddress": (0, wallet_api_server_1.customWrapper)(async (params) => {
268
+ if (!params) {
269
+ return Promise.reject(new Error("Parameters required"));
270
+ }
271
+ const validatedInputs = validateInputs(params);
272
+ const ethereumCurrency = (0, currencies_1.getCryptoCurrencyById)("ethereum");
273
+ const { token: existingToken, contractAddress: finalTokenContractAddress } = findAcreToken(validatedInputs.tokenContractAddress, validatedInputs.tokenTicker);
274
+ const existingBearingAccount = accounts.find(account => "freshAddress" in account &&
275
+ account.freshAddress === validatedInputs.ethereumAddress);
276
+ const baseName = "Yield-bearing BTC on ACRE";
277
+ // Account already added, skip registration.
278
+ if (existingBearingAccount) {
279
+ return {
280
+ success: true,
281
+ accountName: baseName,
282
+ parentAccountId: existingBearingAccount.id,
283
+ tokenAccountId: existingBearingAccount.id,
284
+ ethereumAddress: validatedInputs.ethereumAddress,
285
+ tokenContractAddress: finalTokenContractAddress,
286
+ meta: validatedInputs.meta,
287
+ };
288
+ }
289
+ if (uiRegisterAccount) {
290
+ // Create account & manage the case where an ACRE account has been already registered on another Ethereum address
291
+ // Filter to have only root accounts
292
+ const existingParentAccounts = accounts.filter((acc) => acc.type === "Account");
293
+ const accountName = generateUniqueAccountName(existingParentAccounts, baseName, finalTokenContractAddress);
294
+ const parentAccount = createParentAccount(validatedInputs.ethereumAddress, ethereumCurrency);
295
+ const tokenAccount = (0, index_1.makeEmptyTokenAccount)(parentAccount, existingToken);
296
+ // Add token account as sub-account of parent account
297
+ const parentAccountWithSubAccount = {
298
+ ...parentAccount,
299
+ subAccounts: [tokenAccount],
300
+ };
301
+ return new Promise((resolve, reject) => {
302
+ uiRegisterAccount({
303
+ parentAccount: parentAccountWithSubAccount,
304
+ accountName,
305
+ existingAccounts: existingParentAccounts,
306
+ onSuccess: () => {
307
+ resolve({
308
+ success: true,
309
+ accountName,
310
+ parentAccountId: parentAccountWithSubAccount.id,
311
+ tokenAccountId: tokenAccount.id,
312
+ ethereumAddress: validatedInputs.ethereumAddress,
313
+ tokenContractAddress: finalTokenContractAddress,
314
+ meta: validatedInputs.meta,
315
+ });
316
+ },
317
+ onError: error => {
318
+ reject(error);
319
+ },
320
+ });
321
+ });
322
+ }
323
+ else {
324
+ throw new Error("No account registration UI hook available");
325
+ }
326
+ }),
186
327
  };
187
328
  };
188
329
  exports.handlers = handlers;
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/wallet-api/ACRE/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/wallet-api/ACRE/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=server.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.test.d.ts","sourceRoot":"","sources":["../../../src/wallet-api/ACRE/server.test.ts"],"names":[],"mappings":""}