@ledgerhq/live-common 34.52.0-nightly.20251031023756 → 34.52.0-nightly.20251101023821

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 (139) hide show
  1. package/lib/bridge/generic-alpaca/createTransaction.d.ts.map +1 -1
  2. package/lib/bridge/generic-alpaca/createTransaction.js +6 -1
  3. package/lib/bridge/generic-alpaca/createTransaction.js.map +1 -1
  4. package/lib/bridge/generic-alpaca/getTransactionStatus.d.ts.map +1 -1
  5. package/lib/bridge/generic-alpaca/getTransactionStatus.js +1 -0
  6. package/lib/bridge/generic-alpaca/getTransactionStatus.js.map +1 -1
  7. package/lib/bridge/generic-alpaca/prepareTransaction.d.ts.map +1 -1
  8. package/lib/bridge/generic-alpaca/prepareTransaction.js +27 -23
  9. package/lib/bridge/generic-alpaca/prepareTransaction.js.map +1 -1
  10. package/lib/bridge/generic-alpaca/signOperation.d.ts.map +1 -1
  11. package/lib/bridge/generic-alpaca/signOperation.js +5 -3
  12. package/lib/bridge/generic-alpaca/signOperation.js.map +1 -1
  13. package/lib/bridge/generic-alpaca/types.d.ts +61 -2
  14. package/lib/bridge/generic-alpaca/types.d.ts.map +1 -1
  15. package/lib/bridge/generic-alpaca/utils.d.ts.map +1 -1
  16. package/lib/bridge/generic-alpaca/utils.js +97 -1
  17. package/lib/bridge/generic-alpaca/utils.js.map +1 -1
  18. package/lib/e2e/data/deviceLabelsData.d.ts.map +1 -1
  19. package/lib/e2e/data/deviceLabelsData.js +2 -1
  20. package/lib/e2e/data/deviceLabelsData.js.map +1 -1
  21. package/lib/e2e/enum/DeviceLabels.d.ts +5 -1
  22. package/lib/e2e/enum/DeviceLabels.d.ts.map +1 -1
  23. package/lib/e2e/enum/DeviceLabels.js +4 -0
  24. package/lib/e2e/enum/DeviceLabels.js.map +1 -1
  25. package/lib/e2e/index.d.ts +2 -0
  26. package/lib/e2e/index.d.ts.map +1 -1
  27. package/lib/e2e/speculos.d.ts +1 -1
  28. package/lib/e2e/speculos.d.ts.map +1 -1
  29. package/lib/e2e/speculos.js +24 -5
  30. package/lib/e2e/speculos.js.map +1 -1
  31. package/lib/e2e/speculosAppVersion.d.ts.map +1 -1
  32. package/lib/e2e/speculosAppVersion.js +1 -0
  33. package/lib/e2e/speculosAppVersion.js.map +1 -1
  34. package/lib/featureFlags/defaultFeatures.d.ts.map +1 -1
  35. package/lib/featureFlags/defaultFeatures.js +2 -0
  36. package/lib/featureFlags/defaultFeatures.js.map +1 -1
  37. package/lib/featureFlags/useFeature.d.ts +1 -1
  38. package/lib/featureFlags/useFeature.d.ts.map +1 -1
  39. package/lib/market/hooks/useLargeMoverCurrencies.d.ts +1 -1
  40. package/lib/market/hooks/useMarketDataProvider.d.ts +2 -2
  41. package/lib/market/hooks/useMarketDataProvider.d.ts.map +1 -1
  42. package/lib/market/utils/currencyFormatter.d.ts +3 -3
  43. package/lib/market/utils/currencyFormatter.d.ts.map +1 -1
  44. package/lib/market/utils/currencyFormatter.js.map +1 -1
  45. package/lib/market/utils/queryKeys.d.ts +0 -1
  46. package/lib/market/utils/queryKeys.d.ts.map +1 -1
  47. package/lib/market/utils/queryKeys.js +0 -1
  48. package/lib/market/utils/queryKeys.js.map +1 -1
  49. package/lib/market/utils/types.d.ts +6 -6
  50. package/lib/market/utils/types.d.ts.map +1 -1
  51. package/lib/postOnboarding/hooks/usePostOnboardingHubState.d.ts.map +1 -1
  52. package/lib/postOnboarding/hooks/usePostOnboardingHubState.js +13 -4
  53. package/lib/postOnboarding/hooks/usePostOnboardingHubState.js.map +1 -1
  54. package/lib/postOnboarding/mock.d.ts +1 -0
  55. package/lib/postOnboarding/mock.d.ts.map +1 -1
  56. package/lib/postOnboarding/mock.js +3 -1
  57. package/lib/postOnboarding/mock.js.map +1 -1
  58. package/lib/postOnboarding/reducer.d.ts +16 -14
  59. package/lib/postOnboarding/reducer.d.ts.map +1 -1
  60. package/lib-es/bridge/generic-alpaca/createTransaction.d.ts.map +1 -1
  61. package/lib-es/bridge/generic-alpaca/createTransaction.js +6 -1
  62. package/lib-es/bridge/generic-alpaca/createTransaction.js.map +1 -1
  63. package/lib-es/bridge/generic-alpaca/getTransactionStatus.d.ts.map +1 -1
  64. package/lib-es/bridge/generic-alpaca/getTransactionStatus.js +1 -0
  65. package/lib-es/bridge/generic-alpaca/getTransactionStatus.js.map +1 -1
  66. package/lib-es/bridge/generic-alpaca/prepareTransaction.d.ts.map +1 -1
  67. package/lib-es/bridge/generic-alpaca/prepareTransaction.js +27 -23
  68. package/lib-es/bridge/generic-alpaca/prepareTransaction.js.map +1 -1
  69. package/lib-es/bridge/generic-alpaca/signOperation.d.ts.map +1 -1
  70. package/lib-es/bridge/generic-alpaca/signOperation.js +5 -3
  71. package/lib-es/bridge/generic-alpaca/signOperation.js.map +1 -1
  72. package/lib-es/bridge/generic-alpaca/types.d.ts +61 -2
  73. package/lib-es/bridge/generic-alpaca/types.d.ts.map +1 -1
  74. package/lib-es/bridge/generic-alpaca/utils.d.ts.map +1 -1
  75. package/lib-es/bridge/generic-alpaca/utils.js +97 -1
  76. package/lib-es/bridge/generic-alpaca/utils.js.map +1 -1
  77. package/lib-es/e2e/data/deviceLabelsData.d.ts.map +1 -1
  78. package/lib-es/e2e/data/deviceLabelsData.js +2 -1
  79. package/lib-es/e2e/data/deviceLabelsData.js.map +1 -1
  80. package/lib-es/e2e/enum/DeviceLabels.d.ts +5 -1
  81. package/lib-es/e2e/enum/DeviceLabels.d.ts.map +1 -1
  82. package/lib-es/e2e/enum/DeviceLabels.js +4 -0
  83. package/lib-es/e2e/enum/DeviceLabels.js.map +1 -1
  84. package/lib-es/e2e/index.d.ts +2 -0
  85. package/lib-es/e2e/index.d.ts.map +1 -1
  86. package/lib-es/e2e/speculos.d.ts +1 -1
  87. package/lib-es/e2e/speculos.d.ts.map +1 -1
  88. package/lib-es/e2e/speculos.js +24 -5
  89. package/lib-es/e2e/speculos.js.map +1 -1
  90. package/lib-es/e2e/speculosAppVersion.d.ts.map +1 -1
  91. package/lib-es/e2e/speculosAppVersion.js +1 -0
  92. package/lib-es/e2e/speculosAppVersion.js.map +1 -1
  93. package/lib-es/featureFlags/defaultFeatures.d.ts.map +1 -1
  94. package/lib-es/featureFlags/defaultFeatures.js +2 -0
  95. package/lib-es/featureFlags/defaultFeatures.js.map +1 -1
  96. package/lib-es/featureFlags/useFeature.d.ts +1 -1
  97. package/lib-es/featureFlags/useFeature.d.ts.map +1 -1
  98. package/lib-es/market/hooks/useLargeMoverCurrencies.d.ts +1 -1
  99. package/lib-es/market/hooks/useMarketDataProvider.d.ts +2 -2
  100. package/lib-es/market/hooks/useMarketDataProvider.d.ts.map +1 -1
  101. package/lib-es/market/utils/currencyFormatter.d.ts +3 -3
  102. package/lib-es/market/utils/currencyFormatter.d.ts.map +1 -1
  103. package/lib-es/market/utils/currencyFormatter.js.map +1 -1
  104. package/lib-es/market/utils/queryKeys.d.ts +0 -1
  105. package/lib-es/market/utils/queryKeys.d.ts.map +1 -1
  106. package/lib-es/market/utils/queryKeys.js +0 -1
  107. package/lib-es/market/utils/queryKeys.js.map +1 -1
  108. package/lib-es/market/utils/types.d.ts +6 -6
  109. package/lib-es/market/utils/types.d.ts.map +1 -1
  110. package/lib-es/postOnboarding/hooks/usePostOnboardingHubState.d.ts.map +1 -1
  111. package/lib-es/postOnboarding/hooks/usePostOnboardingHubState.js +13 -4
  112. package/lib-es/postOnboarding/hooks/usePostOnboardingHubState.js.map +1 -1
  113. package/lib-es/postOnboarding/mock.d.ts +1 -0
  114. package/lib-es/postOnboarding/mock.d.ts.map +1 -1
  115. package/lib-es/postOnboarding/mock.js +2 -0
  116. package/lib-es/postOnboarding/mock.js.map +1 -1
  117. package/lib-es/postOnboarding/reducer.d.ts +16 -14
  118. package/lib-es/postOnboarding/reducer.d.ts.map +1 -1
  119. package/package.json +74 -74
  120. package/src/bridge/generic-alpaca/createTransaction.ts +6 -1
  121. package/src/bridge/generic-alpaca/getTransactionStatus.ts +1 -0
  122. package/src/bridge/generic-alpaca/prepareTransaction.ts +31 -36
  123. package/src/bridge/generic-alpaca/signOperation.ts +5 -3
  124. package/src/bridge/generic-alpaca/tests/prepareTransaction.test.ts +29 -76
  125. package/src/bridge/generic-alpaca/types.ts +80 -2
  126. package/src/bridge/generic-alpaca/utils.test.ts +28 -2
  127. package/src/bridge/generic-alpaca/utils.ts +121 -2
  128. package/src/e2e/data/deviceLabelsData.ts +2 -1
  129. package/src/e2e/enum/DeviceLabels.ts +4 -0
  130. package/src/e2e/speculos.ts +26 -6
  131. package/src/e2e/speculosAppVersion.ts +1 -0
  132. package/src/featureFlags/defaultFeatures.ts +2 -0
  133. package/src/market/hooks/useMarketDataProvider.ts +2 -2
  134. package/src/market/utils/currencyFormatter.ts +3 -3
  135. package/src/market/utils/queryKeys.ts +0 -1
  136. package/src/market/utils/types.ts +6 -6
  137. package/src/postOnboarding/hooks/usePostOnboardingHubState.test.ts +30 -3
  138. package/src/postOnboarding/hooks/usePostOnboardingHubState.ts +20 -6
  139. package/src/postOnboarding/mock.ts +2 -0
@@ -1,10 +1,23 @@
1
1
  import { useSelector } from "react-redux";
2
2
  import { useMemo } from "react";
3
- import { PostOnboardingHubState } from "@ledgerhq/types-live";
4
- import { useFeatureFlags } from "../../featureFlags";
3
+ import { PostOnboardingAction, PostOnboardingHubState } from "@ledgerhq/types-live";
4
+ import { FeatureFlagsContextValue, useFeatureFlags } from "../../featureFlags";
5
5
  import { hubStateSelector } from "../reducer";
6
6
  import { usePostOnboardingContext } from "./usePostOnboardingContext";
7
7
 
8
+ const getIsFeatureEnabled = (
9
+ action: PostOnboardingAction | undefined,
10
+ getFeature: FeatureFlagsContextValue["getFeature"],
11
+ ) => {
12
+ if (!action) return false;
13
+ if (!action.featureFlagId) return true;
14
+
15
+ const flag = getFeature(action.featureFlagId);
16
+ if (!flag?.enabled) return false;
17
+
18
+ return !action.featureFlagParamId || !!flag.params?.[action.featureFlagParamId];
19
+ };
20
+
8
21
  /**
9
22
  * @returns an object representing the state that should be rendered on the post
10
23
  * onboarding hub screen.
@@ -26,9 +39,12 @@ export function usePostOnboardingHubState(): PostOnboardingHubState {
26
39
  actionsState: [],
27
40
  postOnboardingInProgress: hubState.postOnboardingInProgress,
28
41
  };
42
+
29
43
  const actionsState = hubState.actionsToComplete.flatMap(actionId => {
30
44
  const action = getPostOnboardingAction(actionId);
31
- if (!action || (action.featureFlagId && !getFeature(action.featureFlagId)?.enabled)) {
45
+ const isFeatureEnabled = getIsFeatureEnabled(action, getFeature);
46
+
47
+ if (!action || !isFeatureEnabled) {
32
48
  return [];
33
49
  }
34
50
  return [{ ...action, completed: !!hubState.actionsCompleted[actionId] }];
@@ -38,9 +54,7 @@ export function usePostOnboardingHubState(): PostOnboardingHubState {
38
54
  : null;
39
55
 
40
56
  const isLastActionCompletedEnabled =
41
- lastActionCompleted &&
42
- (!lastActionCompleted.featureFlagId ||
43
- getFeature(lastActionCompleted.featureFlagId)?.enabled);
57
+ lastActionCompleted && getIsFeatureEnabled(lastActionCompleted, getFeature);
44
58
 
45
59
  return {
46
60
  deviceModelId: hubState.deviceModelId,
@@ -5,6 +5,7 @@ import { FeatureId, PostOnboardingAction, PostOnboardingActionId } from "@ledger
5
5
  const MockIcon = () => null;
6
6
 
7
7
  export const mockedFeatureIdToTest: FeatureId = "mockFeature";
8
+ export const mockedFeatureParamIdToTest: string = "mockFeatureParam";
8
9
 
9
10
  export const claimTestMock: PostOnboardingAction = {
10
11
  id: PostOnboardingActionId.claimMock,
@@ -21,6 +22,7 @@ export const personalizeTestMock: PostOnboardingAction = {
21
22
  id: PostOnboardingActionId.personalizeMock,
22
23
  Icon: MockIcon,
23
24
  featureFlagId: mockedFeatureIdToTest,
25
+ featureFlagParamId: mockedFeatureParamIdToTest,
24
26
  title: `Personalize my device`,
25
27
  titleCompleted: `Personalize my device`,
26
28
  description: "By customizing the screen.",