@ledgerhq/live-common 34.53.0-nightly.20251119023741 → 34.53.0-nightly.20251120023735

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 (237) hide show
  1. package/lib/e2e/deviceInteraction/DeviceController.d.ts +41 -0
  2. package/lib/e2e/deviceInteraction/DeviceController.d.ts.map +1 -0
  3. package/lib/e2e/deviceInteraction/DeviceController.js +68 -0
  4. package/lib/e2e/deviceInteraction/DeviceController.js.map +1 -0
  5. package/lib/e2e/families/algorand.d.ts +1 -1
  6. package/lib/e2e/families/algorand.d.ts.map +1 -1
  7. package/lib/e2e/families/algorand.js +5 -5
  8. package/lib/e2e/families/algorand.js.map +1 -1
  9. package/lib/e2e/families/aptos.d.ts +2 -2
  10. package/lib/e2e/families/aptos.d.ts.map +1 -1
  11. package/lib/e2e/families/aptos.js +9 -9
  12. package/lib/e2e/families/aptos.js.map +1 -1
  13. package/lib/e2e/families/bitcoin.d.ts +2 -2
  14. package/lib/e2e/families/bitcoin.d.ts.map +1 -1
  15. package/lib/e2e/families/bitcoin.js +11 -11
  16. package/lib/e2e/families/bitcoin.js.map +1 -1
  17. package/lib/e2e/families/cardano.d.ts +6 -0
  18. package/lib/e2e/families/cardano.d.ts.map +1 -1
  19. package/lib/e2e/families/cardano.js +28 -26
  20. package/lib/e2e/families/cardano.js.map +1 -1
  21. package/lib/e2e/families/celo.d.ts +1 -1
  22. package/lib/e2e/families/celo.d.ts.map +1 -1
  23. package/lib/e2e/families/celo.js +5 -5
  24. package/lib/e2e/families/celo.js.map +1 -1
  25. package/lib/e2e/families/cosmos.d.ts +2 -2
  26. package/lib/e2e/families/cosmos.d.ts.map +1 -1
  27. package/lib/e2e/families/cosmos.js +9 -9
  28. package/lib/e2e/families/cosmos.js.map +1 -1
  29. package/lib/e2e/families/evm.d.ts +2 -0
  30. package/lib/e2e/families/evm.d.ts.map +1 -1
  31. package/lib/e2e/families/evm.js +13 -12
  32. package/lib/e2e/families/evm.js.map +1 -1
  33. package/lib/e2e/families/hedera.d.ts +1 -1
  34. package/lib/e2e/families/hedera.d.ts.map +1 -1
  35. package/lib/e2e/families/hedera.js +5 -5
  36. package/lib/e2e/families/hedera.js.map +1 -1
  37. package/lib/e2e/families/kaspa.d.ts +2 -2
  38. package/lib/e2e/families/kaspa.d.ts.map +1 -1
  39. package/lib/e2e/families/kaspa.js +9 -9
  40. package/lib/e2e/families/kaspa.js.map +1 -1
  41. package/lib/e2e/families/multiversX.d.ts +1 -1
  42. package/lib/e2e/families/multiversX.d.ts.map +1 -1
  43. package/lib/e2e/families/multiversX.js +5 -5
  44. package/lib/e2e/families/multiversX.js.map +1 -1
  45. package/lib/e2e/families/near.d.ts +1 -1
  46. package/lib/e2e/families/near.d.ts.map +1 -1
  47. package/lib/e2e/families/near.js +6 -6
  48. package/lib/e2e/families/near.js.map +1 -1
  49. package/lib/e2e/families/osmosis.d.ts +1 -1
  50. package/lib/e2e/families/osmosis.d.ts.map +1 -1
  51. package/lib/e2e/families/osmosis.js +5 -5
  52. package/lib/e2e/families/osmosis.js.map +1 -1
  53. package/lib/e2e/families/polkadot.d.ts +1 -1
  54. package/lib/e2e/families/polkadot.d.ts.map +1 -1
  55. package/lib/e2e/families/polkadot.js +5 -5
  56. package/lib/e2e/families/polkadot.js.map +1 -1
  57. package/lib/e2e/families/solana.d.ts +2 -2
  58. package/lib/e2e/families/solana.d.ts.map +1 -1
  59. package/lib/e2e/families/solana.js +9 -9
  60. package/lib/e2e/families/solana.js.map +1 -1
  61. package/lib/e2e/families/stellar.d.ts +1 -1
  62. package/lib/e2e/families/stellar.d.ts.map +1 -1
  63. package/lib/e2e/families/stellar.js +5 -5
  64. package/lib/e2e/families/stellar.js.map +1 -1
  65. package/lib/e2e/families/sui.d.ts +1 -1
  66. package/lib/e2e/families/sui.d.ts.map +1 -1
  67. package/lib/e2e/families/sui.js +5 -5
  68. package/lib/e2e/families/sui.js.map +1 -1
  69. package/lib/e2e/families/tezos.d.ts +1 -1
  70. package/lib/e2e/families/tezos.d.ts.map +1 -1
  71. package/lib/e2e/families/tezos.js +7 -8
  72. package/lib/e2e/families/tezos.js.map +1 -1
  73. package/lib/e2e/families/tron.d.ts +1 -1
  74. package/lib/e2e/families/tron.d.ts.map +1 -1
  75. package/lib/e2e/families/tron.js +5 -5
  76. package/lib/e2e/families/tron.js.map +1 -1
  77. package/lib/e2e/families/xrp.d.ts +1 -1
  78. package/lib/e2e/families/xrp.d.ts.map +1 -1
  79. package/lib/e2e/families/xrp.js +5 -5
  80. package/lib/e2e/families/xrp.js.map +1 -1
  81. package/lib/e2e/index.d.ts +6 -0
  82. package/lib/e2e/index.d.ts.map +1 -1
  83. package/lib/e2e/speculos.d.ts +11 -11
  84. package/lib/e2e/speculos.d.ts.map +1 -1
  85. package/lib/e2e/speculos.js +78 -78
  86. package/lib/e2e/speculos.js.map +1 -1
  87. package/lib/families/canton/bridge/mock.d.ts.map +1 -1
  88. package/lib/families/canton/bridge/mock.js +1 -0
  89. package/lib/families/canton/bridge/mock.js.map +1 -1
  90. package/lib/families/canton/react.d.ts +15 -0
  91. package/lib/families/canton/react.d.ts.map +1 -0
  92. package/lib/families/canton/react.js +14 -0
  93. package/lib/families/canton/react.js.map +1 -0
  94. package/lib/featureFlags/defaultFeatures.d.ts.map +1 -1
  95. package/lib/featureFlags/defaultFeatures.js +2 -0
  96. package/lib/featureFlags/defaultFeatures.js.map +1 -1
  97. package/lib/featureFlags/useFeature.d.ts +1 -1
  98. package/lib/featureFlags/useFeature.d.ts.map +1 -1
  99. package/lib/wallet-api/react.d.ts.map +1 -1
  100. package/lib/wallet-api/react.js +2 -0
  101. package/lib/wallet-api/react.js.map +1 -1
  102. package/lib-es/e2e/deviceInteraction/DeviceController.d.ts +41 -0
  103. package/lib-es/e2e/deviceInteraction/DeviceController.d.ts.map +1 -0
  104. package/lib-es/e2e/deviceInteraction/DeviceController.js +63 -0
  105. package/lib-es/e2e/deviceInteraction/DeviceController.js.map +1 -0
  106. package/lib-es/e2e/families/algorand.d.ts +1 -1
  107. package/lib-es/e2e/families/algorand.d.ts.map +1 -1
  108. package/lib-es/e2e/families/algorand.js +5 -4
  109. package/lib-es/e2e/families/algorand.js.map +1 -1
  110. package/lib-es/e2e/families/aptos.d.ts +2 -2
  111. package/lib-es/e2e/families/aptos.d.ts.map +1 -1
  112. package/lib-es/e2e/families/aptos.js +9 -7
  113. package/lib-es/e2e/families/aptos.js.map +1 -1
  114. package/lib-es/e2e/families/bitcoin.d.ts +2 -2
  115. package/lib-es/e2e/families/bitcoin.d.ts.map +1 -1
  116. package/lib-es/e2e/families/bitcoin.js +11 -9
  117. package/lib-es/e2e/families/bitcoin.js.map +1 -1
  118. package/lib-es/e2e/families/cardano.d.ts +6 -0
  119. package/lib-es/e2e/families/cardano.d.ts.map +1 -1
  120. package/lib-es/e2e/families/cardano.js +23 -21
  121. package/lib-es/e2e/families/cardano.js.map +1 -1
  122. package/lib-es/e2e/families/celo.d.ts +1 -1
  123. package/lib-es/e2e/families/celo.d.ts.map +1 -1
  124. package/lib-es/e2e/families/celo.js +5 -4
  125. package/lib-es/e2e/families/celo.js.map +1 -1
  126. package/lib-es/e2e/families/cosmos.d.ts +2 -2
  127. package/lib-es/e2e/families/cosmos.d.ts.map +1 -1
  128. package/lib-es/e2e/families/cosmos.js +9 -7
  129. package/lib-es/e2e/families/cosmos.js.map +1 -1
  130. package/lib-es/e2e/families/evm.d.ts +2 -0
  131. package/lib-es/e2e/families/evm.d.ts.map +1 -1
  132. package/lib-es/e2e/families/evm.js +10 -9
  133. package/lib-es/e2e/families/evm.js.map +1 -1
  134. package/lib-es/e2e/families/hedera.d.ts +1 -1
  135. package/lib-es/e2e/families/hedera.d.ts.map +1 -1
  136. package/lib-es/e2e/families/hedera.js +5 -4
  137. package/lib-es/e2e/families/hedera.js.map +1 -1
  138. package/lib-es/e2e/families/kaspa.d.ts +2 -2
  139. package/lib-es/e2e/families/kaspa.d.ts.map +1 -1
  140. package/lib-es/e2e/families/kaspa.js +9 -7
  141. package/lib-es/e2e/families/kaspa.js.map +1 -1
  142. package/lib-es/e2e/families/multiversX.d.ts +1 -1
  143. package/lib-es/e2e/families/multiversX.d.ts.map +1 -1
  144. package/lib-es/e2e/families/multiversX.js +5 -4
  145. package/lib-es/e2e/families/multiversX.js.map +1 -1
  146. package/lib-es/e2e/families/near.d.ts +1 -1
  147. package/lib-es/e2e/families/near.d.ts.map +1 -1
  148. package/lib-es/e2e/families/near.js +6 -5
  149. package/lib-es/e2e/families/near.js.map +1 -1
  150. package/lib-es/e2e/families/osmosis.d.ts +1 -1
  151. package/lib-es/e2e/families/osmosis.d.ts.map +1 -1
  152. package/lib-es/e2e/families/osmosis.js +5 -4
  153. package/lib-es/e2e/families/osmosis.js.map +1 -1
  154. package/lib-es/e2e/families/polkadot.d.ts +1 -1
  155. package/lib-es/e2e/families/polkadot.d.ts.map +1 -1
  156. package/lib-es/e2e/families/polkadot.js +5 -4
  157. package/lib-es/e2e/families/polkadot.js.map +1 -1
  158. package/lib-es/e2e/families/solana.d.ts +2 -2
  159. package/lib-es/e2e/families/solana.d.ts.map +1 -1
  160. package/lib-es/e2e/families/solana.js +9 -7
  161. package/lib-es/e2e/families/solana.js.map +1 -1
  162. package/lib-es/e2e/families/stellar.d.ts +1 -1
  163. package/lib-es/e2e/families/stellar.d.ts.map +1 -1
  164. package/lib-es/e2e/families/stellar.js +5 -4
  165. package/lib-es/e2e/families/stellar.js.map +1 -1
  166. package/lib-es/e2e/families/sui.d.ts +1 -1
  167. package/lib-es/e2e/families/sui.d.ts.map +1 -1
  168. package/lib-es/e2e/families/sui.js +5 -4
  169. package/lib-es/e2e/families/sui.js.map +1 -1
  170. package/lib-es/e2e/families/tezos.d.ts +1 -1
  171. package/lib-es/e2e/families/tezos.d.ts.map +1 -1
  172. package/lib-es/e2e/families/tezos.js +8 -8
  173. package/lib-es/e2e/families/tezos.js.map +1 -1
  174. package/lib-es/e2e/families/tron.d.ts +1 -1
  175. package/lib-es/e2e/families/tron.d.ts.map +1 -1
  176. package/lib-es/e2e/families/tron.js +5 -4
  177. package/lib-es/e2e/families/tron.js.map +1 -1
  178. package/lib-es/e2e/families/xrp.d.ts +1 -1
  179. package/lib-es/e2e/families/xrp.d.ts.map +1 -1
  180. package/lib-es/e2e/families/xrp.js +5 -4
  181. package/lib-es/e2e/families/xrp.js.map +1 -1
  182. package/lib-es/e2e/index.d.ts +6 -0
  183. package/lib-es/e2e/index.d.ts.map +1 -1
  184. package/lib-es/e2e/speculos.d.ts +11 -11
  185. package/lib-es/e2e/speculos.d.ts.map +1 -1
  186. package/lib-es/e2e/speculos.js +54 -43
  187. package/lib-es/e2e/speculos.js.map +1 -1
  188. package/lib-es/families/canton/bridge/mock.d.ts.map +1 -1
  189. package/lib-es/families/canton/bridge/mock.js +1 -0
  190. package/lib-es/families/canton/bridge/mock.js.map +1 -1
  191. package/lib-es/families/canton/react.d.ts +15 -0
  192. package/lib-es/families/canton/react.d.ts.map +1 -0
  193. package/lib-es/families/canton/react.js +10 -0
  194. package/lib-es/families/canton/react.js.map +1 -0
  195. package/lib-es/featureFlags/defaultFeatures.d.ts.map +1 -1
  196. package/lib-es/featureFlags/defaultFeatures.js +2 -0
  197. package/lib-es/featureFlags/defaultFeatures.js.map +1 -1
  198. package/lib-es/featureFlags/useFeature.d.ts +1 -1
  199. package/lib-es/featureFlags/useFeature.d.ts.map +1 -1
  200. package/lib-es/wallet-api/react.d.ts.map +1 -1
  201. package/lib-es/wallet-api/react.js +2 -0
  202. package/lib-es/wallet-api/react.js.map +1 -1
  203. package/package.json +52 -51
  204. package/src/e2e/deviceInteraction/DeviceController.ts +85 -0
  205. package/src/e2e/families/algorand.ts +20 -13
  206. package/src/e2e/families/aptos.ts +28 -16
  207. package/src/e2e/families/bitcoin.ts +53 -39
  208. package/src/e2e/families/cardano.ts +47 -36
  209. package/src/e2e/families/celo.ts +18 -12
  210. package/src/e2e/families/cosmos.ts +35 -23
  211. package/src/e2e/families/evm.ts +24 -13
  212. package/src/e2e/families/hedera.ts +6 -4
  213. package/src/e2e/families/kaspa.ts +28 -16
  214. package/src/e2e/families/multiversX.ts +16 -10
  215. package/src/e2e/families/near.ts +23 -17
  216. package/src/e2e/families/osmosis.ts +19 -13
  217. package/src/e2e/families/polkadot.ts +19 -13
  218. package/src/e2e/families/solana.ts +35 -23
  219. package/src/e2e/families/stellar.ts +18 -13
  220. package/src/e2e/families/sui.ts +15 -9
  221. package/src/e2e/families/tezos.ts +25 -18
  222. package/src/e2e/families/tron.ts +19 -13
  223. package/src/e2e/families/xrp.ts +19 -13
  224. package/src/e2e/speculos.ts +168 -140
  225. package/src/families/canton/bridge/mock.ts +1 -0
  226. package/src/families/canton/react.ts +50 -0
  227. package/src/featureFlags/defaultFeatures.ts +2 -0
  228. package/src/wallet-api/react.ts +2 -0
  229. package/lib/e2e/deviceInteraction/ButtonDeviceSimulator.d.ts +0 -3
  230. package/lib/e2e/deviceInteraction/ButtonDeviceSimulator.d.ts.map +0 -1
  231. package/lib/e2e/deviceInteraction/ButtonDeviceSimulator.js +0 -26
  232. package/lib/e2e/deviceInteraction/ButtonDeviceSimulator.js.map +0 -1
  233. package/lib-es/e2e/deviceInteraction/ButtonDeviceSimulator.d.ts +0 -3
  234. package/lib-es/e2e/deviceInteraction/ButtonDeviceSimulator.d.ts.map +0 -1
  235. package/lib-es/e2e/deviceInteraction/ButtonDeviceSimulator.js +0 -18
  236. package/lib-es/e2e/deviceInteraction/ButtonDeviceSimulator.js.map +0 -1
  237. package/src/e2e/deviceInteraction/ButtonDeviceSimulator.ts +0 -23
@@ -1 +1 @@
1
- {"version":3,"file":"react.js","sourceRoot":"","sources":["../../src/wallet-api/react.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"react.js","sourceRoot":"","sources":["../../src/wallet-api/react.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.53.0-nightly.20251119023741",
4
+ "version": "34.53.0-nightly.20251120023735",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/LedgerHQ/ledger-live.git"
@@ -108,6 +108,7 @@
108
108
  "@blooo/hw-app-acre": "^1.1.1",
109
109
  "@cardano-foundation/ledgerjs-hw-app-cardano": "^7.1.2",
110
110
  "@ledgerhq/device-management-kit": "0.11.1",
111
+ "@ledgerhq/speculos-device-controller": "0.1.0",
111
112
  "@ledgerhq/live-app-sdk": "^0.8.1",
112
113
  "@ledgerhq/wallet-api-client": "^1.12.5",
113
114
  "@ledgerhq/wallet-api-core": "^1.26.1",
@@ -168,46 +169,45 @@
168
169
  "xstate": "^5.19.2",
169
170
  "yargs": "^17.0.0",
170
171
  "zod": "^3.22.4",
171
- "@ledgerhq/coin-algorand": "^0.13.0-nightly.20251119023741",
172
- "@ledgerhq/coin-aptos": "^3.6.0-nightly.20251119023741",
173
- "@ledgerhq/coin-bitcoin": "^0.25.0-nightly.20251119023741",
174
- "@ledgerhq/coin-canton": "^0.10.0-nightly.20251119023741",
175
- "@ledgerhq/coin-cardano": "^0.15.0-nightly.20251119023741",
176
- "@ledgerhq/coin-casper": "^2.3.1-nightly.20251119023741",
177
- "@ledgerhq/coin-celo": "^1.7.1-nightly.20251119023741",
178
- "@ledgerhq/coin-cosmos": "^0.20.0-nightly.20251119023741",
179
- "@ledgerhq/coin-evm": "^2.35.0-nightly.20251119023741",
180
- "@ledgerhq/coin-filecoin": "^1.15.0-nightly.20251119023741",
181
- "@ledgerhq/coin-framework": "^6.9.0-nightly.20251119023741",
182
- "@ledgerhq/coin-hedera": "^1.14.0-nightly.20251119023741",
183
- "@ledgerhq/coin-icon": "^0.15.0-nightly.20251119023741",
184
- "@ledgerhq/coin-internet_computer": "^1.10.1-nightly.20251119023741",
185
- "@ledgerhq/coin-kaspa": "^1.4.1-nightly.20251119023741",
186
- "@ledgerhq/coin-mina": "^1.4.1-nightly.20251119023741",
187
- "@ledgerhq/coin-multiversx": "^0.8.0-nightly.20251119023741",
188
- "@ledgerhq/coin-near": "^0.16.0-nightly.20251119023741",
189
- "@ledgerhq/coin-polkadot": "^6.13.0-nightly.20251119023741",
190
- "@ledgerhq/coin-solana": "^0.37.0-nightly.20251119023741",
191
- "@ledgerhq/coin-stacks": "^0.12.0-nightly.20251119023741",
192
- "@ledgerhq/coin-stellar": "^6.7.0-nightly.20251119023741",
193
- "@ledgerhq/coin-sui": "^0.18.0-nightly.20251119023741",
194
- "@ledgerhq/coin-tezos": "^6.9.0-nightly.20251119023741",
195
- "@ledgerhq/coin-ton": "^0.17.0-nightly.20251119023741",
196
- "@ledgerhq/coin-tron": "^5.7.0-nightly.20251119023741",
197
- "@ledgerhq/coin-vechain": "^2.12.1-nightly.20251119023741",
198
- "@ledgerhq/coin-xrp": "^7.8.0-nightly.20251119023741",
199
- "@ledgerhq/crypto-icons-ui": "^1.23.0-nightly.20251119023741",
200
- "@ledgerhq/cryptoassets": "^13.33.0-nightly.20251119023741",
201
- "@ledgerhq/device-core": "^0.6.8-nightly.20251119023741",
172
+ "@ledgerhq/coin-aptos": "^3.6.0-nightly.20251120023735",
173
+ "@ledgerhq/coin-bitcoin": "^0.25.0-nightly.20251120023735",
174
+ "@ledgerhq/coin-canton": "^0.10.0-nightly.20251120023735",
175
+ "@ledgerhq/coin-cardano": "^0.15.0-nightly.20251120023735",
176
+ "@ledgerhq/coin-casper": "^2.3.1-nightly.20251120023735",
177
+ "@ledgerhq/coin-celo": "^1.7.1-nightly.20251120023735",
178
+ "@ledgerhq/coin-cosmos": "^0.20.0-nightly.20251120023735",
179
+ "@ledgerhq/coin-evm": "^2.35.0-nightly.20251120023735",
180
+ "@ledgerhq/coin-filecoin": "^1.15.0-nightly.20251120023735",
181
+ "@ledgerhq/coin-framework": "^6.9.0-nightly.20251120023735",
182
+ "@ledgerhq/coin-hedera": "^1.14.0-nightly.20251120023735",
183
+ "@ledgerhq/coin-icon": "^0.15.0-nightly.20251120023735",
184
+ "@ledgerhq/coin-internet_computer": "^1.10.1-nightly.20251120023735",
185
+ "@ledgerhq/coin-kaspa": "^1.4.1-nightly.20251120023735",
186
+ "@ledgerhq/coin-mina": "^1.4.1-nightly.20251120023735",
187
+ "@ledgerhq/coin-multiversx": "^0.8.0-nightly.20251120023735",
188
+ "@ledgerhq/coin-near": "^0.16.0-nightly.20251120023735",
189
+ "@ledgerhq/coin-polkadot": "^6.13.0-nightly.20251120023735",
190
+ "@ledgerhq/coin-solana": "^0.37.0-nightly.20251120023735",
191
+ "@ledgerhq/coin-stacks": "^0.12.0-nightly.20251120023735",
192
+ "@ledgerhq/coin-stellar": "^6.7.0-nightly.20251120023735",
193
+ "@ledgerhq/coin-sui": "^0.18.0-nightly.20251120023735",
194
+ "@ledgerhq/coin-tezos": "^6.9.0-nightly.20251120023735",
195
+ "@ledgerhq/coin-ton": "^0.17.0-nightly.20251120023735",
196
+ "@ledgerhq/coin-tron": "^5.7.0-nightly.20251120023735",
197
+ "@ledgerhq/coin-vechain": "^2.12.1-nightly.20251120023735",
198
+ "@ledgerhq/coin-xrp": "^7.8.0-nightly.20251120023735",
199
+ "@ledgerhq/crypto-icons-ui": "^1.23.0-nightly.20251120023735",
200
+ "@ledgerhq/cryptoassets": "^13.33.0-nightly.20251120023735",
201
+ "@ledgerhq/device-core": "^0.6.8-nightly.20251120023735",
202
202
  "@ledgerhq/devices": "8.7.0",
203
203
  "@ledgerhq/errors": "^6.27.0",
204
204
  "@ledgerhq/hw-app-algorand": "^6.31.9",
205
205
  "@ledgerhq/hw-app-aptos": "^6.34.9",
206
206
  "@ledgerhq/hw-app-btc": "^10.12.0",
207
- "@ledgerhq/hw-app-celo": "^6.35.3-nightly.20251119023741",
207
+ "@ledgerhq/hw-app-celo": "^6.35.3-nightly.20251120023735",
208
208
  "@ledgerhq/hw-app-cosmos": "^6.32.9",
209
- "@ledgerhq/hw-app-eth": "^6.47.1-nightly.20251119023741",
210
- "@ledgerhq/hw-app-exchange": "^0.17.0",
209
+ "@ledgerhq/hw-app-eth": "^6.47.1-nightly.20251120023735",
210
+ "@ledgerhq/hw-app-exchange": "^0.18.0-nightly.20251120023735",
211
211
  "@ledgerhq/hw-app-hedera": "^1.2.9",
212
212
  "@ledgerhq/hw-app-icon": "^1.3.9",
213
213
  "@ledgerhq/hw-app-kaspa": "^1.3.2",
@@ -218,29 +218,30 @@
218
218
  "@ledgerhq/hw-app-sui": "^1.4.0",
219
219
  "@ledgerhq/hw-app-tezos": "^6.31.9",
220
220
  "@ledgerhq/hw-app-trx": "^6.31.9",
221
- "@ledgerhq/hw-app-vet": "^0.8.0-nightly.20251119023741",
221
+ "@ledgerhq/hw-app-vet": "^0.8.0-nightly.20251120023735",
222
222
  "@ledgerhq/hw-app-xrp": "^6.32.7",
223
223
  "@ledgerhq/hw-bolos": "^6.32.9",
224
224
  "@ledgerhq/hw-transport": "6.31.13",
225
225
  "@ledgerhq/hw-transport-mocker": "^6.29.13",
226
- "@ledgerhq/ledger-cal-service": "^1.9.0-nightly.20251119023741",
227
- "@ledgerhq/ledger-trust-service": "^0.4.2-nightly.20251119023741",
226
+ "@ledgerhq/ledger-cal-service": "^1.9.0-nightly.20251120023735",
227
+ "@ledgerhq/ledger-trust-service": "^0.4.2-nightly.20251120023735",
228
228
  "@ledgerhq/live-config": "^3.2.0",
229
- "@ledgerhq/live-countervalues": "^0.10.0-nightly.20251119023741",
230
- "@ledgerhq/live-countervalues-react": "^0.7.2-nightly.20251119023741",
229
+ "@ledgerhq/live-countervalues": "^0.10.0-nightly.20251120023735",
230
+ "@ledgerhq/live-countervalues-react": "^0.7.2-nightly.20251120023735",
231
231
  "@ledgerhq/live-dmk-shared": "^0.15.0",
232
- "@ledgerhq/live-env": "^2.21.0-nightly.20251119023741",
232
+ "@ledgerhq/live-env": "^2.21.0-nightly.20251120023735",
233
233
  "@ledgerhq/live-hooks": "0.2.0",
234
- "@ledgerhq/live-network": "^2.1.1-nightly.20251119023741",
234
+ "@ledgerhq/live-network": "^2.1.1-nightly.20251120023735",
235
235
  "@ledgerhq/live-promise": "^0.1.1",
236
- "@ledgerhq/live-signer-canton": "^0.5.1-nightly.20251119023741",
237
- "@ledgerhq/live-signer-evm": "^0.10.1-nightly.20251119023741",
238
- "@ledgerhq/live-signer-solana": "^0.6.1-nightly.20251119023741",
239
- "@ledgerhq/live-wallet": "^0.16.0-nightly.20251119023741",
236
+ "@ledgerhq/live-signer-canton": "^0.5.1-nightly.20251120023735",
237
+ "@ledgerhq/live-signer-evm": "^0.10.1-nightly.20251120023735",
238
+ "@ledgerhq/live-signer-solana": "^0.6.1-nightly.20251120023735",
239
+ "@ledgerhq/live-wallet": "^0.16.0-nightly.20251120023735",
240
240
  "@ledgerhq/logs": "^6.13.0",
241
- "@ledgerhq/speculos-transport": "^0.2.15-nightly.20251119023741",
242
- "@ledgerhq/wallet-api-acre-module": "^0.10.0-nightly.20251119023741",
243
- "@ledgerhq/wallet-api-exchange-module": "^0.19.0-nightly.20251119023741"
241
+ "@ledgerhq/speculos-transport": "^0.3.0-nightly.20251120023735",
242
+ "@ledgerhq/wallet-api-acre-module": "^0.10.0-nightly.20251120023735",
243
+ "@ledgerhq/wallet-api-exchange-module": "^0.19.0-nightly.20251120023735",
244
+ "@ledgerhq/coin-algorand": "^0.13.0-nightly.20251120023735"
244
245
  },
245
246
  "devDependencies": {
246
247
  "@solana/web3.js": "1.95.4",
@@ -288,10 +289,10 @@
288
289
  "undici": "6.19.2",
289
290
  "uuid": "^8.3.2",
290
291
  "ws": "7",
291
- "@ledgerhq/device-react": "^0.3.2-nightly.20251119023741",
292
+ "@ledgerhq/device-react": "^0.3.2-nightly.20251120023735",
292
293
  "@ledgerhq/types-cryptoassets": "^7.30.0",
293
294
  "@ledgerhq/types-devices": "^6.27.0",
294
- "@ledgerhq/types-live": "^6.89.0-nightly.20251119023741"
295
+ "@ledgerhq/types-live": "^6.89.0-nightly.20251120023735"
295
296
  },
296
297
  "scripts": {
297
298
  "build": "zx ./scripts/build-ts.mjs",
@@ -0,0 +1,85 @@
1
+ import { getEnv } from "@ledgerhq/live-env";
2
+ import { getSpeculosAddress } from "../speculos";
3
+ import {
4
+ deviceControllerClientFactory,
5
+ type DeviceControllerClient,
6
+ type ButtonKey,
7
+ } from "@ledgerhq/speculos-device-controller";
8
+
9
+ // temp type until DeviceControllerClient exposes buttonFactory type
10
+ type ButtonsController = {
11
+ left(): Promise<void>;
12
+ right(): Promise<void>;
13
+ both(): Promise<void>;
14
+ pressSequence(keys: ButtonKey[], delayMs?: number): Promise<void>;
15
+ };
16
+
17
+ type DeviceControllerContext = {
18
+ getDeviceController: () => DeviceControllerClient;
19
+ getButtonsController: () => ButtonsController;
20
+ };
21
+
22
+ const endpointKey = () => `${getSpeculosAddress()}:${getEnv("SPECULOS_API_PORT")}`;
23
+
24
+ export const getDeviceControllerWithMemo = (() => {
25
+ let cache: { key: string; client: DeviceControllerClient } | null = null;
26
+ return () => {
27
+ const key = endpointKey();
28
+ if (!cache || cache.key !== key) {
29
+ cache = {
30
+ key,
31
+ client: deviceControllerClientFactory(key, {
32
+ timeoutMs: 10000,
33
+ }),
34
+ };
35
+ }
36
+ return cache.client;
37
+ };
38
+ })();
39
+
40
+ export const getButtonsWithMemo = (getController: () => DeviceControllerClient) => {
41
+ let cache: { ctrl: DeviceControllerClient; buttons: ButtonsController } | null = null;
42
+ return () => {
43
+ const ctrl = getController();
44
+ if (!cache || cache.ctrl !== ctrl) {
45
+ cache = { ctrl, buttons: ctrl.buttonFactory() };
46
+ }
47
+ return cache.buttons;
48
+ };
49
+ };
50
+
51
+ /**
52
+ * Wraps a function with access to speculos-device-controller via a tiny DI context.
53
+ *
54
+ * @description
55
+ * Pass a factory that receives a context exposing `getDeviceController()` and `getButtonsController()`.
56
+ * The factory returns the actual implementation. The returned wrapper preserves the implementation’s
57
+ * parameter and return types.
58
+ *
59
+ * Both accessors are lazy, they get or refresh the underlying controller only when called.
60
+ *
61
+ * @param factory - Function invoked immediately with the device context, must return the implementation.
62
+ * @returns A function with the same parameters and return type as the implementation returned by `factory`.
63
+ *
64
+ * @example
65
+ * ```ts
66
+ * const accept = withDeviceController(({ getButtonsController }) => async (timeoutMS: number) => {
67
+ * const buttons = getButtonsController();
68
+ * await waitFor(timeoutMS);
69
+ * await buttons.both();
70
+ * });
71
+ *
72
+ * await accept(1000);
73
+ * ```
74
+ *
75
+ */
76
+ export function withDeviceController<A extends unknown[], R>(
77
+ factory: (ctx: DeviceControllerContext) => (...args: A) => R | Promise<R>,
78
+ ): (...args: A) => R | Promise<R> {
79
+ const ctx: DeviceControllerContext = {
80
+ getDeviceController: getDeviceControllerWithMemo,
81
+ getButtonsController: getButtonsWithMemo(getDeviceControllerWithMemo),
82
+ };
83
+ const implementation = factory(ctx);
84
+ return (...args: A) => implementation(...args);
85
+ }
@@ -2,19 +2,26 @@ import expect from "expect";
2
2
  import { Transaction } from "../models/Transaction";
3
3
  import { containsSubstringInEvent, getSendEvents } from "../speculos";
4
4
  import { isTouchDevice } from "../speculosAppVersion";
5
- import { pressBoth } from "../deviceInteraction/ButtonDeviceSimulator";
6
5
  import { DeviceLabels } from "../enum/DeviceLabels";
7
6
  import { longPressAndRelease } from "../deviceInteraction/TouchDeviceSimulator";
7
+ import { withDeviceController } from "../deviceInteraction/DeviceController";
8
8
 
9
- export async function sendAlgorand(tx: Transaction) {
10
- const events = await getSendEvents(tx);
11
- const isAmountCorrect = containsSubstringInEvent(tx.amount, events);
12
- expect(isAmountCorrect).toBeTruthy();
13
- const isAddressCorrect = containsSubstringInEvent(tx.accountToCredit.address, events);
14
- expect(isAddressCorrect).toBeTruthy();
15
- if (isTouchDevice()) {
16
- await longPressAndRelease(DeviceLabels.HOLD_TO_SIGN, 3);
17
- } else {
18
- await pressBoth();
19
- }
20
- }
9
+ export const sendAlgorand = withDeviceController(
10
+ ({ getButtonsController }) =>
11
+ async (tx: Transaction) => {
12
+ const buttons = getButtonsController();
13
+
14
+ const events = await getSendEvents(tx);
15
+ const isAmountCorrect = containsSubstringInEvent(tx.amount, events);
16
+ expect(isAmountCorrect).toBeTruthy();
17
+
18
+ const isAddressCorrect = containsSubstringInEvent(tx.accountToCredit.address, events);
19
+ expect(isAddressCorrect).toBeTruthy();
20
+
21
+ if (isTouchDevice()) {
22
+ await longPressAndRelease(DeviceLabels.HOLD_TO_SIGN, 3);
23
+ } else {
24
+ await buttons.both();
25
+ }
26
+ },
27
+ );
@@ -2,24 +2,36 @@ import expect from "expect";
2
2
  import { Transaction } from "../models/Transaction";
3
3
  import { waitFor, pressUntilTextFound, containsSubstringInEvent, getSendEvents } from "../speculos";
4
4
  import { isTouchDevice } from "../speculosAppVersion";
5
- import { pressBoth } from "../deviceInteraction/ButtonDeviceSimulator";
6
5
  import { DeviceLabels } from "../enum/DeviceLabels";
7
6
  import { Delegate } from "../models/Delegate";
8
7
  import { longPressAndRelease } from "../deviceInteraction/TouchDeviceSimulator";
8
+ import { withDeviceController } from "../deviceInteraction/DeviceController";
9
9
 
10
- export async function sendAptos(tx: Transaction) {
11
- await getSendEvents(tx);
12
- if (isTouchDevice()) {
13
- await longPressAndRelease(DeviceLabels.HOLD_TO_SIGN, 3);
14
- } else {
15
- await pressBoth();
16
- }
17
- }
10
+ export const sendAptos = withDeviceController(
11
+ ({ getButtonsController }) =>
12
+ async (tx: Transaction) => {
13
+ const buttons = getButtonsController();
18
14
 
19
- export async function delegateAptos(delegatingAccount: Delegate) {
20
- await waitFor(DeviceLabels.REVIEW_OPERATION);
21
- const events = await pressUntilTextFound(DeviceLabels.APPROVE);
22
- const isAmountCorrect = containsSubstringInEvent(delegatingAccount.amount, events);
23
- expect(isAmountCorrect).toBeTruthy();
24
- await pressBoth();
25
- }
15
+ await getSendEvents(tx);
16
+
17
+ if (isTouchDevice()) {
18
+ await longPressAndRelease(DeviceLabels.HOLD_TO_SIGN, 3);
19
+ } else {
20
+ await buttons.both();
21
+ }
22
+ },
23
+ );
24
+
25
+ export const delegateAptos = withDeviceController(
26
+ ({ getButtonsController }) =>
27
+ async (delegatingAccount: Delegate) => {
28
+ const buttons = getButtonsController();
29
+
30
+ await waitFor(DeviceLabels.REVIEW_OPERATION);
31
+ const events = await pressUntilTextFound(DeviceLabels.APPROVE);
32
+ const isAmountCorrect = containsSubstringInEvent(delegatingAccount.amount, events);
33
+ expect(isAmountCorrect).toBeTruthy();
34
+
35
+ await buttons.both();
36
+ },
37
+ );
@@ -2,49 +2,63 @@ import expect from "expect";
2
2
  import { Transaction } from "../models/Transaction";
3
3
  import { waitFor, containsSubstringInEvent, pressUntilTextFound, getSendEvents } from "../speculos";
4
4
  import { getSpeculosModel, isTouchDevice } from "../speculosAppVersion";
5
- import { pressBoth } from "../deviceInteraction/ButtonDeviceSimulator";
6
5
  import { DeviceLabels } from "../enum/DeviceLabels";
7
6
  import invariant from "invariant";
8
7
  import { DeviceModelId } from "@ledgerhq/types-devices";
9
8
  import { longPressAndRelease } from "../deviceInteraction/TouchDeviceSimulator";
9
+ import { withDeviceController } from "../deviceInteraction/DeviceController";
10
10
 
11
- export async function sendBTCBasedCoin(tx: Transaction) {
12
- const events = await getSendEvents(tx);
13
- const isAmountCorrect = containsSubstringInEvent(tx.amount, events);
14
- expect(isAmountCorrect).toBeTruthy();
15
- const isAddressCorrect = containsSubstringInEvent(tx.accountToCredit.address, events);
16
- expect(isAddressCorrect).toBeTruthy();
17
- if (isTouchDevice()) {
18
- await longPressAndRelease(DeviceLabels.HOLD_TO_SIGN, 3);
19
- } else {
20
- await pressBoth();
21
- await waitFor(DeviceLabels.CONFIRM);
22
- await pressUntilTextFound(DeviceLabels.ACCEPT);
23
- await pressBoth();
24
- }
25
- }
26
-
27
- export async function sendBTC(tx: Transaction) {
28
- const speculosDevice = getSpeculosModel();
29
- try {
30
- const events = await getSendEvents(tx);
31
- const isAmountCorrect = containsSubstringInEvent(tx.amount, events);
32
- expect(isAmountCorrect).toBeTruthy();
33
- const isAddressCorrect = containsSubstringInEvent(tx.accountToCredit.address, events);
34
- expect(isAddressCorrect).toBeTruthy();
35
- if (isTouchDevice()) {
36
- await longPressAndRelease(DeviceLabels.HOLD_TO_SIGN, 3);
37
- } else {
38
- await pressBoth();
39
- if (speculosDevice === DeviceModelId.nanoS) {
40
- await pressUntilTextFound(DeviceLabels.SIGN);
41
- await pressBoth();
42
- await waitFor(DeviceLabels.BITCOIN_IS_READY);
11
+ export const sendBTCBasedCoin = withDeviceController(
12
+ ({ getButtonsController }) =>
13
+ async (tx: Transaction) => {
14
+ const buttons = getButtonsController();
15
+
16
+ const events = await getSendEvents(tx);
17
+ const isAmountCorrect = containsSubstringInEvent(tx.amount, events);
18
+ expect(isAmountCorrect).toBeTruthy();
19
+
20
+ const isAddressCorrect = containsSubstringInEvent(tx.accountToCredit.address, events);
21
+ expect(isAddressCorrect).toBeTruthy();
22
+
23
+ if (isTouchDevice()) {
24
+ await longPressAndRelease(DeviceLabels.HOLD_TO_SIGN, 3);
43
25
  } else {
44
- await waitFor(DeviceLabels.TRANSACTION_SIGNED);
26
+ await buttons.both();
27
+ await waitFor(DeviceLabels.CONFIRM);
28
+ await pressUntilTextFound(DeviceLabels.ACCEPT);
29
+ await buttons.both();
30
+ }
31
+ },
32
+ );
33
+
34
+ export const sendBTC = withDeviceController(
35
+ ({ getButtonsController }) =>
36
+ async (tx: Transaction) => {
37
+ const buttons = getButtonsController();
38
+ const speculosDevice = getSpeculosModel();
39
+
40
+ try {
41
+ const events = await getSendEvents(tx);
42
+ const isAmountCorrect = containsSubstringInEvent(tx.amount, events);
43
+ expect(isAmountCorrect).toBeTruthy();
44
+
45
+ const isAddressCorrect = containsSubstringInEvent(tx.accountToCredit.address, events);
46
+ expect(isAddressCorrect).toBeTruthy();
47
+
48
+ if (isTouchDevice()) {
49
+ await longPressAndRelease(DeviceLabels.HOLD_TO_SIGN, 3);
50
+ } else {
51
+ await buttons.both();
52
+ if (speculosDevice === DeviceModelId.nanoS) {
53
+ await pressUntilTextFound(DeviceLabels.SIGN);
54
+ await buttons.both();
55
+ await waitFor(DeviceLabels.BITCOIN_IS_READY);
56
+ } else {
57
+ await waitFor(DeviceLabels.TRANSACTION_SIGNED);
58
+ }
59
+ }
60
+ } catch (e) {
61
+ invariant(false, `Error while sending BTC transaction: ${e}`);
45
62
  }
46
- }
47
- } catch (e) {
48
- invariant(false, `Error while sending BTC transaction: ${e}`);
49
- }
50
- }
63
+ },
64
+ );