@ledgerhq/live-common 34.44.0-nightly.4 → 34.44.0-nightly.5
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/deviceSDK/tasks/core.d.ts +1 -0
- package/lib/deviceSDK/tasks/core.d.ts.map +1 -1
- package/lib/deviceSDK/tasks/core.js +3 -2
- package/lib/deviceSDK/tasks/core.js.map +1 -1
- package/lib/families/stellar/ui.d.ts.map +1 -1
- package/lib/families/stellar/ui.js +8 -2
- package/lib/families/stellar/ui.js.map +1 -1
- package/lib/hw/hooks/useGenuineCheck.d.ts +2 -1
- package/lib/hw/hooks/useGenuineCheck.d.ts.map +1 -1
- package/lib/hw/hooks/useGenuineCheck.js +10 -2
- package/lib/hw/hooks/useGenuineCheck.js.map +1 -1
- package/lib-es/deviceSDK/tasks/core.d.ts +1 -0
- package/lib-es/deviceSDK/tasks/core.d.ts.map +1 -1
- package/lib-es/deviceSDK/tasks/core.js +1 -1
- package/lib-es/deviceSDK/tasks/core.js.map +1 -1
- package/lib-es/families/stellar/ui.d.ts.map +1 -1
- package/lib-es/families/stellar/ui.js +8 -2
- package/lib-es/families/stellar/ui.js.map +1 -1
- package/lib-es/hw/hooks/useGenuineCheck.d.ts +2 -1
- package/lib-es/hw/hooks/useGenuineCheck.d.ts.map +1 -1
- package/lib-es/hw/hooks/useGenuineCheck.js +10 -2
- package/lib-es/hw/hooks/useGenuineCheck.js.map +1 -1
- package/package.json +5 -5
- package/src/deviceSDK/tasks/core.ts +1 -1
- package/src/families/stellar/__snapshots__/bridge.integration.test.ts.snap +283 -3
- package/src/families/stellar/ui.ts +10 -3
- package/src/hw/hooks/useGenuineCheck.ts +15 -4
@@ -24,6 +24,7 @@ type ErrorClass = CustomErrorClassType | TransportStatusErrorClassType;
|
|
24
24
|
type CommandTransportArgs = {
|
25
25
|
transport: Transport;
|
26
26
|
};
|
27
|
+
export declare const isDmkError: (error: any) => error is DmkError;
|
27
28
|
/**
|
28
29
|
* Calls a command and retries it on given errors. The transport is refreshed before each retry.
|
29
30
|
*
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/deviceSDK/tasks/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,6BAA6B,EAC7B,oBAAoB,EACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAA+B,MAAM,MAAM,CAAC;AAE/D,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAE3D,MAAM,MAAM,eAAe,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,KAAK,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAAC;AAEjF,eAAO,MAAM,sBAAsB,QAAQ,CAAC;AAC5C,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAE3C,eAAO,MAAM,QAAQ,oBAAoB,CAAC;AAE1C;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,cAAc,EACjE,IAAI,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,UAAU,CAAC,cAAc,GAAG,eAAe,CAAC,EAC1E,sBAAsB,CAAC,EAAE,MAAM,UAEjB,YAAY,KAAG,WAAW,cAAc,GAAG,eAAe,CAAC,CAwC1E;AAED,KAAK,UAAU,GAAG,oBAAoB,GAAG,6BAA6B,CAAC;AAGvE,KAAK,oBAAoB,GAAG;IAAE,SAAS,EAAE,SAAS,CAAA;CAAE,CAAC;
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/deviceSDK/tasks/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,6BAA6B,EAC7B,oBAAoB,EACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAA+B,MAAM,MAAM,CAAC;AAE/D,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAE3D,MAAM,MAAM,eAAe,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,KAAK,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAAC;AAEjF,eAAO,MAAM,sBAAsB,QAAQ,CAAC;AAC5C,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAE3C,eAAO,MAAM,QAAQ,oBAAoB,CAAC;AAE1C;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,cAAc,EACjE,IAAI,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,UAAU,CAAC,cAAc,GAAG,eAAe,CAAC,EAC1E,sBAAsB,CAAC,EAAE,MAAM,UAEjB,YAAY,KAAG,WAAW,cAAc,GAAG,eAAe,CAAC,CAwC1E;AAED,KAAK,UAAU,GAAG,oBAAoB,GAAG,6BAA6B,CAAC;AAGvE,KAAK,oBAAoB,GAAG;IAAE,SAAS,EAAE,SAAS,CAAA;CAAE,CAAC;AAErD,eAAO,MAAM,UAAU,UAAW,GAAG,sBAAgD,CAAC;AAEtF;;;;;;;;;;GAUG;AACH,wBAAgB,2BAA2B,CAAC,+BAA+B,EAAE,iBAAiB,EAAE,EAC9F,OAAO,EACP,aAAa,EACb,gBAAqB,GACtB,EAAE;IACD,OAAO,EAAE,CACP,IAAI,EAAE,+BAA+B,GAAG,oBAAoB,KACzD,UAAU,CAAC,iBAAiB,CAAC,CAAC;IACnC,aAAa,EAAE;QACb,UAAU,EAAE,UAAU,CAAC;QACvB,UAAU,EAAE,MAAM,GAAG,UAAU,CAAC;KACjC,EAAE,CAAC;IACJ,gBAAgB,CAAC,EAAE,QAAQ,EAAE,CAAC;CAC/B,kBAIiB,YAAY,wBACJ,+BAA+B,KACpD,WAAW,iBAAiB,CAAC,CA+DjC"}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.retryOnErrorsCommandWrapper = exports.sharedLogicTaskWrapper = exports.LOG_TYPE = exports.RETRY_ON_ERROR_DELAY_MS = exports.NO_RESPONSE_TIMEOUT_MS = void 0;
|
3
|
+
exports.retryOnErrorsCommandWrapper = exports.isDmkError = exports.sharedLogicTaskWrapper = exports.LOG_TYPE = exports.RETRY_ON_ERROR_DELAY_MS = exports.NO_RESPONSE_TIMEOUT_MS = void 0;
|
4
4
|
const errors_1 = require("@ledgerhq/errors");
|
5
5
|
const rxjs_1 = require("rxjs");
|
6
6
|
const operators_1 = require("rxjs/operators");
|
@@ -53,6 +53,7 @@ function sharedLogicTaskWrapper(task, defaultTimeoutOverride) {
|
|
53
53
|
}
|
54
54
|
exports.sharedLogicTaskWrapper = sharedLogicTaskWrapper;
|
55
55
|
const isDmkError = (error) => error && "_tag" in error;
|
56
|
+
exports.isDmkError = isDmkError;
|
56
57
|
/**
|
57
58
|
* Calls a command and retries it on given errors. The transport is refreshed before each retry.
|
58
59
|
*
|
@@ -108,7 +109,7 @@ function retryOnErrorsCommandWrapper({ command, allowedErrors, allowedDmkErrors
|
|
108
109
|
break;
|
109
110
|
}
|
110
111
|
}
|
111
|
-
if (isDmkError(error)) {
|
112
|
+
if ((0, exports.isDmkError)(error)) {
|
112
113
|
isAllowedError = allowedDmkErrors.some(dmkError => dmkError._tag === error._tag);
|
113
114
|
}
|
114
115
|
if (isAllowedError) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../../src/deviceSDK/tasks/core.ts"],"names":[],"mappings":";;;AAAA,6CAQ0B;AAC1B,+BAA+D;AAC/D,8CAAkF;AAMrE,QAAA,sBAAsB,GAAG,KAAK,CAAC;AAC/B,QAAA,uBAAuB,GAAG,GAAG,CAAC;AAE9B,QAAA,QAAQ,GAAG,iBAAiB,CAAC;AAE1C;;;;;;;;GAQG;AACH,SAAgB,sBAAsB,CACpC,IAA0E,EAC1E,sBAA+B;IAE/B,OAAO,CAAC,IAAkB,EAAgD,EAAE;QAC1E,OAAO,IAAI,iBAAU,CAAC,UAAU,CAAC,EAAE;YACjC,OAAO,IAAI,CAAC,IAAI,CAAC;iBACd,IAAI,CACH,IAAA,mBAAO,EAAC,sBAAsB,IAAI,8BAAsB,CAAC,EACzD,IAAA,iBAAK,EAAC;gBACJ,KAAK,EAAE,KAAK,CAAC,EAAE;oBACb,IAAI,aAAa,GAAG,KAAK,CAAC;oBAE1B,4GAA4G;oBAC5G,sFAAsF;oBACtF,0EAA0E;oBAC1E,8EAA8E;oBAC9E,IACE,KAAK,YAAY,0BAAiB;wBAClC,KAAK,YAAY,gCAAuB;wBACxC,KAAK,YAAY,uBAAc;wBAC/B,KAAK,YAAY,2BAAkB;wBACnC,KAAK,YAAY,+BAAsB,EACvC;wBACA,iGAAiG;wBACjG,MAAM,KAAK,GAAoB;4BAC7B,IAAI,EAAE,OAAO;4BACb,KAAK;4BACL,QAAQ,EAAE,IAAI;yBACf,CAAC;wBACF,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBACvB,aAAa,GAAG,IAAI,CAAC;qBACtB;oBACD,OAAO,aAAa,CAAC,CAAC,CAAC,IAAA,YAAK,EAAC,+BAAuB,CAAC,CAAC,CAAC,CAAC,IAAA,iBAAU,EAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;gBAClF,CAAC;aACF,CAAC,EACF,IAAA,sBAAU,EAAC,CAAC,KAAY,EAAE,EAAE;gBAC1B,kDAAkD;gBAClD,OAAO,IAAA,SAAE,EAAkB,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;YACxE,CAAC,CAAC,CACH;iBACA,SAAS,CAAC,UAAU,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AA5CD,wDA4CC;
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../../src/deviceSDK/tasks/core.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../../src/families/stellar/ui.ts"],"names":[],"mappings":"AAAA,OAAO,
|
1
|
+
{"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../../src/families/stellar/ui.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAE7D;;GAEG;AACH,eAAO,MAAM,UAAU,UAAW,qBAAqB,KAAG,MAAM,GAAG,SAgBlE,CAAC"}
|
@@ -5,12 +5,18 @@ exports.formatMemo = void 0;
|
|
5
5
|
* Format stellar memo value for display.
|
6
6
|
*/
|
7
7
|
const formatMemo = (extra) => {
|
8
|
-
|
8
|
+
const memo = extra.memo;
|
9
|
+
// for backward compatibility for previous operation structure, as there is no
|
10
|
+
// data migration system in place
|
11
|
+
// noinspection SuspiciousTypeOfGuard
|
12
|
+
if (typeof memo == "string")
|
13
|
+
return memo;
|
14
|
+
switch (memo?.type) {
|
9
15
|
case "MEMO_ID":
|
10
16
|
case "MEMO_TEXT":
|
11
17
|
case "MEMO_HASH":
|
12
18
|
case "MEMO_RETURN":
|
13
|
-
return
|
19
|
+
return memo?.value;
|
14
20
|
}
|
15
21
|
return undefined;
|
16
22
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../../../src/families/stellar/ui.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACI,MAAM,UAAU,GAAG,CAAC,KAA4B,EAAsB,EAAE;IAC7E,
|
1
|
+
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../../../src/families/stellar/ui.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACI,MAAM,UAAU,GAAG,CAAC,KAA4B,EAAsB,EAAE;IAC7E,MAAM,IAAI,GAAqC,KAAK,CAAC,IAAI,CAAC;IAE1D,8EAA8E;IAC9E,iCAAiC;IACjC,qCAAqC;IACrC,IAAI,OAAO,IAAI,IAAI,QAAQ;QAAE,OAAO,IAAI,CAAC;IAEzC,QAAQ,IAAI,EAAE,IAAI,EAAE;QAClB,KAAK,SAAS,CAAC;QACf,KAAK,WAAW,CAAC;QACjB,KAAK,WAAW,CAAC;QACjB,KAAK,aAAa;YAChB,OAAO,IAAI,EAAE,KAAK,CAAC;KACtB;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAhBW,QAAA,UAAU,cAgBrB"}
|
@@ -1,5 +1,6 @@
|
|
1
1
|
import type { DeviceId } from "@ledgerhq/types-live";
|
2
2
|
import type { GetGenuineCheckFromDeviceIdArgs, GetGenuineCheckFromDeviceIdOutput } from "../getGenuineCheckFromDeviceId";
|
3
|
+
import { DmkError } from "@ledgerhq/device-management-kit";
|
3
4
|
export type GenuineState = "unchecked" | "genuine" | "non-genuine";
|
4
5
|
export type DevicePermissionState = "unrequested" | "unlock-needed" | "unlocked" | "requested" | "granted" | "refused";
|
5
6
|
export type UseGenuineCheckArgs = {
|
@@ -14,7 +15,7 @@ export type UseGenuineCheckDependencies = {
|
|
14
15
|
export type UseGenuineCheckResult = {
|
15
16
|
genuineState: GenuineState;
|
16
17
|
devicePermissionState: DevicePermissionState;
|
17
|
-
error: Error | null;
|
18
|
+
error: Error | DmkError | null;
|
18
19
|
resetGenuineCheckState: () => void;
|
19
20
|
};
|
20
21
|
/**
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useGenuineCheck.d.ts","sourceRoot":"","sources":["../../../src/hw/hooks/useGenuineCheck.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,KAAK,EACV,+BAA+B,EAE/B,iCAAiC,EAClC,MAAM,gCAAgC,CAAC;AAExC,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,SAAS,GAAG,aAAa,CAAC;AACnE,MAAM,MAAM,qBAAqB,GAC7B,aAAa,GACb,eAAe,GACf,UAAU,GACV,WAAW,GACX,SAAS,GACT,SAAS,CAAC;AAEd,MAAM,MAAM,mBAAmB,GAAG;IAChC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,EAAE,QAAQ,CAAC;IACnB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,2BAA2B,CAAC,EAAE,CAC5B,IAAI,EAAE,+BAA+B,KAClC,iCAAiC,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,YAAY,EAAE,YAAY,CAAC;IAC3B,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;
|
1
|
+
{"version":3,"file":"useGenuineCheck.d.ts","sourceRoot":"","sources":["../../../src/hw/hooks/useGenuineCheck.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,KAAK,EACV,+BAA+B,EAE/B,iCAAiC,EAClC,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAE3D,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,SAAS,GAAG,aAAa,CAAC;AACnE,MAAM,MAAM,qBAAqB,GAC7B,aAAa,GACb,eAAe,GACf,UAAU,GACV,WAAW,GACX,SAAS,GACT,SAAS,CAAC;AAEd,MAAM,MAAM,mBAAmB,GAAG;IAChC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,EAAE,QAAQ,CAAC;IACnB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,2BAA2B,CAAC,EAAE,CAC5B,IAAI,EAAE,+BAA+B,KAClC,iCAAiC,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,YAAY,EAAE,YAAY,CAAC;IAC3B,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,KAAK,EAAE,KAAK,GAAG,QAAQ,GAAG,IAAI,CAAC;IAC/B,sBAAsB,EAAE,MAAM,IAAI,CAAC;CACpC,CAAC;AAcF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,eAAe,0GAMzB,mBAAmB,GAAG,2BAA2B,KAAG,qBAqFtD,CAAC"}
|
@@ -4,6 +4,7 @@ exports.useGenuineCheck = void 0;
|
|
4
4
|
const react_1 = require("react");
|
5
5
|
const errors_1 = require("@ledgerhq/errors");
|
6
6
|
const getGenuineCheckFromDeviceId_1 = require("../getGenuineCheckFromDeviceId");
|
7
|
+
const core_1 = require("../../deviceSDK/tasks/core");
|
7
8
|
const SOCKET_EVENT_PAYLOAD_GENUINE = "0000";
|
8
9
|
const clearTimeoutRef = (timeoutRef) => {
|
9
10
|
if (timeoutRef.current) {
|
@@ -11,6 +12,7 @@ const clearTimeoutRef = (timeoutRef) => {
|
|
11
12
|
timeoutRef.current = null;
|
12
13
|
}
|
13
14
|
};
|
15
|
+
const isDmkDeviceDisconnectedError = (e) => (0, core_1.isDmkError)(e) && e._tag === "DeviceDisconnectedWhileSendingError";
|
14
16
|
/**
|
15
17
|
* Hook to check that a device is genuine
|
16
18
|
* It replaces a DeviceAction if we're only interested in getting the genuine check
|
@@ -85,7 +87,7 @@ const useGenuineCheck = ({ getGenuineCheckFromDeviceId = getGenuineCheckFromDevi
|
|
85
87
|
if (e instanceof errors_1.UserRefusedAllowManager) {
|
86
88
|
setDevicePermissionState("refused");
|
87
89
|
}
|
88
|
-
else if (e instanceof Error) {
|
90
|
+
else if (e instanceof Error || isDmkDeviceDisconnectedError(e)) {
|
89
91
|
// Probably an error of type DisconnectedDeviceDuringOperation or something else
|
90
92
|
setError(e);
|
91
93
|
}
|
@@ -97,7 +99,13 @@ const useGenuineCheck = ({ getGenuineCheckFromDeviceId = getGenuineCheckFromDevi
|
|
97
99
|
return () => {
|
98
100
|
sub.unsubscribe();
|
99
101
|
};
|
100
|
-
}, [
|
102
|
+
}, [
|
103
|
+
isHookEnabled,
|
104
|
+
deviceId,
|
105
|
+
lockedDeviceTimeoutMs,
|
106
|
+
getGenuineCheckFromDeviceId,
|
107
|
+
permissionTimeoutMs,
|
108
|
+
]);
|
101
109
|
return {
|
102
110
|
genuineState,
|
103
111
|
devicePermissionState,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useGenuineCheck.js","sourceRoot":"","sources":["../../../src/hw/hooks/useGenuineCheck.ts"],"names":[],"mappings":";;;AAAA,iCAAmF;AACnF,6CAAoF;AAEpF,gFAAmH;
|
1
|
+
{"version":3,"file":"useGenuineCheck.js","sourceRoot":"","sources":["../../../src/hw/hooks/useGenuineCheck.ts"],"names":[],"mappings":"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"}
|
@@ -24,6 +24,7 @@ type ErrorClass = CustomErrorClassType | TransportStatusErrorClassType;
|
|
24
24
|
type CommandTransportArgs = {
|
25
25
|
transport: Transport;
|
26
26
|
};
|
27
|
+
export declare const isDmkError: (error: any) => error is DmkError;
|
27
28
|
/**
|
28
29
|
* Calls a command and retries it on given errors. The transport is refreshed before each retry.
|
29
30
|
*
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/deviceSDK/tasks/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,6BAA6B,EAC7B,oBAAoB,EACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAA+B,MAAM,MAAM,CAAC;AAE/D,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAE3D,MAAM,MAAM,eAAe,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,KAAK,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAAC;AAEjF,eAAO,MAAM,sBAAsB,QAAQ,CAAC;AAC5C,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAE3C,eAAO,MAAM,QAAQ,oBAAoB,CAAC;AAE1C;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,cAAc,EACjE,IAAI,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,UAAU,CAAC,cAAc,GAAG,eAAe,CAAC,EAC1E,sBAAsB,CAAC,EAAE,MAAM,UAEjB,YAAY,KAAG,WAAW,cAAc,GAAG,eAAe,CAAC,CAwC1E;AAED,KAAK,UAAU,GAAG,oBAAoB,GAAG,6BAA6B,CAAC;AAGvE,KAAK,oBAAoB,GAAG;IAAE,SAAS,EAAE,SAAS,CAAA;CAAE,CAAC;
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/deviceSDK/tasks/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,6BAA6B,EAC7B,oBAAoB,EACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAA+B,MAAM,MAAM,CAAC;AAE/D,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAE3D,MAAM,MAAM,eAAe,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,KAAK,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAAC;AAEjF,eAAO,MAAM,sBAAsB,QAAQ,CAAC;AAC5C,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAE3C,eAAO,MAAM,QAAQ,oBAAoB,CAAC;AAE1C;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,cAAc,EACjE,IAAI,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,UAAU,CAAC,cAAc,GAAG,eAAe,CAAC,EAC1E,sBAAsB,CAAC,EAAE,MAAM,UAEjB,YAAY,KAAG,WAAW,cAAc,GAAG,eAAe,CAAC,CAwC1E;AAED,KAAK,UAAU,GAAG,oBAAoB,GAAG,6BAA6B,CAAC;AAGvE,KAAK,oBAAoB,GAAG;IAAE,SAAS,EAAE,SAAS,CAAA;CAAE,CAAC;AAErD,eAAO,MAAM,UAAU,UAAW,GAAG,sBAAgD,CAAC;AAEtF;;;;;;;;;;GAUG;AACH,wBAAgB,2BAA2B,CAAC,+BAA+B,EAAE,iBAAiB,EAAE,EAC9F,OAAO,EACP,aAAa,EACb,gBAAqB,GACtB,EAAE;IACD,OAAO,EAAE,CACP,IAAI,EAAE,+BAA+B,GAAG,oBAAoB,KACzD,UAAU,CAAC,iBAAiB,CAAC,CAAC;IACnC,aAAa,EAAE;QACb,UAAU,EAAE,UAAU,CAAC;QACvB,UAAU,EAAE,MAAM,GAAG,UAAU,CAAC;KACjC,EAAE,CAAC;IACJ,gBAAgB,CAAC,EAAE,QAAQ,EAAE,CAAC;CAC/B,kBAIiB,YAAY,wBACJ,+BAA+B,KACpD,WAAW,iBAAiB,CAAC,CA+DjC"}
|
@@ -48,7 +48,7 @@ export function sharedLogicTaskWrapper(task, defaultTimeoutOverride) {
|
|
48
48
|
});
|
49
49
|
};
|
50
50
|
}
|
51
|
-
const isDmkError = (error) => error && "_tag" in error;
|
51
|
+
export const isDmkError = (error) => error && "_tag" in error;
|
52
52
|
/**
|
53
53
|
* Calls a command and retries it on given errors. The transport is refreshed before each retry.
|
54
54
|
*
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../../src/deviceSDK/tasks/core.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,EACtB,uBAAuB,GAGxB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAMlF,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,CAAC;AAC5C,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAE3C,MAAM,CAAC,MAAM,QAAQ,GAAG,iBAAiB,CAAC;AAE1C;;;;;;;;GAQG;AACH,MAAM,UAAU,sBAAsB,CACpC,IAA0E,EAC1E,sBAA+B;IAE/B,OAAO,CAAC,IAAkB,EAAgD,EAAE;QAC1E,OAAO,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE;YACjC,OAAO,IAAI,CAAC,IAAI,CAAC;iBACd,IAAI,CACH,OAAO,CAAC,sBAAsB,IAAI,sBAAsB,CAAC,EACzD,KAAK,CAAC;gBACJ,KAAK,EAAE,KAAK,CAAC,EAAE;oBACb,IAAI,aAAa,GAAG,KAAK,CAAC;oBAE1B,4GAA4G;oBAC5G,sFAAsF;oBACtF,0EAA0E;oBAC1E,8EAA8E;oBAC9E,IACE,KAAK,YAAY,iBAAiB;wBAClC,KAAK,YAAY,uBAAuB;wBACxC,KAAK,YAAY,cAAc;wBAC/B,KAAK,YAAY,kBAAkB;wBACnC,KAAK,YAAY,sBAAsB,EACvC;wBACA,iGAAiG;wBACjG,MAAM,KAAK,GAAoB;4BAC7B,IAAI,EAAE,OAAO;4BACb,KAAK;4BACL,QAAQ,EAAE,IAAI;yBACf,CAAC;wBACF,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBACvB,aAAa,GAAG,IAAI,CAAC;qBACtB;oBACD,OAAO,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;gBAClF,CAAC;aACF,CAAC,EACF,UAAU,CAAC,CAAC,KAAY,EAAE,EAAE;gBAC1B,kDAAkD;gBAClD,OAAO,EAAE,CAAkB,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;YACxE,CAAC,CAAC,CACH;iBACA,SAAS,CAAC,UAAU,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAOD,MAAM,UAAU,GAAG,CAAC,KAAU,EAAqB,EAAE,CAAC,KAAK,IAAI,MAAM,IAAI,KAAK,CAAC;
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../../src/deviceSDK/tasks/core.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../../src/families/stellar/ui.ts"],"names":[],"mappings":"AAAA,OAAO,
|
1
|
+
{"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../../src/families/stellar/ui.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAE7D;;GAEG;AACH,eAAO,MAAM,UAAU,UAAW,qBAAqB,KAAG,MAAM,GAAG,SAgBlE,CAAC"}
|
@@ -2,12 +2,18 @@
|
|
2
2
|
* Format stellar memo value for display.
|
3
3
|
*/
|
4
4
|
export const formatMemo = (extra) => {
|
5
|
-
|
5
|
+
const memo = extra.memo;
|
6
|
+
// for backward compatibility for previous operation structure, as there is no
|
7
|
+
// data migration system in place
|
8
|
+
// noinspection SuspiciousTypeOfGuard
|
9
|
+
if (typeof memo == "string")
|
10
|
+
return memo;
|
11
|
+
switch (memo?.type) {
|
6
12
|
case "MEMO_ID":
|
7
13
|
case "MEMO_TEXT":
|
8
14
|
case "MEMO_HASH":
|
9
15
|
case "MEMO_RETURN":
|
10
|
-
return
|
16
|
+
return memo?.value;
|
11
17
|
}
|
12
18
|
return undefined;
|
13
19
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../../../src/families/stellar/ui.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAA4B,EAAsB,EAAE;IAC7E,
|
1
|
+
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../../../src/families/stellar/ui.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAA4B,EAAsB,EAAE;IAC7E,MAAM,IAAI,GAAqC,KAAK,CAAC,IAAI,CAAC;IAE1D,8EAA8E;IAC9E,iCAAiC;IACjC,qCAAqC;IACrC,IAAI,OAAO,IAAI,IAAI,QAAQ;QAAE,OAAO,IAAI,CAAC;IAEzC,QAAQ,IAAI,EAAE,IAAI,EAAE;QAClB,KAAK,SAAS,CAAC;QACf,KAAK,WAAW,CAAC;QACjB,KAAK,WAAW,CAAC;QACjB,KAAK,aAAa;YAChB,OAAO,IAAI,EAAE,KAAK,CAAC;KACtB;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC"}
|
@@ -1,5 +1,6 @@
|
|
1
1
|
import type { DeviceId } from "@ledgerhq/types-live";
|
2
2
|
import type { GetGenuineCheckFromDeviceIdArgs, GetGenuineCheckFromDeviceIdOutput } from "../getGenuineCheckFromDeviceId";
|
3
|
+
import { DmkError } from "@ledgerhq/device-management-kit";
|
3
4
|
export type GenuineState = "unchecked" | "genuine" | "non-genuine";
|
4
5
|
export type DevicePermissionState = "unrequested" | "unlock-needed" | "unlocked" | "requested" | "granted" | "refused";
|
5
6
|
export type UseGenuineCheckArgs = {
|
@@ -14,7 +15,7 @@ export type UseGenuineCheckDependencies = {
|
|
14
15
|
export type UseGenuineCheckResult = {
|
15
16
|
genuineState: GenuineState;
|
16
17
|
devicePermissionState: DevicePermissionState;
|
17
|
-
error: Error | null;
|
18
|
+
error: Error | DmkError | null;
|
18
19
|
resetGenuineCheckState: () => void;
|
19
20
|
};
|
20
21
|
/**
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useGenuineCheck.d.ts","sourceRoot":"","sources":["../../../src/hw/hooks/useGenuineCheck.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,KAAK,EACV,+BAA+B,EAE/B,iCAAiC,EAClC,MAAM,gCAAgC,CAAC;AAExC,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,SAAS,GAAG,aAAa,CAAC;AACnE,MAAM,MAAM,qBAAqB,GAC7B,aAAa,GACb,eAAe,GACf,UAAU,GACV,WAAW,GACX,SAAS,GACT,SAAS,CAAC;AAEd,MAAM,MAAM,mBAAmB,GAAG;IAChC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,EAAE,QAAQ,CAAC;IACnB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,2BAA2B,CAAC,EAAE,CAC5B,IAAI,EAAE,+BAA+B,KAClC,iCAAiC,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,YAAY,EAAE,YAAY,CAAC;IAC3B,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;
|
1
|
+
{"version":3,"file":"useGenuineCheck.d.ts","sourceRoot":"","sources":["../../../src/hw/hooks/useGenuineCheck.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,KAAK,EACV,+BAA+B,EAE/B,iCAAiC,EAClC,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAE3D,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,SAAS,GAAG,aAAa,CAAC;AACnE,MAAM,MAAM,qBAAqB,GAC7B,aAAa,GACb,eAAe,GACf,UAAU,GACV,WAAW,GACX,SAAS,GACT,SAAS,CAAC;AAEd,MAAM,MAAM,mBAAmB,GAAG;IAChC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,EAAE,QAAQ,CAAC;IACnB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,2BAA2B,CAAC,EAAE,CAC5B,IAAI,EAAE,+BAA+B,KAClC,iCAAiC,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,YAAY,EAAE,YAAY,CAAC;IAC3B,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,KAAK,EAAE,KAAK,GAAG,QAAQ,GAAG,IAAI,CAAC;IAC/B,sBAAsB,EAAE,MAAM,IAAI,CAAC;CACpC,CAAC;AAcF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,eAAe,0GAMzB,mBAAmB,GAAG,2BAA2B,KAAG,qBAqFtD,CAAC"}
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import { useCallback, useEffect, useState, useRef } from "react";
|
2
2
|
import { UnresponsiveDeviceError, UserRefusedAllowManager } from "@ledgerhq/errors";
|
3
3
|
import { getGenuineCheckFromDeviceId as defaultGetGenuineCheckFromDeviceId } from "../getGenuineCheckFromDeviceId";
|
4
|
+
import { isDmkError } from "../../deviceSDK/tasks/core";
|
4
5
|
const SOCKET_EVENT_PAYLOAD_GENUINE = "0000";
|
5
6
|
const clearTimeoutRef = (timeoutRef) => {
|
6
7
|
if (timeoutRef.current) {
|
@@ -8,6 +9,7 @@ const clearTimeoutRef = (timeoutRef) => {
|
|
8
9
|
timeoutRef.current = null;
|
9
10
|
}
|
10
11
|
};
|
12
|
+
const isDmkDeviceDisconnectedError = (e) => isDmkError(e) && e._tag === "DeviceDisconnectedWhileSendingError";
|
11
13
|
/**
|
12
14
|
* Hook to check that a device is genuine
|
13
15
|
* It replaces a DeviceAction if we're only interested in getting the genuine check
|
@@ -82,7 +84,7 @@ export const useGenuineCheck = ({ getGenuineCheckFromDeviceId = defaultGetGenuin
|
|
82
84
|
if (e instanceof UserRefusedAllowManager) {
|
83
85
|
setDevicePermissionState("refused");
|
84
86
|
}
|
85
|
-
else if (e instanceof Error) {
|
87
|
+
else if (e instanceof Error || isDmkDeviceDisconnectedError(e)) {
|
86
88
|
// Probably an error of type DisconnectedDeviceDuringOperation or something else
|
87
89
|
setError(e);
|
88
90
|
}
|
@@ -94,7 +96,13 @@ export const useGenuineCheck = ({ getGenuineCheckFromDeviceId = defaultGetGenuin
|
|
94
96
|
return () => {
|
95
97
|
sub.unsubscribe();
|
96
98
|
};
|
97
|
-
}, [
|
99
|
+
}, [
|
100
|
+
isHookEnabled,
|
101
|
+
deviceId,
|
102
|
+
lockedDeviceTimeoutMs,
|
103
|
+
getGenuineCheckFromDeviceId,
|
104
|
+
permissionTimeoutMs,
|
105
|
+
]);
|
98
106
|
return {
|
99
107
|
genuineState,
|
100
108
|
devicePermissionState,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useGenuineCheck.js","sourceRoot":"","sources":["../../../src/hw/hooks/useGenuineCheck.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAoB,MAAM,EAAE,MAAM,OAAO,CAAC;AACnF,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAEpF,OAAO,EAAE,2BAA2B,IAAI,kCAAkC,EAAE,MAAM,gCAAgC,CAAC;
|
1
|
+
{"version":3,"file":"useGenuineCheck.js","sourceRoot":"","sources":["../../../src/hw/hooks/useGenuineCheck.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAoB,MAAM,EAAE,MAAM,OAAO,CAAC;AACnF,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAEpF,OAAO,EAAE,2BAA2B,IAAI,kCAAkC,EAAE,MAAM,gCAAgC,CAAC;AAMnH,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAgCxD,MAAM,4BAA4B,GAAG,MAAM,CAAC;AAE5C,MAAM,eAAe,GAAG,CAAC,UAAmD,EAAE,EAAE;IAC9E,IAAI,UAAU,CAAC,OAAO,EAAE;QACtB,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACjC,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;KAC3B;AACH,CAAC,CAAC;AAEF,MAAM,4BAA4B,GAAG,CAAC,CAAU,EAAiB,EAAE,CACjE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,qCAAqC,CAAC;AAEpE;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAC9B,2BAA2B,GAAG,kCAAkC,EAChE,aAAa,GAAG,IAAI,EACpB,QAAQ,EACR,qBAAqB,GAAG,IAAI,EAC5B,mBAAmB,GAAG,EAAE,GAAG,IAAI,GACmB,EAAyB,EAAE;IAC7E,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAe,WAAW,CAAC,CAAC;IAC5E,MAAM,CAAC,qBAAqB,EAAE,wBAAwB,CAAC,GACrD,QAAQ,CAAwB,aAAa,CAAC,CAAC;IACjD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAA0B,IAAI,CAAC,CAAC;IAClE,MAAM,UAAU,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;IAEvD,MAAM,sBAAsB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC9C,wBAAwB,CAAC,aAAa,CAAC,CAAC;QACxC,eAAe,CAAC,WAAW,CAAC,CAAC;QAC7B,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,aAAa,EAAE;YAClB,OAAO;SACR;QAED,MAAM,GAAG,GAAG,2BAA2B,CAAC;YACtC,QAAQ;YACR,qBAAqB;SACtB,CAAC,CAAC,SAAS,CAAC;YACX,IAAI,EAAE,CAAC,EAAE,WAAW,EAAE,YAAY,EAAqC,EAAE,EAAE;gBACzE,IAAI,WAAW,EAAE;oBACf,QAAQ,WAAW,CAAC,IAAI,EAAE;wBACxB,KAAK,6BAA6B;4BAChC,wBAAwB,CAAC,WAAW,CAAC,CAAC;4BACtC,UAAU,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;gCACnC,QAAQ,CAAC,IAAI,uBAAuB,EAAE,CAAC,CAAC;gCACxC,eAAe,CAAC,UAAU,CAAC,CAAC;4BAC9B,CAAC,EAAE,mBAAmB,CAAC,CAAC;4BACxB,MAAM;wBACR,KAAK,2BAA2B;4BAC9B,eAAe,CAAC,UAAU,CAAC,CAAC;4BAC5B,wBAAwB,CAAC,SAAS,CAAC,CAAC;4BACpC,MAAM;wBACR,KAAK,QAAQ;4BACX,eAAe,CAAC,UAAU,CAAC,CAAC;4BAC5B,IAAI,WAAW,CAAC,OAAO,KAAK,4BAA4B,EAAE;gCACxD,eAAe,CAAC,SAAS,CAAC,CAAC;6BAC5B;iCAAM;gCACL,eAAe,CAAC,aAAa,CAAC,CAAC;6BAChC;4BACD,MAAM;qBACT;iBACF;qBAAM;oBACL,eAAe,CAAC,UAAU,CAAC,CAAC;oBAC5B,+DAA+D;oBAC/D,IAAI,YAAY,EAAE;wBAChB,wBAAwB,CAAC,eAAe,CAAC,CAAC;qBAC3C;yBAAM;wBACL,wBAAwB,CAAC,UAAU,CAAC,CAAC;qBACtC;iBACF;YACH,CAAC;YACD,KAAK,EAAE,CAAC,CAAM,EAAE,EAAE;gBAChB,eAAe,CAAC,UAAU,CAAC,CAAC;gBAC5B,IAAI,CAAC,YAAY,uBAAuB,EAAE;oBACxC,wBAAwB,CAAC,SAAS,CAAC,CAAC;iBACrC;qBAAM,IAAI,CAAC,YAAY,KAAK,IAAI,4BAA4B,CAAC,CAAC,CAAC,EAAE;oBAChE,gFAAgF;oBAChF,QAAQ,CAAC,CAAC,CAAC,CAAC;iBACb;qBAAM;oBACL,QAAQ,CAAC,IAAI,KAAK,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC;iBAC5C;YACH,CAAC;SACF,CAAC,CAAC;QAEH,OAAO,GAAG,EAAE;YACV,GAAG,CAAC,WAAW,EAAE,CAAC;QACpB,CAAC,CAAC;IACJ,CAAC,EAAE;QACD,aAAa;QACb,QAAQ;QACR,qBAAqB;QACrB,2BAA2B;QAC3B,mBAAmB;KACpB,CAAC,CAAC;IAEH,OAAO;QACL,YAAY;QACZ,qBAAqB;QACrB,KAAK;QACL,sBAAsB;KACvB,CAAC;AACJ,CAAC,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.44.0-nightly.
|
4
|
+
"version": "34.44.0-nightly.5",
|
5
5
|
"repository": {
|
6
6
|
"type": "git",
|
7
7
|
"url": "https://github.com/LedgerHQ/ledger-live.git"
|
@@ -183,7 +183,7 @@
|
|
183
183
|
"@ledgerhq/coin-solana": "^0.29.1-nightly.2",
|
184
184
|
"@ledgerhq/coin-stacks": "^0.8.16-nightly.2",
|
185
185
|
"@ledgerhq/coin-stellar": "^5.5.0-nightly.2",
|
186
|
-
"@ledgerhq/coin-sui": "^0.9.0-nightly.
|
186
|
+
"@ledgerhq/coin-sui": "^0.9.0-nightly.3",
|
187
187
|
"@ledgerhq/coin-tezos": "^5.8.0-nightly.3",
|
188
188
|
"@ledgerhq/coin-ton": "^0.13.5-nightly.2",
|
189
189
|
"@ledgerhq/coin-tron": "^4.6.0-nightly.2",
|
@@ -193,12 +193,11 @@
|
|
193
193
|
"@ledgerhq/cryptoassets": "^13.24.0-nightly.0",
|
194
194
|
"@ledgerhq/device-core": "^0.5.5-nightly.1",
|
195
195
|
"@ledgerhq/devices": "8.4.9-nightly.1",
|
196
|
+
"@ledgerhq/hw-app-aptos": "^6.34.5-nightly.1",
|
196
197
|
"@ledgerhq/errors": "^6.24.0-nightly.0",
|
197
198
|
"@ledgerhq/hw-app-algorand": "^6.31.5-nightly.1",
|
198
|
-
"@ledgerhq/hw-app-aptos": "^6.34.5-nightly.1",
|
199
|
-
"@ledgerhq/hw-app-btc": "^10.10.1-nightly.1",
|
200
199
|
"@ledgerhq/hw-app-celo": "^6.33.12-nightly.1",
|
201
|
-
"@ledgerhq/hw-app-
|
200
|
+
"@ledgerhq/hw-app-btc": "^10.10.1-nightly.1",
|
202
201
|
"@ledgerhq/hw-app-eth": "^6.45.14-nightly.1",
|
203
202
|
"@ledgerhq/hw-app-exchange": "^0.11.1-nightly.1",
|
204
203
|
"@ledgerhq/hw-app-hedera": "^1.2.5-nightly.1",
|
@@ -226,6 +225,7 @@
|
|
226
225
|
"@ledgerhq/live-promise": "^0.1.1",
|
227
226
|
"@ledgerhq/live-signer-evm": "^0.6.3-nightly.3",
|
228
227
|
"@ledgerhq/live-signer-solana": "^0.5.1-nightly.2",
|
228
|
+
"@ledgerhq/hw-app-cosmos": "^6.32.5-nightly.1",
|
229
229
|
"@ledgerhq/live-signer-canton": "^0.2.0-nightly.2",
|
230
230
|
"@ledgerhq/live-wallet": "^0.12.0-nightly.2",
|
231
231
|
"@ledgerhq/logs": "^6.13.0",
|
@@ -79,7 +79,7 @@ type ErrorClass = CustomErrorClassType | TransportStatusErrorClassType;
|
|
79
79
|
// To be able to retry a command, the command needs to take an object containing a transport as its argument
|
80
80
|
type CommandTransportArgs = { transport: Transport };
|
81
81
|
|
82
|
-
const isDmkError = (error: any): error is DmkError => error && "_tag" in error;
|
82
|
+
export const isDmkError = (error: any): error is DmkError => error && "_tag" in error;
|
83
83
|
|
84
84
|
/**
|
85
85
|
* Calls a command and retries it on given errors. The transport is refreshed before each retry.
|
@@ -3,17 +3,17 @@
|
|
3
3
|
exports[`stellar currency bridge scanAccounts stellar seed 1 1`] = `
|
4
4
|
[
|
5
5
|
{
|
6
|
-
"balance": "
|
6
|
+
"balance": "341064683",
|
7
7
|
"currencyId": "stellar",
|
8
8
|
"derivationMode": "sep5",
|
9
9
|
"freshAddress": "GAT4LBXYJGJJJRSNK74NPFLO55CDDXSYVMQODSEAAH3M6EY4S7LPH5GV",
|
10
10
|
"freshAddressPath": "44'/148'/0'",
|
11
11
|
"id": "js:2:stellar:GAT4LBXYJGJJJRSNK74NPFLO55CDDXSYVMQODSEAAH3M6EY4S7LPH5GV:sep5",
|
12
12
|
"index": 0,
|
13
|
-
"operationsCount":
|
13
|
+
"operationsCount": 126,
|
14
14
|
"pendingOperations": [],
|
15
15
|
"seedIdentifier": "27c586f8499294c64d57f8d7956eef4431de58ab20e1c88001f6cf131c97d6f3",
|
16
|
-
"spendableBalance": "
|
16
|
+
"spendableBalance": "311064583",
|
17
17
|
"subAccounts": [],
|
18
18
|
"swapHistory": [],
|
19
19
|
"syncHash": undefined,
|
@@ -442,6 +442,34 @@ exports[`stellar currency bridge scanAccounts stellar seed 1 2`] = `
|
|
442
442
|
"type": "IN",
|
443
443
|
"value": "1",
|
444
444
|
},
|
445
|
+
{
|
446
|
+
"accountId": "js:2:stellar:GAT4LBXYJGJJJRSNK74NPFLO55CDDXSYVMQODSEAAH3M6EY4S7LPH5GV:sep5",
|
447
|
+
"blockHash": "0b101bc4656b48063383c8c7957eb756df6daee9f10f2d89125f2ec176d28f84",
|
448
|
+
"blockHeight": 58324373,
|
449
|
+
"extra": {
|
450
|
+
"blockTime": 2025-08-05T04:22:10.000Z,
|
451
|
+
"index": "250501274594967553",
|
452
|
+
"ledgerOpType": "IN",
|
453
|
+
"memo": {
|
454
|
+
"type": "MEMO_TEXT",
|
455
|
+
"value": "50% CASHBACK ON yStorm & XLM",
|
456
|
+
},
|
457
|
+
"pagingToken": "250501274594967553",
|
458
|
+
},
|
459
|
+
"fee": "10000",
|
460
|
+
"hasFailed": false,
|
461
|
+
"hash": "10264d8b4e71eee96b3972b99c3ccff8a6b2840232d93126df6014ad236183d2",
|
462
|
+
"id": "js:2:stellar:GAT4LBXYJGJJJRSNK74NPFLO55CDDXSYVMQODSEAAH3M6EY4S7LPH5GV:sep5-10264d8b4e71eee96b3972b99c3ccff8a6b2840232d93126df6014ad236183d2-IN",
|
463
|
+
"recipients": [
|
464
|
+
"GAT4LBXYJGJJJRSNK74NPFLO55CDDXSYVMQODSEAAH3M6EY4S7LPH5GV",
|
465
|
+
],
|
466
|
+
"senders": [
|
467
|
+
"GBCTYLNHE5XJNGD76R7EVQSMFXMT4SC5PD4XKT2P4LBN2BBB42BKC5EA",
|
468
|
+
],
|
469
|
+
"transactionSequenceNumber": 250201623316409700,
|
470
|
+
"type": "IN",
|
471
|
+
"value": "1",
|
472
|
+
},
|
445
473
|
{
|
446
474
|
"accountId": "js:2:stellar:GAT4LBXYJGJJJRSNK74NPFLO55CDDXSYVMQODSEAAH3M6EY4S7LPH5GV:sep5",
|
447
475
|
"blockHash": "de91876967432c18db672925858963de846140dc7cbfc8e73e016a09bec9f719",
|
@@ -860,6 +888,34 @@ exports[`stellar currency bridge scanAccounts stellar seed 1 2`] = `
|
|
860
888
|
"type": "IN",
|
861
889
|
"value": "1",
|
862
890
|
},
|
891
|
+
{
|
892
|
+
"accountId": "js:2:stellar:GAT4LBXYJGJJJRSNK74NPFLO55CDDXSYVMQODSEAAH3M6EY4S7LPH5GV:sep5",
|
893
|
+
"blockHash": "28cd3dca0bcb5ff7d3fe6378c0dde4749dfd6e6cc5722c9f26440c4ffc740fc5",
|
894
|
+
"blockHeight": 58285530,
|
895
|
+
"extra": {
|
896
|
+
"blockTime": 2025-08-02T14:24:45.000Z,
|
897
|
+
"index": "250334445180477441",
|
898
|
+
"ledgerOpType": "IN",
|
899
|
+
"memo": {
|
900
|
+
"type": "MEMO_TEXT",
|
901
|
+
"value": "Buy yStorm Earn Native XLM!",
|
902
|
+
},
|
903
|
+
"pagingToken": "250334445180477441",
|
904
|
+
},
|
905
|
+
"fee": "10000",
|
906
|
+
"hasFailed": false,
|
907
|
+
"hash": "2fc357f2119d08873c8eadba23577052b952f8a136b8f283842f8ba1beb23a26",
|
908
|
+
"id": "js:2:stellar:GAT4LBXYJGJJJRSNK74NPFLO55CDDXSYVMQODSEAAH3M6EY4S7LPH5GV:sep5-2fc357f2119d08873c8eadba23577052b952f8a136b8f283842f8ba1beb23a26-IN",
|
909
|
+
"recipients": [
|
910
|
+
"GAT4LBXYJGJJJRSNK74NPFLO55CDDXSYVMQODSEAAH3M6EY4S7LPH5GV",
|
911
|
+
],
|
912
|
+
"senders": [
|
913
|
+
"GBCTYLNHE5XJNGD76R7EVQSMFXMT4SC5PD4XKT2P4LBN2BBB42BKC5EA",
|
914
|
+
],
|
915
|
+
"transactionSequenceNumber": 250201623316403330,
|
916
|
+
"type": "IN",
|
917
|
+
"value": "1",
|
918
|
+
},
|
863
919
|
{
|
864
920
|
"accountId": "js:2:stellar:GAT4LBXYJGJJJRSNK74NPFLO55CDDXSYVMQODSEAAH3M6EY4S7LPH5GV:sep5",
|
865
921
|
"blockHash": "c63800dd8a5a2c1a62ad7c15fac2de9891243a7fd52c637c1e0f3e61fbc28bad",
|
@@ -1576,6 +1632,34 @@ exports[`stellar currency bridge scanAccounts stellar seed 1 2`] = `
|
|
1576
1632
|
"type": "IN",
|
1577
1633
|
"value": "1",
|
1578
1634
|
},
|
1635
|
+
{
|
1636
|
+
"accountId": "js:2:stellar:GAT4LBXYJGJJJRSNK74NPFLO55CDDXSYVMQODSEAAH3M6EY4S7LPH5GV:sep5",
|
1637
|
+
"blockHash": "e03520700e06dc2c1bfae2f0b4a94490277088becb48ea306264fdd8dfd1df62",
|
1638
|
+
"blockHeight": 58334484,
|
1639
|
+
"extra": {
|
1640
|
+
"blockTime": 2025-08-05T20:35:01.000Z,
|
1641
|
+
"index": "250544701009068033",
|
1642
|
+
"ledgerOpType": "IN",
|
1643
|
+
"memo": {
|
1644
|
+
"type": "MEMO_TEXT",
|
1645
|
+
"value": "Buy yStorm Earn Native XLM!",
|
1646
|
+
},
|
1647
|
+
"pagingToken": "250544701009068033",
|
1648
|
+
},
|
1649
|
+
"fee": "10000",
|
1650
|
+
"hasFailed": false,
|
1651
|
+
"hash": "6be42b9b39e7f99a20f4df57b8513c881caf1de5279b573c262f6e32425d4e25",
|
1652
|
+
"id": "js:2:stellar:GAT4LBXYJGJJJRSNK74NPFLO55CDDXSYVMQODSEAAH3M6EY4S7LPH5GV:sep5-6be42b9b39e7f99a20f4df57b8513c881caf1de5279b573c262f6e32425d4e25-IN",
|
1653
|
+
"recipients": [
|
1654
|
+
"GAT4LBXYJGJJJRSNK74NPFLO55CDDXSYVMQODSEAAH3M6EY4S7LPH5GV",
|
1655
|
+
],
|
1656
|
+
"senders": [
|
1657
|
+
"GBCTYLNHE5XJNGD76R7EVQSMFXMT4SC5PD4XKT2P4LBN2BBB42BKC5EA",
|
1658
|
+
],
|
1659
|
+
"transactionSequenceNumber": 250201623316411780,
|
1660
|
+
"type": "IN",
|
1661
|
+
"value": "1",
|
1662
|
+
},
|
1579
1663
|
{
|
1580
1664
|
"accountId": "js:2:stellar:GAT4LBXYJGJJJRSNK74NPFLO55CDDXSYVMQODSEAAH3M6EY4S7LPH5GV:sep5",
|
1581
1665
|
"blockHash": "025bb8acb9b78ff008daf0b6ffad07bdcc64dc5dfc64605189c3fd4a5fac499c",
|
@@ -1881,6 +1965,62 @@ exports[`stellar currency bridge scanAccounts stellar seed 1 2`] = `
|
|
1881
1965
|
"type": "IN",
|
1882
1966
|
"value": "1",
|
1883
1967
|
},
|
1968
|
+
{
|
1969
|
+
"accountId": "js:2:stellar:GAT4LBXYJGJJJRSNK74NPFLO55CDDXSYVMQODSEAAH3M6EY4S7LPH5GV:sep5",
|
1970
|
+
"blockHash": "09fd06182f1e9bb78ff2f53e4556aa512d9f13f971d71906a9f91453239eeed9",
|
1971
|
+
"blockHeight": 58311936,
|
1972
|
+
"extra": {
|
1973
|
+
"blockTime": 2025-08-04T08:29:31.000Z,
|
1974
|
+
"index": "250447858087116801",
|
1975
|
+
"ledgerOpType": "IN",
|
1976
|
+
"memo": {
|
1977
|
+
"type": "MEMO_TEXT",
|
1978
|
+
"value": "50% CASHBACK ON yStorm & XLM",
|
1979
|
+
},
|
1980
|
+
"pagingToken": "250447858087116801",
|
1981
|
+
},
|
1982
|
+
"fee": "10000",
|
1983
|
+
"hasFailed": false,
|
1984
|
+
"hash": "83c0c4837794746edc769650209596d2b10a163ffaa012942cc49b72cd3e201b",
|
1985
|
+
"id": "js:2:stellar:GAT4LBXYJGJJJRSNK74NPFLO55CDDXSYVMQODSEAAH3M6EY4S7LPH5GV:sep5-83c0c4837794746edc769650209596d2b10a163ffaa012942cc49b72cd3e201b-IN",
|
1986
|
+
"recipients": [
|
1987
|
+
"GAT4LBXYJGJJJRSNK74NPFLO55CDDXSYVMQODSEAAH3M6EY4S7LPH5GV",
|
1988
|
+
],
|
1989
|
+
"senders": [
|
1990
|
+
"GBCTYLNHE5XJNGD76R7EVQSMFXMT4SC5PD4XKT2P4LBN2BBB42BKC5EA",
|
1991
|
+
],
|
1992
|
+
"transactionSequenceNumber": 250201623316407580,
|
1993
|
+
"type": "IN",
|
1994
|
+
"value": "1",
|
1995
|
+
},
|
1996
|
+
{
|
1997
|
+
"accountId": "js:2:stellar:GAT4LBXYJGJJJRSNK74NPFLO55CDDXSYVMQODSEAAH3M6EY4S7LPH5GV:sep5",
|
1998
|
+
"blockHash": "1a5bfecea672170945dcefce62af99913290d3696d2b5fe8b3c40e756bbe2f04",
|
1999
|
+
"blockHeight": 58270682,
|
2000
|
+
"extra": {
|
2001
|
+
"blockTime": 2025-08-01T14:41:57.000Z,
|
2002
|
+
"index": "250270673506594817",
|
2003
|
+
"ledgerOpType": "IN",
|
2004
|
+
"memo": {
|
2005
|
+
"type": "MEMO_TEXT",
|
2006
|
+
"value": "Buy yStorm Earn Native XLM!",
|
2007
|
+
},
|
2008
|
+
"pagingToken": "250270673506594817",
|
2009
|
+
},
|
2010
|
+
"fee": "10000",
|
2011
|
+
"hasFailed": false,
|
2012
|
+
"hash": "86cc5be8b2e5e3ac6fe4ee1d0ace67d6dcee9682c428b2df08e90758583666e1",
|
2013
|
+
"id": "js:2:stellar:GAT4LBXYJGJJJRSNK74NPFLO55CDDXSYVMQODSEAAH3M6EY4S7LPH5GV:sep5-86cc5be8b2e5e3ac6fe4ee1d0ace67d6dcee9682c428b2df08e90758583666e1-IN",
|
2014
|
+
"recipients": [
|
2015
|
+
"GAT4LBXYJGJJJRSNK74NPFLO55CDDXSYVMQODSEAAH3M6EY4S7LPH5GV",
|
2016
|
+
],
|
2017
|
+
"senders": [
|
2018
|
+
"GBCTYLNHE5XJNGD76R7EVQSMFXMT4SC5PD4XKT2P4LBN2BBB42BKC5EA",
|
2019
|
+
],
|
2020
|
+
"transactionSequenceNumber": 250201623316400540,
|
2021
|
+
"type": "IN",
|
2022
|
+
"value": "1",
|
2023
|
+
},
|
1884
2024
|
{
|
1885
2025
|
"accountId": "js:2:stellar:GAT4LBXYJGJJJRSNK74NPFLO55CDDXSYVMQODSEAAH3M6EY4S7LPH5GV:sep5",
|
1886
2026
|
"blockHash": "b1dc829d8aeab361098dd6992aa4853c71bdee44d8d814f5bbb17177b93d4188",
|
@@ -2324,6 +2464,34 @@ exports[`stellar currency bridge scanAccounts stellar seed 1 2`] = `
|
|
2324
2464
|
"type": "OUT",
|
2325
2465
|
"value": "10000000",
|
2326
2466
|
},
|
2467
|
+
{
|
2468
|
+
"accountId": "js:2:stellar:GAT4LBXYJGJJJRSNK74NPFLO55CDDXSYVMQODSEAAH3M6EY4S7LPH5GV:sep5",
|
2469
|
+
"blockHash": "4d4da61e0ebfb43089bbb1be529d164db5b47a3e74c7ea2471af6dc4d7e222b8",
|
2470
|
+
"blockHeight": 58270696,
|
2471
|
+
"extra": {
|
2472
|
+
"blockTime": 2025-08-01T14:43:15.000Z,
|
2473
|
+
"index": "250270733635469313",
|
2474
|
+
"ledgerOpType": "IN",
|
2475
|
+
"memo": {
|
2476
|
+
"type": "MEMO_TEXT",
|
2477
|
+
"value": "Buy yStorm Earn Native XLM!",
|
2478
|
+
},
|
2479
|
+
"pagingToken": "250270733635469313",
|
2480
|
+
},
|
2481
|
+
"fee": "10000",
|
2482
|
+
"hasFailed": false,
|
2483
|
+
"hash": "9e29dcd7a4535b565c78cf9984e3b5bc4e45f8789d0c73ba7e95c7f0a2be9be0",
|
2484
|
+
"id": "js:2:stellar:GAT4LBXYJGJJJRSNK74NPFLO55CDDXSYVMQODSEAAH3M6EY4S7LPH5GV:sep5-9e29dcd7a4535b565c78cf9984e3b5bc4e45f8789d0c73ba7e95c7f0a2be9be0-IN",
|
2485
|
+
"recipients": [
|
2486
|
+
"GAT4LBXYJGJJJRSNK74NPFLO55CDDXSYVMQODSEAAH3M6EY4S7LPH5GV",
|
2487
|
+
],
|
2488
|
+
"senders": [
|
2489
|
+
"GBCTYLNHE5XJNGD76R7EVQSMFXMT4SC5PD4XKT2P4LBN2BBB42BKC5EA",
|
2490
|
+
],
|
2491
|
+
"transactionSequenceNumber": 250201623316400540,
|
2492
|
+
"type": "IN",
|
2493
|
+
"value": "1",
|
2494
|
+
},
|
2327
2495
|
{
|
2328
2496
|
"accountId": "js:2:stellar:GAT4LBXYJGJJJRSNK74NPFLO55CDDXSYVMQODSEAAH3M6EY4S7LPH5GV:sep5",
|
2329
2497
|
"blockHash": "54c972c8c8433729c52ca13f65d26ec45388e7ee280986de4c6cf5a6dfc4f5f9",
|
@@ -2351,6 +2519,34 @@ exports[`stellar currency bridge scanAccounts stellar seed 1 2`] = `
|
|
2351
2519
|
"type": "OUT",
|
2352
2520
|
"value": "1000",
|
2353
2521
|
},
|
2522
|
+
{
|
2523
|
+
"accountId": "js:2:stellar:GAT4LBXYJGJJJRSNK74NPFLO55CDDXSYVMQODSEAAH3M6EY4S7LPH5GV:sep5",
|
2524
|
+
"blockHash": "ffe2e9c1e5439c3bb5f96db7389fb12c32cfe7709dfda017e42462bd9cc132ab",
|
2525
|
+
"blockHeight": 58370660,
|
2526
|
+
"extra": {
|
2527
|
+
"blockTime": 2025-08-08T06:51:44.000Z,
|
2528
|
+
"index": "250700075746578433",
|
2529
|
+
"ledgerOpType": "IN",
|
2530
|
+
"memo": {
|
2531
|
+
"type": "MEMO_TEXT",
|
2532
|
+
"value": "Buy RFL & Earn Native XLM",
|
2533
|
+
},
|
2534
|
+
"pagingToken": "250700075746578433",
|
2535
|
+
},
|
2536
|
+
"fee": "10000",
|
2537
|
+
"hasFailed": false,
|
2538
|
+
"hash": "a287cdbdcce41744f541d7fe2771a13addfaf00325720cc1ab2226c13439ce5a",
|
2539
|
+
"id": "js:2:stellar:GAT4LBXYJGJJJRSNK74NPFLO55CDDXSYVMQODSEAAH3M6EY4S7LPH5GV:sep5-a287cdbdcce41744f541d7fe2771a13addfaf00325720cc1ab2226c13439ce5a-IN",
|
2540
|
+
"recipients": [
|
2541
|
+
"GAT4LBXYJGJJJRSNK74NPFLO55CDDXSYVMQODSEAAH3M6EY4S7LPH5GV",
|
2542
|
+
],
|
2543
|
+
"senders": [
|
2544
|
+
"GC5MXBUKMFBOASOJUKKZUI7TOVI7AM6T3DYU27VS3OSQP5ODGVDGEXLE",
|
2545
|
+
],
|
2546
|
+
"transactionSequenceNumber": 250653093098686850,
|
2547
|
+
"type": "IN",
|
2548
|
+
"value": "1",
|
2549
|
+
},
|
2354
2550
|
{
|
2355
2551
|
"accountId": "js:2:stellar:GAT4LBXYJGJJJRSNK74NPFLO55CDDXSYVMQODSEAAH3M6EY4S7LPH5GV:sep5",
|
2356
2552
|
"blockHash": "76ddada621ac15b8e1c819ba57dcea3506457d50d7efc1b6129c05bab4a30b96",
|
@@ -2491,6 +2687,34 @@ exports[`stellar currency bridge scanAccounts stellar seed 1 2`] = `
|
|
2491
2687
|
"type": "IN",
|
2492
2688
|
"value": "1",
|
2493
2689
|
},
|
2690
|
+
{
|
2691
|
+
"accountId": "js:2:stellar:GAT4LBXYJGJJJRSNK74NPFLO55CDDXSYVMQODSEAAH3M6EY4S7LPH5GV:sep5",
|
2692
|
+
"blockHash": "4f1ce00a5d3eac5bdb41cf0fd0b81cdb369bfb349884c44d3e2240a70d37f9d7",
|
2693
|
+
"blockHeight": 58363096,
|
2694
|
+
"extra": {
|
2695
|
+
"blockTime": 2025-08-07T18:34:27.000Z,
|
2696
|
+
"index": "250667588613849089",
|
2697
|
+
"ledgerOpType": "IN",
|
2698
|
+
"memo": {
|
2699
|
+
"type": "MEMO_TEXT",
|
2700
|
+
"value": "Buy RFL & Earn Native XLM",
|
2701
|
+
},
|
2702
|
+
"pagingToken": "250667588613849089",
|
2703
|
+
},
|
2704
|
+
"fee": "10000",
|
2705
|
+
"hasFailed": false,
|
2706
|
+
"hash": "b1a4b775747d4a70444a313f61e7050b804c49ecccc409f8a7ebabd553c66df5",
|
2707
|
+
"id": "js:2:stellar:GAT4LBXYJGJJJRSNK74NPFLO55CDDXSYVMQODSEAAH3M6EY4S7LPH5GV:sep5-b1a4b775747d4a70444a313f61e7050b804c49ecccc409f8a7ebabd553c66df5-IN",
|
2708
|
+
"recipients": [
|
2709
|
+
"GAT4LBXYJGJJJRSNK74NPFLO55CDDXSYVMQODSEAAH3M6EY4S7LPH5GV",
|
2710
|
+
],
|
2711
|
+
"senders": [
|
2712
|
+
"GC5MXBUKMFBOASOJUKKZUI7TOVI7AM6T3DYU27VS3OSQP5ODGVDGEXLE",
|
2713
|
+
],
|
2714
|
+
"transactionSequenceNumber": 250653093098684700,
|
2715
|
+
"type": "IN",
|
2716
|
+
"value": "1",
|
2717
|
+
},
|
2494
2718
|
{
|
2495
2719
|
"accountId": "js:2:stellar:GAT4LBXYJGJJJRSNK74NPFLO55CDDXSYVMQODSEAAH3M6EY4S7LPH5GV:sep5",
|
2496
2720
|
"blockHash": "5af452a0ca0e97f4e0855e212de30fb0506a92f239c62aa82358793cceb1f351",
|
@@ -2823,6 +3047,34 @@ exports[`stellar currency bridge scanAccounts stellar seed 1 2`] = `
|
|
2823
3047
|
"type": "IN",
|
2824
3048
|
"value": "1",
|
2825
3049
|
},
|
3050
|
+
{
|
3051
|
+
"accountId": "js:2:stellar:GAT4LBXYJGJJJRSNK74NPFLO55CDDXSYVMQODSEAAH3M6EY4S7LPH5GV:sep5",
|
3052
|
+
"blockHash": "2220076b8d57bd2e0ce2e70ba0765145d47ecf07d06aa67c1999550a85842949",
|
3053
|
+
"blockHeight": 58343922,
|
3054
|
+
"extra": {
|
3055
|
+
"blockTime": 2025-08-06T11:43:04.000Z,
|
3056
|
+
"index": "250585236911091713",
|
3057
|
+
"ledgerOpType": "IN",
|
3058
|
+
"memo": {
|
3059
|
+
"type": "MEMO_TEXT",
|
3060
|
+
"value": "Buy yStorm Earn Native XLM!",
|
3061
|
+
},
|
3062
|
+
"pagingToken": "250585236911091713",
|
3063
|
+
},
|
3064
|
+
"fee": "10000",
|
3065
|
+
"hasFailed": false,
|
3066
|
+
"hash": "d7156608ccfa85496429722fedfc7b1928b4964ea87bac94a42bf753bbe9794b",
|
3067
|
+
"id": "js:2:stellar:GAT4LBXYJGJJJRSNK74NPFLO55CDDXSYVMQODSEAAH3M6EY4S7LPH5GV:sep5-d7156608ccfa85496429722fedfc7b1928b4964ea87bac94a42bf753bbe9794b-IN",
|
3068
|
+
"recipients": [
|
3069
|
+
"GAT4LBXYJGJJJRSNK74NPFLO55CDDXSYVMQODSEAAH3M6EY4S7LPH5GV",
|
3070
|
+
],
|
3071
|
+
"senders": [
|
3072
|
+
"GBCTYLNHE5XJNGD76R7EVQSMFXMT4SC5PD4XKT2P4LBN2BBB42BKC5EA",
|
3073
|
+
],
|
3074
|
+
"transactionSequenceNumber": 250201623316413820,
|
3075
|
+
"type": "IN",
|
3076
|
+
"value": "1",
|
3077
|
+
},
|
2826
3078
|
{
|
2827
3079
|
"accountId": "js:2:stellar:GAT4LBXYJGJJJRSNK74NPFLO55CDDXSYVMQODSEAAH3M6EY4S7LPH5GV:sep5",
|
2828
3080
|
"blockHash": "348700d9be98e1df277bdad085c71626843870bd80aec3f428aeb06a2519ee43",
|
@@ -3072,6 +3324,34 @@ exports[`stellar currency bridge scanAccounts stellar seed 1 2`] = `
|
|
3072
3324
|
"type": "IN",
|
3073
3325
|
"value": "1",
|
3074
3326
|
},
|
3327
|
+
{
|
3328
|
+
"accountId": "js:2:stellar:GAT4LBXYJGJJJRSNK74NPFLO55CDDXSYVMQODSEAAH3M6EY4S7LPH5GV:sep5",
|
3329
|
+
"blockHash": "d1709d056a6ee5ef255a9734a3b8a00e2ff86220abea02ca7ecae078fd3150b2",
|
3330
|
+
"blockHeight": 58299775,
|
3331
|
+
"extra": {
|
3332
|
+
"blockTime": 2025-08-03T13:02:48.000Z,
|
3333
|
+
"index": "250395626989236225",
|
3334
|
+
"ledgerOpType": "IN",
|
3335
|
+
"memo": {
|
3336
|
+
"type": "MEMO_TEXT",
|
3337
|
+
"value": "Buy yStorm Earn Native XLM!",
|
3338
|
+
},
|
3339
|
+
"pagingToken": "250395626989236225",
|
3340
|
+
},
|
3341
|
+
"fee": "10000",
|
3342
|
+
"hasFailed": false,
|
3343
|
+
"hash": "f034bf4a1d9eb1d2660beb03b691de981e01a587ba1377d6ce682142a28c9d48",
|
3344
|
+
"id": "js:2:stellar:GAT4LBXYJGJJJRSNK74NPFLO55CDDXSYVMQODSEAAH3M6EY4S7LPH5GV:sep5-f034bf4a1d9eb1d2660beb03b691de981e01a587ba1377d6ce682142a28c9d48-IN",
|
3345
|
+
"recipients": [
|
3346
|
+
"GAT4LBXYJGJJJRSNK74NPFLO55CDDXSYVMQODSEAAH3M6EY4S7LPH5GV",
|
3347
|
+
],
|
3348
|
+
"senders": [
|
3349
|
+
"GBCTYLNHE5XJNGD76R7EVQSMFXMT4SC5PD4XKT2P4LBN2BBB42BKC5EA",
|
3350
|
+
],
|
3351
|
+
"transactionSequenceNumber": 250201623316405470,
|
3352
|
+
"type": "IN",
|
3353
|
+
"value": "1",
|
3354
|
+
},
|
3075
3355
|
{
|
3076
3356
|
"accountId": "js:2:stellar:GAT4LBXYJGJJJRSNK74NPFLO55CDDXSYVMQODSEAAH3M6EY4S7LPH5GV:sep5",
|
3077
3357
|
"blockHash": "c2dd2af05d842d854d789cf480e11399c915ba041ff44082a6e07d719c3ccf5b",
|
@@ -1,15 +1,22 @@
|
|
1
|
-
import { StellarOperationExtra } from "./types";
|
1
|
+
import { StellarMemo, StellarOperationExtra } from "./types";
|
2
2
|
|
3
3
|
/**
|
4
4
|
* Format stellar memo value for display.
|
5
5
|
*/
|
6
6
|
export const formatMemo = (extra: StellarOperationExtra): string | undefined => {
|
7
|
-
|
7
|
+
const memo: StellarMemo | string | undefined = extra.memo;
|
8
|
+
|
9
|
+
// for backward compatibility for previous operation structure, as there is no
|
10
|
+
// data migration system in place
|
11
|
+
// noinspection SuspiciousTypeOfGuard
|
12
|
+
if (typeof memo == "string") return memo;
|
13
|
+
|
14
|
+
switch (memo?.type) {
|
8
15
|
case "MEMO_ID":
|
9
16
|
case "MEMO_TEXT":
|
10
17
|
case "MEMO_HASH":
|
11
18
|
case "MEMO_RETURN":
|
12
|
-
return
|
19
|
+
return memo?.value;
|
13
20
|
}
|
14
21
|
return undefined;
|
15
22
|
};
|
@@ -7,6 +7,8 @@ import type {
|
|
7
7
|
GetGenuineCheckFromDeviceIdResult,
|
8
8
|
GetGenuineCheckFromDeviceIdOutput,
|
9
9
|
} from "../getGenuineCheckFromDeviceId";
|
10
|
+
import { isDmkError } from "../../deviceSDK/tasks/core";
|
11
|
+
import { DmkError } from "@ledgerhq/device-management-kit";
|
10
12
|
|
11
13
|
export type GenuineState = "unchecked" | "genuine" | "non-genuine";
|
12
14
|
export type DevicePermissionState =
|
@@ -33,7 +35,7 @@ export type UseGenuineCheckDependencies = {
|
|
33
35
|
export type UseGenuineCheckResult = {
|
34
36
|
genuineState: GenuineState;
|
35
37
|
devicePermissionState: DevicePermissionState;
|
36
|
-
error: Error | null;
|
38
|
+
error: Error | DmkError | null;
|
37
39
|
resetGenuineCheckState: () => void;
|
38
40
|
};
|
39
41
|
|
@@ -46,6 +48,9 @@ const clearTimeoutRef = (timeoutRef: MutableRefObject<NodeJS.Timeout | null>) =>
|
|
46
48
|
}
|
47
49
|
};
|
48
50
|
|
51
|
+
const isDmkDeviceDisconnectedError = (e: unknown): e is DmkError =>
|
52
|
+
isDmkError(e) && e._tag === "DeviceDisconnectedWhileSendingError";
|
53
|
+
|
49
54
|
/**
|
50
55
|
* Hook to check that a device is genuine
|
51
56
|
* It replaces a DeviceAction if we're only interested in getting the genuine check
|
@@ -71,7 +76,7 @@ export const useGenuineCheck = ({
|
|
71
76
|
const [genuineState, setGenuineState] = useState<GenuineState>("unchecked");
|
72
77
|
const [devicePermissionState, setDevicePermissionState] =
|
73
78
|
useState<DevicePermissionState>("unrequested");
|
74
|
-
const [error, setError] = useState<Error | null>(null);
|
79
|
+
const [error, setError] = useState<Error | DmkError | null>(null);
|
75
80
|
const timeoutRef = useRef<NodeJS.Timeout | null>(null);
|
76
81
|
|
77
82
|
const resetGenuineCheckState = useCallback(() => {
|
@@ -126,7 +131,7 @@ export const useGenuineCheck = ({
|
|
126
131
|
clearTimeoutRef(timeoutRef);
|
127
132
|
if (e instanceof UserRefusedAllowManager) {
|
128
133
|
setDevicePermissionState("refused");
|
129
|
-
} else if (e instanceof Error) {
|
134
|
+
} else if (e instanceof Error || isDmkDeviceDisconnectedError(e)) {
|
130
135
|
// Probably an error of type DisconnectedDeviceDuringOperation or something else
|
131
136
|
setError(e);
|
132
137
|
} else {
|
@@ -138,7 +143,13 @@ export const useGenuineCheck = ({
|
|
138
143
|
return () => {
|
139
144
|
sub.unsubscribe();
|
140
145
|
};
|
141
|
-
}, [
|
146
|
+
}, [
|
147
|
+
isHookEnabled,
|
148
|
+
deviceId,
|
149
|
+
lockedDeviceTimeoutMs,
|
150
|
+
getGenuineCheckFromDeviceId,
|
151
|
+
permissionTimeoutMs,
|
152
|
+
]);
|
142
153
|
|
143
154
|
return {
|
144
155
|
genuineState,
|