@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.
@@ -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;AAIrD;;;;;;;;;;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
+ {"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":"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"}
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,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAEhD;;GAEG;AACH,eAAO,MAAM,UAAU,UAAW,qBAAqB,KAAG,MAAM,GAAG,SASlE,CAAC"}
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
- switch (extra?.memo?.type) {
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 extra?.memo.value;
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,QAAQ,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE;QACzB,KAAK,SAAS,CAAC;QACf,KAAK,WAAW,CAAC;QACjB,KAAK,WAAW,CAAC;QACjB,KAAK,aAAa;YAChB,OAAO,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC;KAC5B;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AATW,QAAA,UAAU,cASrB"}
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;IACpB,sBAAsB,EAAE,MAAM,IAAI,CAAC;CACpC,CAAC;AAWF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,eAAe,0GAMzB,mBAAmB,GAAG,2BAA2B,KAAG,qBA+EtD,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
- }, [isHookEnabled, deviceId, lockedDeviceTimeoutMs, getGenuineCheckFromDeviceId]);
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":"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"}
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;AAIrD;;;;;;;;;;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
+ {"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":"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"}
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,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAEhD;;GAEG;AACH,eAAO,MAAM,UAAU,UAAW,qBAAqB,KAAG,MAAM,GAAG,SASlE,CAAC"}
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
- switch (extra?.memo?.type) {
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 extra?.memo.value;
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,QAAQ,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE;QACzB,KAAK,SAAS,CAAC;QACf,KAAK,WAAW,CAAC;QACjB,KAAK,WAAW,CAAC;QACjB,KAAK,aAAa;YAChB,OAAO,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC;KAC5B;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC"}
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;IACpB,sBAAsB,EAAE,MAAM,IAAI,CAAC;CACpC,CAAC;AAWF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,eAAe,0GAMzB,mBAAmB,GAAG,2BAA2B,KAAG,qBA+EtD,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
- }, [isHookEnabled, deviceId, lockedDeviceTimeoutMs, getGenuineCheckFromDeviceId]);
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":"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"}
1
+ {"version":3,"file":"useGenuineCheck.js","sourceRoot":"","sources":["../../../src/hw/hooks/useGenuineCheck.ts"],"names":[],"mappings":"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"}
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",
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.2",
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-cosmos": "^6.32.5-nightly.1",
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": "341064673",
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": 116,
13
+ "operationsCount": 126,
14
14
  "pendingOperations": [],
15
15
  "seedIdentifier": "27c586f8499294c64d57f8d7956eef4431de58ab20e1c88001f6cf131c97d6f3",
16
- "spendableBalance": "311064573",
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
- switch (extra?.memo?.type) {
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 extra?.memo.value;
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
- }, [isHookEnabled, deviceId, lockedDeviceTimeoutMs, getGenuineCheckFromDeviceId]);
146
+ }, [
147
+ isHookEnabled,
148
+ deviceId,
149
+ lockedDeviceTimeoutMs,
150
+ getGenuineCheckFromDeviceId,
151
+ permissionTimeoutMs,
152
+ ]);
142
153
 
143
154
  return {
144
155
  genuineState,