@ledgerhq/live-common 34.55.0-nightly.20251211024123 → 34.55.0-nightly.20251213023821

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (196) hide show
  1. package/lib/bridge/generic-alpaca/accountBridge.d.ts.map +1 -1
  2. package/lib/bridge/generic-alpaca/accountBridge.js +2 -1
  3. package/lib/bridge/generic-alpaca/accountBridge.js.map +1 -1
  4. package/lib/bridge/generic-alpaca/signer/index.d.ts +4 -0
  5. package/lib/bridge/generic-alpaca/signer/index.d.ts.map +1 -1
  6. package/lib/bridge/generic-alpaca/signer/index.js +22 -1
  7. package/lib/bridge/generic-alpaca/signer/index.js.map +1 -1
  8. package/lib/bridge/mockHelpers.d.ts +1 -1
  9. package/lib/bridge/mockHelpers.d.ts.map +1 -1
  10. package/lib/bridge/mockHelpers.js +2 -6
  11. package/lib/bridge/mockHelpers.js.map +1 -1
  12. package/lib/bridge/validateAddress.d.ts +4 -0
  13. package/lib/bridge/validateAddress.d.ts.map +1 -0
  14. package/lib/bridge/validateAddress.js +14 -0
  15. package/lib/bridge/validateAddress.js.map +1 -0
  16. package/lib/e2e/speculos.d.ts.map +1 -1
  17. package/lib/e2e/speculos.js +0 -1
  18. package/lib/e2e/speculos.js.map +1 -1
  19. package/lib/e2e/speculosAppVersion.d.ts +1 -0
  20. package/lib/e2e/speculosAppVersion.d.ts.map +1 -1
  21. package/lib/e2e/speculosAppVersion.js +38 -14
  22. package/lib/e2e/speculosAppVersion.js.map +1 -1
  23. package/lib/e2e/speculosCI.d.ts.map +1 -1
  24. package/lib/e2e/speculosCI.js +1 -6
  25. package/lib/e2e/speculosCI.js.map +1 -1
  26. package/lib/families/algorand/bridge/mock.d.ts.map +1 -1
  27. package/lib/families/algorand/bridge/mock.js +2 -0
  28. package/lib/families/algorand/bridge/mock.js.map +1 -1
  29. package/lib/families/bitcoin/bridge/mock.d.ts.map +1 -1
  30. package/lib/families/bitcoin/bridge/mock.js +2 -0
  31. package/lib/families/bitcoin/bridge/mock.js.map +1 -1
  32. package/lib/families/canton/bridge/mock.d.ts.map +1 -1
  33. package/lib/families/canton/bridge/mock.js +2 -0
  34. package/lib/families/canton/bridge/mock.js.map +1 -1
  35. package/lib/families/canton/react.d.ts +7 -1
  36. package/lib/families/canton/react.d.ts.map +1 -1
  37. package/lib/families/canton/react.js +38 -1
  38. package/lib/families/canton/react.js.map +1 -1
  39. package/lib/families/cardano/bridge/mock.d.ts.map +1 -1
  40. package/lib/families/cardano/bridge/mock.js +2 -0
  41. package/lib/families/cardano/bridge/mock.js.map +1 -1
  42. package/lib/families/casper/bridge/mock.d.ts.map +1 -1
  43. package/lib/families/casper/bridge/mock.js +2 -0
  44. package/lib/families/casper/bridge/mock.js.map +1 -1
  45. package/lib/families/cosmos/bridge/mock.d.ts.map +1 -1
  46. package/lib/families/cosmos/bridge/mock.js +2 -0
  47. package/lib/families/cosmos/bridge/mock.js.map +1 -1
  48. package/lib/families/evm/bridge/mock.d.ts.map +1 -1
  49. package/lib/families/evm/bridge/mock.js +2 -0
  50. package/lib/families/evm/bridge/mock.js.map +1 -1
  51. package/lib/families/evm/setup.d.ts +1 -1
  52. package/lib/families/evm/setup.d.ts.map +1 -1
  53. package/lib/families/icon/bridge/mock.d.ts.map +1 -1
  54. package/lib/families/icon/bridge/mock.js +2 -0
  55. package/lib/families/icon/bridge/mock.js.map +1 -1
  56. package/lib/families/multiversx/bridge/mock.d.ts.map +1 -1
  57. package/lib/families/multiversx/bridge/mock.js +2 -0
  58. package/lib/families/multiversx/bridge/mock.js.map +1 -1
  59. package/lib/families/polkadot/bridge/mock.d.ts.map +1 -1
  60. package/lib/families/polkadot/bridge/mock.js +2 -0
  61. package/lib/families/polkadot/bridge/mock.js.map +1 -1
  62. package/lib/families/solana/bridge/mock.d.ts +1 -0
  63. package/lib/families/solana/bridge/mock.d.ts.map +1 -1
  64. package/lib/families/stellar/bridge/mock.d.ts.map +1 -1
  65. package/lib/families/stellar/bridge/mock.js +2 -0
  66. package/lib/families/stellar/bridge/mock.js.map +1 -1
  67. package/lib/families/tezos/bridge/mock.d.ts.map +1 -1
  68. package/lib/families/tezos/bridge/mock.js +2 -0
  69. package/lib/families/tezos/bridge/mock.js.map +1 -1
  70. package/lib/families/tron/bridge/mock.d.ts.map +1 -1
  71. package/lib/families/tron/bridge/mock.js +2 -0
  72. package/lib/families/tron/bridge/mock.js.map +1 -1
  73. package/lib/families/xrp/bridge/mock.d.ts.map +1 -1
  74. package/lib/families/xrp/bridge/mock.js +2 -0
  75. package/lib/families/xrp/bridge/mock.js.map +1 -1
  76. package/lib/featureFlags/firebaseFeatureFlags.js +1 -1
  77. package/lib/featureFlags/firebaseFeatureFlags.js.map +1 -1
  78. package/lib/generated/bridge/mock.d.ts +1 -0
  79. package/lib/generated/bridge/mock.d.ts.map +1 -1
  80. package/lib/generated/cli-transaction.d.ts +1 -1
  81. package/lib/generated/mock.d.ts +3 -3
  82. package/lib/hw/connectAppEventMapper.d.ts.map +1 -1
  83. package/lib/hw/connectAppEventMapper.js +21 -2
  84. package/lib/hw/connectAppEventMapper.js.map +1 -1
  85. package/lib-es/bridge/generic-alpaca/accountBridge.d.ts.map +1 -1
  86. package/lib-es/bridge/generic-alpaca/accountBridge.js +3 -2
  87. package/lib-es/bridge/generic-alpaca/accountBridge.js.map +1 -1
  88. package/lib-es/bridge/generic-alpaca/signer/index.d.ts +4 -0
  89. package/lib-es/bridge/generic-alpaca/signer/index.d.ts.map +1 -1
  90. package/lib-es/bridge/generic-alpaca/signer/index.js +20 -0
  91. package/lib-es/bridge/generic-alpaca/signer/index.js.map +1 -1
  92. package/lib-es/bridge/mockHelpers.d.ts +1 -1
  93. package/lib-es/bridge/mockHelpers.d.ts.map +1 -1
  94. package/lib-es/bridge/mockHelpers.js +1 -5
  95. package/lib-es/bridge/mockHelpers.js.map +1 -1
  96. package/lib-es/bridge/validateAddress.d.ts +4 -0
  97. package/lib-es/bridge/validateAddress.d.ts.map +1 -0
  98. package/lib-es/bridge/validateAddress.js +9 -0
  99. package/lib-es/bridge/validateAddress.js.map +1 -0
  100. package/lib-es/e2e/speculos.d.ts.map +1 -1
  101. package/lib-es/e2e/speculos.js +0 -1
  102. package/lib-es/e2e/speculos.js.map +1 -1
  103. package/lib-es/e2e/speculosAppVersion.d.ts +1 -0
  104. package/lib-es/e2e/speculosAppVersion.d.ts.map +1 -1
  105. package/lib-es/e2e/speculosAppVersion.js +36 -13
  106. package/lib-es/e2e/speculosAppVersion.js.map +1 -1
  107. package/lib-es/e2e/speculosCI.d.ts.map +1 -1
  108. package/lib-es/e2e/speculosCI.js +1 -6
  109. package/lib-es/e2e/speculosCI.js.map +1 -1
  110. package/lib-es/families/algorand/bridge/mock.d.ts.map +1 -1
  111. package/lib-es/families/algorand/bridge/mock.js +2 -0
  112. package/lib-es/families/algorand/bridge/mock.js.map +1 -1
  113. package/lib-es/families/bitcoin/bridge/mock.d.ts.map +1 -1
  114. package/lib-es/families/bitcoin/bridge/mock.js +2 -0
  115. package/lib-es/families/bitcoin/bridge/mock.js.map +1 -1
  116. package/lib-es/families/canton/bridge/mock.d.ts.map +1 -1
  117. package/lib-es/families/canton/bridge/mock.js +2 -0
  118. package/lib-es/families/canton/bridge/mock.js.map +1 -1
  119. package/lib-es/families/canton/react.d.ts +7 -1
  120. package/lib-es/families/canton/react.d.ts.map +1 -1
  121. package/lib-es/families/canton/react.js +34 -1
  122. package/lib-es/families/canton/react.js.map +1 -1
  123. package/lib-es/families/cardano/bridge/mock.d.ts.map +1 -1
  124. package/lib-es/families/cardano/bridge/mock.js +2 -0
  125. package/lib-es/families/cardano/bridge/mock.js.map +1 -1
  126. package/lib-es/families/casper/bridge/mock.d.ts.map +1 -1
  127. package/lib-es/families/casper/bridge/mock.js +2 -0
  128. package/lib-es/families/casper/bridge/mock.js.map +1 -1
  129. package/lib-es/families/cosmos/bridge/mock.d.ts.map +1 -1
  130. package/lib-es/families/cosmos/bridge/mock.js +2 -0
  131. package/lib-es/families/cosmos/bridge/mock.js.map +1 -1
  132. package/lib-es/families/evm/bridge/mock.d.ts.map +1 -1
  133. package/lib-es/families/evm/bridge/mock.js +2 -0
  134. package/lib-es/families/evm/bridge/mock.js.map +1 -1
  135. package/lib-es/families/evm/setup.d.ts +1 -1
  136. package/lib-es/families/evm/setup.d.ts.map +1 -1
  137. package/lib-es/families/icon/bridge/mock.d.ts.map +1 -1
  138. package/lib-es/families/icon/bridge/mock.js +2 -0
  139. package/lib-es/families/icon/bridge/mock.js.map +1 -1
  140. package/lib-es/families/multiversx/bridge/mock.d.ts.map +1 -1
  141. package/lib-es/families/multiversx/bridge/mock.js +2 -0
  142. package/lib-es/families/multiversx/bridge/mock.js.map +1 -1
  143. package/lib-es/families/polkadot/bridge/mock.d.ts.map +1 -1
  144. package/lib-es/families/polkadot/bridge/mock.js +2 -0
  145. package/lib-es/families/polkadot/bridge/mock.js.map +1 -1
  146. package/lib-es/families/solana/bridge/mock.d.ts +1 -0
  147. package/lib-es/families/solana/bridge/mock.d.ts.map +1 -1
  148. package/lib-es/families/stellar/bridge/mock.d.ts.map +1 -1
  149. package/lib-es/families/stellar/bridge/mock.js +2 -0
  150. package/lib-es/families/stellar/bridge/mock.js.map +1 -1
  151. package/lib-es/families/tezos/bridge/mock.d.ts.map +1 -1
  152. package/lib-es/families/tezos/bridge/mock.js +2 -0
  153. package/lib-es/families/tezos/bridge/mock.js.map +1 -1
  154. package/lib-es/families/tron/bridge/mock.d.ts.map +1 -1
  155. package/lib-es/families/tron/bridge/mock.js +2 -0
  156. package/lib-es/families/tron/bridge/mock.js.map +1 -1
  157. package/lib-es/families/xrp/bridge/mock.d.ts.map +1 -1
  158. package/lib-es/families/xrp/bridge/mock.js +2 -0
  159. package/lib-es/families/xrp/bridge/mock.js.map +1 -1
  160. package/lib-es/featureFlags/firebaseFeatureFlags.js +1 -1
  161. package/lib-es/featureFlags/firebaseFeatureFlags.js.map +1 -1
  162. package/lib-es/generated/bridge/mock.d.ts +1 -0
  163. package/lib-es/generated/bridge/mock.d.ts.map +1 -1
  164. package/lib-es/generated/cli-transaction.d.ts +1 -1
  165. package/lib-es/generated/mock.d.ts +3 -3
  166. package/lib-es/hw/connectAppEventMapper.d.ts.map +1 -1
  167. package/lib-es/hw/connectAppEventMapper.js +23 -4
  168. package/lib-es/hw/connectAppEventMapper.js.map +1 -1
  169. package/package.json +74 -74
  170. package/src/bridge/generic-alpaca/accountBridge.ts +2 -1
  171. package/src/bridge/generic-alpaca/signer/index.ts +29 -0
  172. package/src/bridge/mockHelpers.ts +2 -4
  173. package/src/bridge/validateAddress.test.ts +24 -0
  174. package/src/bridge/validateAddress.ts +13 -0
  175. package/src/e2e/speculos.ts +0 -1
  176. package/src/e2e/speculosAppVersion.ts +58 -13
  177. package/src/e2e/speculosCI.ts +1 -6
  178. package/src/families/algorand/bridge/mock.ts +2 -0
  179. package/src/families/bitcoin/bridge/mock.ts +2 -0
  180. package/src/families/canton/bridge/mock.ts +2 -0
  181. package/src/families/canton/react.ts +53 -3
  182. package/src/families/cardano/bridge/mock.ts +2 -0
  183. package/src/families/casper/bridge/mock.ts +2 -0
  184. package/src/families/cosmos/bridge/mock.ts +2 -0
  185. package/src/families/evm/bridge/mock.ts +3 -0
  186. package/src/families/hedera/__snapshots__/bridge.integration.test.ts.snap +489 -35
  187. package/src/families/hedera/react.test.ts +35 -32
  188. package/src/families/icon/bridge/mock.ts +2 -0
  189. package/src/families/multiversx/bridge/mock.ts +2 -0
  190. package/src/families/polkadot/bridge/mock.ts +2 -0
  191. package/src/families/stellar/bridge/mock.ts +2 -0
  192. package/src/families/tezos/bridge/mock.ts +2 -0
  193. package/src/families/tron/bridge/mock.ts +2 -0
  194. package/src/families/xrp/bridge/mock.ts +2 -0
  195. package/src/featureFlags/firebaseFeatureFlags.ts +1 -1
  196. package/src/hw/connectAppEventMapper.ts +28 -4
@@ -1,9 +1,10 @@
1
1
  import { Observable, Subject, of, share, takeUntil } from "rxjs";
2
2
  import { catchError, tap, withLatestFrom } from "rxjs/operators";
3
- import { DeviceActionStatus, DeviceDisconnectedWhileSendingError, DeviceSessionStateType, UserInteractionRequired, OutOfMemoryDAError, UnsupportedFirmwareDAError, } from "@ledgerhq/device-management-kit";
4
- import { UserRefusedAllowManager, UserRefusedOnDevice, LatestFirmwareVersionRequired, } from "@ledgerhq/errors";
3
+ import { DeviceActionStatus, DeviceSessionStateType, UserInteractionRequired, OutOfMemoryDAError, DeviceModelId, } from "@ledgerhq/device-management-kit";
4
+ import { UserRefusedAllowManager, UserRefusedOnDevice, LatestFirmwareVersionRequired, UnsupportedFeatureError, } from "@ledgerhq/errors";
5
5
  import { SkipReason } from "../apps/types";
6
6
  import { parseDeviceInfo } from "../deviceSDK/tasks/getDeviceInfo";
7
+ import { NoSuchAppOnProvider } from "../errors";
7
8
  export class ConnectAppEventMapper {
8
9
  dmk;
9
10
  sessionId;
@@ -177,7 +178,8 @@ export class ConnectAppEventMapper {
177
178
  });
178
179
  this.eventSubject.complete();
179
180
  }
180
- else if (error instanceof UnsupportedFirmwareDAError &&
181
+ else if ("_tag" in error &&
182
+ error._tag === "UnsupportedFirmwareDAError" &&
181
183
  deviceState.sessionStateType !== DeviceSessionStateType.Connected) {
182
184
  this.eventSubject.error(new LatestFirmwareVersionRequired("LatestFirmwareVersionRequired", {
183
185
  current: deviceState.firmwareUpdateContext.currentFirmware.version,
@@ -185,6 +187,23 @@ export class ConnectAppEventMapper {
185
187
  deviceState.firmwareUpdateContext.currentFirmware.version,
186
188
  }));
187
189
  }
190
+ else if ("_tag" in error &&
191
+ error._tag === "UnsupportedApplicationDAError" &&
192
+ deviceState.sessionStateType !== DeviceSessionStateType.Connected) {
193
+ if (deviceState.deviceModelId === DeviceModelId.NANO_S) {
194
+ // This will show an error modal with upsell link
195
+ this.eventSubject.error(new NoSuchAppOnProvider(`Ledger Nano S does not support this feature`, {
196
+ appName: this.appName,
197
+ }));
198
+ return;
199
+ }
200
+ // This will show an error modal with contact support link
201
+ this.eventSubject.error(new UnsupportedFeatureError(`App ${this.appName} not supported on this device`, {
202
+ appName: this.appName,
203
+ deviceModelId: deviceState.deviceModelId,
204
+ deviceVersion: deviceState.firmwareVersion?.os,
205
+ }));
206
+ }
188
207
  else if ("_tag" in error && error._tag === "DeviceLockedError") {
189
208
  this.eventSubject.next({ type: "lockedDevice" });
190
209
  this.eventSubject.complete();
@@ -192,7 +211,7 @@ export class ConnectAppEventMapper {
192
211
  else if ("_tag" in error && error._tag === "RefusedByUserDAError") {
193
212
  this.eventSubject.error(new UserRefusedAllowManager());
194
213
  }
195
- else if (error instanceof DeviceDisconnectedWhileSendingError) {
214
+ else if ("_tag" in error && error._tag === "DeviceDisconnectedWhileSendingError") {
196
215
  this.eventSubject.next({ type: "disconnected", expected: false });
197
216
  }
198
217
  else if ("_tag" in error && error._tag === "WebHidSendReportError") {
@@ -1 +1 @@
1
- {"version":3,"file":"connectAppEventMapper.js","sourceRoot":"","sources":["../../src/hw/connectAppEventMapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connectAppEventMapper.js","sourceRoot":"","sources":["../../src/hw/connectAppEventMapper.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.55.0-nightly.20251211024123",
4
+ "version": "34.55.0-nightly.20251213023821",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/LedgerHQ/ledger-live.git"
@@ -114,7 +114,7 @@
114
114
  "dependencies": {
115
115
  "@blooo/hw-app-acre": "^1.1.1",
116
116
  "@cardano-foundation/ledgerjs-hw-app-cardano": "^7.1.2",
117
- "@ledgerhq/device-management-kit": "0.11.2",
117
+ "@ledgerhq/device-management-kit": "0.12.0",
118
118
  "@ledgerhq/speculos-device-controller": "0.2.0",
119
119
  "@ledgerhq/live-app-sdk": "^0.8.1",
120
120
  "@ledgerhq/wallet-api-client": "^1.12.6",
@@ -176,78 +176,78 @@
176
176
  "xstate": "^5.19.2",
177
177
  "yargs": "^17.0.0",
178
178
  "zod": "^3.22.4",
179
- "@ledgerhq/coin-algorand": "^0.15.0-nightly.20251211024123",
180
- "@ledgerhq/coin-aptos": "^3.8.0-nightly.20251211024123",
181
- "@ledgerhq/coin-canton": "^0.12.0-nightly.20251211024123",
182
- "@ledgerhq/coin-bitcoin": "^0.27.0-nightly.20251211024123",
183
- "@ledgerhq/coin-cardano": "^0.16.0-nightly.20251211024123",
184
- "@ledgerhq/coin-casper": "^2.5.0-nightly.20251211024123",
185
- "@ledgerhq/coin-celo": "^1.8.0-nightly.20251211024123",
186
- "@ledgerhq/coin-cosmos": "^0.21.0-nightly.20251211024123",
187
- "@ledgerhq/coin-evm": "^2.37.0-nightly.20251211024123",
188
- "@ledgerhq/coin-filecoin": "^1.16.0-nightly.20251211024123",
189
- "@ledgerhq/coin-framework": "^6.11.0-nightly.20251211024123",
190
- "@ledgerhq/coin-hedera": "^1.16.0-nightly.20251211024123",
191
- "@ledgerhq/coin-icon": "^0.16.0-nightly.20251211024123",
192
- "@ledgerhq/coin-internet_computer": "^1.12.0-nightly.20251211024123",
193
- "@ledgerhq/coin-kaspa": "^1.6.0-nightly.20251211024123",
194
- "@ledgerhq/coin-mina": "^1.5.0-nightly.20251211024123",
195
- "@ledgerhq/coin-multiversx": "^0.9.0-nightly.20251211024123",
196
- "@ledgerhq/coin-near": "^0.17.0-nightly.20251211024123",
197
- "@ledgerhq/coin-polkadot": "^6.14.0-nightly.20251211024123",
198
- "@ledgerhq/coin-solana": "^0.39.0-nightly.20251211024123",
199
- "@ledgerhq/coin-stacks": "^0.13.0-nightly.20251211024123",
200
- "@ledgerhq/coin-stellar": "^6.9.0-nightly.20251211024123",
201
- "@ledgerhq/coin-sui": "^0.19.0-nightly.20251211024123",
202
- "@ledgerhq/coin-tezos": "^6.11.0-nightly.20251211024123",
203
- "@ledgerhq/coin-ton": "^0.18.0-nightly.20251211024123",
204
- "@ledgerhq/coin-tron": "^5.8.0-nightly.20251211024123",
205
- "@ledgerhq/coin-vechain": "^2.14.0-nightly.20251211024123",
206
- "@ledgerhq/coin-xrp": "^7.10.0-nightly.20251211024123",
207
- "@ledgerhq/cryptoassets": "^13.35.0-nightly.20251211024123",
208
- "@ledgerhq/device-core": "^0.6.10-nightly.20251211024123",
209
- "@ledgerhq/devices": "8.8.0-nightly.20251211024123",
210
- "@ledgerhq/errors": "^6.28.0-nightly.20251211024123",
211
- "@ledgerhq/hw-app-algorand": "^6.31.10-nightly.20251211024123",
212
- "@ledgerhq/hw-app-btc": "^10.14.0-nightly.20251211024123",
213
- "@ledgerhq/hw-app-aptos": "^6.34.10-nightly.20251211024123",
214
- "@ledgerhq/hw-app-celo": "^6.35.5-nightly.20251211024123",
215
- "@ledgerhq/hw-app-cosmos": "^6.32.10-nightly.20251211024123",
216
- "@ledgerhq/hw-app-eth": "^7.1.0-nightly.20251211024123",
217
- "@ledgerhq/hw-app-exchange": "^0.18.1-nightly.20251211024123",
218
- "@ledgerhq/hw-app-hedera": "^1.2.10-nightly.20251211024123",
219
- "@ledgerhq/hw-app-icon": "^1.3.10-nightly.20251211024123",
220
- "@ledgerhq/hw-app-kaspa": "^1.3.3-nightly.20251211024123",
221
- "@ledgerhq/hw-app-multiversx": "^6.26.1-nightly.20251211024123",
222
- "@ledgerhq/hw-app-near": "^6.31.10-nightly.20251211024123",
223
- "@ledgerhq/hw-app-polkadot": "^6.34.10-nightly.20251211024123",
224
- "@ledgerhq/hw-app-str": "^7.3.0-nightly.20251211024123",
179
+ "@ledgerhq/coin-algorand": "^0.15.0-nightly.20251213023821",
180
+ "@ledgerhq/coin-aptos": "^3.8.0-nightly.20251213023821",
181
+ "@ledgerhq/coin-bitcoin": "^0.27.0-nightly.20251213023821",
182
+ "@ledgerhq/coin-canton": "^0.12.0-nightly.20251213023821",
183
+ "@ledgerhq/coin-cardano": "^0.16.0-nightly.20251213023821",
184
+ "@ledgerhq/coin-casper": "^2.5.0-nightly.20251213023821",
185
+ "@ledgerhq/coin-celo": "^1.8.0-nightly.20251213023821",
186
+ "@ledgerhq/coin-cosmos": "^0.21.0-nightly.20251213023821",
187
+ "@ledgerhq/coin-framework": "^6.11.0-nightly.20251213023821",
188
+ "@ledgerhq/coin-hedera": "^1.16.0-nightly.20251213023821",
189
+ "@ledgerhq/coin-evm": "^2.37.0-nightly.20251213023821",
190
+ "@ledgerhq/coin-icon": "^0.16.0-nightly.20251213023821",
191
+ "@ledgerhq/coin-filecoin": "^1.16.0-nightly.20251213023821",
192
+ "@ledgerhq/coin-internet_computer": "^1.12.0-nightly.20251213023821",
193
+ "@ledgerhq/coin-kaspa": "^1.6.0-nightly.20251213023821",
194
+ "@ledgerhq/coin-mina": "^1.5.0-nightly.20251213023821",
195
+ "@ledgerhq/coin-multiversx": "^0.9.0-nightly.20251213023821",
196
+ "@ledgerhq/coin-near": "^0.17.0-nightly.20251213023821",
197
+ "@ledgerhq/coin-polkadot": "^6.14.0-nightly.20251213023821",
198
+ "@ledgerhq/coin-solana": "^0.39.0-nightly.20251213023821",
199
+ "@ledgerhq/coin-stacks": "^0.13.0-nightly.20251213023821",
200
+ "@ledgerhq/coin-stellar": "^6.9.0-nightly.20251213023821",
201
+ "@ledgerhq/coin-sui": "^0.19.0-nightly.20251213023821",
202
+ "@ledgerhq/coin-tezos": "^6.11.0-nightly.20251213023821",
203
+ "@ledgerhq/coin-ton": "^0.18.0-nightly.20251213023821",
204
+ "@ledgerhq/coin-tron": "^5.8.0-nightly.20251213023821",
205
+ "@ledgerhq/coin-vechain": "^2.14.0-nightly.20251213023821",
206
+ "@ledgerhq/coin-xrp": "^7.10.0-nightly.20251213023821",
207
+ "@ledgerhq/cryptoassets": "^13.35.0-nightly.20251213023821",
208
+ "@ledgerhq/device-core": "^0.6.10-nightly.20251213023821",
209
+ "@ledgerhq/devices": "8.8.0-nightly.20251213023821",
210
+ "@ledgerhq/errors": "^6.28.0-nightly.20251213023821",
211
+ "@ledgerhq/hw-app-algorand": "^6.31.10-nightly.20251213023821",
212
+ "@ledgerhq/hw-app-aptos": "^6.34.10-nightly.20251213023821",
213
+ "@ledgerhq/hw-app-btc": "^10.14.0-nightly.20251213023821",
214
+ "@ledgerhq/hw-app-celo": "^6.35.5-nightly.20251213023821",
215
+ "@ledgerhq/hw-app-cosmos": "^6.32.10-nightly.20251213023821",
216
+ "@ledgerhq/hw-app-eth": "^7.1.0-nightly.20251213023821",
217
+ "@ledgerhq/hw-app-exchange": "^0.18.1-nightly.20251213023821",
218
+ "@ledgerhq/hw-app-hedera": "^1.2.10-nightly.20251213023821",
219
+ "@ledgerhq/hw-app-icon": "^1.3.10-nightly.20251213023821",
220
+ "@ledgerhq/hw-app-kaspa": "^1.3.3-nightly.20251213023821",
221
+ "@ledgerhq/hw-app-multiversx": "^6.26.1-nightly.20251213023821",
222
+ "@ledgerhq/hw-app-near": "^6.31.10-nightly.20251213023821",
223
+ "@ledgerhq/hw-app-polkadot": "^6.34.10-nightly.20251213023821",
224
+ "@ledgerhq/hw-app-str": "^7.3.0-nightly.20251213023821",
225
225
  "@ledgerhq/hw-app-sui": "^1.4.0",
226
- "@ledgerhq/hw-app-tezos": "^6.31.10-nightly.20251211024123",
227
- "@ledgerhq/hw-app-trx": "^6.31.10-nightly.20251211024123",
228
- "@ledgerhq/hw-app-vet": "^0.8.1-nightly.20251211024123",
229
- "@ledgerhq/hw-app-xrp": "^6.32.8-nightly.20251211024123",
230
- "@ledgerhq/hw-bolos": "^6.32.10-nightly.20251211024123",
231
- "@ledgerhq/hw-transport": "6.31.14-nightly.20251211024123",
232
- "@ledgerhq/hw-transport-mocker": "^6.30.0-nightly.20251211024123",
233
- "@ledgerhq/ledger-cal-service": "^1.9.2-nightly.20251211024123",
234
- "@ledgerhq/ledger-trust-service": "^0.4.4-nightly.20251211024123",
235
- "@ledgerhq/live-config": "^3.3.0-nightly.20251211024123",
236
- "@ledgerhq/live-countervalues": "^0.10.2-nightly.20251211024123",
237
- "@ledgerhq/live-countervalues-react": "^0.7.4-nightly.20251211024123",
238
- "@ledgerhq/live-dmk-shared": "^0.16.0-nightly.20251211024123",
239
- "@ledgerhq/live-env": "^2.23.0-nightly.20251211024123",
240
- "@ledgerhq/live-hooks": "0.3.0-nightly.20251211024123",
241
- "@ledgerhq/live-network": "^2.1.3-nightly.20251211024123",
226
+ "@ledgerhq/hw-app-tezos": "^6.31.10-nightly.20251213023821",
227
+ "@ledgerhq/hw-app-trx": "^6.31.10-nightly.20251213023821",
228
+ "@ledgerhq/hw-app-vet": "^0.8.1-nightly.20251213023821",
229
+ "@ledgerhq/hw-app-xrp": "^6.32.8-nightly.20251213023821",
230
+ "@ledgerhq/hw-bolos": "^6.32.10-nightly.20251213023821",
231
+ "@ledgerhq/hw-transport": "6.31.14-nightly.20251213023821",
232
+ "@ledgerhq/hw-transport-mocker": "^6.30.0-nightly.20251213023821",
233
+ "@ledgerhq/ledger-cal-service": "^1.9.2-nightly.20251213023821",
234
+ "@ledgerhq/ledger-trust-service": "^0.4.4-nightly.20251213023821",
235
+ "@ledgerhq/live-config": "^3.3.0-nightly.20251213023821",
236
+ "@ledgerhq/live-countervalues": "^0.10.2-nightly.20251213023821",
237
+ "@ledgerhq/live-countervalues-react": "^0.7.4-nightly.20251213023821",
238
+ "@ledgerhq/live-dmk-shared": "^0.16.0-nightly.20251213023821",
239
+ "@ledgerhq/live-env": "^2.23.0-nightly.20251213023821",
240
+ "@ledgerhq/live-hooks": "0.3.0-nightly.20251213023821",
241
+ "@ledgerhq/live-network": "^2.1.3-nightly.20251213023821",
242
242
  "@ledgerhq/live-promise": "^0.1.1",
243
- "@ledgerhq/live-signer-canton": "^0.5.3-nightly.20251211024123",
244
- "@ledgerhq/live-signer-evm": "^0.11.0-nightly.20251211024123",
245
- "@ledgerhq/live-signer-solana": "^0.8.0-nightly.20251211024123",
246
- "@ledgerhq/live-wallet": "^0.17.0-nightly.20251211024123",
243
+ "@ledgerhq/live-signer-canton": "^0.5.3-nightly.20251213023821",
244
+ "@ledgerhq/live-signer-evm": "^0.11.0-nightly.20251213023821",
245
+ "@ledgerhq/live-signer-solana": "^0.8.0-nightly.20251213023821",
246
+ "@ledgerhq/live-wallet": "^0.17.0-nightly.20251213023821",
247
247
  "@ledgerhq/logs": "^6.13.0",
248
- "@ledgerhq/speculos-transport": "^0.4.0-nightly.20251211024123",
249
- "@ledgerhq/wallet-api-acre-module": "^0.11.0-nightly.20251211024123",
250
- "@ledgerhq/wallet-api-exchange-module": "^0.20.0-nightly.20251211024123"
248
+ "@ledgerhq/speculos-transport": "^0.4.0-nightly.20251213023821",
249
+ "@ledgerhq/wallet-api-acre-module": "^0.11.0-nightly.20251213023821",
250
+ "@ledgerhq/wallet-api-exchange-module": "^0.20.0-nightly.20251213023821"
251
251
  },
252
252
  "devDependencies": {
253
253
  "@solana/web3.js": "1.95.4",
@@ -294,10 +294,10 @@
294
294
  "undici": "6.19.2",
295
295
  "uuid": "^8.3.2",
296
296
  "ws": "8.18.3",
297
- "@ledgerhq/device-react": "^0.3.4-nightly.20251211024123",
298
- "@ledgerhq/types-cryptoassets": "^7.31.0-nightly.20251211024123",
297
+ "@ledgerhq/device-react": "^0.3.4-nightly.20251213023821",
298
+ "@ledgerhq/types-cryptoassets": "^7.31.0-nightly.20251213023821",
299
299
  "@ledgerhq/types-devices": "^6.27.0",
300
- "@ledgerhq/types-live": "^6.91.0-nightly.20251211024123"
300
+ "@ledgerhq/types-live": "^6.91.0-nightly.20251213023821"
301
301
  },
302
302
  "scripts": {
303
303
  "build": "zx ./scripts/build-ts.mjs",
@@ -7,7 +7,7 @@ import {
7
7
  updateTransaction,
8
8
  } from "@ledgerhq/coin-framework/bridge/jsHelpers";
9
9
  import getAddressWrapper from "@ledgerhq/coin-framework/bridge/getAddressWrapper";
10
- import { getSigner } from "./signer";
10
+ import { getSigner, getValidateAddress } from "./signer";
11
11
  import { genericPrepareTransaction } from "./prepareTransaction";
12
12
  import { genericGetTransactionStatus } from "./getTransactionStatus";
13
13
  import { genericEstimateMaxSpendable } from "./estimateMaxSpendable";
@@ -36,5 +36,6 @@ export function getAlpacaAccountBridge(
36
36
  signOperation: genericSignOperation(network, kind)(signer.context),
37
37
  signRawOperation: genericSignRawOperation(network, kind)(signer.context),
38
38
  getSerializedAddressParameters, // NOTE: check wether it should be exposed by coin-module's api instead?
39
+ validateAddress: getValidateAddress(network),
39
40
  } satisfies Partial<AccountBridge<any>>;
40
41
  }
@@ -11,6 +11,11 @@ import { DerivationType, LedgerSigner as TaquitoLedgerSigner } from "@taquito/le
11
11
  import tezosGetAddress from "@ledgerhq/coin-tezos/signer/getAddress";
12
12
  import Tezos from "@ledgerhq/hw-app-tezos";
13
13
  import { context as evmContext, getAddress as evmGetAddress } from "./Eth";
14
+ import { AddressValidationCurrencyParameters } from "@ledgerhq/types-live";
15
+ import { validateAddress as tezosValidateAddress } from "@ledgerhq/coin-tezos/logic/validateAddress";
16
+ import { validateAddress as xrpValidateAddress } from "@ledgerhq/coin-xrp/logic/validateAddress";
17
+ import { validateAddress as stellarValidateAddress } from "@ledgerhq/coin-stellar/logic/validateAddress";
18
+ import { validateAddress as evmValidateAddress } from "@ledgerhq/coin-evm/logic/validateAddress";
14
19
 
15
20
  const createSignerXrp: CreateSigner<Xrp> = (transport: Transport) => {
16
21
  return new Xrp(transport);
@@ -107,3 +112,27 @@ export function getSigner(network: string): AlpacaSigner {
107
112
  }
108
113
  throw new Error(`signer for ${network} not implemented`);
109
114
  }
115
+
116
+ type ValidateAddressFunction = (
117
+ address: string,
118
+ parameters: Partial<AddressValidationCurrencyParameters>,
119
+ ) => Promise<boolean>;
120
+
121
+ const validateAddressByNetwork = new Map<string, ValidateAddressFunction>();
122
+ validateAddressByNetwork.set("stellar", stellarValidateAddress);
123
+ validateAddressByNetwork.set("xrp", xrpValidateAddress);
124
+ validateAddressByNetwork.set("tezos", tezosValidateAddress);
125
+ validateAddressByNetwork.set("evm", evmValidateAddress);
126
+ validateAddressByNetwork.set("ethereum", evmValidateAddress); // for the coin tester
127
+ validateAddressByNetwork.set("sonic", evmValidateAddress); // for the coin tester
128
+ validateAddressByNetwork.set("polygon", evmValidateAddress); // for the coin tester
129
+ validateAddressByNetwork.set("core", evmValidateAddress); // for the coin tester
130
+
131
+ export function getValidateAddress(network: string): ValidateAddressFunction {
132
+ const validateAddress = validateAddressByNetwork.get(network);
133
+ if (!validateAddress) {
134
+ throw new Error(`No validate address function for network ${network}`);
135
+ }
136
+
137
+ return validateAddress;
138
+ }
@@ -110,10 +110,8 @@ export const signOperation: AccountBridge<any>["signOperation"] = ({ account, tr
110
110
  cancelled = true;
111
111
  };
112
112
  });
113
- export const isInvalidRecipient = (recipient: string) => {
114
- if (recipient.includes("criticalcrash")) throw new Error("isInvalidRecipient_mock_criticalcrash");
115
- return recipient.includes("invalid") || recipient.length <= 3;
116
- };
113
+
114
+ export { isInvalidRecipient } from "./validateAddress";
117
115
 
118
116
  const subtractOneYear = date =>
119
117
  new Date(new Date(date).setFullYear(new Date(date).getFullYear() - 1));
@@ -0,0 +1,24 @@
1
+ import * as validateAddress from "./validateAddress";
2
+
3
+ describe("validateAddress", () => {
4
+ const spiedIsInvalidRecipient = jest.spyOn(validateAddress, "isInvalidRecipient");
5
+
6
+ beforeEach(() => {
7
+ spiedIsInvalidRecipient.mockClear();
8
+ });
9
+
10
+ it.each([true, false])(
11
+ "should call isInvalidRecipient and return expected value (%s)",
12
+ async (expectedValue: boolean) => {
13
+ spiedIsInvalidRecipient.mockReturnValueOnce(expectedValue);
14
+
15
+ const address = "some random address";
16
+ const parameters = {};
17
+ const result = await validateAddress.validateAddress(address, parameters);
18
+ expect(result).toEqual(expectedValue);
19
+
20
+ expect(spiedIsInvalidRecipient).toHaveBeenCalledTimes(1);
21
+ expect(spiedIsInvalidRecipient).toHaveBeenCalledWith(address);
22
+ },
23
+ );
24
+ });
@@ -0,0 +1,13 @@
1
+ import { AddressValidationCurrencyParameters } from "@ledgerhq/types-live";
2
+
3
+ export const isInvalidRecipient = (recipient: string) => {
4
+ if (recipient.includes("criticalcrash")) throw new Error("isInvalidRecipient_mock_criticalcrash");
5
+ return recipient.includes("invalid") || recipient.length <= 3;
6
+ };
7
+
8
+ export async function validateAddress(
9
+ address: string,
10
+ _parameters: Partial<AddressValidationCurrencyParameters>,
11
+ ): Promise<boolean> {
12
+ return isInvalidRecipient(address);
13
+ }
@@ -395,7 +395,6 @@ export async function startSpeculos(
395
395
  if (!appCandidate) {
396
396
  console.warn("no app found for " + testName);
397
397
  console.warn(appQuery);
398
- console.warn(JSON.stringify(appCandidates, undefined, 2));
399
398
  }
400
399
  invariant(
401
400
  appCandidate,
@@ -59,24 +59,63 @@ export async function getNanoAppCatalog(
59
59
  });
60
60
  }
61
61
 
62
- function getDeviceFirmwareVersion(): string {
63
- const firmwareVersion = process.env.SPECULOS_FIRMWARE_VERSION;
64
- if (!firmwareVersion) {
65
- throw new Error("SPECULOS_FIRMWARE_VERSION environment variable is not set");
62
+ const firmwareVersionCache: Map<DeviceModelId, string> = new Map();
63
+
64
+ export async function getDeviceFirmwareVersion(device: DeviceModelId): Promise<string> {
65
+ const cached = firmwareVersionCache.get(device);
66
+ if (cached) return cached;
67
+
68
+ const providerId = 1;
69
+ const repository = new HttpManagerApiRepository(getEnv("MANAGER_API_BASE"), version);
70
+
71
+ const deviceVersion = await repository.getDeviceVersion({
72
+ targetId: getDeviceTargetId(device),
73
+ providerId,
74
+ });
75
+
76
+ const firmwareIds = deviceVersion.se_firmware_final_versions;
77
+ if (!Array.isArray(firmwareIds) || firmwareIds.length === 0) {
78
+ throw new Error(`No firmware versions found for device ${device}`);
66
79
  }
67
- return firmwareVersion;
80
+
81
+ const firmwares = await Promise.all(firmwareIds.map(id => repository.getFinalFirmwareById(id)));
82
+
83
+ // Only firmwares matching providerId
84
+ const providerFirmwares = firmwares.filter(
85
+ fw => Array.isArray(fw.providers) && fw.providers.includes(providerId),
86
+ );
87
+
88
+ if (providerFirmwares.length === 0) {
89
+ throw new Error(
90
+ `No firmware versions found for device version ${deviceVersion.id} for device ${device}`,
91
+ );
92
+ }
93
+
94
+ // Latest is chosen by highest numeric ID
95
+ const latestFirmware = providerFirmwares.reduce((latest, current) =>
96
+ current.id > latest.id ? current : latest,
97
+ );
98
+
99
+ firmwareVersionCache.set(device, latestFirmware.version);
100
+ process.env.SPECULOS_FIRMWARE_VERSION = latestFirmware.version;
101
+
102
+ return latestFirmware.version;
68
103
  }
69
104
 
70
105
  export async function createNanoAppJsonFile(nanoAppFilePath: string): Promise<void> {
106
+ const jsonFilePath = path.resolve(process.cwd(), nanoAppFilePath);
107
+
71
108
  try {
109
+ if (fs.existsSync(jsonFilePath)) {
110
+ return; // File already exists
111
+ }
112
+
113
+ fs.mkdirSync(path.dirname(jsonFilePath), { recursive: true });
114
+
72
115
  const device = getSpeculosModel();
73
- const firmware = getDeviceFirmwareVersion();
116
+ const firmware = await getDeviceFirmwareVersion(device);
74
117
  const appCatalog = await getNanoAppCatalog(device, firmware);
75
- const jsonFilePath = path.join(process.cwd(), nanoAppFilePath);
76
- const dirPath = path.dirname(jsonFilePath);
77
- if (!fs.existsSync(dirPath)) {
78
- fs.mkdirSync(dirPath, { recursive: true });
79
- }
118
+
80
119
  fs.writeFileSync(jsonFilePath, JSON.stringify(appCatalog, null, 2), "utf8");
81
120
  } catch (error) {
82
121
  console.error("Unable to create app version file:", sanitizeError(error));
@@ -87,10 +126,16 @@ export async function getAppVersionFromCatalog(
87
126
  currency: string,
88
127
  nanoAppFilePath: string,
89
128
  ): Promise<string | undefined> {
129
+ const jsonFilePath = path.resolve(process.cwd(), nanoAppFilePath);
130
+
90
131
  try {
91
132
  await createNanoAppJsonFile(nanoAppFilePath);
92
- const rootDir = process.cwd();
93
- const jsonFilePath = path.join(rootDir, nanoAppFilePath);
133
+
134
+ if (!fs.existsSync(jsonFilePath)) {
135
+ console.error(`Catalog file not found: ${jsonFilePath}`);
136
+ return;
137
+ }
138
+
94
139
  type CatalogApp = { versionDisplayName: string; version: string };
95
140
  const raw = fs.readFileSync(jsonFilePath, "utf8");
96
141
  const catalog: CatalogApp[] = JSON.parse(raw);
@@ -7,7 +7,7 @@ import {
7
7
  import { SpeculosDevice } from "./speculos";
8
8
  import https from "https";
9
9
 
10
- const { SEED, GITHUB_TOKEN, AWS_ROLE, CLUSTER, SPECULOS_IMAGE_TAG } = process.env;
10
+ const { GITHUB_TOKEN, SPECULOS_IMAGE_TAG } = process.env;
11
11
  const GIT_API_URL = "https://api.github.com/repos/LedgerHQ/actions/actions/";
12
12
  const START_WORKFLOW_ID = "workflows/161487603/dispatches";
13
13
  const STOP_WORKFLOW_ID = "workflows/161487604/dispatches";
@@ -152,9 +152,6 @@ function createStartPayload(deviceParams: DeviceParams, runId: string) {
152
152
  coin_app_version: appVersion,
153
153
  device: reverseModelMap[model],
154
154
  device_os_version: firmware,
155
- aws_role: AWS_ROLE,
156
- cluster: CLUSTER,
157
- seed: SEED,
158
155
  run_id: runId,
159
156
  additional_args,
160
157
  },
@@ -192,8 +189,6 @@ export async function releaseSpeculosDeviceCI(runId: string) {
192
189
  ref: GITHUB_REF,
193
190
  inputs: {
194
191
  run_id: runId.toString(),
195
- aws_role: AWS_ROLE,
196
- cluster: CLUSTER,
197
192
  },
198
193
  };
199
194
  await githubApiRequest({ urlSuffix: STOP_WORKFLOW_ID, data });
@@ -24,6 +24,7 @@ import {
24
24
  import { getMainAccount } from "@ledgerhq/coin-framework/account/index";
25
25
  import { assignToAccountRaw, assignFromAccountRaw } from "@ledgerhq/coin-algorand/serialization";
26
26
  import { initAccount } from "@ledgerhq/coin-algorand/initAccount";
27
+ import { validateAddress } from "../../../bridge/validateAddress";
27
28
 
28
29
  const receive = makeAccountBridgeReceive();
29
30
 
@@ -110,6 +111,7 @@ const accountBridge: AccountBridge<AlgorandTransaction, any> = {
110
111
  signRawOperation,
111
112
  broadcast,
112
113
  getSerializedAddressParameters,
114
+ validateAddress,
113
115
  };
114
116
  const currencyBridge: CurrencyBridge = {
115
117
  scanAccounts,
@@ -27,6 +27,7 @@ import cryptoFactory from "@ledgerhq/coin-bitcoin/wallet-btc/crypto/factory";
27
27
  import { Currency } from "@ledgerhq/coin-bitcoin/wallet-btc/index";
28
28
  import { computeDustAmount } from "@ledgerhq/coin-bitcoin/wallet-btc/utils";
29
29
  import { getFeeItems } from "./api";
30
+ import { validateAddress } from "../../../bridge/validateAddress";
30
31
 
31
32
  const receive = makeAccountBridgeReceive();
32
33
 
@@ -133,6 +134,7 @@ const accountBridge: AccountBridge<Transaction> = {
133
134
  signRawOperation,
134
135
  broadcast,
135
136
  getSerializedAddressParameters,
137
+ validateAddress,
136
138
  };
137
139
  const currencyBridge: CurrencyBridge = {
138
140
  scanAccounts,
@@ -3,6 +3,7 @@ import { createApi } from "@ledgerhq/coin-canton/api/index";
3
3
  import { Transaction as CantonTransaction, CantonAccount } from "@ledgerhq/coin-canton/types";
4
4
  import type { AccountBridge } from "@ledgerhq/types-live";
5
5
  import { BigNumber } from "bignumber.js";
6
+ import { validateAddress } from "../../../bridge/validateAddress";
6
7
 
7
8
  // The calls data can be copied to mock-data.ts from the file.
8
9
  // This function creates a live API with logging for generating mock data
@@ -174,6 +175,7 @@ const accountBridge: AccountBridge<CantonTransaction, CantonAccount> = {
174
175
  },
175
176
  broadcast,
176
177
  getSerializedAddressParameters,
178
+ validateAddress,
177
179
  };
178
180
 
179
181
  const currencyBridge = {