@ledgerhq/live-common 34.53.0-nightly.20251114023758 → 34.53.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.
Files changed (436) hide show
  1. package/lib/__tests__/test-helpers/environment.js +2 -0
  2. package/lib/__tests__/test-helpers/environment.js.map +1 -1
  3. package/lib/currencies/helpers.d.ts +1 -3
  4. package/lib/currencies/helpers.d.ts.map +1 -1
  5. package/lib/currencies/helpers.js +1 -27
  6. package/lib/currencies/helpers.js.map +1 -1
  7. package/lib/dada-client/hooks/useAssetsData.d.ts +1 -0
  8. package/lib/dada-client/hooks/useAssetsData.d.ts.map +1 -1
  9. package/lib/dada-client/hooks/useAssetsData.js +1 -0
  10. package/lib/dada-client/hooks/useAssetsData.js.map +1 -1
  11. package/lib/deviceSDK/actions/getBatteryStatuses.d.ts +2 -1
  12. package/lib/deviceSDK/actions/getBatteryStatuses.d.ts.map +1 -1
  13. package/lib/deviceSDK/actions/getBatteryStatuses.js +2 -2
  14. package/lib/deviceSDK/actions/getBatteryStatuses.js.map +1 -1
  15. package/lib/deviceSDK/actions/getDeviceInfo.d.ts +2 -1
  16. package/lib/deviceSDK/actions/getDeviceInfo.d.ts.map +1 -1
  17. package/lib/deviceSDK/actions/getDeviceInfo.js +2 -2
  18. package/lib/deviceSDK/actions/getDeviceInfo.js.map +1 -1
  19. package/lib/deviceSDK/actions/getLatestAvailableFirmware.d.ts +2 -1
  20. package/lib/deviceSDK/actions/getLatestAvailableFirmware.d.ts.map +1 -1
  21. package/lib/deviceSDK/actions/getLatestAvailableFirmware.js +6 -3
  22. package/lib/deviceSDK/actions/getLatestAvailableFirmware.js.map +1 -1
  23. package/lib/deviceSDK/actions/toggleOnboardingEarlyCheck.d.ts +2 -1
  24. package/lib/deviceSDK/actions/toggleOnboardingEarlyCheck.d.ts.map +1 -1
  25. package/lib/deviceSDK/actions/toggleOnboardingEarlyCheck.js +2 -2
  26. package/lib/deviceSDK/actions/toggleOnboardingEarlyCheck.js.map +1 -1
  27. package/lib/deviceSDK/actions/updateFirmware.d.ts +2 -1
  28. package/lib/deviceSDK/actions/updateFirmware.d.ts.map +1 -1
  29. package/lib/deviceSDK/actions/updateFirmware.js +4 -3
  30. package/lib/deviceSDK/actions/updateFirmware.js.map +1 -1
  31. package/lib/deviceSDK/hooks/useBatteryStatuses.d.ts +2 -1
  32. package/lib/deviceSDK/hooks/useBatteryStatuses.d.ts.map +1 -1
  33. package/lib/deviceSDK/hooks/useBatteryStatuses.js +3 -2
  34. package/lib/deviceSDK/hooks/useBatteryStatuses.js.map +1 -1
  35. package/lib/deviceSDK/hooks/useGetDeviceInfo.d.ts +2 -1
  36. package/lib/deviceSDK/hooks/useGetDeviceInfo.d.ts.map +1 -1
  37. package/lib/deviceSDK/hooks/useGetDeviceInfo.js +3 -3
  38. package/lib/deviceSDK/hooks/useGetDeviceInfo.js.map +1 -1
  39. package/lib/deviceSDK/hooks/useGetLatestAvailableFirmware.d.ts +2 -1
  40. package/lib/deviceSDK/hooks/useGetLatestAvailableFirmware.d.ts.map +1 -1
  41. package/lib/deviceSDK/hooks/useGetLatestAvailableFirmware.js +2 -1
  42. package/lib/deviceSDK/hooks/useGetLatestAvailableFirmware.js.map +1 -1
  43. package/lib/deviceSDK/hooks/useToggleOnboardingEarlyChecks.d.ts +2 -1
  44. package/lib/deviceSDK/hooks/useToggleOnboardingEarlyChecks.d.ts.map +1 -1
  45. package/lib/deviceSDK/hooks/useToggleOnboardingEarlyChecks.js +3 -2
  46. package/lib/deviceSDK/hooks/useToggleOnboardingEarlyChecks.js.map +1 -1
  47. package/lib/deviceSDK/hooks/useUpdateFirmware.d.ts +2 -1
  48. package/lib/deviceSDK/hooks/useUpdateFirmware.d.ts.map +1 -1
  49. package/lib/deviceSDK/hooks/useUpdateFirmware.js +3 -2
  50. package/lib/deviceSDK/hooks/useUpdateFirmware.js.map +1 -1
  51. package/lib/deviceSDK/tasks/getBatteryStatuses.d.ts +1 -0
  52. package/lib/deviceSDK/tasks/getBatteryStatuses.d.ts.map +1 -1
  53. package/lib/deviceSDK/tasks/getBatteryStatuses.js +2 -2
  54. package/lib/deviceSDK/tasks/getBatteryStatuses.js.map +1 -1
  55. package/lib/deviceSDK/tasks/getDeviceInfo.d.ts +2 -1
  56. package/lib/deviceSDK/tasks/getDeviceInfo.d.ts.map +1 -1
  57. package/lib/deviceSDK/tasks/getDeviceInfo.js +2 -2
  58. package/lib/deviceSDK/tasks/getDeviceInfo.js.map +1 -1
  59. package/lib/deviceSDK/tasks/getLatestFirmware.d.ts +1 -0
  60. package/lib/deviceSDK/tasks/getLatestFirmware.d.ts.map +1 -1
  61. package/lib/deviceSDK/tasks/getLatestFirmware.js +2 -2
  62. package/lib/deviceSDK/tasks/getLatestFirmware.js.map +1 -1
  63. package/lib/deviceSDK/tasks/toggleOnboardingEarlyCheck.d.ts +1 -0
  64. package/lib/deviceSDK/tasks/toggleOnboardingEarlyCheck.d.ts.map +1 -1
  65. package/lib/deviceSDK/tasks/toggleOnboardingEarlyCheck.js +2 -2
  66. package/lib/deviceSDK/tasks/toggleOnboardingEarlyCheck.js.map +1 -1
  67. package/lib/deviceSDK/tasks/updateFirmware.d.ts +1 -0
  68. package/lib/deviceSDK/tasks/updateFirmware.d.ts.map +1 -1
  69. package/lib/deviceSDK/tasks/updateFirmware.js +2 -2
  70. package/lib/deviceSDK/tasks/updateFirmware.js.map +1 -1
  71. package/lib/deviceSDK/transports/core.d.ts +1 -0
  72. package/lib/deviceSDK/transports/core.d.ts.map +1 -1
  73. package/lib/deviceSDK/transports/core.js +2 -2
  74. package/lib/deviceSDK/transports/core.js.map +1 -1
  75. package/lib/e2e/index.d.ts +6 -0
  76. package/lib/e2e/index.d.ts.map +1 -1
  77. package/lib/families/evm/config.d.ts.map +1 -1
  78. package/lib/families/evm/config.js +33 -0
  79. package/lib/families/evm/config.js.map +1 -1
  80. package/lib/featureFlags/defaultFeatures.d.ts +2 -0
  81. package/lib/featureFlags/defaultFeatures.d.ts.map +1 -1
  82. package/lib/featureFlags/defaultFeatures.js +2 -0
  83. package/lib/featureFlags/defaultFeatures.js.map +1 -1
  84. package/lib/hw/actions/app.d.ts.map +1 -1
  85. package/lib/hw/actions/app.js +2 -1
  86. package/lib/hw/actions/app.js.map +1 -1
  87. package/lib/hw/actions/customLockScreenLoad.d.ts +1 -1
  88. package/lib/hw/actions/customLockScreenLoad.d.ts.map +1 -1
  89. package/lib/hw/actions/customLockScreenLoad.js +2 -0
  90. package/lib/hw/actions/customLockScreenLoad.js.map +1 -1
  91. package/lib/hw/actions/implementations.d.ts +1 -0
  92. package/lib/hw/actions/implementations.d.ts.map +1 -1
  93. package/lib/hw/actions/implementations.js +12 -2
  94. package/lib/hw/actions/implementations.js.map +1 -1
  95. package/lib/hw/connectApp.d.ts +2 -1
  96. package/lib/hw/connectApp.d.ts.map +1 -1
  97. package/lib/hw/connectApp.js +4 -4
  98. package/lib/hw/connectApp.js.map +1 -1
  99. package/lib/hw/connectManager.d.ts +2 -1
  100. package/lib/hw/connectManager.d.ts.map +1 -1
  101. package/lib/hw/connectManager.js +4 -4
  102. package/lib/hw/connectManager.js.map +1 -1
  103. package/lib/hw/customLockScreenFetch.d.ts +2 -1
  104. package/lib/hw/customLockScreenFetch.d.ts.map +1 -1
  105. package/lib/hw/customLockScreenFetch.js +2 -2
  106. package/lib/hw/customLockScreenFetch.js.map +1 -1
  107. package/lib/hw/customLockScreenLoad.d.ts +2 -1
  108. package/lib/hw/customLockScreenLoad.d.ts.map +1 -1
  109. package/lib/hw/customLockScreenLoad.js +2 -2
  110. package/lib/hw/customLockScreenLoad.js.map +1 -1
  111. package/lib/hw/deviceAccess.d.ts +3 -3
  112. package/lib/hw/deviceAccess.d.ts.map +1 -1
  113. package/lib/hw/deviceAccess.js +2 -1
  114. package/lib/hw/deviceAccess.js.map +1 -1
  115. package/lib/hw/getGenuineCheckFromDeviceId.d.ts +2 -1
  116. package/lib/hw/getGenuineCheckFromDeviceId.d.ts.map +1 -1
  117. package/lib/hw/getGenuineCheckFromDeviceId.js +2 -2
  118. package/lib/hw/getGenuineCheckFromDeviceId.js.map +1 -1
  119. package/lib/hw/getOnboardingStatePolling.d.ts +2 -1
  120. package/lib/hw/getOnboardingStatePolling.d.ts.map +1 -1
  121. package/lib/hw/getOnboardingStatePolling.js +5 -2
  122. package/lib/hw/getOnboardingStatePolling.js.map +1 -1
  123. package/lib/hw/hooks/useGenuineCheck.d.ts +2 -1
  124. package/lib/hw/hooks/useGenuineCheck.d.ts.map +1 -1
  125. package/lib/hw/hooks/useGenuineCheck.js +3 -1
  126. package/lib/hw/hooks/useGenuineCheck.js.map +1 -1
  127. package/lib/hw/index.d.ts +6 -2
  128. package/lib/hw/index.d.ts.map +1 -1
  129. package/lib/hw/index.js +6 -6
  130. package/lib/hw/index.js.map +1 -1
  131. package/lib/hw/installLanguage.d.ts +2 -1
  132. package/lib/hw/installLanguage.d.ts.map +1 -1
  133. package/lib/hw/installLanguage.js +2 -2
  134. package/lib/hw/installLanguage.js.map +1 -1
  135. package/lib/modularDrawer/hooks/useCurrenciesUnderFeatureFlag.d.ts.map +1 -1
  136. package/lib/modularDrawer/hooks/useCurrenciesUnderFeatureFlag.js +8 -0
  137. package/lib/modularDrawer/hooks/useCurrenciesUnderFeatureFlag.js.map +1 -1
  138. package/lib/modularDrawer/hooks/useNetworkAccountCounts.d.ts +1 -5
  139. package/lib/modularDrawer/hooks/useNetworkAccountCounts.d.ts.map +1 -1
  140. package/lib/modularDrawer/hooks/useNetworkAccountCounts.js +2 -2
  141. package/lib/modularDrawer/hooks/useNetworkAccountCounts.js.map +1 -1
  142. package/lib/modularDrawer/modules/createNetworkConfiguration.d.ts +1 -1
  143. package/lib/modularDrawer/modules/createNetworkConfiguration.d.ts.map +1 -1
  144. package/lib/modularDrawer/modules/createNetworkConfiguration.js +1 -2
  145. package/lib/modularDrawer/modules/createNetworkConfiguration.js.map +1 -1
  146. package/lib/modularDrawer/utils/type.d.ts +0 -5
  147. package/lib/modularDrawer/utils/type.d.ts.map +1 -1
  148. package/lib/onboarding/hooks/useOnboardingStatePolling.d.ts.map +1 -1
  149. package/lib/onboarding/hooks/useOnboardingStatePolling.js +1 -0
  150. package/lib/onboarding/hooks/useOnboardingStatePolling.js.map +1 -1
  151. package/lib/platform/filters.d.ts +1 -2
  152. package/lib/platform/filters.d.ts.map +1 -1
  153. package/lib/platform/filters.js +1 -17
  154. package/lib/platform/filters.js.map +1 -1
  155. package/lib/platform/helpers.d.ts +1 -5
  156. package/lib/platform/helpers.d.ts.map +1 -1
  157. package/lib/platform/helpers.js +1 -33
  158. package/lib/platform/helpers.js.map +1 -1
  159. package/lib/platform/react.d.ts +2 -3
  160. package/lib/platform/react.d.ts.map +1 -1
  161. package/lib/platform/react.js +66 -16
  162. package/lib/platform/react.js.map +1 -1
  163. package/lib/platform/types.d.ts +3 -3
  164. package/lib/platform/types.d.ts.map +1 -1
  165. package/lib/utils/getAccountTuplesForCurrency.d.ts +1 -1
  166. package/lib/utils/getAccountTuplesForCurrency.d.ts.map +1 -1
  167. package/lib/utils/getAccountTuplesForCurrency.js +2 -3
  168. package/lib/utils/getAccountTuplesForCurrency.js.map +1 -1
  169. package/lib/wallet-api/Exchange/server.d.ts.map +1 -1
  170. package/lib/wallet-api/Exchange/server.js +5 -4
  171. package/lib/wallet-api/Exchange/server.js.map +1 -1
  172. package/lib/wallet-api/converters.d.ts +1 -0
  173. package/lib/wallet-api/converters.d.ts.map +1 -1
  174. package/lib/wallet-api/converters.js +7 -2
  175. package/lib/wallet-api/converters.js.map +1 -1
  176. package/lib/wallet-api/react.d.ts +6 -11
  177. package/lib/wallet-api/react.d.ts.map +1 -1
  178. package/lib/wallet-api/react.js +291 -135
  179. package/lib/wallet-api/react.js.map +1 -1
  180. package/lib/wallet-api/tracking.d.ts +6 -0
  181. package/lib/wallet-api/tracking.d.ts.map +1 -1
  182. package/lib/wallet-api/tracking.js +20 -0
  183. package/lib/wallet-api/tracking.js.map +1 -1
  184. package/lib/wallet-api/useDappLogic.d.ts.map +1 -1
  185. package/lib/wallet-api/useDappLogic.js +65 -80
  186. package/lib/wallet-api/useDappLogic.js.map +1 -1
  187. package/lib-es/__tests__/test-helpers/environment.js +2 -0
  188. package/lib-es/__tests__/test-helpers/environment.js.map +1 -1
  189. package/lib-es/currencies/helpers.d.ts +1 -3
  190. package/lib-es/currencies/helpers.d.ts.map +1 -1
  191. package/lib-es/currencies/helpers.js +0 -24
  192. package/lib-es/currencies/helpers.js.map +1 -1
  193. package/lib-es/dada-client/hooks/useAssetsData.d.ts +1 -0
  194. package/lib-es/dada-client/hooks/useAssetsData.d.ts.map +1 -1
  195. package/lib-es/dada-client/hooks/useAssetsData.js +1 -0
  196. package/lib-es/dada-client/hooks/useAssetsData.js.map +1 -1
  197. package/lib-es/deviceSDK/actions/getBatteryStatuses.d.ts +2 -1
  198. package/lib-es/deviceSDK/actions/getBatteryStatuses.d.ts.map +1 -1
  199. package/lib-es/deviceSDK/actions/getBatteryStatuses.js +2 -2
  200. package/lib-es/deviceSDK/actions/getBatteryStatuses.js.map +1 -1
  201. package/lib-es/deviceSDK/actions/getDeviceInfo.d.ts +2 -1
  202. package/lib-es/deviceSDK/actions/getDeviceInfo.d.ts.map +1 -1
  203. package/lib-es/deviceSDK/actions/getDeviceInfo.js +2 -2
  204. package/lib-es/deviceSDK/actions/getDeviceInfo.js.map +1 -1
  205. package/lib-es/deviceSDK/actions/getLatestAvailableFirmware.d.ts +2 -1
  206. package/lib-es/deviceSDK/actions/getLatestAvailableFirmware.d.ts.map +1 -1
  207. package/lib-es/deviceSDK/actions/getLatestAvailableFirmware.js +6 -3
  208. package/lib-es/deviceSDK/actions/getLatestAvailableFirmware.js.map +1 -1
  209. package/lib-es/deviceSDK/actions/toggleOnboardingEarlyCheck.d.ts +2 -1
  210. package/lib-es/deviceSDK/actions/toggleOnboardingEarlyCheck.d.ts.map +1 -1
  211. package/lib-es/deviceSDK/actions/toggleOnboardingEarlyCheck.js +2 -2
  212. package/lib-es/deviceSDK/actions/toggleOnboardingEarlyCheck.js.map +1 -1
  213. package/lib-es/deviceSDK/actions/updateFirmware.d.ts +2 -1
  214. package/lib-es/deviceSDK/actions/updateFirmware.d.ts.map +1 -1
  215. package/lib-es/deviceSDK/actions/updateFirmware.js +4 -3
  216. package/lib-es/deviceSDK/actions/updateFirmware.js.map +1 -1
  217. package/lib-es/deviceSDK/hooks/useBatteryStatuses.d.ts +2 -1
  218. package/lib-es/deviceSDK/hooks/useBatteryStatuses.d.ts.map +1 -1
  219. package/lib-es/deviceSDK/hooks/useBatteryStatuses.js +3 -2
  220. package/lib-es/deviceSDK/hooks/useBatteryStatuses.js.map +1 -1
  221. package/lib-es/deviceSDK/hooks/useGetDeviceInfo.d.ts +2 -1
  222. package/lib-es/deviceSDK/hooks/useGetDeviceInfo.d.ts.map +1 -1
  223. package/lib-es/deviceSDK/hooks/useGetDeviceInfo.js +3 -3
  224. package/lib-es/deviceSDK/hooks/useGetDeviceInfo.js.map +1 -1
  225. package/lib-es/deviceSDK/hooks/useGetLatestAvailableFirmware.d.ts +2 -1
  226. package/lib-es/deviceSDK/hooks/useGetLatestAvailableFirmware.d.ts.map +1 -1
  227. package/lib-es/deviceSDK/hooks/useGetLatestAvailableFirmware.js +2 -1
  228. package/lib-es/deviceSDK/hooks/useGetLatestAvailableFirmware.js.map +1 -1
  229. package/lib-es/deviceSDK/hooks/useToggleOnboardingEarlyChecks.d.ts +2 -1
  230. package/lib-es/deviceSDK/hooks/useToggleOnboardingEarlyChecks.d.ts.map +1 -1
  231. package/lib-es/deviceSDK/hooks/useToggleOnboardingEarlyChecks.js +3 -2
  232. package/lib-es/deviceSDK/hooks/useToggleOnboardingEarlyChecks.js.map +1 -1
  233. package/lib-es/deviceSDK/hooks/useUpdateFirmware.d.ts +2 -1
  234. package/lib-es/deviceSDK/hooks/useUpdateFirmware.d.ts.map +1 -1
  235. package/lib-es/deviceSDK/hooks/useUpdateFirmware.js +3 -2
  236. package/lib-es/deviceSDK/hooks/useUpdateFirmware.js.map +1 -1
  237. package/lib-es/deviceSDK/tasks/getBatteryStatuses.d.ts +1 -0
  238. package/lib-es/deviceSDK/tasks/getBatteryStatuses.d.ts.map +1 -1
  239. package/lib-es/deviceSDK/tasks/getBatteryStatuses.js +2 -2
  240. package/lib-es/deviceSDK/tasks/getBatteryStatuses.js.map +1 -1
  241. package/lib-es/deviceSDK/tasks/getDeviceInfo.d.ts +2 -1
  242. package/lib-es/deviceSDK/tasks/getDeviceInfo.d.ts.map +1 -1
  243. package/lib-es/deviceSDK/tasks/getDeviceInfo.js +2 -2
  244. package/lib-es/deviceSDK/tasks/getDeviceInfo.js.map +1 -1
  245. package/lib-es/deviceSDK/tasks/getLatestFirmware.d.ts +1 -0
  246. package/lib-es/deviceSDK/tasks/getLatestFirmware.d.ts.map +1 -1
  247. package/lib-es/deviceSDK/tasks/getLatestFirmware.js +2 -2
  248. package/lib-es/deviceSDK/tasks/getLatestFirmware.js.map +1 -1
  249. package/lib-es/deviceSDK/tasks/toggleOnboardingEarlyCheck.d.ts +1 -0
  250. package/lib-es/deviceSDK/tasks/toggleOnboardingEarlyCheck.d.ts.map +1 -1
  251. package/lib-es/deviceSDK/tasks/toggleOnboardingEarlyCheck.js +2 -2
  252. package/lib-es/deviceSDK/tasks/toggleOnboardingEarlyCheck.js.map +1 -1
  253. package/lib-es/deviceSDK/tasks/updateFirmware.d.ts +1 -0
  254. package/lib-es/deviceSDK/tasks/updateFirmware.d.ts.map +1 -1
  255. package/lib-es/deviceSDK/tasks/updateFirmware.js +2 -2
  256. package/lib-es/deviceSDK/tasks/updateFirmware.js.map +1 -1
  257. package/lib-es/deviceSDK/transports/core.d.ts +1 -0
  258. package/lib-es/deviceSDK/transports/core.d.ts.map +1 -1
  259. package/lib-es/deviceSDK/transports/core.js +2 -2
  260. package/lib-es/deviceSDK/transports/core.js.map +1 -1
  261. package/lib-es/e2e/index.d.ts +6 -0
  262. package/lib-es/e2e/index.d.ts.map +1 -1
  263. package/lib-es/families/evm/config.d.ts.map +1 -1
  264. package/lib-es/families/evm/config.js +33 -0
  265. package/lib-es/families/evm/config.js.map +1 -1
  266. package/lib-es/featureFlags/defaultFeatures.d.ts +2 -0
  267. package/lib-es/featureFlags/defaultFeatures.d.ts.map +1 -1
  268. package/lib-es/featureFlags/defaultFeatures.js +2 -0
  269. package/lib-es/featureFlags/defaultFeatures.js.map +1 -1
  270. package/lib-es/hw/actions/app.d.ts.map +1 -1
  271. package/lib-es/hw/actions/app.js +2 -1
  272. package/lib-es/hw/actions/app.js.map +1 -1
  273. package/lib-es/hw/actions/customLockScreenLoad.d.ts +1 -1
  274. package/lib-es/hw/actions/customLockScreenLoad.d.ts.map +1 -1
  275. package/lib-es/hw/actions/customLockScreenLoad.js +2 -0
  276. package/lib-es/hw/actions/customLockScreenLoad.js.map +1 -1
  277. package/lib-es/hw/actions/implementations.d.ts +1 -0
  278. package/lib-es/hw/actions/implementations.d.ts.map +1 -1
  279. package/lib-es/hw/actions/implementations.js +12 -2
  280. package/lib-es/hw/actions/implementations.js.map +1 -1
  281. package/lib-es/hw/connectApp.d.ts +2 -1
  282. package/lib-es/hw/connectApp.d.ts.map +1 -1
  283. package/lib-es/hw/connectApp.js +4 -4
  284. package/lib-es/hw/connectApp.js.map +1 -1
  285. package/lib-es/hw/connectManager.d.ts +2 -1
  286. package/lib-es/hw/connectManager.d.ts.map +1 -1
  287. package/lib-es/hw/connectManager.js +4 -4
  288. package/lib-es/hw/connectManager.js.map +1 -1
  289. package/lib-es/hw/customLockScreenFetch.d.ts +2 -1
  290. package/lib-es/hw/customLockScreenFetch.d.ts.map +1 -1
  291. package/lib-es/hw/customLockScreenFetch.js +2 -2
  292. package/lib-es/hw/customLockScreenFetch.js.map +1 -1
  293. package/lib-es/hw/customLockScreenLoad.d.ts +2 -1
  294. package/lib-es/hw/customLockScreenLoad.d.ts.map +1 -1
  295. package/lib-es/hw/customLockScreenLoad.js +2 -2
  296. package/lib-es/hw/customLockScreenLoad.js.map +1 -1
  297. package/lib-es/hw/deviceAccess.d.ts +3 -3
  298. package/lib-es/hw/deviceAccess.d.ts.map +1 -1
  299. package/lib-es/hw/deviceAccess.js +2 -1
  300. package/lib-es/hw/deviceAccess.js.map +1 -1
  301. package/lib-es/hw/getGenuineCheckFromDeviceId.d.ts +2 -1
  302. package/lib-es/hw/getGenuineCheckFromDeviceId.d.ts.map +1 -1
  303. package/lib-es/hw/getGenuineCheckFromDeviceId.js +2 -2
  304. package/lib-es/hw/getGenuineCheckFromDeviceId.js.map +1 -1
  305. package/lib-es/hw/getOnboardingStatePolling.d.ts +2 -1
  306. package/lib-es/hw/getOnboardingStatePolling.d.ts.map +1 -1
  307. package/lib-es/hw/getOnboardingStatePolling.js +5 -2
  308. package/lib-es/hw/getOnboardingStatePolling.js.map +1 -1
  309. package/lib-es/hw/hooks/useGenuineCheck.d.ts +2 -1
  310. package/lib-es/hw/hooks/useGenuineCheck.d.ts.map +1 -1
  311. package/lib-es/hw/hooks/useGenuineCheck.js +3 -1
  312. package/lib-es/hw/hooks/useGenuineCheck.js.map +1 -1
  313. package/lib-es/hw/index.d.ts +6 -2
  314. package/lib-es/hw/index.d.ts.map +1 -1
  315. package/lib-es/hw/index.js +6 -6
  316. package/lib-es/hw/index.js.map +1 -1
  317. package/lib-es/hw/installLanguage.d.ts +2 -1
  318. package/lib-es/hw/installLanguage.d.ts.map +1 -1
  319. package/lib-es/hw/installLanguage.js +2 -2
  320. package/lib-es/hw/installLanguage.js.map +1 -1
  321. package/lib-es/modularDrawer/hooks/useCurrenciesUnderFeatureFlag.d.ts.map +1 -1
  322. package/lib-es/modularDrawer/hooks/useCurrenciesUnderFeatureFlag.js +8 -0
  323. package/lib-es/modularDrawer/hooks/useCurrenciesUnderFeatureFlag.js.map +1 -1
  324. package/lib-es/modularDrawer/hooks/useNetworkAccountCounts.d.ts +1 -5
  325. package/lib-es/modularDrawer/hooks/useNetworkAccountCounts.d.ts.map +1 -1
  326. package/lib-es/modularDrawer/hooks/useNetworkAccountCounts.js +2 -2
  327. package/lib-es/modularDrawer/hooks/useNetworkAccountCounts.js.map +1 -1
  328. package/lib-es/modularDrawer/modules/createNetworkConfiguration.d.ts +1 -1
  329. package/lib-es/modularDrawer/modules/createNetworkConfiguration.d.ts.map +1 -1
  330. package/lib-es/modularDrawer/modules/createNetworkConfiguration.js +1 -2
  331. package/lib-es/modularDrawer/modules/createNetworkConfiguration.js.map +1 -1
  332. package/lib-es/modularDrawer/utils/type.d.ts +0 -5
  333. package/lib-es/modularDrawer/utils/type.d.ts.map +1 -1
  334. package/lib-es/onboarding/hooks/useOnboardingStatePolling.d.ts.map +1 -1
  335. package/lib-es/onboarding/hooks/useOnboardingStatePolling.js +1 -0
  336. package/lib-es/onboarding/hooks/useOnboardingStatePolling.js.map +1 -1
  337. package/lib-es/platform/filters.d.ts +1 -2
  338. package/lib-es/platform/filters.d.ts.map +1 -1
  339. package/lib-es/platform/filters.js +0 -15
  340. package/lib-es/platform/filters.js.map +1 -1
  341. package/lib-es/platform/helpers.d.ts +1 -5
  342. package/lib-es/platform/helpers.d.ts.map +1 -1
  343. package/lib-es/platform/helpers.js +1 -30
  344. package/lib-es/platform/helpers.js.map +1 -1
  345. package/lib-es/platform/react.d.ts +2 -3
  346. package/lib-es/platform/react.d.ts.map +1 -1
  347. package/lib-es/platform/react.js +67 -16
  348. package/lib-es/platform/react.js.map +1 -1
  349. package/lib-es/platform/types.d.ts +3 -3
  350. package/lib-es/platform/types.d.ts.map +1 -1
  351. package/lib-es/utils/getAccountTuplesForCurrency.d.ts +1 -1
  352. package/lib-es/utils/getAccountTuplesForCurrency.d.ts.map +1 -1
  353. package/lib-es/utils/getAccountTuplesForCurrency.js +2 -3
  354. package/lib-es/utils/getAccountTuplesForCurrency.js.map +1 -1
  355. package/lib-es/wallet-api/Exchange/server.d.ts.map +1 -1
  356. package/lib-es/wallet-api/Exchange/server.js +5 -4
  357. package/lib-es/wallet-api/Exchange/server.js.map +1 -1
  358. package/lib-es/wallet-api/converters.d.ts +1 -0
  359. package/lib-es/wallet-api/converters.d.ts.map +1 -1
  360. package/lib-es/wallet-api/converters.js +5 -1
  361. package/lib-es/wallet-api/converters.js.map +1 -1
  362. package/lib-es/wallet-api/react.d.ts +6 -11
  363. package/lib-es/wallet-api/react.d.ts.map +1 -1
  364. package/lib-es/wallet-api/react.js +289 -131
  365. package/lib-es/wallet-api/react.js.map +1 -1
  366. package/lib-es/wallet-api/tracking.d.ts +6 -0
  367. package/lib-es/wallet-api/tracking.d.ts.map +1 -1
  368. package/lib-es/wallet-api/tracking.js +20 -0
  369. package/lib-es/wallet-api/tracking.js.map +1 -1
  370. package/lib-es/wallet-api/useDappLogic.d.ts.map +1 -1
  371. package/lib-es/wallet-api/useDappLogic.js +62 -77
  372. package/lib-es/wallet-api/useDappLogic.js.map +1 -1
  373. package/package.json +59 -59
  374. package/src/__tests__/migration/account-migration.ts +2 -0
  375. package/src/__tests__/test-helpers/environment.ts +2 -0
  376. package/src/currencies/helpers.ts +1 -42
  377. package/src/dada-client/hooks/useAssetsData.ts +1 -0
  378. package/src/deviceSDK/actions/getBatteryStatuses.ts +3 -1
  379. package/src/deviceSDK/actions/getDeviceInfo.ts +3 -2
  380. package/src/deviceSDK/actions/getLatestAvailableFirmware.test.ts +31 -0
  381. package/src/deviceSDK/actions/getLatestAvailableFirmware.ts +7 -2
  382. package/src/deviceSDK/actions/toggleOnboardingEarlyCheck.ts +3 -1
  383. package/src/deviceSDK/actions/updateFirmware.ts +5 -2
  384. package/src/deviceSDK/hooks/useBatteryStatuses.test.ts +3 -1
  385. package/src/deviceSDK/hooks/useBatteryStatuses.ts +4 -1
  386. package/src/deviceSDK/hooks/useGetDeviceInfo.ts +4 -2
  387. package/src/deviceSDK/hooks/useGetLatestAvailableFirmware.ts +3 -0
  388. package/src/deviceSDK/hooks/useToggleOnboardingEarlyChecks.test.ts +2 -0
  389. package/src/deviceSDK/hooks/useToggleOnboardingEarlyChecks.ts +4 -1
  390. package/src/deviceSDK/hooks/useUpdateFirmware.ts +4 -1
  391. package/src/deviceSDK/tasks/getBatteryStatuses.ts +6 -1
  392. package/src/deviceSDK/tasks/getDeviceInfo.ts +6 -2
  393. package/src/deviceSDK/tasks/getLatestFirmware.ts +6 -1
  394. package/src/deviceSDK/tasks/toggleOnboardingEarlyCheck.test.ts +3 -0
  395. package/src/deviceSDK/tasks/toggleOnboardingEarlyCheck.ts +6 -1
  396. package/src/deviceSDK/tasks/updateFirmware.ts +6 -1
  397. package/src/deviceSDK/transports/core.ts +6 -3
  398. package/src/families/evm/config.ts +33 -0
  399. package/src/featureFlags/defaultFeatures.ts +2 -0
  400. package/src/hw/actions/app.ts +2 -1
  401. package/src/hw/actions/customLockScreenLoad.ts +6 -2
  402. package/src/hw/actions/implementations.ts +17 -3
  403. package/src/hw/connectApp.ts +12 -5
  404. package/src/hw/connectManager.ts +13 -6
  405. package/src/hw/customLockScreenFetch.ts +10 -2
  406. package/src/hw/customLockScreenLoad.test.ts +28 -3
  407. package/src/hw/customLockScreenLoad.ts +10 -2
  408. package/src/hw/deviceAccess.ts +4 -3
  409. package/src/hw/getGenuineCheckFromDeviceId.test.ts +4 -0
  410. package/src/hw/getGenuineCheckFromDeviceId.ts +6 -1
  411. package/src/hw/getOnboardingStatePolling.test.ts +34 -0
  412. package/src/hw/getOnboardingStatePolling.ts +6 -3
  413. package/src/hw/hooks/useGenuineCheck.test.ts +37 -0
  414. package/src/hw/hooks/useGenuineCheck.ts +4 -0
  415. package/src/hw/index.test.ts +27 -6
  416. package/src/hw/index.ts +15 -8
  417. package/src/hw/installLanguage.ts +6 -1
  418. package/src/modularDrawer/hooks/__test__/useAssetAccountCounts.test.ts +0 -5
  419. package/src/modularDrawer/hooks/useCurrenciesUnderFeatureFlag.ts +8 -0
  420. package/src/modularDrawer/hooks/useNetworkAccountCounts.tsx +1 -6
  421. package/src/modularDrawer/modules/createNetworkConfiguration.ts +1 -2
  422. package/src/modularDrawer/utils/type.ts +0 -5
  423. package/src/onboarding/hooks/useOnboardingStatePolling.ts +1 -0
  424. package/src/platform/filters.ts +1 -23
  425. package/src/platform/helpers.ts +2 -49
  426. package/src/platform/react.ts +86 -22
  427. package/src/platform/types.ts +1 -1
  428. package/src/utils/__tests__/getAccountTuplesForCurrency.test.ts +0 -30
  429. package/src/utils/getAccountTuplesForCurrency.ts +1 -6
  430. package/src/wallet-api/Exchange/server.test.ts +0 -5
  431. package/src/wallet-api/Exchange/server.ts +7 -6
  432. package/src/wallet-api/converters.ts +6 -1
  433. package/src/wallet-api/react.ts +310 -137
  434. package/src/wallet-api/tracking.ts +22 -0
  435. package/src/wallet-api/useDappLogic.ts +91 -106
  436. package/src/currencies/helpers.test.ts +0 -20
@@ -79,6 +79,7 @@ describe("getOnboardingStatePolling", () => {
79
79
 
80
80
  getOnboardingStatePolling({
81
81
  deviceId: device.deviceId,
82
+ deviceName: null,
82
83
  pollingPeriodMs,
83
84
  }).subscribe({
84
85
  next: value => {
@@ -107,6 +108,7 @@ describe("getOnboardingStatePolling", () => {
107
108
 
108
109
  getOnboardingStatePolling({
109
110
  deviceId: device.deviceId,
111
+ deviceName: null,
110
112
  pollingPeriodMs,
111
113
  }).subscribe({
112
114
  next: value => {
@@ -135,6 +137,7 @@ describe("getOnboardingStatePolling", () => {
135
137
 
136
138
  getOnboardingStatePolling({
137
139
  deviceId: device.deviceId,
140
+ deviceName: null,
138
141
  pollingPeriodMs,
139
142
  }).subscribe({
140
143
  next: value => {
@@ -164,6 +167,7 @@ describe("getOnboardingStatePolling", () => {
164
167
 
165
168
  getOnboardingStatePolling({
166
169
  deviceId: device.deviceId,
170
+ deviceName: null,
167
171
  pollingPeriodMs,
168
172
  safeGuardTimeoutMs,
169
173
  }).subscribe({
@@ -192,6 +196,7 @@ describe("getOnboardingStatePolling", () => {
192
196
 
193
197
  getOnboardingStatePolling({
194
198
  deviceId: device.deviceId,
199
+ deviceName: null,
195
200
  pollingPeriodMs,
196
201
  }).subscribe({
197
202
  error: error => {
@@ -221,6 +226,7 @@ describe("getOnboardingStatePolling", () => {
221
226
 
222
227
  onboardingStatePollingSubscription = getOnboardingStatePolling({
223
228
  deviceId: device.deviceId,
229
+ deviceName: null,
224
230
  pollingPeriodMs,
225
231
  }).subscribe({
226
232
  next: value => {
@@ -248,6 +254,7 @@ describe("getOnboardingStatePolling", () => {
248
254
 
249
255
  onboardingStatePollingSubscription = getOnboardingStatePolling({
250
256
  deviceId: device.deviceId,
257
+ deviceName: null,
251
258
  pollingPeriodMs,
252
259
  }).subscribe({
253
260
  next: value => {
@@ -281,6 +288,7 @@ describe("getOnboardingStatePolling", () => {
281
288
 
282
289
  onboardingStatePollingSubscription = getOnboardingStatePolling({
283
290
  deviceId: device.deviceId,
291
+ deviceName: null,
284
292
  pollingPeriodMs,
285
293
  safeGuardTimeoutMs: pollingPeriodMs * 10,
286
294
  }).subscribe({
@@ -310,6 +318,7 @@ describe("getOnboardingStatePolling", () => {
310
318
 
311
319
  onboardingStatePollingSubscription = getOnboardingStatePolling({
312
320
  deviceId: device.deviceId,
321
+ deviceName: null,
313
322
  pollingPeriodMs,
314
323
  }).subscribe({
315
324
  next: value => {
@@ -328,4 +337,29 @@ describe("getOnboardingStatePolling", () => {
328
337
  jest.advanceTimersByTime(pollingPeriodMs - 1);
329
338
  });
330
339
  });
340
+
341
+ describe("When deviceName is provided", () => {
342
+ it("should pass deviceName to withDevice", done => {
343
+ mockedGetVersion.mockResolvedValue(aFirmwareInfo);
344
+ mockedExtractOnboardingState.mockReturnValue(anOnboardingState);
345
+
346
+ const device = aDevice;
347
+
348
+ getOnboardingStatePolling({
349
+ deviceId: device.deviceId,
350
+ deviceName: "My Device",
351
+ pollingPeriodMs,
352
+ }).subscribe({
353
+ next: () => {
354
+ expect(mockedWithDevice).toHaveBeenCalledWith(
355
+ device.deviceId,
356
+ expect.objectContaining({ matchDeviceByName: "My Device" }),
357
+ );
358
+ done();
359
+ },
360
+ });
361
+
362
+ jest.advanceTimersByTime(pollingPeriodMs - 1);
363
+ });
364
+ });
331
365
  });
@@ -28,6 +28,7 @@ export type GetOnboardingStatePollingResult = Observable<OnboardingStatePollingR
28
28
 
29
29
  export type GetOnboardingStatePollingArgs = {
30
30
  deviceId: string;
31
+ deviceName: string | null;
31
32
  pollingPeriodMs: number;
32
33
  transportAbortTimeoutMs?: number;
33
34
  safeGuardTimeoutMs?: number;
@@ -51,15 +52,17 @@ export type GetOnboardingStatePollingArgs = {
51
52
  */
52
53
  export const getOnboardingStatePolling = ({
53
54
  deviceId,
55
+ deviceName,
54
56
  pollingPeriodMs,
55
57
  transportAbortTimeoutMs = pollingPeriodMs - 100,
56
58
  safeGuardTimeoutMs = pollingPeriodMs * 10, // Nb Empirical value
57
59
  allowedErrorChecks = [],
58
60
  }: GetOnboardingStatePollingArgs): GetOnboardingStatePollingResult => {
59
61
  const getOnboardingStateOnce = (): Observable<OnboardingStatePollingResult> => {
60
- return withDevice(deviceId, { openTimeoutMs: transportAbortTimeoutMs })(t =>
61
- from(getVersion(t, { abortTimeoutMs: transportAbortTimeoutMs })),
62
- ).pipe(
62
+ return withDevice(deviceId, {
63
+ openTimeoutMs: transportAbortTimeoutMs,
64
+ matchDeviceByName: deviceName ?? undefined,
65
+ })(t => from(getVersion(t, { abortTimeoutMs: transportAbortTimeoutMs }))).pipe(
63
66
  timeout(safeGuardTimeoutMs), // Throws a TimeoutError
64
67
  first(),
65
68
  catchError((error: unknown) => {
@@ -37,6 +37,7 @@ describe("useGenuineCheck", () => {
37
37
  useGenuineCheck({
38
38
  getGenuineCheckFromDeviceId: mockedGetGenuineCheckFromDeviceId,
39
39
  deviceId: "A_DEVICE_ID",
40
+ deviceName: null,
40
41
  }),
41
42
  );
42
43
 
@@ -60,6 +61,7 @@ describe("useGenuineCheck", () => {
60
61
  useGenuineCheck({
61
62
  getGenuineCheckFromDeviceId: mockedGetGenuineCheckFromDeviceId,
62
63
  deviceId: "A_DEVICE_ID",
64
+ deviceName: null,
63
65
  }),
64
66
  );
65
67
 
@@ -80,6 +82,7 @@ describe("useGenuineCheck", () => {
80
82
  useGenuineCheck({
81
83
  getGenuineCheckFromDeviceId: mockedGetGenuineCheckFromDeviceId,
82
84
  deviceId: "A_DEVICE_ID",
85
+ deviceName: null,
83
86
  }),
84
87
  );
85
88
 
@@ -102,6 +105,7 @@ describe("useGenuineCheck", () => {
102
105
  useGenuineCheck({
103
106
  getGenuineCheckFromDeviceId: mockedGetGenuineCheckFromDeviceId,
104
107
  deviceId: "A_DEVICE_ID",
108
+ deviceName: null,
105
109
  }),
106
110
  );
107
111
 
@@ -127,6 +131,7 @@ describe("useGenuineCheck", () => {
127
131
  useGenuineCheck({
128
132
  getGenuineCheckFromDeviceId: mockedGetGenuineCheckFromDeviceId,
129
133
  deviceId: "A_DEVICE_ID",
134
+ deviceName: null,
130
135
  }),
131
136
  );
132
137
 
@@ -151,6 +156,7 @@ describe("useGenuineCheck", () => {
151
156
  useGenuineCheck({
152
157
  getGenuineCheckFromDeviceId: mockedGetGenuineCheckFromDeviceId,
153
158
  deviceId: "A_DEVICE_ID",
159
+ deviceName: null,
154
160
  }),
155
161
  );
156
162
 
@@ -185,6 +191,7 @@ describe("useGenuineCheck", () => {
185
191
  getGenuineCheckFromDeviceId: mockedGetGenuineCheckFromDeviceId,
186
192
  isHookEnabled: true,
187
193
  deviceId: "A_DEVICE_ID",
194
+ deviceName: null,
188
195
  }),
189
196
  );
190
197
 
@@ -220,6 +227,7 @@ describe("useGenuineCheck", () => {
220
227
  useGenuineCheck({
221
228
  getGenuineCheckFromDeviceId: mockedGetGenuineCheckFromDeviceId,
222
229
  deviceId: "A_DEVICE_ID",
230
+ deviceName: null,
223
231
  }),
224
232
  );
225
233
 
@@ -250,6 +258,7 @@ describe("useGenuineCheck", () => {
250
258
  useGenuineCheck({
251
259
  getGenuineCheckFromDeviceId: mockedGetGenuineCheckFromDeviceId,
252
260
  deviceId: "A_DEVICE_ID",
261
+ deviceName: null,
253
262
  permissionTimeoutMs,
254
263
  }),
255
264
  );
@@ -288,6 +297,7 @@ describe("useGenuineCheck", () => {
288
297
  useGenuineCheck({
289
298
  getGenuineCheckFromDeviceId: mockedGetGenuineCheckFromDeviceId,
290
299
  deviceId: "A_DEVICE_ID",
300
+ deviceName: null,
291
301
  }),
292
302
  );
293
303
 
@@ -300,4 +310,31 @@ describe("useGenuineCheck", () => {
300
310
  expect(result.current.error).toBeNull();
301
311
  });
302
312
  });
313
+
314
+ describe("When deviceName is provided", () => {
315
+ it("should pass deviceName to getGenuineCheckFromDeviceId", async () => {
316
+ const mockGetGenuineCheck = jest.fn().mockReturnValue(
317
+ of({
318
+ socketEvent: { type: "device-permission-granted" },
319
+ lockedDevice: false,
320
+ }),
321
+ );
322
+
323
+ renderHook(() =>
324
+ useGenuineCheck({
325
+ getGenuineCheckFromDeviceId: mockGetGenuineCheck,
326
+ deviceId: "A_DEVICE_ID",
327
+ deviceName: "My Device",
328
+ }),
329
+ );
330
+
331
+ await act(async () => {
332
+ jest.advanceTimersByTime(1);
333
+ });
334
+
335
+ expect(mockGetGenuineCheck).toHaveBeenCalledWith(
336
+ expect.objectContaining({ deviceName: "My Device" }),
337
+ );
338
+ });
339
+ });
303
340
  });
@@ -22,6 +22,7 @@ export type DevicePermissionState =
22
22
  export type UseGenuineCheckArgs = {
23
23
  isHookEnabled?: boolean;
24
24
  deviceId: DeviceId;
25
+ deviceName: string | null;
25
26
  lockedDeviceTimeoutMs?: number;
26
27
  permissionTimeoutMs?: number;
27
28
  };
@@ -70,6 +71,7 @@ export const useGenuineCheck = ({
70
71
  getGenuineCheckFromDeviceId = defaultGetGenuineCheckFromDeviceId,
71
72
  isHookEnabled = true,
72
73
  deviceId,
74
+ deviceName,
73
75
  lockedDeviceTimeoutMs = 1000,
74
76
  permissionTimeoutMs = 60 * 1000,
75
77
  }: UseGenuineCheckArgs & UseGenuineCheckDependencies): UseGenuineCheckResult => {
@@ -92,6 +94,7 @@ export const useGenuineCheck = ({
92
94
 
93
95
  const sub = getGenuineCheckFromDeviceId({
94
96
  deviceId,
97
+ deviceName,
95
98
  lockedDeviceTimeoutMs,
96
99
  }).subscribe({
97
100
  next: ({ socketEvent, lockedDevice }: GetGenuineCheckFromDeviceIdResult) => {
@@ -146,6 +149,7 @@ export const useGenuineCheck = ({
146
149
  }, [
147
150
  isHookEnabled,
148
151
  deviceId,
152
+ deviceName,
149
153
  lockedDeviceTimeoutMs,
150
154
  getGenuineCheckFromDeviceId,
151
155
  permissionTimeoutMs,
@@ -9,7 +9,7 @@ describe("open", () => {
9
9
  it("should reject with a CantOpenDevice error", async () => {
10
10
  registerTransportModule({
11
11
  id: "test_0",
12
- open: (_id: string, _timeoutMs?: number) => {
12
+ open: (_id: string, _timeoutMs?: number, _context?, _matchDeviceByName?: string) => {
13
13
  // Handles no device
14
14
  return null;
15
15
  },
@@ -27,7 +27,7 @@ describe("open", () => {
27
27
  it("should return the associated opened Transport instance", async () => {
28
28
  registerTransportModule({
29
29
  id: "test_1",
30
- open: (id: string, _timeoutMs?: number) => {
30
+ open: (id: string, _timeoutMs?: number, _context?, _matchDeviceByName?: string) => {
31
31
  // Filters on this current test
32
32
  if (id !== "device_1") return null;
33
33
 
@@ -47,7 +47,7 @@ describe("open", () => {
47
47
  it("should reject with an error on timeout", async () => {
48
48
  registerTransportModule({
49
49
  id: "test_2",
50
- open: (id: string, timeoutMs?: number) => {
50
+ open: (id: string, timeoutMs?: number, _context?, _matchDeviceByName?: string) => {
51
51
  // Filters on this current test
52
52
  if (id !== "device_2") return null;
53
53
 
@@ -63,7 +63,7 @@ describe("open", () => {
63
63
 
64
64
  const timeoutMs = 1000;
65
65
 
66
- const openPromise = open("device_2", timeoutMs);
66
+ const openPromise = open("device_2", { openTimeoutMs: timeoutMs });
67
67
  jest.advanceTimersByTime(timeoutMs);
68
68
  await expect(openPromise).rejects.toBeInstanceOf(CantOpenDevice);
69
69
  });
@@ -71,7 +71,7 @@ describe("open", () => {
71
71
  test("And the Transport/module implementation timeouts before open, it should still reject with an error", async () => {
72
72
  registerTransportModule({
73
73
  id: "test_3",
74
- open: (id: string, timeoutMs?: number) => {
74
+ open: (id: string, timeoutMs?: number, _context?, _matchDeviceByName?: string) => {
75
75
  // Filters on this current test
76
76
  if (id !== "device_3") return null;
77
77
 
@@ -88,10 +88,31 @@ describe("open", () => {
88
88
 
89
89
  const timeoutMs = 1000;
90
90
 
91
- const openPromise = open("device_3", timeoutMs);
91
+ const openPromise = open("device_3", { openTimeoutMs: timeoutMs });
92
92
  // Advances time after the implementation timeout but before the `open` timeout
93
93
  jest.advanceTimersByTime(timeoutMs - 100);
94
94
  await expect(openPromise).rejects.toBeInstanceOf(TransportError);
95
95
  });
96
96
  });
97
+
98
+ describe("When matchDeviceByName is provided", () => {
99
+ it("should pass matchDeviceByName to the transport module open function", async () => {
100
+ const mockOpen = jest.fn(
101
+ (_id: string, _timeoutMs?: number, _context?, _matchDeviceByName?: string) => {
102
+ return Promise.resolve(aTransportBuilder());
103
+ },
104
+ );
105
+
106
+ registerTransportModule({
107
+ id: "test_4",
108
+ open: mockOpen,
109
+ disconnect: (_id: string) => {
110
+ return Promise.resolve();
111
+ },
112
+ });
113
+
114
+ await open("device_4", { matchDeviceByName: "My Device" });
115
+ expect(mockOpen).toHaveBeenCalledWith("device_4", undefined, undefined, "My Device");
116
+ });
117
+ });
97
118
  });
package/src/hw/index.ts CHANGED
@@ -17,6 +17,7 @@ export type DeviceEvent = {
17
17
  };
18
18
 
19
19
  export type Discovery = Observable<DeviceEvent>;
20
+
20
21
  // NB open/close/disconnect semantic will have to be refined...
21
22
  export type TransportModule = {
22
23
  // unique transport name that identify the transport module
@@ -35,6 +36,7 @@ export type TransportModule = {
35
36
  id: string,
36
37
  timeoutMs?: number,
37
38
  context?: TraceContext,
39
+ matchDeviceByName?: string,
38
40
  ) => Promise<Transport> | null | undefined;
39
41
  // here, close means we want to STOP doing something with the transport
40
42
  close?: (transport: Transport, id: string) => Promise<void> | null | undefined;
@@ -88,6 +90,11 @@ export const discoverDevices = (
88
90
  );
89
91
  };
90
92
 
93
+ export type OpenOptions = {
94
+ openTimeoutMs?: number;
95
+ matchDeviceByName?: string;
96
+ };
97
+
91
98
  /**
92
99
  * Tries to call `open` on the 1st matching registered transport implementation
93
100
  *
@@ -109,7 +116,7 @@ export const discoverDevices = (
109
116
  */
110
117
  export const open = (
111
118
  deviceId: string,
112
- timeoutMs?: number,
119
+ options?: OpenOptions,
113
120
  context?: TraceContext,
114
121
  ): Promise<Transport> => {
115
122
  // The first registered Transport (TransportModule) accepting the given device will be returned.
@@ -117,16 +124,16 @@ export const open = (
117
124
  // A TransportModule can check the prefix of the device id to guess if it should use USB or not on LLM for ex.
118
125
  for (let i = 0; i < modules.length; i++) {
119
126
  const m = modules[i];
120
- const p = m.open(deviceId, timeoutMs, context);
127
+ const p = m.open(deviceId, options?.openTimeoutMs, context, options?.matchDeviceByName);
121
128
  if (p) {
122
129
  trace({
123
130
  type: LOG_TYPE,
124
131
  message: `Found a matching Transport: ${m.id}`,
125
132
  context,
126
- data: { timeoutMs },
133
+ data: { options },
127
134
  });
128
135
 
129
- if (!timeoutMs) {
136
+ if (!options?.openTimeoutMs) {
130
137
  return p;
131
138
  }
132
139
 
@@ -144,18 +151,18 @@ export const open = (
144
151
 
145
152
  return transport;
146
153
  }),
147
- new Promise((_resolve, reject) => {
154
+ new Promise<never>((_resolve, reject) => {
148
155
  timer = setTimeout(() => {
149
156
  trace({
150
157
  type: LOG_TYPE,
151
- message: `Could not open registered transport ${m.id} on ${deviceId}, timed out after ${timeoutMs}ms`,
158
+ message: `Could not open registered transport ${m.id} on ${deviceId}, timed out after ${options?.openTimeoutMs}ms`,
152
159
  context,
153
160
  });
154
161
 
155
162
  return reject(new CantOpenDevice(`Timeout while opening device on transport ${m.id}`));
156
- }, timeoutMs);
163
+ }, options?.openTimeoutMs);
157
164
  }),
158
- ]) as Promise<Transport>;
165
+ ]);
159
166
  }
160
167
  }
161
168
  return Promise.reject(new CantOpenDevice(`Cannot find registered transport to open ${deviceId}`));
@@ -36,16 +36,21 @@ export type InstallLanguageEvent =
36
36
  export type InstallLanguageRequest = { language: Language };
37
37
  export type Input = {
38
38
  deviceId: string;
39
+ deviceName: string | null;
39
40
  request: InstallLanguageRequest;
40
41
  };
41
42
 
42
43
  export default function installLanguage({
43
44
  deviceId,
45
+ deviceName,
44
46
  request,
45
47
  }: Input): Observable<InstallLanguageEvent> {
46
48
  const { language } = request;
47
49
 
48
- const sub = withDevice(deviceId)(
50
+ const sub = withDevice(
51
+ deviceId,
52
+ deviceName ? { matchDeviceByName: deviceName } : undefined,
53
+ )(
49
54
  transport =>
50
55
  new Observable(subscriber => {
51
56
  const timeoutSub = of<InstallLanguageEvent>({
@@ -12,7 +12,6 @@ describe("useNetworkAccountCounts", () => {
12
12
  const assetAccountCounts = useNetworkAccountCounts({
13
13
  networks: [ethereumCurrency],
14
14
  nestedAccounts: [ethereumAccountHigh],
15
- accountIds: new Map([[ethereumAccountHigh.id, true]]),
16
15
  formatLabel: (count: number) => `${count}`,
17
16
  });
18
17
 
@@ -27,10 +26,6 @@ describe("useNetworkAccountCounts", () => {
27
26
  const assetAccountCounts = useNetworkAccountCounts({
28
27
  networks: [ethereumCurrency],
29
28
  nestedAccounts: [ethereumAccountHigh, ethereumAccountLow],
30
- accountIds: new Map([
31
- [ethereumAccountHigh.id, true],
32
- [ethereumAccountLow.id, true],
33
- ]),
34
29
  formatLabel: (count: number) => `${count}`,
35
30
  });
36
31
 
@@ -80,7 +80,9 @@ export function useCurrenciesUnderFeatureFlag() {
80
80
  const assetHubPolkadot = useFeature("currencyAssetHubPolkadot");
81
81
  const polkadot = useFeature("currencyPolkadot");
82
82
  const monad = useFeature("currencyMonad");
83
+ const monadTestnet = useFeature("currencyMonadTestnet");
83
84
  const somnia = useFeature("currencySomnia");
85
+ const zeroGravity = useFeature("currencyZeroGravity");
84
86
 
85
87
  const featureFlaggedCurrencies = useMemo(
86
88
  (): Partial<Record<CryptoCurrencyId, Feature<unknown> | null>> => ({
@@ -157,7 +159,9 @@ export function useCurrenciesUnderFeatureFlag() {
157
159
  assethub_polkadot: assetHubPolkadot,
158
160
  polkadot,
159
161
  monad,
162
+ monad_testnet: monadTestnet,
160
163
  somnia,
164
+ zero_gravity: zeroGravity,
161
165
  }),
162
166
  [
163
167
  aptos,
@@ -223,6 +227,8 @@ export function useCurrenciesUnderFeatureFlag() {
223
227
  mina,
224
228
  babylon,
225
229
  canton,
230
+ cantonDevnet,
231
+ cantonTestnet,
226
232
  kaspa,
227
233
  core,
228
234
  ethereumHoodi,
@@ -231,7 +237,9 @@ export function useCurrenciesUnderFeatureFlag() {
231
237
  assetHubPolkadot,
232
238
  polkadot,
233
239
  monad,
240
+ monadTestnet,
234
241
  somnia,
242
+ zeroGravity,
235
243
  ],
236
244
  );
237
245
 
@@ -1,15 +1,11 @@
1
- import { Observable } from "rxjs";
2
1
  import { CryptoOrTokenCurrency } from "@ledgerhq/types-cryptoassets";
3
2
  import { getAccountTuplesForCurrency } from "../../utils/getAccountTuplesForCurrency";
4
3
  import type { Account } from "@ledgerhq/types-live";
5
- import { WalletAPIAccount } from "../../wallet-api/types";
6
4
 
7
5
  type AccountModuleParams = {
8
6
  networks: CryptoOrTokenCurrency[];
9
7
  nestedAccounts: Account[];
10
- accountIds: Map<string, boolean> | undefined;
11
8
  formatLabel: (count: number) => string;
12
- accounts$?: Observable<WalletAPIAccount[]>;
13
9
  };
14
10
 
15
11
  export type NetworkCountItem = {
@@ -21,12 +17,11 @@ export type NetworkCountItem = {
21
17
  export const useNetworkAccountCounts = ({
22
18
  networks,
23
19
  nestedAccounts,
24
- accountIds,
25
20
  formatLabel,
26
21
  }: AccountModuleParams): NetworkCountItem[] =>
27
22
  networks.map(network => {
28
23
  const asset = network.type === "TokenCurrency" ? network.parentCurrency : network;
29
- const { length } = getAccountTuplesForCurrency(asset, nestedAccounts, accountIds);
24
+ const { length } = getAccountTuplesForCurrency(asset, nestedAccounts);
30
25
  return {
31
26
  asset,
32
27
  label: formatLabel(length),
@@ -78,7 +78,7 @@ const sortNetworks = (
78
78
 
79
79
  export const createNetworkConfigurationHook =
80
80
  (NetworkConfigurationDeps: NetworkConfigurationDeps) =>
81
- ({ networksConfig, accounts$ }: CreateNetworkConfigurationHookProps) => {
81
+ ({ networksConfig }: CreateNetworkConfigurationHookProps) => {
82
82
  const { leftElement, rightElement } = networksConfig ?? {};
83
83
  const leftHook = getLeftElement(NetworkConfigurationDeps)(leftElement);
84
84
  const rightHook = getRightElement(NetworkConfigurationDeps)(rightElement);
@@ -90,7 +90,6 @@ export const createNetworkConfigurationHook =
90
90
  ): Array<CryptoOrTokenCurrency & Network & { balanceData?: BalanceUI; count?: number }> => {
91
91
  const hookResults = hooks.map(hook =>
92
92
  hook({
93
- accounts$,
94
93
  networks,
95
94
  }),
96
95
  );
@@ -2,8 +2,6 @@ import { CounterValuesState } from "@ledgerhq/live-countervalues/lib/types";
2
2
  import { CryptoOrTokenCurrency, Currency, Unit } from "@ledgerhq/types-cryptoassets";
3
3
  import { AccountLike } from "@ledgerhq/types-live";
4
4
  import { ReactNode } from "react";
5
- import { Observable } from "rxjs";
6
- import { WalletAPIAccount } from "../../wallet-api/types";
7
5
  import { EnhancedModularDrawerConfiguration } from "../../wallet-api/ModularDrawer/types";
8
6
  import { InterestRate } from "../../dada-client/entities";
9
7
  import { MarketItemResponse } from "../../market/utils/types";
@@ -71,7 +69,6 @@ export type AccountDataItem = {
71
69
 
72
70
  export type AccountModuleParams = {
73
71
  networks: CryptoOrTokenCurrency[];
74
- accounts$?: Observable<WalletAPIAccount[]>;
75
72
  };
76
73
 
77
74
  export type CreateAccountsCount = (args: { label: string }) => ReactNode;
@@ -80,7 +77,6 @@ export type UseAccountData = (params: AccountModuleParams) => AccountDataItem[];
80
77
 
81
78
  export type NetworkHookParams = {
82
79
  networks: CryptoOrTokenCurrency[];
83
- accounts$?: Observable<WalletAPIAccount[]>;
84
80
  };
85
81
  // Network hook type that returns additional properties to be merged with currencies
86
82
  export type NetworkHook = (params: NetworkHookParams) => Array<{
@@ -111,7 +107,6 @@ export type Network = {
111
107
 
112
108
  export type CreateNetworkConfigurationHookProps = {
113
109
  networksConfig: EnhancedModularDrawerConfiguration["networks"];
114
- accounts$?: Observable<WalletAPIAccount[]>;
115
110
  };
116
111
 
117
112
  type Props = {
@@ -65,6 +65,7 @@ export const useOnboardingStatePolling = ({
65
65
  if (device && !stopPolling) {
66
66
  onboardingStatePollingSubscription = getOnboardingStatePolling({
67
67
  deviceId: device.deviceId,
68
+ deviceName: device.deviceName ?? null,
68
69
  pollingPeriodMs,
69
70
  allowedErrorChecks,
70
71
  }).subscribe({
@@ -1,6 +1,5 @@
1
1
  import { makeRe } from "minimatch";
2
- import { AppPlatform, PlatformAccount, PlatformCurrency } from "./types";
3
- import { isPlatformTokenCurrency } from "./helpers";
2
+ import { AppPlatform, PlatformAccount } from "./types";
4
3
 
5
4
  export type FilterParams = {
6
5
  branches?: string[];
@@ -38,24 +37,3 @@ export type CurrencyFilters = {
38
37
  includeTokens?: boolean;
39
38
  currencies?: string[];
40
39
  };
41
-
42
- export function filterPlatformCurrencies(
43
- currencies: PlatformCurrency[],
44
- filters: CurrencyFilters,
45
- ): PlatformCurrency[] {
46
- const filterCurrencyRegexes = filters.currencies
47
- ? filters.currencies.map(filter => makeRe(filter))
48
- : null;
49
-
50
- return currencies.filter(currency => {
51
- if (!filters.includeTokens && isPlatformTokenCurrency(currency)) {
52
- return false;
53
- }
54
-
55
- if (filterCurrencyRegexes && !filterCurrencyRegexes.some(regex => currency.id.match(regex))) {
56
- return false;
57
- }
58
-
59
- return true;
60
- });
61
- }