@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.
- package/lib/bridge/generic-alpaca/createTransaction.d.ts.map +1 -1
- package/lib/bridge/generic-alpaca/createTransaction.js +6 -1
- package/lib/bridge/generic-alpaca/createTransaction.js.map +1 -1
- package/lib/bridge/generic-alpaca/getTransactionStatus.d.ts.map +1 -1
- package/lib/bridge/generic-alpaca/getTransactionStatus.js +1 -0
- package/lib/bridge/generic-alpaca/getTransactionStatus.js.map +1 -1
- package/lib/bridge/generic-alpaca/prepareTransaction.d.ts.map +1 -1
- package/lib/bridge/generic-alpaca/prepareTransaction.js +27 -23
- package/lib/bridge/generic-alpaca/prepareTransaction.js.map +1 -1
- package/lib/bridge/generic-alpaca/signOperation.d.ts.map +1 -1
- package/lib/bridge/generic-alpaca/signOperation.js +5 -3
- package/lib/bridge/generic-alpaca/signOperation.js.map +1 -1
- package/lib/bridge/generic-alpaca/types.d.ts +61 -2
- package/lib/bridge/generic-alpaca/types.d.ts.map +1 -1
- package/lib/bridge/generic-alpaca/utils.d.ts.map +1 -1
- package/lib/bridge/generic-alpaca/utils.js +97 -1
- package/lib/bridge/generic-alpaca/utils.js.map +1 -1
- package/lib/e2e/data/deviceLabelsData.d.ts.map +1 -1
- package/lib/e2e/data/deviceLabelsData.js +2 -1
- package/lib/e2e/data/deviceLabelsData.js.map +1 -1
- package/lib/e2e/enum/DeviceLabels.d.ts +5 -1
- package/lib/e2e/enum/DeviceLabels.d.ts.map +1 -1
- package/lib/e2e/enum/DeviceLabels.js +4 -0
- package/lib/e2e/enum/DeviceLabels.js.map +1 -1
- package/lib/e2e/index.d.ts +2 -0
- package/lib/e2e/index.d.ts.map +1 -1
- package/lib/e2e/speculos.d.ts +1 -1
- package/lib/e2e/speculos.d.ts.map +1 -1
- package/lib/e2e/speculos.js +24 -5
- package/lib/e2e/speculos.js.map +1 -1
- package/lib/e2e/speculosAppVersion.d.ts.map +1 -1
- package/lib/e2e/speculosAppVersion.js +1 -0
- package/lib/e2e/speculosAppVersion.js.map +1 -1
- package/lib/featureFlags/defaultFeatures.d.ts.map +1 -1
- package/lib/featureFlags/defaultFeatures.js +2 -0
- package/lib/featureFlags/defaultFeatures.js.map +1 -1
- package/lib/featureFlags/useFeature.d.ts +1 -1
- package/lib/featureFlags/useFeature.d.ts.map +1 -1
- package/lib/market/hooks/useLargeMoverCurrencies.d.ts +1 -1
- package/lib/market/hooks/useMarketDataProvider.d.ts +2 -2
- package/lib/market/hooks/useMarketDataProvider.d.ts.map +1 -1
- package/lib/market/utils/currencyFormatter.d.ts +3 -3
- package/lib/market/utils/currencyFormatter.d.ts.map +1 -1
- package/lib/market/utils/currencyFormatter.js.map +1 -1
- package/lib/market/utils/queryKeys.d.ts +0 -1
- package/lib/market/utils/queryKeys.d.ts.map +1 -1
- package/lib/market/utils/queryKeys.js +0 -1
- package/lib/market/utils/queryKeys.js.map +1 -1
- package/lib/market/utils/types.d.ts +6 -6
- package/lib/market/utils/types.d.ts.map +1 -1
- package/lib/postOnboarding/hooks/usePostOnboardingHubState.d.ts.map +1 -1
- package/lib/postOnboarding/hooks/usePostOnboardingHubState.js +13 -4
- package/lib/postOnboarding/hooks/usePostOnboardingHubState.js.map +1 -1
- package/lib/postOnboarding/mock.d.ts +1 -0
- package/lib/postOnboarding/mock.d.ts.map +1 -1
- package/lib/postOnboarding/mock.js +3 -1
- package/lib/postOnboarding/mock.js.map +1 -1
- package/lib/postOnboarding/reducer.d.ts +16 -14
- package/lib/postOnboarding/reducer.d.ts.map +1 -1
- package/lib-es/bridge/generic-alpaca/createTransaction.d.ts.map +1 -1
- package/lib-es/bridge/generic-alpaca/createTransaction.js +6 -1
- package/lib-es/bridge/generic-alpaca/createTransaction.js.map +1 -1
- package/lib-es/bridge/generic-alpaca/getTransactionStatus.d.ts.map +1 -1
- package/lib-es/bridge/generic-alpaca/getTransactionStatus.js +1 -0
- package/lib-es/bridge/generic-alpaca/getTransactionStatus.js.map +1 -1
- package/lib-es/bridge/generic-alpaca/prepareTransaction.d.ts.map +1 -1
- package/lib-es/bridge/generic-alpaca/prepareTransaction.js +27 -23
- package/lib-es/bridge/generic-alpaca/prepareTransaction.js.map +1 -1
- package/lib-es/bridge/generic-alpaca/signOperation.d.ts.map +1 -1
- package/lib-es/bridge/generic-alpaca/signOperation.js +5 -3
- package/lib-es/bridge/generic-alpaca/signOperation.js.map +1 -1
- package/lib-es/bridge/generic-alpaca/types.d.ts +61 -2
- package/lib-es/bridge/generic-alpaca/types.d.ts.map +1 -1
- package/lib-es/bridge/generic-alpaca/utils.d.ts.map +1 -1
- package/lib-es/bridge/generic-alpaca/utils.js +97 -1
- package/lib-es/bridge/generic-alpaca/utils.js.map +1 -1
- package/lib-es/e2e/data/deviceLabelsData.d.ts.map +1 -1
- package/lib-es/e2e/data/deviceLabelsData.js +2 -1
- package/lib-es/e2e/data/deviceLabelsData.js.map +1 -1
- package/lib-es/e2e/enum/DeviceLabels.d.ts +5 -1
- package/lib-es/e2e/enum/DeviceLabels.d.ts.map +1 -1
- package/lib-es/e2e/enum/DeviceLabels.js +4 -0
- package/lib-es/e2e/enum/DeviceLabels.js.map +1 -1
- package/lib-es/e2e/index.d.ts +2 -0
- package/lib-es/e2e/index.d.ts.map +1 -1
- package/lib-es/e2e/speculos.d.ts +1 -1
- package/lib-es/e2e/speculos.d.ts.map +1 -1
- package/lib-es/e2e/speculos.js +24 -5
- package/lib-es/e2e/speculos.js.map +1 -1
- package/lib-es/e2e/speculosAppVersion.d.ts.map +1 -1
- package/lib-es/e2e/speculosAppVersion.js +1 -0
- package/lib-es/e2e/speculosAppVersion.js.map +1 -1
- package/lib-es/featureFlags/defaultFeatures.d.ts.map +1 -1
- package/lib-es/featureFlags/defaultFeatures.js +2 -0
- package/lib-es/featureFlags/defaultFeatures.js.map +1 -1
- package/lib-es/featureFlags/useFeature.d.ts +1 -1
- package/lib-es/featureFlags/useFeature.d.ts.map +1 -1
- package/lib-es/market/hooks/useLargeMoverCurrencies.d.ts +1 -1
- package/lib-es/market/hooks/useMarketDataProvider.d.ts +2 -2
- package/lib-es/market/hooks/useMarketDataProvider.d.ts.map +1 -1
- package/lib-es/market/utils/currencyFormatter.d.ts +3 -3
- package/lib-es/market/utils/currencyFormatter.d.ts.map +1 -1
- package/lib-es/market/utils/currencyFormatter.js.map +1 -1
- package/lib-es/market/utils/queryKeys.d.ts +0 -1
- package/lib-es/market/utils/queryKeys.d.ts.map +1 -1
- package/lib-es/market/utils/queryKeys.js +0 -1
- package/lib-es/market/utils/queryKeys.js.map +1 -1
- package/lib-es/market/utils/types.d.ts +6 -6
- package/lib-es/market/utils/types.d.ts.map +1 -1
- package/lib-es/postOnboarding/hooks/usePostOnboardingHubState.d.ts.map +1 -1
- package/lib-es/postOnboarding/hooks/usePostOnboardingHubState.js +13 -4
- package/lib-es/postOnboarding/hooks/usePostOnboardingHubState.js.map +1 -1
- package/lib-es/postOnboarding/mock.d.ts +1 -0
- package/lib-es/postOnboarding/mock.d.ts.map +1 -1
- package/lib-es/postOnboarding/mock.js +2 -0
- package/lib-es/postOnboarding/mock.js.map +1 -1
- package/lib-es/postOnboarding/reducer.d.ts +16 -14
- package/lib-es/postOnboarding/reducer.d.ts.map +1 -1
- package/package.json +74 -74
- package/src/bridge/generic-alpaca/createTransaction.ts +6 -1
- package/src/bridge/generic-alpaca/getTransactionStatus.ts +1 -0
- package/src/bridge/generic-alpaca/prepareTransaction.ts +31 -36
- package/src/bridge/generic-alpaca/signOperation.ts +5 -3
- package/src/bridge/generic-alpaca/tests/prepareTransaction.test.ts +29 -76
- package/src/bridge/generic-alpaca/types.ts +80 -2
- package/src/bridge/generic-alpaca/utils.test.ts +28 -2
- package/src/bridge/generic-alpaca/utils.ts +121 -2
- package/src/e2e/data/deviceLabelsData.ts +2 -1
- package/src/e2e/enum/DeviceLabels.ts +4 -0
- package/src/e2e/speculos.ts +26 -6
- package/src/e2e/speculosAppVersion.ts +1 -0
- package/src/featureFlags/defaultFeatures.ts +2 -0
- package/src/market/hooks/useMarketDataProvider.ts +2 -2
- package/src/market/utils/currencyFormatter.ts +3 -3
- package/src/market/utils/queryKeys.ts +0 -1
- package/src/market/utils/types.ts +6 -6
- package/src/postOnboarding/hooks/usePostOnboardingHubState.test.ts +30 -3
- package/src/postOnboarding/hooks/usePostOnboardingHubState.ts +20 -6
- package/src/postOnboarding/mock.ts +2 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/market/utils/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,MAAM,MAAM,UAAU,GAAG;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC9C,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;AAExE,oBAAY,KAAK;IACf,aAAa,SAAS;IACtB,YAAY,QAAQ;IACpB,SAAS,cAAc;IACvB,UAAU,eAAe;CAC1B;AAED,MAAM,MAAM,cAAc,GAAG,UAAU,EAAE,CAAC;AAE1C,MAAM,MAAM,uBAAuB,GAAG;IACpC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/market/utils/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePostOnboardingHubState.d.ts","sourceRoot":"","sources":["../../../src/postOnboarding/hooks/usePostOnboardingHubState.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"usePostOnboardingHubState.d.ts","sourceRoot":"","sources":["../../../src/postOnboarding/hooks/usePostOnboardingHubState.ts"],"names":[],"mappings":"AAEA,OAAO,EAAwB,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAkBpF;;;;;;;KAOK;AACL,wBAAgB,yBAAyB,IAAI,sBAAsB,CAqClE"}
|
|
@@ -3,6 +3,16 @@ import { useMemo } from "react";
|
|
|
3
3
|
import { useFeatureFlags } from "../../featureFlags";
|
|
4
4
|
import { hubStateSelector } from "../reducer";
|
|
5
5
|
import { usePostOnboardingContext } from "./usePostOnboardingContext";
|
|
6
|
+
const getIsFeatureEnabled = (action, getFeature) => {
|
|
7
|
+
if (!action)
|
|
8
|
+
return false;
|
|
9
|
+
if (!action.featureFlagId)
|
|
10
|
+
return true;
|
|
11
|
+
const flag = getFeature(action.featureFlagId);
|
|
12
|
+
if (!flag?.enabled)
|
|
13
|
+
return false;
|
|
14
|
+
return !action.featureFlagParamId || !!flag.params?.[action.featureFlagParamId];
|
|
15
|
+
};
|
|
6
16
|
/**
|
|
7
17
|
* @returns an object representing the state that should be rendered on the post
|
|
8
18
|
* onboarding hub screen.
|
|
@@ -26,7 +36,8 @@ export function usePostOnboardingHubState() {
|
|
|
26
36
|
};
|
|
27
37
|
const actionsState = hubState.actionsToComplete.flatMap(actionId => {
|
|
28
38
|
const action = getPostOnboardingAction(actionId);
|
|
29
|
-
|
|
39
|
+
const isFeatureEnabled = getIsFeatureEnabled(action, getFeature);
|
|
40
|
+
if (!action || !isFeatureEnabled) {
|
|
30
41
|
return [];
|
|
31
42
|
}
|
|
32
43
|
return [{ ...action, completed: !!hubState.actionsCompleted[actionId] }];
|
|
@@ -34,9 +45,7 @@ export function usePostOnboardingHubState() {
|
|
|
34
45
|
const lastActionCompleted = hubState.lastActionCompleted
|
|
35
46
|
? getPostOnboardingAction(hubState.lastActionCompleted)
|
|
36
47
|
: null;
|
|
37
|
-
const isLastActionCompletedEnabled = lastActionCompleted &&
|
|
38
|
-
(!lastActionCompleted.featureFlagId ||
|
|
39
|
-
getFeature(lastActionCompleted.featureFlagId)?.enabled);
|
|
48
|
+
const isLastActionCompletedEnabled = lastActionCompleted && getIsFeatureEnabled(lastActionCompleted, getFeature);
|
|
40
49
|
return {
|
|
41
50
|
deviceModelId: hubState.deviceModelId,
|
|
42
51
|
lastActionCompleted: isLastActionCompletedEnabled ? lastActionCompleted : null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePostOnboardingHubState.js","sourceRoot":"","sources":["../../../src/postOnboarding/hooks/usePostOnboardingHubState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,
|
|
1
|
+
{"version":3,"file":"usePostOnboardingHubState.js","sourceRoot":"","sources":["../../../src/postOnboarding/hooks/usePostOnboardingHubState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,EAA4B,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,MAAM,mBAAmB,GAAG,CAC1B,MAAwC,EACxC,UAAkD,EAClD,EAAE;IACF,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC1B,IAAI,CAAC,MAAM,CAAC,aAAa;QAAE,OAAO,IAAI,CAAC;IAEvC,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAC9C,IAAI,CAAC,IAAI,EAAE,OAAO;QAAE,OAAO,KAAK,CAAC;IAEjC,OAAO,CAAC,MAAM,CAAC,kBAAkB,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAClF,CAAC,CAAC;AAEF;;;;;;;KAOK;AACL,MAAM,UAAU,yBAAyB;IACvC,MAAM,QAAQ,GAAG,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAC/C,MAAM,qBAAqB,GAAG,wBAAwB,EAAE,CAAC;IACzD,MAAM,EAAE,uBAAuB,EAAE,GAAG,qBAAqB,CAAC;IAC1D,MAAM,EAAE,UAAU,EAAE,GAAG,eAAe,EAAE,CAAC;IACzC,OAAO,OAAO,CAAC,GAAG,EAAE;QAClB,IAAI,CAAC,uBAAuB;YAC1B,OAAO;gBACL,aAAa,EAAE,QAAQ,CAAC,aAAa;gBACrC,mBAAmB,EAAE,IAAI;gBACzB,YAAY,EAAE,EAAE;gBAChB,wBAAwB,EAAE,QAAQ,CAAC,wBAAwB;aAC5D,CAAC;QAEJ,MAAM,YAAY,GAAG,QAAQ,CAAC,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YACjE,MAAM,MAAM,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;YACjD,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YAEjE,IAAI,CAAC,MAAM,IAAI,CAAC,gBAAgB,EAAE;gBAChC,OAAO,EAAE,CAAC;aACX;YACD,OAAO,CAAC,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;QACH,MAAM,mBAAmB,GAAG,QAAQ,CAAC,mBAAmB;YACtD,CAAC,CAAC,uBAAuB,CAAC,QAAQ,CAAC,mBAAmB,CAAC;YACvD,CAAC,CAAC,IAAI,CAAC;QAET,MAAM,4BAA4B,GAChC,mBAAmB,IAAI,mBAAmB,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC;QAE9E,OAAO;YACL,aAAa,EAAE,QAAQ,CAAC,aAAa;YACrC,mBAAmB,EAAE,4BAA4B,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI;YAC9E,YAAY;YACZ,wBAAwB,EAAE,QAAQ,CAAC,wBAAwB;SAC5D,CAAC;IACJ,CAAC,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,uBAAuB,CAAC,CAAC,CAAC;AACtD,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/** mocks for unit tests */
|
|
2
2
|
import { FeatureId, PostOnboardingAction, PostOnboardingActionId } from "@ledgerhq/types-live";
|
|
3
3
|
export declare const mockedFeatureIdToTest: FeatureId;
|
|
4
|
+
export declare const mockedFeatureParamIdToTest: string;
|
|
4
5
|
export declare const claimTestMock: PostOnboardingAction;
|
|
5
6
|
export declare const personalizeTestMock: PostOnboardingAction;
|
|
6
7
|
export declare const migrateAssetsTestMock: PostOnboardingAction;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mock.d.ts","sourceRoot":"","sources":["../../src/postOnboarding/mock.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAE3B,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAI/F,eAAO,MAAM,qBAAqB,EAAE,SAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"mock.d.ts","sourceRoot":"","sources":["../../src/postOnboarding/mock.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAE3B,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAI/F,eAAO,MAAM,qBAAqB,EAAE,SAAyB,CAAC;AAC9D,eAAO,MAAM,0BAA0B,EAAE,MAA2B,CAAC;AAErE,eAAO,MAAM,aAAa,EAAE,oBAS3B,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,oBAUjC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,oBAQnC,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,sBAAsB,GAAG,oBAAoB,CAMxF"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import { PostOnboardingActionId } from "@ledgerhq/types-live";
|
|
3
3
|
const MockIcon = () => null;
|
|
4
4
|
export const mockedFeatureIdToTest = "mockFeature";
|
|
5
|
+
export const mockedFeatureParamIdToTest = "mockFeatureParam";
|
|
5
6
|
export const claimTestMock = {
|
|
6
7
|
id: PostOnboardingActionId.claimMock,
|
|
7
8
|
Icon: MockIcon,
|
|
@@ -16,6 +17,7 @@ export const personalizeTestMock = {
|
|
|
16
17
|
id: PostOnboardingActionId.personalizeMock,
|
|
17
18
|
Icon: MockIcon,
|
|
18
19
|
featureFlagId: mockedFeatureIdToTest,
|
|
20
|
+
featureFlagParamId: mockedFeatureParamIdToTest,
|
|
19
21
|
title: `Personalize my device`,
|
|
20
22
|
titleCompleted: `Personalize my device`,
|
|
21
23
|
description: "By customizing the screen.",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mock.js","sourceRoot":"","sources":["../../src/postOnboarding/mock.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAE3B,OAAO,EAAmC,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAE/F,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC;AAE5B,MAAM,CAAC,MAAM,qBAAqB,GAAc,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"mock.js","sourceRoot":"","sources":["../../src/postOnboarding/mock.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAE3B,OAAO,EAAmC,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAE/F,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC;AAE5B,MAAM,CAAC,MAAM,qBAAqB,GAAc,aAAa,CAAC;AAC9D,MAAM,CAAC,MAAM,0BAA0B,GAAW,kBAAkB,CAAC;AAErE,MAAM,CAAC,MAAM,aAAa,GAAyB;IACjD,EAAE,EAAE,sBAAsB,CAAC,SAAS;IACpC,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,cAAc;IACrB,cAAc,EAAE,cAAc;IAC9B,WAAW,EAAE,wBAAwB;IACrC,QAAQ,EAAE,MAAM;IAChB,yBAAyB,EAAE,aAAa;IACxC,mBAAmB,EAAE,GAAG,EAAE,CAAC,CAAC,WAAW,CAAC;CACzC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAyB;IACvD,EAAE,EAAE,sBAAsB,CAAC,eAAe;IAC1C,IAAI,EAAE,QAAQ;IACd,aAAa,EAAE,qBAAqB;IACpC,kBAAkB,EAAE,0BAA0B;IAC9C,KAAK,EAAE,uBAAuB;IAC9B,cAAc,EAAE,uBAAuB;IACvC,WAAW,EAAE,4BAA4B;IACzC,yBAAyB,EAAE,qBAAqB;IAChD,mBAAmB,EAAE,GAAG,EAAE,CAAC,CAAC,WAAW,CAAC;CACzC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAyB;IACzD,EAAE,EAAE,sBAAsB,CAAC,iBAAiB;IAC5C,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,8BAA8B;IACrC,cAAc,EAAE,8BAA8B;IAC9C,WAAW,EAAE,yDAAyD;IACtE,yBAAyB,EAAE,mBAAmB;IAC9C,mBAAmB,EAAE,GAAG,EAAE,CAAC,CAAC,WAAW,CAAC;CACzC,CAAC;AAEF,MAAM,UAAU,uBAAuB,CAAC,EAA0B;IAChE,OAAO;QACL,CAAC,sBAAsB,CAAC,SAAS,CAAC,EAAE,aAAa;QACjD,CAAC,sBAAsB,CAAC,eAAe,CAAC,EAAE,mBAAmB;QAC7D,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,EAAE,qBAAqB;KAClE,CAAC,EAAE,CAAC,CAAC;AACR,CAAC"}
|
|
@@ -24,17 +24,18 @@ export declare const hubStateSelector: ((state: {
|
|
|
24
24
|
deviceModelId: DeviceModelId | null;
|
|
25
25
|
actionsToComplete: PostOnboardingActionId[];
|
|
26
26
|
actionsCompleted: {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
assetsTransfer?: boolean | undefined;
|
|
28
|
+
buyCrypto?: boolean | undefined;
|
|
29
|
+
syncAccounts?: boolean | undefined;
|
|
30
|
+
customImage?: boolean | undefined;
|
|
31
|
+
recover?: boolean | undefined;
|
|
30
32
|
assetsTransferMock?: boolean | undefined;
|
|
31
33
|
buyCryptoMock?: boolean | undefined;
|
|
32
34
|
customImageMock?: boolean | undefined;
|
|
35
|
+
claimMock?: boolean | undefined;
|
|
36
|
+
migrateAssetsMock?: boolean | undefined;
|
|
37
|
+
personalizeMock?: boolean | undefined;
|
|
33
38
|
recoverMock?: boolean | undefined;
|
|
34
|
-
customImage?: boolean | undefined;
|
|
35
|
-
assetsTransfer?: boolean | undefined;
|
|
36
|
-
buyCrypto?: boolean | undefined;
|
|
37
|
-
recover?: boolean | undefined;
|
|
38
39
|
};
|
|
39
40
|
lastActionCompleted: PostOnboardingActionId | null;
|
|
40
41
|
postOnboardingInProgress: boolean;
|
|
@@ -42,17 +43,18 @@ export declare const hubStateSelector: ((state: {
|
|
|
42
43
|
deviceModelId: DeviceModelId | null;
|
|
43
44
|
actionsToComplete: PostOnboardingActionId[];
|
|
44
45
|
actionsCompleted: {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
46
|
+
assetsTransfer?: boolean | undefined;
|
|
47
|
+
buyCrypto?: boolean | undefined;
|
|
48
|
+
syncAccounts?: boolean | undefined;
|
|
49
|
+
customImage?: boolean | undefined;
|
|
50
|
+
recover?: boolean | undefined;
|
|
48
51
|
assetsTransferMock?: boolean | undefined;
|
|
49
52
|
buyCryptoMock?: boolean | undefined;
|
|
50
53
|
customImageMock?: boolean | undefined;
|
|
54
|
+
claimMock?: boolean | undefined;
|
|
55
|
+
migrateAssetsMock?: boolean | undefined;
|
|
56
|
+
personalizeMock?: boolean | undefined;
|
|
51
57
|
recoverMock?: boolean | undefined;
|
|
52
|
-
customImage?: boolean | undefined;
|
|
53
|
-
assetsTransfer?: boolean | undefined;
|
|
54
|
-
buyCrypto?: boolean | undefined;
|
|
55
|
-
recover?: boolean | undefined;
|
|
56
58
|
};
|
|
57
59
|
lastActionCompleted: PostOnboardingActionId | null;
|
|
58
60
|
postOnboardingInProgress: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reducer.d.ts","sourceRoot":"","sources":["../../src/postOnboarding/reducer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAGnF,OAAO,EAAkB,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpD,eAAO,MAAM,YAAY,EAAE,mBAQ1B,CAAC;AAEF,KAAK,sBAAsB,GAAG;IAAE,QAAQ,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAA;CAAE,CAAC;AACzE,KAAK,WAAW,GAAG;IACjB,aAAa,EAAE,aAAa,CAAC;IAC7B,UAAU,EAAE,sBAAsB,EAAE,CAAC;CACtC,CAAC;AACF,KAAK,yBAAyB,GAAG;IAC/B,QAAQ,EAAE,sBAAsB,CAAC;CAClC,CAAC;AACF,MAAM,MAAM,OAAO,GAAG,SAAS,GAAG,sBAAsB,GAAG,WAAW,GAAG,yBAAyB,CAAC;;AA0CnG,wBAAmF;AAiBnF,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAC3C;IAAE,cAAc,EAAE,mBAAmB,CAAA;CAAE,EACvC,mBAAmB,CAOpB,CAAC;AAEF,eAAO,MAAM,gBAAgB;oBAVT,mBAAmB
|
|
1
|
+
{"version":3,"file":"reducer.d.ts","sourceRoot":"","sources":["../../src/postOnboarding/reducer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAGnF,OAAO,EAAkB,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpD,eAAO,MAAM,YAAY,EAAE,mBAQ1B,CAAC;AAEF,KAAK,sBAAsB,GAAG;IAAE,QAAQ,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAA;CAAE,CAAC;AACzE,KAAK,WAAW,GAAG;IACjB,aAAa,EAAE,aAAa,CAAC;IAC7B,UAAU,EAAE,sBAAsB,EAAE,CAAC;CACtC,CAAC;AACF,KAAK,yBAAyB,GAAG;IAC/B,QAAQ,EAAE,sBAAsB,CAAC;CAClC,CAAC;AACF,MAAM,MAAM,OAAO,GAAG,SAAS,GAAG,sBAAsB,GAAG,WAAW,GAAG,yBAAyB,CAAC;;AA0CnG,wBAAmF;AAiBnF,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAC3C;IAAE,cAAc,EAAE,mBAAmB,CAAA;CAAE,EACvC,mBAAmB,CAOpB,CAAC;AAEF,eAAO,MAAM,gBAAgB;oBAVT,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyBrC,CAAC;AAEH,eAAO,MAAM,mCAAmC;oBA3B5B,mBAAmB;;;;;CA8BtC,CAAC;AAEF,eAAO,MAAM,+CAA+C;oBAhCxC,mBAAmB;;;;;CAmCtC,CAAC;AAEF,eAAO,MAAM,oCAAoC;oBArC7B,mBAAmB;;;;;CAwCtC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ledgerhq/live-common",
|
|
3
3
|
"description": "Common ground for the Ledger Live apps",
|
|
4
|
-
"version": "34.52.0-nightly.
|
|
4
|
+
"version": "34.52.0-nightly.20251101023821",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "https://github.com/LedgerHQ/ledger-live.git"
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
"react-dom": ">=16",
|
|
75
75
|
"react-native": ">=0.65.1",
|
|
76
76
|
"react-native-svg": ">=12.1.1",
|
|
77
|
-
"react-redux": "
|
|
77
|
+
"react-redux": "7.2.9",
|
|
78
78
|
"redux-actions": "2.6.5"
|
|
79
79
|
},
|
|
80
80
|
"peerDependenciesMeta": {
|
|
@@ -163,80 +163,80 @@
|
|
|
163
163
|
"xstate": "^5.19.2",
|
|
164
164
|
"yargs": "^17.0.0",
|
|
165
165
|
"zod": "^3.22.4",
|
|
166
|
-
"react-redux": "
|
|
167
|
-
"@ledgerhq/coin-algorand": "^0.12.0-nightly.
|
|
168
|
-
"@ledgerhq/coin-aptos": "^3.5.0-nightly.
|
|
169
|
-
"@ledgerhq/coin-bitcoin": "^0.24.0-nightly.
|
|
170
|
-
"@ledgerhq/coin-canton": "^0.9.0-nightly.
|
|
171
|
-
"@ledgerhq/coin-cardano": "^0.14.0-nightly.
|
|
172
|
-
"@ledgerhq/coin-casper": "^2.3.0-nightly.
|
|
173
|
-
"@ledgerhq/coin-celo": "^1.7.0-nightly.
|
|
174
|
-
"@ledgerhq/coin-cosmos": "^0.19.0-nightly.
|
|
175
|
-
"@ledgerhq/coin-evm": "^2.34.0-nightly.
|
|
176
|
-
"@ledgerhq/coin-filecoin": "^1.14.0-nightly.
|
|
177
|
-
"@ledgerhq/coin-
|
|
178
|
-
"@ledgerhq/coin-
|
|
179
|
-
"@ledgerhq/coin-icon": "^0.14.0-nightly.
|
|
180
|
-
"@ledgerhq/coin-internet_computer": "^1.10.0-nightly.
|
|
181
|
-
"@ledgerhq/coin-kaspa": "^1.4.0-nightly.
|
|
182
|
-
"@ledgerhq/coin-mina": "^1.4.0-nightly.
|
|
183
|
-
"@ledgerhq/coin-multiversx": "^0.7.0-nightly.
|
|
184
|
-
"@ledgerhq/coin-near": "^0.15.0-nightly.
|
|
185
|
-
"@ledgerhq/coin-polkadot": "^6.12.0-nightly.
|
|
186
|
-
"@ledgerhq/coin-solana": "^0.36.0-nightly.
|
|
187
|
-
"@ledgerhq/coin-stacks": "^0.11.0-nightly.
|
|
188
|
-
"@ledgerhq/coin-stellar": "^6.6.0-nightly.
|
|
189
|
-
"@ledgerhq/coin-sui": "^0.17.0-nightly.
|
|
190
|
-
"@ledgerhq/coin-tezos": "^6.8.0-nightly.
|
|
191
|
-
"@ledgerhq/coin-ton": "^0.16.0-nightly.
|
|
192
|
-
"@ledgerhq/coin-tron": "^5.6.0-nightly.
|
|
193
|
-
"@ledgerhq/coin-vechain": "^2.12.0-nightly.
|
|
194
|
-
"@ledgerhq/coin-xrp": "^7.7.0-nightly.
|
|
195
|
-
"@ledgerhq/crypto-icons-ui": "^1.22.0-nightly.
|
|
196
|
-
"@ledgerhq/cryptoassets": "^13.32.0-nightly.
|
|
197
|
-
"@ledgerhq/device-core": "^0.6.7-nightly.
|
|
198
|
-
"@ledgerhq/devices": "8.7.0-nightly.
|
|
199
|
-
"@ledgerhq/errors": "^6.27.0-nightly.
|
|
200
|
-
"@ledgerhq/hw-app-algorand": "^6.31.9-nightly.
|
|
201
|
-
"@ledgerhq/hw-app-aptos": "^6.34.9-nightly.
|
|
202
|
-
"@ledgerhq/hw-app-btc": "^10.12.0-nightly.
|
|
203
|
-
"@ledgerhq/hw-app-celo": "^6.35.2-nightly.
|
|
204
|
-
"@ledgerhq/hw-app-cosmos": "^6.32.9-nightly.
|
|
205
|
-
"@ledgerhq/hw-app-eth": "^6.47.0-nightly.
|
|
206
|
-
"@ledgerhq/hw-app-exchange": "^0.17.0-nightly.
|
|
207
|
-
"@ledgerhq/hw-app-hedera": "^1.2.9-nightly.
|
|
208
|
-
"@ledgerhq/hw-app-icon": "^1.3.9-nightly.
|
|
209
|
-
"@ledgerhq/hw-app-kaspa": "^1.3.2-nightly.
|
|
210
|
-
"@ledgerhq/hw-app-multiversx": "^6.26.0-nightly.
|
|
211
|
-
"@ledgerhq/hw-app-near": "^6.31.9-nightly.
|
|
212
|
-
"@ledgerhq/hw-app-polkadot": "^6.34.9-nightly.
|
|
213
|
-
"@ledgerhq/hw-app-str": "^7.2.9-nightly.
|
|
166
|
+
"react-redux": "7.2.9",
|
|
167
|
+
"@ledgerhq/coin-algorand": "^0.12.0-nightly.20251101023821",
|
|
168
|
+
"@ledgerhq/coin-aptos": "^3.5.0-nightly.20251101023821",
|
|
169
|
+
"@ledgerhq/coin-bitcoin": "^0.24.0-nightly.20251101023821",
|
|
170
|
+
"@ledgerhq/coin-canton": "^0.9.0-nightly.20251101023821",
|
|
171
|
+
"@ledgerhq/coin-cardano": "^0.14.0-nightly.20251101023821",
|
|
172
|
+
"@ledgerhq/coin-casper": "^2.3.0-nightly.20251101023821",
|
|
173
|
+
"@ledgerhq/coin-celo": "^1.7.0-nightly.20251101023821",
|
|
174
|
+
"@ledgerhq/coin-cosmos": "^0.19.0-nightly.20251101023821",
|
|
175
|
+
"@ledgerhq/coin-evm": "^2.34.0-nightly.20251101023821",
|
|
176
|
+
"@ledgerhq/coin-filecoin": "^1.14.0-nightly.20251101023821",
|
|
177
|
+
"@ledgerhq/coin-hedera": "^1.13.0-nightly.20251101023821",
|
|
178
|
+
"@ledgerhq/coin-framework": "^6.8.0-nightly.20251101023821",
|
|
179
|
+
"@ledgerhq/coin-icon": "^0.14.0-nightly.20251101023821",
|
|
180
|
+
"@ledgerhq/coin-internet_computer": "^1.10.0-nightly.20251101023821",
|
|
181
|
+
"@ledgerhq/coin-kaspa": "^1.4.0-nightly.20251101023821",
|
|
182
|
+
"@ledgerhq/coin-mina": "^1.4.0-nightly.20251101023821",
|
|
183
|
+
"@ledgerhq/coin-multiversx": "^0.7.0-nightly.20251101023821",
|
|
184
|
+
"@ledgerhq/coin-near": "^0.15.0-nightly.20251101023821",
|
|
185
|
+
"@ledgerhq/coin-polkadot": "^6.12.0-nightly.20251101023821",
|
|
186
|
+
"@ledgerhq/coin-solana": "^0.36.0-nightly.20251101023821",
|
|
187
|
+
"@ledgerhq/coin-stacks": "^0.11.0-nightly.20251101023821",
|
|
188
|
+
"@ledgerhq/coin-stellar": "^6.6.0-nightly.20251101023821",
|
|
189
|
+
"@ledgerhq/coin-sui": "^0.17.0-nightly.20251101023821",
|
|
190
|
+
"@ledgerhq/coin-tezos": "^6.8.0-nightly.20251101023821",
|
|
191
|
+
"@ledgerhq/coin-ton": "^0.16.0-nightly.20251101023821",
|
|
192
|
+
"@ledgerhq/coin-tron": "^5.6.0-nightly.20251101023821",
|
|
193
|
+
"@ledgerhq/coin-vechain": "^2.12.0-nightly.20251101023821",
|
|
194
|
+
"@ledgerhq/coin-xrp": "^7.7.0-nightly.20251101023821",
|
|
195
|
+
"@ledgerhq/crypto-icons-ui": "^1.22.0-nightly.20251101023821",
|
|
196
|
+
"@ledgerhq/cryptoassets": "^13.32.0-nightly.20251101023821",
|
|
197
|
+
"@ledgerhq/device-core": "^0.6.7-nightly.20251101023821",
|
|
198
|
+
"@ledgerhq/devices": "8.7.0-nightly.20251101023821",
|
|
199
|
+
"@ledgerhq/errors": "^6.27.0-nightly.20251101023821",
|
|
200
|
+
"@ledgerhq/hw-app-algorand": "^6.31.9-nightly.20251101023821",
|
|
201
|
+
"@ledgerhq/hw-app-aptos": "^6.34.9-nightly.20251101023821",
|
|
202
|
+
"@ledgerhq/hw-app-btc": "^10.12.0-nightly.20251101023821",
|
|
203
|
+
"@ledgerhq/hw-app-celo": "^6.35.2-nightly.20251101023821",
|
|
204
|
+
"@ledgerhq/hw-app-cosmos": "^6.32.9-nightly.20251101023821",
|
|
205
|
+
"@ledgerhq/hw-app-eth": "^6.47.0-nightly.20251101023821",
|
|
206
|
+
"@ledgerhq/hw-app-exchange": "^0.17.0-nightly.20251101023821",
|
|
207
|
+
"@ledgerhq/hw-app-hedera": "^1.2.9-nightly.20251101023821",
|
|
208
|
+
"@ledgerhq/hw-app-icon": "^1.3.9-nightly.20251101023821",
|
|
209
|
+
"@ledgerhq/hw-app-kaspa": "^1.3.2-nightly.20251101023821",
|
|
210
|
+
"@ledgerhq/hw-app-multiversx": "^6.26.0-nightly.20251101023821",
|
|
211
|
+
"@ledgerhq/hw-app-near": "^6.31.9-nightly.20251101023821",
|
|
212
|
+
"@ledgerhq/hw-app-polkadot": "^6.34.9-nightly.20251101023821",
|
|
213
|
+
"@ledgerhq/hw-app-str": "^7.2.9-nightly.20251101023821",
|
|
214
214
|
"@ledgerhq/hw-app-sui": "^1.4.0",
|
|
215
|
-
"@ledgerhq/hw-app-tezos": "^6.31.9-nightly.
|
|
216
|
-
"@ledgerhq/hw-app-trx": "^6.31.9-nightly.
|
|
217
|
-
"@ledgerhq/hw-app-vet": "^0.7.0-nightly.
|
|
218
|
-
"@ledgerhq/hw-app-xrp": "^6.32.7-nightly.
|
|
219
|
-
"@ledgerhq/hw-bolos": "^6.32.9-nightly.
|
|
220
|
-
"@ledgerhq/hw-transport": "6.31.13-nightly.
|
|
221
|
-
"@ledgerhq/hw-transport-mocker": "^6.29.13-nightly.
|
|
222
|
-
"@ledgerhq/ledger-cal-service": "^1.8.0-nightly.
|
|
223
|
-
"@ledgerhq/ledger-trust-service": "^0.4.1-nightly.
|
|
215
|
+
"@ledgerhq/hw-app-tezos": "^6.31.9-nightly.20251101023821",
|
|
216
|
+
"@ledgerhq/hw-app-trx": "^6.31.9-nightly.20251101023821",
|
|
217
|
+
"@ledgerhq/hw-app-vet": "^0.7.0-nightly.20251101023821",
|
|
218
|
+
"@ledgerhq/hw-app-xrp": "^6.32.7-nightly.20251101023821",
|
|
219
|
+
"@ledgerhq/hw-bolos": "^6.32.9-nightly.20251101023821",
|
|
220
|
+
"@ledgerhq/hw-transport": "6.31.13-nightly.20251101023821",
|
|
221
|
+
"@ledgerhq/hw-transport-mocker": "^6.29.13-nightly.20251101023821",
|
|
222
|
+
"@ledgerhq/ledger-cal-service": "^1.8.0-nightly.20251101023821",
|
|
223
|
+
"@ledgerhq/ledger-trust-service": "^0.4.1-nightly.20251101023821",
|
|
224
224
|
"@ledgerhq/live-config": "^3.2.0",
|
|
225
|
-
"@ledgerhq/live-countervalues": "^0.9.0-nightly.
|
|
226
|
-
"@ledgerhq/live-countervalues-react": "^0.7.1-nightly.
|
|
227
|
-
"@ledgerhq/live-dmk-shared": "^0.15.0-nightly.
|
|
228
|
-
"@ledgerhq/live-env": "^2.20.0-nightly.
|
|
225
|
+
"@ledgerhq/live-countervalues": "^0.9.0-nightly.20251101023821",
|
|
226
|
+
"@ledgerhq/live-countervalues-react": "^0.7.1-nightly.20251101023821",
|
|
227
|
+
"@ledgerhq/live-dmk-shared": "^0.15.0-nightly.20251101023821",
|
|
228
|
+
"@ledgerhq/live-env": "^2.20.0-nightly.20251101023821",
|
|
229
229
|
"@ledgerhq/live-hooks": "0.2.0",
|
|
230
|
-
"@ledgerhq/live-network": "^2.1.0-nightly.
|
|
230
|
+
"@ledgerhq/live-network": "^2.1.0-nightly.20251101023821",
|
|
231
231
|
"@ledgerhq/live-promise": "^0.1.1",
|
|
232
|
-
"@ledgerhq/live-signer-canton": "^0.5.0-nightly.
|
|
233
|
-
"@ledgerhq/live-signer-evm": "^0.10.0-nightly.
|
|
234
|
-
"@ledgerhq/live-signer-solana": "^0.6.0-nightly.
|
|
235
|
-
"@ledgerhq/live-wallet": "^0.15.0-nightly.
|
|
232
|
+
"@ledgerhq/live-signer-canton": "^0.5.0-nightly.20251101023821",
|
|
233
|
+
"@ledgerhq/live-signer-evm": "^0.10.0-nightly.20251101023821",
|
|
234
|
+
"@ledgerhq/live-signer-solana": "^0.6.0-nightly.20251101023821",
|
|
235
|
+
"@ledgerhq/live-wallet": "^0.15.0-nightly.20251101023821",
|
|
236
236
|
"@ledgerhq/logs": "^6.13.0",
|
|
237
|
-
"@ledgerhq/speculos-transport": "^0.2.14-nightly.
|
|
238
|
-
"@ledgerhq/wallet-api-acre-module": "^0.9.0-nightly.
|
|
239
|
-
"@ledgerhq/wallet-api-exchange-module": "^0.18.0-nightly.
|
|
237
|
+
"@ledgerhq/speculos-transport": "^0.2.14-nightly.20251101023821",
|
|
238
|
+
"@ledgerhq/wallet-api-acre-module": "^0.9.0-nightly.20251101023821",
|
|
239
|
+
"@ledgerhq/wallet-api-exchange-module": "^0.18.0-nightly.20251101023821"
|
|
240
240
|
},
|
|
241
241
|
"devDependencies": {
|
|
242
242
|
"@solana/web3.js": "1.95.4",
|
|
@@ -284,10 +284,10 @@
|
|
|
284
284
|
"undici": "6.19.2",
|
|
285
285
|
"uuid": "^8.3.2",
|
|
286
286
|
"ws": "7",
|
|
287
|
-
"@ledgerhq/device-react": "^0.3.1-nightly.
|
|
288
|
-
"@ledgerhq/types-cryptoassets": "^7.30.0-nightly.
|
|
287
|
+
"@ledgerhq/device-react": "^0.3.1-nightly.20251101023821",
|
|
288
|
+
"@ledgerhq/types-cryptoassets": "^7.30.0-nightly.20251101023821",
|
|
289
289
|
"@ledgerhq/types-devices": "^6.27.0",
|
|
290
|
-
"@ledgerhq/types-live": "^6.88.0-nightly.
|
|
290
|
+
"@ledgerhq/types-live": "^6.88.0-nightly.20251101023821"
|
|
291
291
|
},
|
|
292
292
|
"scripts": {
|
|
293
293
|
"build": "zx ./scripts/build-ts.mjs",
|
|
@@ -43,12 +43,17 @@ export function createTransaction(account: Account | TokenAccount): GenericTrans
|
|
|
43
43
|
};
|
|
44
44
|
case "evm": {
|
|
45
45
|
return {
|
|
46
|
-
mode: "send
|
|
46
|
+
mode: "send",
|
|
47
|
+
type: 2,
|
|
47
48
|
family: currency.family,
|
|
48
49
|
amount: new BigNumber(0),
|
|
49
50
|
recipient: "",
|
|
50
51
|
useAllAmount: false,
|
|
51
52
|
feesStrategy: "medium",
|
|
53
|
+
chainId: currency.ethereumLikeInfo?.chainId ?? 0,
|
|
54
|
+
gasLimit: new BigNumber(21000),
|
|
55
|
+
maxFeePerGas: new BigNumber(0),
|
|
56
|
+
maxPriorityFeePerGas: new BigNumber(0),
|
|
52
57
|
};
|
|
53
58
|
}
|
|
54
59
|
default:
|
|
@@ -2,7 +2,7 @@ import { Account, AccountBridge } from "@ledgerhq/types-live";
|
|
|
2
2
|
import { getAlpacaApi } from "./alpaca";
|
|
3
3
|
import { transactionToIntent } from "./utils";
|
|
4
4
|
import BigNumber from "bignumber.js";
|
|
5
|
-
import { AssetInfo } from "@ledgerhq/coin-framework/api/types";
|
|
5
|
+
import { AssetInfo, FeeEstimation } from "@ledgerhq/coin-framework/api/types";
|
|
6
6
|
import { decodeTokenAccountId } from "@ledgerhq/coin-framework/account/index";
|
|
7
7
|
import { TokenCurrency } from "@ledgerhq/types-cryptoassets";
|
|
8
8
|
import { GenericTransaction } from "./types";
|
|
@@ -21,6 +21,23 @@ function assetInfosFallback(transaction: GenericTransaction): {
|
|
|
21
21
|
};
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
+
function propagateField(estimation: FeeEstimation, field: string, dest: GenericTransaction): void {
|
|
25
|
+
const value = estimation?.parameters?.[field];
|
|
26
|
+
|
|
27
|
+
if (typeof value !== "bigint" && typeof value !== "number" && typeof value !== "string") return;
|
|
28
|
+
|
|
29
|
+
switch (field) {
|
|
30
|
+
case "type":
|
|
31
|
+
dest[field] = Number(value.toString());
|
|
32
|
+
return;
|
|
33
|
+
case "storageLimit":
|
|
34
|
+
dest[field] = new BigNumber(value.toString());
|
|
35
|
+
return;
|
|
36
|
+
default:
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
24
41
|
export function genericPrepareTransaction(
|
|
25
42
|
network: string,
|
|
26
43
|
kind,
|
|
@@ -34,10 +51,9 @@ export function genericPrepareTransaction(
|
|
|
34
51
|
? getAssetInfos(transaction, account.freshAddress, getAssetFromToken)
|
|
35
52
|
: assetInfosFallback(transaction);
|
|
36
53
|
const customParametersFees = transaction.customFees?.parameters?.fees;
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
await estimateFees(
|
|
54
|
+
const estimation: FeeEstimation = customParametersFees
|
|
55
|
+
? { value: BigInt(customParametersFees.toFixed()) }
|
|
56
|
+
: await estimateFees(
|
|
41
57
|
transactionToIntent(
|
|
42
58
|
account,
|
|
43
59
|
{
|
|
@@ -45,14 +61,13 @@ export function genericPrepareTransaction(
|
|
|
45
61
|
},
|
|
46
62
|
computeIntentType,
|
|
47
63
|
),
|
|
48
|
-
)
|
|
49
|
-
|
|
50
|
-
}
|
|
64
|
+
);
|
|
65
|
+
const fees = new BigNumber(estimation.value.toString());
|
|
51
66
|
|
|
52
|
-
if (!bnEq(transaction.fees,
|
|
67
|
+
if (!bnEq(transaction.fees, fees)) {
|
|
53
68
|
const next: GenericTransaction = {
|
|
54
69
|
...transaction,
|
|
55
|
-
fees
|
|
70
|
+
fees,
|
|
56
71
|
assetReference,
|
|
57
72
|
assetOwner,
|
|
58
73
|
customFees: {
|
|
@@ -62,35 +77,15 @@ export function genericPrepareTransaction(
|
|
|
62
77
|
},
|
|
63
78
|
};
|
|
64
79
|
|
|
65
|
-
//
|
|
66
|
-
const
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
...transaction,
|
|
71
|
-
},
|
|
72
|
-
computeIntentType,
|
|
73
|
-
),
|
|
74
|
-
);
|
|
75
|
-
const params = feeEstimation?.parameters;
|
|
76
|
-
if (params) {
|
|
77
|
-
const storageLimit = params["storageLimit"];
|
|
78
|
-
if (
|
|
79
|
-
storageLimit !== undefined &&
|
|
80
|
-
(typeof storageLimit === "bigint" ||
|
|
81
|
-
typeof storageLimit === "number" ||
|
|
82
|
-
typeof storageLimit === "string")
|
|
83
|
-
) {
|
|
84
|
-
next.storageLimit = new BigNumber(storageLimit.toString());
|
|
85
|
-
}
|
|
80
|
+
// Propagate needed fields
|
|
81
|
+
const fieldsToPropagate = ["type", "storageLimit"];
|
|
82
|
+
|
|
83
|
+
for (const field of fieldsToPropagate) {
|
|
84
|
+
propagateField(estimation, field, next);
|
|
86
85
|
}
|
|
87
86
|
|
|
88
87
|
// align with stellar/xrp: when send max (or staking intents), reflect validated amount in UI
|
|
89
|
-
if (
|
|
90
|
-
transaction.useAllAmount ||
|
|
91
|
-
transaction["mode"] === "stake" ||
|
|
92
|
-
transaction["mode"] === "unstake"
|
|
93
|
-
) {
|
|
88
|
+
if (transaction.useAllAmount || ["stake", "unstake"].includes(transaction.mode ?? "")) {
|
|
94
89
|
const { amount } = await validateIntent(
|
|
95
90
|
transactionToIntent(
|
|
96
91
|
account,
|
|
@@ -119,9 +119,11 @@ export const genericSignOperation =
|
|
|
119
119
|
// Enrich with memo and asset information
|
|
120
120
|
transactionIntent = enrichTransactionIntent(transactionIntent, transaction, publicKey);
|
|
121
121
|
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
122
|
+
if (typeof transactionIntent.sequence !== "number") {
|
|
123
|
+
// TODO: should compute it and pass it down to craftTransaction (duplicate call right now)
|
|
124
|
+
const sequenceNumber = await alpacaApi.getSequence(transactionIntent.sender);
|
|
125
|
+
transactionIntent.sequence = sequenceNumber;
|
|
126
|
+
}
|
|
125
127
|
|
|
126
128
|
/* Craft unsigned blob via Alpaca */
|
|
127
129
|
const { transaction: unsigned } = await alpacaApi.craftTransaction(transactionIntent, {
|
|
@@ -92,81 +92,34 @@ describe("genericPrepareTransaction", () => {
|
|
|
92
92
|
expect(result).toBe(baseTransaction); // still same reference
|
|
93
93
|
});
|
|
94
94
|
|
|
95
|
-
it(
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
expect.objectContaining({
|
|
121
|
-
fees: estimatedFee,
|
|
122
|
-
storageLimit: new BigNumber(0),
|
|
123
|
-
customFees: {
|
|
124
|
-
parameters: {
|
|
125
|
-
fees: undefined,
|
|
126
|
-
},
|
|
127
|
-
},
|
|
128
|
-
}),
|
|
129
|
-
);
|
|
130
|
-
|
|
131
|
-
expect((getAlpacaApi as jest.Mock)().estimateFees).toHaveBeenCalledTimes(2);
|
|
132
|
-
});
|
|
133
|
-
|
|
134
|
-
it("propagates storageLimit showing new account scenario", async () => {
|
|
135
|
-
const estimatedFee = new BigNumber(491);
|
|
136
|
-
|
|
137
|
-
const estimateFeesFirstCall = jest.fn().mockResolvedValue({
|
|
138
|
-
value: estimatedFee,
|
|
139
|
-
parameters: { storageLimit: 300 },
|
|
140
|
-
});
|
|
141
|
-
|
|
142
|
-
const estimateFeesSecondCall = jest.fn().mockResolvedValue({
|
|
143
|
-
value: estimatedFee,
|
|
144
|
-
parameters: { storageLimit: 277 },
|
|
145
|
-
});
|
|
146
|
-
|
|
147
|
-
(getAlpacaApi as jest.Mock).mockReturnValue({
|
|
148
|
-
estimateFees: jest
|
|
149
|
-
.fn()
|
|
150
|
-
.mockImplementationOnce(() => estimateFeesFirstCall())
|
|
151
|
-
.mockImplementationOnce(() => estimateFeesSecondCall()),
|
|
152
|
-
});
|
|
153
|
-
|
|
154
|
-
const txWithoutCustomFees = { ...baseTransaction, customFees: undefined };
|
|
155
|
-
const prepareTransaction = genericPrepareTransaction(network, kind);
|
|
156
|
-
const result = await prepareTransaction(account, txWithoutCustomFees);
|
|
157
|
-
|
|
158
|
-
expect(result).toEqual(
|
|
159
|
-
expect.objectContaining({
|
|
160
|
-
fees: estimatedFee,
|
|
161
|
-
storageLimit: new BigNumber(277),
|
|
162
|
-
customFees: {
|
|
163
|
-
parameters: {
|
|
164
|
-
fees: undefined,
|
|
95
|
+
it.each([
|
|
96
|
+
["type", 2, 2],
|
|
97
|
+
["storageLimit", 300n, new BigNumber(300)],
|
|
98
|
+
])(
|
|
99
|
+
"propagates %s from estimation parameters",
|
|
100
|
+
async (parameterName, parameterValue, expectedValue) => {
|
|
101
|
+
(getAlpacaApi as jest.Mock).mockReturnValue({
|
|
102
|
+
estimateFees: jest.fn().mockResolvedValue({
|
|
103
|
+
value: new BigNumber(491),
|
|
104
|
+
parameters: { [parameterName]: parameterValue },
|
|
105
|
+
}),
|
|
106
|
+
});
|
|
107
|
+
|
|
108
|
+
const txWithoutCustomFees = { ...baseTransaction, customFees: undefined };
|
|
109
|
+
const prepareTransaction = genericPrepareTransaction(network, kind);
|
|
110
|
+
const result = await prepareTransaction(account, txWithoutCustomFees);
|
|
111
|
+
|
|
112
|
+
expect(result).toEqual(
|
|
113
|
+
expect.objectContaining({
|
|
114
|
+
fees: new BigNumber(491),
|
|
115
|
+
[parameterName]: expectedValue,
|
|
116
|
+
customFees: {
|
|
117
|
+
parameters: {
|
|
118
|
+
fees: undefined,
|
|
119
|
+
},
|
|
165
120
|
},
|
|
166
|
-
},
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
expect((getAlpacaApi as jest.Mock)().estimateFees).toHaveBeenCalledTimes(2);
|
|
171
|
-
});
|
|
121
|
+
}),
|
|
122
|
+
);
|
|
123
|
+
},
|
|
124
|
+
);
|
|
172
125
|
});
|