@ledgerhq/ledger-key-ring-protocol 0.7.1-nightly.20251114023758 → 0.8.0-nightly.20251118023800

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/CHANGELOG.md CHANGED
@@ -1,14 +1,18 @@
1
1
  # @ledgerhq/live-wallet
2
2
 
3
- ## 0.7.1-nightly.20251114023758
3
+ ## 0.8.0-nightly.20251118023800
4
+
5
+ ### Minor Changes
6
+
7
+ - [#12796](https://github.com/LedgerHQ/ledger-live/pull/12796) [`53deeef`](https://github.com/LedgerHQ/ledger-live/commit/53deeef592b7d566b4e7a636fa34d7ad59dd43ad) Thanks [@thesan](https://github.com/thesan)! - recover from 4xx somehow caused by problematic JWTs
4
8
 
5
9
  ### Patch Changes
6
10
 
7
11
  - Updated dependencies [[`c40e9da`](https://github.com/LedgerHQ/ledger-live/commit/c40e9da68452fe9827b9435ff2d162291186be73)]:
8
- - @ledgerhq/live-env@2.21.0-nightly.20251114023758
9
- - @ledgerhq/hw-ledger-key-ring-protocol@0.5.4-nightly.20251114023758
10
- - @ledgerhq/live-network@2.1.1-nightly.20251114023758
11
- - @ledgerhq/speculos-transport@0.2.15-nightly.20251114023758
12
+ - @ledgerhq/live-env@2.21.0-nightly.20251118023800
13
+ - @ledgerhq/hw-ledger-key-ring-protocol@0.5.4-nightly.20251118023800
14
+ - @ledgerhq/live-network@2.1.1-nightly.20251118023800
15
+ - @ledgerhq/speculos-transport@0.2.15-nightly.20251118023800
12
16
 
13
17
  ## 0.7.0
14
18
 
package/lib/api.d.ts CHANGED
@@ -7,7 +7,7 @@ export type APIJWT = {
7
7
  access_token: string;
8
8
  permissions: {
9
9
  [trustchainId: string]: {
10
- [path: string]: string[];
10
+ [path: string]: string;
11
11
  };
12
12
  };
13
13
  };
package/lib/api.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,SAAS,CAAC;AAE9B,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE;QACX,CAAC,YAAY,EAAE,MAAM,GAAG;YACtB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;SAC1B,CAAC;KACH,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE;QACT,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE;QACF,UAAU,EAAE;YACV,OAAO,EAAE,MAAM,CAAC;YAChB,OAAO,EAAE,MAAM,CAAC;YAChB,aAAa,EAAE,MAAM,CAAC;YACtB,SAAS,EAAE,MAAM,CAAC;SACnB,CAAC;QACF,SAAS,EAAE,MAAM,CAAC;KACnB,EAAE,CAAC;IACJ,eAAe,EAAE;QACf,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,EAAE;QACV,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,aAAa,EAAE,MAAM,CAAC;QACtB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,CAAC,YAAY,EAAE,MAAM,GAAG;QACtB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;KAC1B,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AAEF,QAAA,MAAM,MAAM,eAAgB,MAAM;sCACa,QAAQ;QAAE,IAAI,EAAE,SAAS,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;qCAQxC;QAC5C,SAAS,EAAE,SAAS,CAAC;QACrB,SAAS,EAAE,kBAAkB,CAAC;KAC/B,KAAG,QAAQ,GAAG,CAAC;uBAYgB,GAAG,KAAG,QAAQ,GAAG,CAAC;0BAcf,GAAG,KAAG,QAAQ,mBAAmB,CAAC;yBAWnC,GAAG,iBAAiB,MAAM,KAAG,QAAQ,kBAAkB,CAAC;0BAYnF,GAAG,iBACO,MAAM,iBACN,MAAM,KACpB,QAAQ,IAAI,CAAC;oBAYa,GAAG,iBAAiB,MAAM,KAAG,QAAQ,IAAI,CAAC;uBAahE,GAAG,iBACO,MAAM,WACZ,kBAAkB,KAC1B,QAAQ,IAAI,CAAC;4BAWqB,GAAG,iBAAiB,MAAM,KAAG,QAAQ,IAAI,CAAC;uBAUjD,QAAQ,iBAAiB,CAAC;CAoBzD,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,SAAS,CAAC;AAE9B,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE;QACX,CAAC,YAAY,EAAE,MAAM,GAAG;YACtB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;SACxB,CAAC;KACH,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE;QACT,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE;QACF,UAAU,EAAE;YACV,OAAO,EAAE,MAAM,CAAC;YAChB,OAAO,EAAE,MAAM,CAAC;YAChB,aAAa,EAAE,MAAM,CAAC;YACtB,SAAS,EAAE,MAAM,CAAC;SACnB,CAAC;QACF,SAAS,EAAE,MAAM,CAAC;KACnB,EAAE,CAAC;IACJ,eAAe,EAAE;QACf,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,EAAE;QACV,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,aAAa,EAAE,MAAM,CAAC;QACtB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,CAAC,YAAY,EAAE,MAAM,GAAG;QACtB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;KAC1B,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AAEF,QAAA,MAAM,MAAM,eAAgB,MAAM;sCACa,QAAQ;QAAE,IAAI,EAAE,SAAS,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;qCAQxC;QAC5C,SAAS,EAAE,SAAS,CAAC;QACrB,SAAS,EAAE,kBAAkB,CAAC;KAC/B,KAAG,QAAQ,GAAG,CAAC;uBAYgB,GAAG,KAAG,QAAQ,GAAG,CAAC;0BAcf,GAAG,KAAG,QAAQ,mBAAmB,CAAC;yBAWnC,GAAG,iBAAiB,MAAM,KAAG,QAAQ,kBAAkB,CAAC;0BAYnF,GAAG,iBACO,MAAM,iBACN,MAAM,KACpB,QAAQ,IAAI,CAAC;oBAYa,GAAG,iBAAiB,MAAM,KAAG,QAAQ,IAAI,CAAC;uBAahE,GAAG,iBACO,MAAM,WACZ,kBAAkB,KAC1B,QAAQ,IAAI,CAAC;4BAWqB,GAAG,iBAAiB,MAAM,KAAG,QAAQ,IAAI,CAAC;uBAUjD,QAAQ,iBAAiB,CAAC;CAoBzD,CAAC;AAEF,eAAe,MAAM,CAAC"}
package/lib/auth.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM,SAAS,CAAC;AAG/C,wBAAsB,cAAc,CAAC,CAAC,EACpC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,EAC7B,UAAU,EAAE,GAAG,GAAG,SAAS,EAC3B,IAAI,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,EACxB,WAAW,EAAE,CAAC,EAAE,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,EACtC,MAAM,GAAE,eAAyB,GAChC,OAAO,CAAC,CAAC,CAAC,CA2CZ"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM,SAAS,CAAC;AAG/C,wBAAsB,cAAc,CAAC,CAAC,EACpC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,EAC7B,UAAU,EAAE,GAAG,GAAG,SAAS,EAC3B,IAAI,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,EACxB,WAAW,EAAE,CAAC,EAAE,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,EACtC,MAAM,GAAE,eAAyB,GAChC,OAAO,CAAC,CAAC,CAAC,CAuDZ"}
package/lib/auth.js CHANGED
@@ -29,7 +29,7 @@ async function genericWithJWT(job, initialJWT, auth, refreshAuth, policy = "cach
29
29
  : initialJWT;
30
30
  return job(jwt).catch(async (e) => {
31
31
  // JWT expiration handling: if the function fails, we will recover a valid jwt accordingly to spec. https://ledgerhq.atlassian.net/wiki/spaces/BE/pages/4207083687/TCH+Usage+documentation#JWT-expiration-handling
32
- const { hasExpired, canBeRefreshed, isNotPermitted, isTrustchainOutdated } = networkCheckJwtExpiration(e);
32
+ const { hasExpired, canBeRefreshed, isNotPermitted, isTrustchainOutdated, isUncaughtClientError, } = networkCheckJwtExpiration(e);
33
33
  if (isNotPermitted) {
34
34
  throw new errors_2.TrustchainNotAllowed();
35
35
  }
@@ -41,6 +41,11 @@ async function genericWithJWT(job, initialJWT, auth, refreshAuth, policy = "cach
41
41
  jwt = await (jwt && canBeRefreshed ? refresh(jwt) : auth());
42
42
  return job(jwt);
43
43
  }
44
+ if (isUncaughtClientError) {
45
+ (0, logs_1.log)("trustchain", "Uncaught client error -> reauthenticating");
46
+ jwt = await auth();
47
+ return job(jwt);
48
+ }
44
49
  throw e;
45
50
  });
46
51
  }
@@ -50,6 +55,7 @@ function networkCheckJwtExpiration(error) {
50
55
  let canBeRefreshed = false;
51
56
  let isNotPermitted = false;
52
57
  let isTrustchainOutdated = false;
58
+ let isUncaughtClientError = false;
53
59
  // this assume live-network is used and we adapt to its error's format
54
60
  if (error instanceof errors_1.LedgerAPI4xx) {
55
61
  if (error.message.includes("JWT is expired")) {
@@ -62,7 +68,16 @@ function networkCheckJwtExpiration(error) {
62
68
  else if (error.message.includes("path does not match")) {
63
69
  isTrustchainOutdated = true;
64
70
  }
71
+ else {
72
+ isUncaughtClientError = true;
73
+ }
65
74
  }
66
- return { hasExpired, canBeRefreshed, isNotPermitted, isTrustchainOutdated };
75
+ return {
76
+ hasExpired,
77
+ canBeRefreshed,
78
+ isNotPermitted,
79
+ isTrustchainOutdated,
80
+ isUncaughtClientError,
81
+ };
67
82
  }
68
83
  //# sourceMappingURL=auth.js.map
package/lib/auth.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
package/lib/types.d.ts CHANGED
@@ -8,7 +8,7 @@ export type JWT = {
8
8
  accessToken: string;
9
9
  permissions: {
10
10
  [trustchainId: string]: {
11
- [path: string]: string[];
11
+ [path: string]: string;
12
12
  };
13
13
  };
14
14
  };
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/lib-es/api.d.ts CHANGED
@@ -7,7 +7,7 @@ export type APIJWT = {
7
7
  access_token: string;
8
8
  permissions: {
9
9
  [trustchainId: string]: {
10
- [path: string]: string[];
10
+ [path: string]: string;
11
11
  };
12
12
  };
13
13
  };
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,SAAS,CAAC;AAE9B,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE;QACX,CAAC,YAAY,EAAE,MAAM,GAAG;YACtB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;SAC1B,CAAC;KACH,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE;QACT,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE;QACF,UAAU,EAAE;YACV,OAAO,EAAE,MAAM,CAAC;YAChB,OAAO,EAAE,MAAM,CAAC;YAChB,aAAa,EAAE,MAAM,CAAC;YACtB,SAAS,EAAE,MAAM,CAAC;SACnB,CAAC;QACF,SAAS,EAAE,MAAM,CAAC;KACnB,EAAE,CAAC;IACJ,eAAe,EAAE;QACf,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,EAAE;QACV,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,aAAa,EAAE,MAAM,CAAC;QACtB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,CAAC,YAAY,EAAE,MAAM,GAAG;QACtB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;KAC1B,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AAEF,QAAA,MAAM,MAAM,eAAgB,MAAM;sCACa,QAAQ;QAAE,IAAI,EAAE,SAAS,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;qCAQxC;QAC5C,SAAS,EAAE,SAAS,CAAC;QACrB,SAAS,EAAE,kBAAkB,CAAC;KAC/B,KAAG,QAAQ,GAAG,CAAC;uBAYgB,GAAG,KAAG,QAAQ,GAAG,CAAC;0BAcf,GAAG,KAAG,QAAQ,mBAAmB,CAAC;yBAWnC,GAAG,iBAAiB,MAAM,KAAG,QAAQ,kBAAkB,CAAC;0BAYnF,GAAG,iBACO,MAAM,iBACN,MAAM,KACpB,QAAQ,IAAI,CAAC;oBAYa,GAAG,iBAAiB,MAAM,KAAG,QAAQ,IAAI,CAAC;uBAahE,GAAG,iBACO,MAAM,WACZ,kBAAkB,KAC1B,QAAQ,IAAI,CAAC;4BAWqB,GAAG,iBAAiB,MAAM,KAAG,QAAQ,IAAI,CAAC;uBAUjD,QAAQ,iBAAiB,CAAC;CAoBzD,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,SAAS,CAAC;AAE9B,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE;QACX,CAAC,YAAY,EAAE,MAAM,GAAG;YACtB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;SACxB,CAAC;KACH,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE;QACT,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE;QACF,UAAU,EAAE;YACV,OAAO,EAAE,MAAM,CAAC;YAChB,OAAO,EAAE,MAAM,CAAC;YAChB,aAAa,EAAE,MAAM,CAAC;YACtB,SAAS,EAAE,MAAM,CAAC;SACnB,CAAC;QACF,SAAS,EAAE,MAAM,CAAC;KACnB,EAAE,CAAC;IACJ,eAAe,EAAE;QACf,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,EAAE;QACV,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,aAAa,EAAE,MAAM,CAAC;QACtB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,CAAC,YAAY,EAAE,MAAM,GAAG;QACtB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;KAC1B,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AAEF,QAAA,MAAM,MAAM,eAAgB,MAAM;sCACa,QAAQ;QAAE,IAAI,EAAE,SAAS,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;qCAQxC;QAC5C,SAAS,EAAE,SAAS,CAAC;QACrB,SAAS,EAAE,kBAAkB,CAAC;KAC/B,KAAG,QAAQ,GAAG,CAAC;uBAYgB,GAAG,KAAG,QAAQ,GAAG,CAAC;0BAcf,GAAG,KAAG,QAAQ,mBAAmB,CAAC;yBAWnC,GAAG,iBAAiB,MAAM,KAAG,QAAQ,kBAAkB,CAAC;0BAYnF,GAAG,iBACO,MAAM,iBACN,MAAM,KACpB,QAAQ,IAAI,CAAC;oBAYa,GAAG,iBAAiB,MAAM,KAAG,QAAQ,IAAI,CAAC;uBAahE,GAAG,iBACO,MAAM,WACZ,kBAAkB,KAC1B,QAAQ,IAAI,CAAC;4BAWqB,GAAG,iBAAiB,MAAM,KAAG,QAAQ,IAAI,CAAC;uBAUjD,QAAQ,iBAAiB,CAAC;CAoBzD,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM,SAAS,CAAC;AAG/C,wBAAsB,cAAc,CAAC,CAAC,EACpC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,EAC7B,UAAU,EAAE,GAAG,GAAG,SAAS,EAC3B,IAAI,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,EACxB,WAAW,EAAE,CAAC,EAAE,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,EACtC,MAAM,GAAE,eAAyB,GAChC,OAAO,CAAC,CAAC,CAAC,CA2CZ"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM,SAAS,CAAC;AAG/C,wBAAsB,cAAc,CAAC,CAAC,EACpC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,EAC7B,UAAU,EAAE,GAAG,GAAG,SAAS,EAC3B,IAAI,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,EACxB,WAAW,EAAE,CAAC,EAAE,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,EACtC,MAAM,GAAE,eAAyB,GAChC,OAAO,CAAC,CAAC,CAAC,CAuDZ"}
package/lib-es/auth.js CHANGED
@@ -26,7 +26,7 @@ export async function genericWithJWT(job, initialJWT, auth, refreshAuth, policy
26
26
  : initialJWT;
27
27
  return job(jwt).catch(async (e) => {
28
28
  // JWT expiration handling: if the function fails, we will recover a valid jwt accordingly to spec. https://ledgerhq.atlassian.net/wiki/spaces/BE/pages/4207083687/TCH+Usage+documentation#JWT-expiration-handling
29
- const { hasExpired, canBeRefreshed, isNotPermitted, isTrustchainOutdated } = networkCheckJwtExpiration(e);
29
+ const { hasExpired, canBeRefreshed, isNotPermitted, isTrustchainOutdated, isUncaughtClientError, } = networkCheckJwtExpiration(e);
30
30
  if (isNotPermitted) {
31
31
  throw new TrustchainNotAllowed();
32
32
  }
@@ -38,6 +38,11 @@ export async function genericWithJWT(job, initialJWT, auth, refreshAuth, policy
38
38
  jwt = await (jwt && canBeRefreshed ? refresh(jwt) : auth());
39
39
  return job(jwt);
40
40
  }
41
+ if (isUncaughtClientError) {
42
+ log("trustchain", "Uncaught client error -> reauthenticating");
43
+ jwt = await auth();
44
+ return job(jwt);
45
+ }
41
46
  throw e;
42
47
  });
43
48
  }
@@ -46,6 +51,7 @@ function networkCheckJwtExpiration(error) {
46
51
  let canBeRefreshed = false;
47
52
  let isNotPermitted = false;
48
53
  let isTrustchainOutdated = false;
54
+ let isUncaughtClientError = false;
49
55
  // this assume live-network is used and we adapt to its error's format
50
56
  if (error instanceof LedgerAPI4xx) {
51
57
  if (error.message.includes("JWT is expired")) {
@@ -58,7 +64,16 @@ function networkCheckJwtExpiration(error) {
58
64
  else if (error.message.includes("path does not match")) {
59
65
  isTrustchainOutdated = true;
60
66
  }
67
+ else {
68
+ isUncaughtClientError = true;
69
+ }
61
70
  }
62
- return { hasExpired, canBeRefreshed, isNotPermitted, isTrustchainOutdated };
71
+ return {
72
+ hasExpired,
73
+ canBeRefreshed,
74
+ isNotPermitted,
75
+ isTrustchainOutdated,
76
+ isUncaughtClientError,
77
+ };
63
78
  }
64
79
  //# sourceMappingURL=auth.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAErC,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAEpE,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,GAA6B,EAC7B,UAA2B,EAC3B,IAAwB,EACxB,WAAsC,EACtC,SAA0B,OAAO;IAEjC,SAAS,OAAO,CAAC,GAAQ;QACvB,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YAChC,GAAG,CAAC,YAAY,EAAE,sCAAsC,EAAE,CAAC,CAAC,CAAC;YAC7D,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,oBAAoB,EAAE,GAAG,yBAAyB,CAAC,CAAC,CAAC,CAAC;YAC1F,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,IAAI,oBAAoB,EAAE,CAAC;YACnC,CAAC;YACD,IAAI,oBAAoB,EAAE,CAAC;gBACzB,MAAM,IAAI,kBAAkB,EAAE,CAAC;YACjC,CAAC;YACD,IAAI,UAAU,EAAE,CAAC;gBACf,OAAO,IAAI,EAAE,CAAC;YAChB,CAAC;YACD,MAAM,CAAC,CAAC;QACV,CAAC,CAAC,CAAC;IACL,CAAC;IAED,sCAAsC;IACtC,IAAI,GAAG,GACL,MAAM,KAAK,UAAU,IAAI,CAAC,UAAU;QAClC,CAAC,CAAC,MAAM,IAAI,EAAE;QACd,CAAC,CAAC,MAAM,KAAK,SAAS;YACpB,CAAC,CAAC,MAAM,OAAO,CAAC,UAAU,CAAC;YAC3B,CAAC,CAAC,UAAU,CAAC;IAEnB,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,EAAC,CAAC,EAAC,EAAE;QAC9B,kNAAkN;QAClN,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,oBAAoB,EAAE,GACxE,yBAAyB,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,IAAI,oBAAoB,EAAE,CAAC;QACnC,CAAC;QACD,IAAI,oBAAoB,EAAE,CAAC;YACzB,MAAM,IAAI,kBAAkB,EAAE,CAAC;QACjC,CAAC;QACD,IAAI,UAAU,EAAE,CAAC;YACf,GAAG,CAAC,YAAY,EAAE,iBAAiB,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;YAC5F,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC5D,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,CAAC,CAAC;IACV,CAAC,CAAC,CAAC;AACL,CAAC;AASD,SAAS,yBAAyB,CAAC,KAAc;IAC/C,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,IAAI,oBAAoB,GAAG,KAAK,CAAC;IACjC,sEAAsE;IACtE,IAAI,KAAK,YAAY,YAAY,EAAE,CAAC;QAClC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC7C,UAAU,GAAG,IAAI,CAAC;YAClB,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACtD,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAC,EAAE,CAAC;YAChE,cAAc,GAAG,IAAI,CAAC;QACxB,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC;YACzD,oBAAoB,GAAG,IAAI,CAAC;QAC9B,CAAC;IACH,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,oBAAoB,EAAE,CAAC;AAC9E,CAAC"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
package/lib-es/types.d.ts CHANGED
@@ -8,7 +8,7 @@ export type JWT = {
8
8
  accessToken: string;
9
9
  permissions: {
10
10
  [trustchainId: string]: {
11
- [path: string]: string[];
11
+ [path: string]: string;
12
12
  };
13
13
  };
14
14
  };
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ledgerhq/ledger-key-ring-protocol",
3
- "version": "0.7.1-nightly.20251114023758",
3
+ "version": "0.8.0-nightly.20251118023800",
4
4
  "description": "Ledger Key Ring Protocol layer",
5
5
  "keywords": [
6
6
  "Ledger"
@@ -60,11 +60,11 @@
60
60
  "@ledgerhq/errors": "6.27.0",
61
61
  "@ledgerhq/hw-transport": "6.31.13",
62
62
  "@ledgerhq/hw-transport-mocker": "6.29.13",
63
- "@ledgerhq/hw-ledger-key-ring-protocol": "0.5.4-nightly.20251114023758",
64
- "@ledgerhq/live-env": "2.21.0-nightly.20251114023758",
65
- "@ledgerhq/live-network": "2.1.1-nightly.20251114023758",
63
+ "@ledgerhq/hw-ledger-key-ring-protocol": "0.5.4-nightly.20251118023800",
64
+ "@ledgerhq/live-env": "2.21.0-nightly.20251118023800",
65
+ "@ledgerhq/live-network": "2.1.1-nightly.20251118023800",
66
66
  "@ledgerhq/logs": "6.13.0",
67
- "@ledgerhq/speculos-transport": "0.2.15-nightly.20251114023758",
67
+ "@ledgerhq/speculos-transport": "0.2.15-nightly.20251118023800",
68
68
  "@ledgerhq/types-devices": "^6.27.0"
69
69
  },
70
70
  "devDependencies": {
@@ -1,5 +1,6 @@
1
1
  import { DefaultBodyType, http, HttpResponse, PathParams, StrictRequest } from "msw";
2
2
  import { setupServer } from "msw/node";
3
+ import { LedgerAPI4xx } from "@ledgerhq/errors";
3
4
  import {
4
5
  CommandBlock,
5
6
  crypto,
@@ -196,6 +197,48 @@ describe("Trustchain SDK", () => {
196
197
  expect(onTrustchainRotation).toHaveBeenCalledWith(sdk, trustchain, alice);
197
198
  expect(afterRotation).toHaveBeenCalledWith(newTrustchain);
198
199
  });
200
+
201
+ it("should recover from any 4xx indirectly caused by wrong JWT", async () => {
202
+ const { alice } = MOCK_DATA.members;
203
+ const trustchainId = "TRUSTCHAIN_ID";
204
+
205
+ const trustchain = {
206
+ rootId: trustchainId,
207
+ walletSyncEncryptionKey: "0x123",
208
+ applicationPath: "m/0'/16'/0'",
209
+ };
210
+
211
+ const initialJwt = {
212
+ access_token: "INITIAL TOKEN",
213
+ // It should work with `permissions: { [trustchainId]: "m/": ...` as this is the trustchain creator permissions (i.e the device).
214
+ // But at the moment the backend will return a 401 when accessing cloudsync with a root path jwt.
215
+ // Once this is fixed the auth verification of permissions should be updated to accept this case.
216
+ permissions: { [trustchainId]: { "m/0'/16'/0'": "ffffffff" } },
217
+ };
218
+
219
+ apiMocks.getChalenge.mockReturnValue({ json: {}, tlv: MOCK_DATA.challengeTlv });
220
+
221
+ const sdk = new SDK(sdkContext, hwDeviceProviderMock);
222
+
223
+ // Set private state:
224
+ apiMocks.postAuthenticate.mockReturnValueOnce(initialJwt);
225
+ await sdk.withAuth(trustchain, alice, async () => {});
226
+ expect(apiMocks.getChalenge).toHaveBeenCalledTimes(1);
227
+ expect(apiMocks.postAuthenticate).toHaveBeenCalledTimes(1);
228
+ expect(sdk["jwt"]).toEqual({
229
+ accessToken: initialJwt.access_token,
230
+ permissions: initialJwt.permissions,
231
+ });
232
+
233
+ apiMocks.postAuthenticate.mockReturnValueOnce({ ...initialJwt, access_token: "NEW TOKEN" });
234
+ await sdk.withAuth(trustchain, alice, async jwt => {
235
+ if (jwt.accessToken === "NEW TOKEN") return;
236
+ throw new LedgerAPI4xx("Permission denied");
237
+ });
238
+
239
+ expect(apiMocks.getChalenge).toHaveBeenCalledTimes(2);
240
+ expect(apiMocks.postAuthenticate).toHaveBeenCalledTimes(2);
241
+ });
199
242
  });
200
243
 
201
244
  const MOCK_DATA = {
package/src/api.ts CHANGED
@@ -10,7 +10,7 @@ export type APIJWT = {
10
10
  access_token: string;
11
11
  permissions: {
12
12
  [trustchainId: string]: {
13
- [path: string]: string[];
13
+ [path: string]: string;
14
14
  };
15
15
  };
16
16
  };
package/src/auth.ts CHANGED
@@ -37,8 +37,14 @@ export async function genericWithJWT<T>(
37
37
 
38
38
  return job(jwt).catch(async e => {
39
39
  // JWT expiration handling: if the function fails, we will recover a valid jwt accordingly to spec. https://ledgerhq.atlassian.net/wiki/spaces/BE/pages/4207083687/TCH+Usage+documentation#JWT-expiration-handling
40
- const { hasExpired, canBeRefreshed, isNotPermitted, isTrustchainOutdated } =
41
- networkCheckJwtExpiration(e);
40
+ const {
41
+ hasExpired,
42
+ canBeRefreshed,
43
+ isNotPermitted,
44
+ isTrustchainOutdated,
45
+ isUncaughtClientError,
46
+ } = networkCheckJwtExpiration(e);
47
+
42
48
  if (isNotPermitted) {
43
49
  throw new TrustchainNotAllowed();
44
50
  }
@@ -50,6 +56,12 @@ export async function genericWithJWT<T>(
50
56
  jwt = await (jwt && canBeRefreshed ? refresh(jwt) : auth());
51
57
  return job(jwt);
52
58
  }
59
+ if (isUncaughtClientError) {
60
+ log("trustchain", "Uncaught client error -> reauthenticating");
61
+ jwt = await auth();
62
+ return job(jwt);
63
+ }
64
+
53
65
  throw e;
54
66
  });
55
67
  }
@@ -59,6 +71,7 @@ type JwtExpirationCheck = {
59
71
  canBeRefreshed: boolean;
60
72
  isNotPermitted: boolean;
61
73
  isTrustchainOutdated: boolean;
74
+ isUncaughtClientError: boolean;
62
75
  };
63
76
 
64
77
  function networkCheckJwtExpiration(error: unknown): JwtExpirationCheck {
@@ -66,6 +79,7 @@ function networkCheckJwtExpiration(error: unknown): JwtExpirationCheck {
66
79
  let canBeRefreshed = false;
67
80
  let isNotPermitted = false;
68
81
  let isTrustchainOutdated = false;
82
+ let isUncaughtClientError = false;
69
83
  // this assume live-network is used and we adapt to its error's format
70
84
  if (error instanceof LedgerAPI4xx) {
71
85
  if (error.message.includes("JWT is expired")) {
@@ -75,7 +89,15 @@ function networkCheckJwtExpiration(error: unknown): JwtExpirationCheck {
75
89
  isNotPermitted = true;
76
90
  } else if (error.message.includes("path does not match")) {
77
91
  isTrustchainOutdated = true;
92
+ } else {
93
+ isUncaughtClientError = true;
78
94
  }
79
95
  }
80
- return { hasExpired, canBeRefreshed, isNotPermitted, isTrustchainOutdated };
96
+ return {
97
+ hasExpired,
98
+ canBeRefreshed,
99
+ isNotPermitted,
100
+ isTrustchainOutdated,
101
+ isUncaughtClientError,
102
+ };
81
103
  }
package/src/types.ts CHANGED
@@ -9,7 +9,7 @@ export type JWT = {
9
9
  accessToken: string;
10
10
  permissions: {
11
11
  [trustchainId: string]: {
12
- [path: string]: string[];
12
+ [path: string]: string;
13
13
  };
14
14
  };
15
15
  };