@ledgerhq/live-common 34.53.0 → 34.54.0-nightly.20251126160702

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 (848) hide show
  1. package/lib/__tests__/test-helpers/bridge.d.ts.map +1 -1
  2. package/lib/__tests__/test-helpers/bridge.js +0 -4
  3. package/lib/__tests__/test-helpers/bridge.js.map +1 -1
  4. package/lib/__tests__/test-helpers/environment.js +3 -0
  5. package/lib/__tests__/test-helpers/environment.js.map +1 -1
  6. package/lib/__tests__/test-helpers/setup.integration.d.ts +2 -0
  7. package/lib/__tests__/test-helpers/setup.integration.d.ts.map +1 -0
  8. package/lib/__tests__/test-helpers/{setup.js → setup.integration.js} +4 -8
  9. package/lib/__tests__/test-helpers/setup.integration.js.map +1 -0
  10. package/lib/account/helpers.d.ts.map +1 -1
  11. package/lib/account/helpers.js +21 -17
  12. package/lib/account/helpers.js.map +1 -1
  13. package/lib/apps/config.d.ts.map +1 -1
  14. package/lib/apps/config.js +6 -0
  15. package/lib/apps/config.js.map +1 -1
  16. package/lib/bridge/generic-alpaca/getAccountShape.d.ts.map +1 -1
  17. package/lib/bridge/generic-alpaca/getAccountShape.js +12 -10
  18. package/lib/bridge/generic-alpaca/getAccountShape.js.map +1 -1
  19. package/lib/bridge/generic-alpaca/utils.js +1 -1
  20. package/lib/bridge/generic-alpaca/utils.js.map +1 -1
  21. package/lib/bridge/impl.d.ts +0 -2
  22. package/lib/bridge/impl.d.ts.map +1 -1
  23. package/lib/bridge/impl.js +4 -8
  24. package/lib/bridge/impl.js.map +1 -1
  25. package/lib/currencies/helpers.d.ts +1 -3
  26. package/lib/currencies/helpers.d.ts.map +1 -1
  27. package/lib/currencies/helpers.js +1 -27
  28. package/lib/currencies/helpers.js.map +1 -1
  29. package/lib/currencies/index.d.ts +1 -1
  30. package/lib/currencies/index.d.ts.map +1 -1
  31. package/lib/currencies/index.js +1 -4
  32. package/lib/currencies/index.js.map +1 -1
  33. package/lib/dada-client/hooks/useAssetsData.d.ts +1 -0
  34. package/lib/dada-client/hooks/useAssetsData.d.ts.map +1 -1
  35. package/lib/dada-client/hooks/useAssetsData.js +1 -0
  36. package/lib/dada-client/hooks/useAssetsData.js.map +1 -1
  37. package/lib/deposit/type.d.ts +0 -17
  38. package/lib/deposit/type.d.ts.map +1 -1
  39. package/lib/deposit/type.js.map +1 -1
  40. package/lib/device/use-cases/getDeviceHasBattery.d.ts +2 -0
  41. package/lib/device/use-cases/getDeviceHasBattery.d.ts.map +1 -0
  42. package/lib/device/use-cases/getDeviceHasBattery.js +6 -0
  43. package/lib/device/use-cases/getDeviceHasBattery.js.map +1 -0
  44. package/lib/deviceSDK/hooks/useBatteryStatuses.d.ts +2 -1
  45. package/lib/deviceSDK/hooks/useBatteryStatuses.d.ts.map +1 -1
  46. package/lib/deviceSDK/hooks/useBatteryStatuses.js +4 -2
  47. package/lib/deviceSDK/hooks/useBatteryStatuses.js.map +1 -1
  48. package/lib/deviceSDK/tasks/core.d.ts +1 -1
  49. package/lib/deviceSDK/tasks/core.d.ts.map +1 -1
  50. package/lib/deviceSDK/tasks/core.js +1 -1
  51. package/lib/deviceSDK/tasks/core.js.map +1 -1
  52. package/lib/deviceSDK/tasks/getDeviceInfo.d.ts.map +1 -1
  53. package/lib/deviceSDK/tasks/getDeviceInfo.js +2 -0
  54. package/lib/deviceSDK/tasks/getDeviceInfo.js.map +1 -1
  55. package/lib/deviceSDK/tasks/getLatestFirmware.d.ts.map +1 -1
  56. package/lib/deviceSDK/tasks/getLatestFirmware.js +2 -2
  57. package/lib/deviceSDK/tasks/getLatestFirmware.js.map +1 -1
  58. package/lib/deviceSDK/tasks/updateFirmware.d.ts.map +1 -1
  59. package/lib/deviceSDK/tasks/updateFirmware.js +1 -0
  60. package/lib/deviceSDK/tasks/updateFirmware.js.map +1 -1
  61. package/lib/e2e/data/assetsDrawer.d.ts +9 -0
  62. package/lib/e2e/data/assetsDrawer.d.ts.map +1 -0
  63. package/lib/e2e/data/assetsDrawer.js +12 -0
  64. package/lib/e2e/data/assetsDrawer.js.map +1 -0
  65. package/lib/e2e/deviceInteraction/DeviceController.d.ts +41 -0
  66. package/lib/e2e/deviceInteraction/DeviceController.d.ts.map +1 -0
  67. package/lib/e2e/deviceInteraction/DeviceController.js +68 -0
  68. package/lib/e2e/deviceInteraction/DeviceController.js.map +1 -0
  69. package/lib/e2e/enum/Account.d.ts +0 -1
  70. package/lib/e2e/enum/Account.d.ts.map +1 -1
  71. package/lib/e2e/enum/Account.js +0 -1
  72. package/lib/e2e/enum/Account.js.map +1 -1
  73. package/lib/e2e/enum/Currency.d.ts +0 -1
  74. package/lib/e2e/enum/Currency.d.ts.map +1 -1
  75. package/lib/e2e/enum/Currency.js +2 -6
  76. package/lib/e2e/enum/Currency.js.map +1 -1
  77. package/lib/e2e/enum/ReceiveFundsOptions.d.ts +6 -0
  78. package/lib/e2e/enum/ReceiveFundsOptions.d.ts.map +1 -0
  79. package/lib/e2e/enum/ReceiveFundsOptions.js +8 -0
  80. package/lib/e2e/enum/ReceiveFundsOptions.js.map +1 -0
  81. package/lib/e2e/families/algorand.d.ts +1 -1
  82. package/lib/e2e/families/algorand.d.ts.map +1 -1
  83. package/lib/e2e/families/algorand.js +5 -5
  84. package/lib/e2e/families/algorand.js.map +1 -1
  85. package/lib/e2e/families/aptos.d.ts +2 -2
  86. package/lib/e2e/families/aptos.d.ts.map +1 -1
  87. package/lib/e2e/families/aptos.js +9 -9
  88. package/lib/e2e/families/aptos.js.map +1 -1
  89. package/lib/e2e/families/bitcoin.d.ts +2 -2
  90. package/lib/e2e/families/bitcoin.d.ts.map +1 -1
  91. package/lib/e2e/families/bitcoin.js +11 -11
  92. package/lib/e2e/families/bitcoin.js.map +1 -1
  93. package/lib/e2e/families/cardano.d.ts +6 -0
  94. package/lib/e2e/families/cardano.d.ts.map +1 -1
  95. package/lib/e2e/families/cardano.js +28 -26
  96. package/lib/e2e/families/cardano.js.map +1 -1
  97. package/lib/e2e/families/celo.d.ts +1 -1
  98. package/lib/e2e/families/celo.d.ts.map +1 -1
  99. package/lib/e2e/families/celo.js +5 -5
  100. package/lib/e2e/families/celo.js.map +1 -1
  101. package/lib/e2e/families/cosmos.d.ts +2 -2
  102. package/lib/e2e/families/cosmos.d.ts.map +1 -1
  103. package/lib/e2e/families/cosmos.js +9 -9
  104. package/lib/e2e/families/cosmos.js.map +1 -1
  105. package/lib/e2e/families/evm.d.ts +2 -0
  106. package/lib/e2e/families/evm.d.ts.map +1 -1
  107. package/lib/e2e/families/evm.js +13 -12
  108. package/lib/e2e/families/evm.js.map +1 -1
  109. package/lib/e2e/families/hedera.d.ts +1 -1
  110. package/lib/e2e/families/hedera.d.ts.map +1 -1
  111. package/lib/e2e/families/hedera.js +5 -5
  112. package/lib/e2e/families/hedera.js.map +1 -1
  113. package/lib/e2e/families/kaspa.d.ts +2 -2
  114. package/lib/e2e/families/kaspa.d.ts.map +1 -1
  115. package/lib/e2e/families/kaspa.js +9 -9
  116. package/lib/e2e/families/kaspa.js.map +1 -1
  117. package/lib/e2e/families/multiversX.d.ts +1 -1
  118. package/lib/e2e/families/multiversX.d.ts.map +1 -1
  119. package/lib/e2e/families/multiversX.js +5 -5
  120. package/lib/e2e/families/multiversX.js.map +1 -1
  121. package/lib/e2e/families/near.d.ts +1 -1
  122. package/lib/e2e/families/near.d.ts.map +1 -1
  123. package/lib/e2e/families/near.js +6 -6
  124. package/lib/e2e/families/near.js.map +1 -1
  125. package/lib/e2e/families/osmosis.d.ts +1 -1
  126. package/lib/e2e/families/osmosis.d.ts.map +1 -1
  127. package/lib/e2e/families/osmosis.js +5 -5
  128. package/lib/e2e/families/osmosis.js.map +1 -1
  129. package/lib/e2e/families/polkadot.d.ts +1 -1
  130. package/lib/e2e/families/polkadot.d.ts.map +1 -1
  131. package/lib/e2e/families/polkadot.js +5 -5
  132. package/lib/e2e/families/polkadot.js.map +1 -1
  133. package/lib/e2e/families/solana.d.ts +2 -2
  134. package/lib/e2e/families/solana.d.ts.map +1 -1
  135. package/lib/e2e/families/solana.js +9 -9
  136. package/lib/e2e/families/solana.js.map +1 -1
  137. package/lib/e2e/families/stellar.d.ts +1 -1
  138. package/lib/e2e/families/stellar.d.ts.map +1 -1
  139. package/lib/e2e/families/stellar.js +5 -5
  140. package/lib/e2e/families/stellar.js.map +1 -1
  141. package/lib/e2e/families/sui.d.ts +1 -1
  142. package/lib/e2e/families/sui.d.ts.map +1 -1
  143. package/lib/e2e/families/sui.js +5 -5
  144. package/lib/e2e/families/sui.js.map +1 -1
  145. package/lib/e2e/families/tezos.d.ts +1 -1
  146. package/lib/e2e/families/tezos.d.ts.map +1 -1
  147. package/lib/e2e/families/tezos.js +7 -8
  148. package/lib/e2e/families/tezos.js.map +1 -1
  149. package/lib/e2e/families/tron.d.ts +1 -1
  150. package/lib/e2e/families/tron.d.ts.map +1 -1
  151. package/lib/e2e/families/tron.js +5 -5
  152. package/lib/e2e/families/tron.js.map +1 -1
  153. package/lib/e2e/families/xrp.d.ts +1 -1
  154. package/lib/e2e/families/xrp.d.ts.map +1 -1
  155. package/lib/e2e/families/xrp.js +5 -5
  156. package/lib/e2e/families/xrp.js.map +1 -1
  157. package/lib/e2e/index.d.ts +23 -0
  158. package/lib/e2e/index.d.ts.map +1 -1
  159. package/lib/e2e/speculos.d.ts +11 -11
  160. package/lib/e2e/speculos.d.ts.map +1 -1
  161. package/lib/e2e/speculos.js +87 -80
  162. package/lib/e2e/speculos.js.map +1 -1
  163. package/lib/env.react.d.ts +1 -1
  164. package/lib/env.react.d.ts.map +1 -1
  165. package/lib/exchange/providers/swap.d.ts +1 -0
  166. package/lib/exchange/providers/swap.d.ts.map +1 -1
  167. package/lib/exchange/providers/swap.js +5 -1
  168. package/lib/exchange/providers/swap.js.map +1 -1
  169. package/lib/exchange/swap/getCompleteSwapHistory.js +2 -2
  170. package/lib/exchange/swap/getCompleteSwapHistory.js.map +1 -1
  171. package/lib/exchange/swap/hooks/useSelectableCurrencies.js +2 -2
  172. package/lib/exchange/swap/hooks/useSelectableCurrencies.js.map +1 -1
  173. package/lib/exchange/swap/hooks/v5/useFetchCurrencyAll.d.ts.map +1 -1
  174. package/lib/exchange/swap/hooks/v5/useFetchCurrencyAll.js +2 -3
  175. package/lib/exchange/swap/hooks/v5/useFetchCurrencyAll.js.map +1 -1
  176. package/lib/exchange/swap/hooks/v5/useFilteredProviders.d.ts.map +1 -1
  177. package/lib/exchange/swap/hooks/v5/useFilteredProviders.js +15 -10
  178. package/lib/exchange/swap/hooks/v5/useFilteredProviders.js.map +1 -1
  179. package/lib/families/canton/bridge/mock.d.ts.map +1 -1
  180. package/lib/families/canton/bridge/mock.js +1 -0
  181. package/lib/families/canton/bridge/mock.js.map +1 -1
  182. package/lib/families/canton/react.d.ts +15 -0
  183. package/lib/families/canton/react.d.ts.map +1 -0
  184. package/lib/families/canton/react.js +14 -0
  185. package/lib/families/canton/react.js.map +1 -0
  186. package/lib/families/cosmos/datasets/dydx.integration.FIXME.d.ts +1 -1
  187. package/lib/families/cosmos/datasets/dydx.integration.FIXME.d.ts.map +1 -1
  188. package/lib/families/cosmos/datasets/dydx.integration.FIXME.js +1 -1
  189. package/lib/families/cosmos/datasets/dydx.integration.FIXME.js.map +1 -1
  190. package/lib/families/cosmos/datasets/secretNetwork.integration.FIXME.d.ts +1 -1
  191. package/lib/families/cosmos/datasets/secretNetwork.integration.FIXME.d.ts.map +1 -1
  192. package/lib/families/cosmos/datasets/secretNetwork.integration.FIXME.js +1 -1
  193. package/lib/families/cosmos/datasets/secretNetwork.integration.FIXME.js.map +1 -1
  194. package/lib/families/evm/config.d.ts.map +1 -1
  195. package/lib/families/evm/config.js +49 -0
  196. package/lib/families/evm/config.js.map +1 -1
  197. package/lib/families/evm/setup.d.ts.map +1 -1
  198. package/lib/families/evm/setup.js +1 -11
  199. package/lib/families/evm/setup.js.map +1 -1
  200. package/lib/families/solana/bridge/mock.d.ts.map +1 -1
  201. package/lib/families/solana/bridge/mock.js +10 -8
  202. package/lib/families/solana/bridge/mock.js.map +1 -1
  203. package/lib/families/solana/config.d.ts.map +1 -1
  204. package/lib/families/solana/config.js +0 -1
  205. package/lib/families/solana/config.js.map +1 -1
  206. package/lib/families/solana/setup.d.ts +8 -0
  207. package/lib/families/solana/setup.d.ts.map +1 -1
  208. package/lib/families/solana/setup.js +29 -16
  209. package/lib/families/solana/setup.js.map +1 -1
  210. package/lib/families/tron/data.mock.d.ts.map +1 -1
  211. package/lib/families/tron/data.mock.js +3 -6
  212. package/lib/families/tron/data.mock.js.map +1 -1
  213. package/lib/featureFlags/defaultFeatures.d.ts +3 -0
  214. package/lib/featureFlags/defaultFeatures.d.ts.map +1 -1
  215. package/lib/featureFlags/defaultFeatures.js +10 -0
  216. package/lib/featureFlags/defaultFeatures.js.map +1 -1
  217. package/lib/featureFlags/stakePrograms/index.d.ts +1 -0
  218. package/lib/featureFlags/stakePrograms/index.d.ts.map +1 -1
  219. package/lib/featureFlags/stakePrograms/index.js +16 -1
  220. package/lib/featureFlags/stakePrograms/index.js.map +1 -1
  221. package/lib/featureFlags/useFeature.d.ts +1 -1
  222. package/lib/featureFlags/useFeature.d.ts.map +1 -1
  223. package/lib/market/hooks/useMarketDataProvider.js +1 -0
  224. package/lib/market/hooks/useMarketDataProvider.js.map +1 -1
  225. package/lib/market/utils/types.d.ts +1 -0
  226. package/lib/market/utils/types.d.ts.map +1 -1
  227. package/lib/market/utils/types.js.map +1 -1
  228. package/lib/modularDrawer/hooks/useCurrenciesUnderFeatureFlag.d.ts.map +1 -1
  229. package/lib/modularDrawer/hooks/useCurrenciesUnderFeatureFlag.js +11 -0
  230. package/lib/modularDrawer/hooks/useCurrenciesUnderFeatureFlag.js.map +1 -1
  231. package/lib/modularDrawer/hooks/useNetworkAccountCounts.d.ts +1 -5
  232. package/lib/modularDrawer/hooks/useNetworkAccountCounts.d.ts.map +1 -1
  233. package/lib/modularDrawer/hooks/useNetworkAccountCounts.js +2 -2
  234. package/lib/modularDrawer/hooks/useNetworkAccountCounts.js.map +1 -1
  235. package/lib/modularDrawer/modules/createNetworkConfiguration.d.ts +1 -1
  236. package/lib/modularDrawer/modules/createNetworkConfiguration.d.ts.map +1 -1
  237. package/lib/modularDrawer/modules/createNetworkConfiguration.js +1 -2
  238. package/lib/modularDrawer/modules/createNetworkConfiguration.js.map +1 -1
  239. package/lib/modularDrawer/utils/{groupCurrenciesByProvider.d.ts → groupCurrenciesByAsset.d.ts} +2 -2
  240. package/lib/modularDrawer/utils/groupCurrenciesByAsset.d.ts.map +1 -0
  241. package/lib/modularDrawer/utils/groupCurrenciesByAsset.js +21 -0
  242. package/lib/modularDrawer/utils/groupCurrenciesByAsset.js.map +1 -0
  243. package/lib/modularDrawer/utils/index.d.ts +1 -1
  244. package/lib/modularDrawer/utils/index.d.ts.map +1 -1
  245. package/lib/modularDrawer/utils/index.js +3 -3
  246. package/lib/modularDrawer/utils/index.js.map +1 -1
  247. package/lib/modularDrawer/utils/type.d.ts +0 -5
  248. package/lib/modularDrawer/utils/type.d.ts.map +1 -1
  249. package/lib/platform/filters.d.ts +1 -2
  250. package/lib/platform/filters.d.ts.map +1 -1
  251. package/lib/platform/filters.js +1 -17
  252. package/lib/platform/filters.js.map +1 -1
  253. package/lib/platform/helpers.d.ts +1 -5
  254. package/lib/platform/helpers.d.ts.map +1 -1
  255. package/lib/platform/helpers.js +1 -33
  256. package/lib/platform/helpers.js.map +1 -1
  257. package/lib/platform/react.d.ts +2 -3
  258. package/lib/platform/react.d.ts.map +1 -1
  259. package/lib/platform/react.js +66 -16
  260. package/lib/platform/react.js.map +1 -1
  261. package/lib/platform/types.d.ts +3 -3
  262. package/lib/platform/types.d.ts.map +1 -1
  263. package/lib/postOnboarding/reducer.d.ts +2 -0
  264. package/lib/postOnboarding/reducer.d.ts.map +1 -1
  265. package/lib/test-helpers/cryptoAssetsStore.d.ts +2 -0
  266. package/lib/test-helpers/cryptoAssetsStore.d.ts.map +1 -0
  267. package/lib/test-helpers/cryptoAssetsStore.js +8 -0
  268. package/lib/test-helpers/cryptoAssetsStore.js.map +1 -0
  269. package/lib/utils/getAccountTuplesForCurrency.d.ts +1 -1
  270. package/lib/utils/getAccountTuplesForCurrency.d.ts.map +1 -1
  271. package/lib/utils/getAccountTuplesForCurrency.js +2 -3
  272. package/lib/utils/getAccountTuplesForCurrency.js.map +1 -1
  273. package/lib/wallet-api/ACRE/server.js +5 -5
  274. package/lib/wallet-api/ACRE/server.js.map +1 -1
  275. package/lib/wallet-api/Exchange/server.d.ts.map +1 -1
  276. package/lib/wallet-api/Exchange/server.js +8 -7
  277. package/lib/wallet-api/Exchange/server.js.map +1 -1
  278. package/lib/wallet-api/converters.d.ts +1 -0
  279. package/lib/wallet-api/converters.d.ts.map +1 -1
  280. package/lib/wallet-api/converters.js +7 -2
  281. package/lib/wallet-api/converters.js.map +1 -1
  282. package/lib/wallet-api/logic.js +8 -8
  283. package/lib/wallet-api/logic.js.map +1 -1
  284. package/lib/wallet-api/react.d.ts +6 -11
  285. package/lib/wallet-api/react.d.ts.map +1 -1
  286. package/lib/wallet-api/react.js +293 -135
  287. package/lib/wallet-api/react.js.map +1 -1
  288. package/lib/wallet-api/tracking.d.ts +6 -0
  289. package/lib/wallet-api/tracking.d.ts.map +1 -1
  290. package/lib/wallet-api/tracking.js +20 -0
  291. package/lib/wallet-api/tracking.js.map +1 -1
  292. package/lib/wallet-api/types.d.ts +3 -0
  293. package/lib/wallet-api/types.d.ts.map +1 -1
  294. package/lib/wallet-api/useDappLogic.d.ts.map +1 -1
  295. package/lib/wallet-api/useDappLogic.js +65 -80
  296. package/lib/wallet-api/useDappLogic.js.map +1 -1
  297. package/lib/wallet-api/utils/deriveAccountIdForManifest.d.ts +6 -0
  298. package/lib/wallet-api/utils/deriveAccountIdForManifest.d.ts.map +1 -1
  299. package/lib/wallet-api/utils/deriveAccountIdForManifest.js +13 -3
  300. package/lib/wallet-api/utils/deriveAccountIdForManifest.js.map +1 -1
  301. package/lib-es/__tests__/test-helpers/bridge.d.ts.map +1 -1
  302. package/lib-es/__tests__/test-helpers/bridge.js +0 -4
  303. package/lib-es/__tests__/test-helpers/bridge.js.map +1 -1
  304. package/lib-es/__tests__/test-helpers/environment.js +3 -0
  305. package/lib-es/__tests__/test-helpers/environment.js.map +1 -1
  306. package/lib-es/__tests__/test-helpers/setup.integration.d.ts +2 -0
  307. package/lib-es/__tests__/test-helpers/setup.integration.d.ts.map +1 -0
  308. package/lib-es/__tests__/test-helpers/setup.integration.js +14 -0
  309. package/lib-es/__tests__/test-helpers/setup.integration.js.map +1 -0
  310. package/lib-es/account/helpers.d.ts.map +1 -1
  311. package/lib-es/account/helpers.js +5 -1
  312. package/lib-es/account/helpers.js.map +1 -1
  313. package/lib-es/apps/config.d.ts.map +1 -1
  314. package/lib-es/apps/config.js +6 -0
  315. package/lib-es/apps/config.js.map +1 -1
  316. package/lib-es/bridge/generic-alpaca/getAccountShape.d.ts.map +1 -1
  317. package/lib-es/bridge/generic-alpaca/getAccountShape.js +13 -11
  318. package/lib-es/bridge/generic-alpaca/getAccountShape.js.map +1 -1
  319. package/lib-es/bridge/generic-alpaca/utils.js +1 -1
  320. package/lib-es/bridge/generic-alpaca/utils.js.map +1 -1
  321. package/lib-es/bridge/impl.d.ts +0 -2
  322. package/lib-es/bridge/impl.d.ts.map +1 -1
  323. package/lib-es/bridge/impl.js +3 -6
  324. package/lib-es/bridge/impl.js.map +1 -1
  325. package/lib-es/currencies/helpers.d.ts +1 -3
  326. package/lib-es/currencies/helpers.d.ts.map +1 -1
  327. package/lib-es/currencies/helpers.js +0 -24
  328. package/lib-es/currencies/helpers.js.map +1 -1
  329. package/lib-es/currencies/index.d.ts +1 -1
  330. package/lib-es/currencies/index.d.ts.map +1 -1
  331. package/lib-es/currencies/index.js +1 -1
  332. package/lib-es/currencies/index.js.map +1 -1
  333. package/lib-es/dada-client/hooks/useAssetsData.d.ts +1 -0
  334. package/lib-es/dada-client/hooks/useAssetsData.d.ts.map +1 -1
  335. package/lib-es/dada-client/hooks/useAssetsData.js +1 -0
  336. package/lib-es/dada-client/hooks/useAssetsData.js.map +1 -1
  337. package/lib-es/deposit/type.d.ts +0 -17
  338. package/lib-es/deposit/type.d.ts.map +1 -1
  339. package/lib-es/deposit/type.js.map +1 -1
  340. package/lib-es/device/use-cases/getDeviceHasBattery.d.ts +2 -0
  341. package/lib-es/device/use-cases/getDeviceHasBattery.d.ts.map +1 -0
  342. package/lib-es/device/use-cases/getDeviceHasBattery.js +2 -0
  343. package/lib-es/device/use-cases/getDeviceHasBattery.js.map +1 -0
  344. package/lib-es/deviceSDK/hooks/useBatteryStatuses.d.ts +2 -1
  345. package/lib-es/deviceSDK/hooks/useBatteryStatuses.d.ts.map +1 -1
  346. package/lib-es/deviceSDK/hooks/useBatteryStatuses.js +4 -2
  347. package/lib-es/deviceSDK/hooks/useBatteryStatuses.js.map +1 -1
  348. package/lib-es/deviceSDK/tasks/core.d.ts +1 -1
  349. package/lib-es/deviceSDK/tasks/core.d.ts.map +1 -1
  350. package/lib-es/deviceSDK/tasks/core.js +1 -1
  351. package/lib-es/deviceSDK/tasks/core.js.map +1 -1
  352. package/lib-es/deviceSDK/tasks/getDeviceInfo.d.ts.map +1 -1
  353. package/lib-es/deviceSDK/tasks/getDeviceInfo.js +2 -0
  354. package/lib-es/deviceSDK/tasks/getDeviceInfo.js.map +1 -1
  355. package/lib-es/deviceSDK/tasks/getLatestFirmware.d.ts.map +1 -1
  356. package/lib-es/deviceSDK/tasks/getLatestFirmware.js +2 -2
  357. package/lib-es/deviceSDK/tasks/getLatestFirmware.js.map +1 -1
  358. package/lib-es/deviceSDK/tasks/updateFirmware.d.ts.map +1 -1
  359. package/lib-es/deviceSDK/tasks/updateFirmware.js +2 -1
  360. package/lib-es/deviceSDK/tasks/updateFirmware.js.map +1 -1
  361. package/lib-es/e2e/data/assetsDrawer.d.ts +9 -0
  362. package/lib-es/e2e/data/assetsDrawer.d.ts.map +1 -0
  363. package/lib-es/e2e/data/assetsDrawer.js +9 -0
  364. package/lib-es/e2e/data/assetsDrawer.js.map +1 -0
  365. package/lib-es/e2e/deviceInteraction/DeviceController.d.ts +41 -0
  366. package/lib-es/e2e/deviceInteraction/DeviceController.d.ts.map +1 -0
  367. package/lib-es/e2e/deviceInteraction/DeviceController.js +63 -0
  368. package/lib-es/e2e/deviceInteraction/DeviceController.js.map +1 -0
  369. package/lib-es/e2e/enum/Account.d.ts +0 -1
  370. package/lib-es/e2e/enum/Account.d.ts.map +1 -1
  371. package/lib-es/e2e/enum/Account.js +0 -1
  372. package/lib-es/e2e/enum/Account.js.map +1 -1
  373. package/lib-es/e2e/enum/Currency.d.ts +0 -1
  374. package/lib-es/e2e/enum/Currency.d.ts.map +1 -1
  375. package/lib-es/e2e/enum/Currency.js +2 -6
  376. package/lib-es/e2e/enum/Currency.js.map +1 -1
  377. package/lib-es/e2e/enum/ReceiveFundsOptions.d.ts +6 -0
  378. package/lib-es/e2e/enum/ReceiveFundsOptions.d.ts.map +1 -0
  379. package/lib-es/e2e/enum/ReceiveFundsOptions.js +5 -0
  380. package/lib-es/e2e/enum/ReceiveFundsOptions.js.map +1 -0
  381. package/lib-es/e2e/families/algorand.d.ts +1 -1
  382. package/lib-es/e2e/families/algorand.d.ts.map +1 -1
  383. package/lib-es/e2e/families/algorand.js +5 -4
  384. package/lib-es/e2e/families/algorand.js.map +1 -1
  385. package/lib-es/e2e/families/aptos.d.ts +2 -2
  386. package/lib-es/e2e/families/aptos.d.ts.map +1 -1
  387. package/lib-es/e2e/families/aptos.js +9 -7
  388. package/lib-es/e2e/families/aptos.js.map +1 -1
  389. package/lib-es/e2e/families/bitcoin.d.ts +2 -2
  390. package/lib-es/e2e/families/bitcoin.d.ts.map +1 -1
  391. package/lib-es/e2e/families/bitcoin.js +11 -9
  392. package/lib-es/e2e/families/bitcoin.js.map +1 -1
  393. package/lib-es/e2e/families/cardano.d.ts +6 -0
  394. package/lib-es/e2e/families/cardano.d.ts.map +1 -1
  395. package/lib-es/e2e/families/cardano.js +23 -21
  396. package/lib-es/e2e/families/cardano.js.map +1 -1
  397. package/lib-es/e2e/families/celo.d.ts +1 -1
  398. package/lib-es/e2e/families/celo.d.ts.map +1 -1
  399. package/lib-es/e2e/families/celo.js +5 -4
  400. package/lib-es/e2e/families/celo.js.map +1 -1
  401. package/lib-es/e2e/families/cosmos.d.ts +2 -2
  402. package/lib-es/e2e/families/cosmos.d.ts.map +1 -1
  403. package/lib-es/e2e/families/cosmos.js +9 -7
  404. package/lib-es/e2e/families/cosmos.js.map +1 -1
  405. package/lib-es/e2e/families/evm.d.ts +2 -0
  406. package/lib-es/e2e/families/evm.d.ts.map +1 -1
  407. package/lib-es/e2e/families/evm.js +10 -9
  408. package/lib-es/e2e/families/evm.js.map +1 -1
  409. package/lib-es/e2e/families/hedera.d.ts +1 -1
  410. package/lib-es/e2e/families/hedera.d.ts.map +1 -1
  411. package/lib-es/e2e/families/hedera.js +5 -4
  412. package/lib-es/e2e/families/hedera.js.map +1 -1
  413. package/lib-es/e2e/families/kaspa.d.ts +2 -2
  414. package/lib-es/e2e/families/kaspa.d.ts.map +1 -1
  415. package/lib-es/e2e/families/kaspa.js +9 -7
  416. package/lib-es/e2e/families/kaspa.js.map +1 -1
  417. package/lib-es/e2e/families/multiversX.d.ts +1 -1
  418. package/lib-es/e2e/families/multiversX.d.ts.map +1 -1
  419. package/lib-es/e2e/families/multiversX.js +5 -4
  420. package/lib-es/e2e/families/multiversX.js.map +1 -1
  421. package/lib-es/e2e/families/near.d.ts +1 -1
  422. package/lib-es/e2e/families/near.d.ts.map +1 -1
  423. package/lib-es/e2e/families/near.js +6 -5
  424. package/lib-es/e2e/families/near.js.map +1 -1
  425. package/lib-es/e2e/families/osmosis.d.ts +1 -1
  426. package/lib-es/e2e/families/osmosis.d.ts.map +1 -1
  427. package/lib-es/e2e/families/osmosis.js +5 -4
  428. package/lib-es/e2e/families/osmosis.js.map +1 -1
  429. package/lib-es/e2e/families/polkadot.d.ts +1 -1
  430. package/lib-es/e2e/families/polkadot.d.ts.map +1 -1
  431. package/lib-es/e2e/families/polkadot.js +5 -4
  432. package/lib-es/e2e/families/polkadot.js.map +1 -1
  433. package/lib-es/e2e/families/solana.d.ts +2 -2
  434. package/lib-es/e2e/families/solana.d.ts.map +1 -1
  435. package/lib-es/e2e/families/solana.js +9 -7
  436. package/lib-es/e2e/families/solana.js.map +1 -1
  437. package/lib-es/e2e/families/stellar.d.ts +1 -1
  438. package/lib-es/e2e/families/stellar.d.ts.map +1 -1
  439. package/lib-es/e2e/families/stellar.js +5 -4
  440. package/lib-es/e2e/families/stellar.js.map +1 -1
  441. package/lib-es/e2e/families/sui.d.ts +1 -1
  442. package/lib-es/e2e/families/sui.d.ts.map +1 -1
  443. package/lib-es/e2e/families/sui.js +5 -4
  444. package/lib-es/e2e/families/sui.js.map +1 -1
  445. package/lib-es/e2e/families/tezos.d.ts +1 -1
  446. package/lib-es/e2e/families/tezos.d.ts.map +1 -1
  447. package/lib-es/e2e/families/tezos.js +8 -8
  448. package/lib-es/e2e/families/tezos.js.map +1 -1
  449. package/lib-es/e2e/families/tron.d.ts +1 -1
  450. package/lib-es/e2e/families/tron.d.ts.map +1 -1
  451. package/lib-es/e2e/families/tron.js +5 -4
  452. package/lib-es/e2e/families/tron.js.map +1 -1
  453. package/lib-es/e2e/families/xrp.d.ts +1 -1
  454. package/lib-es/e2e/families/xrp.d.ts.map +1 -1
  455. package/lib-es/e2e/families/xrp.js +5 -4
  456. package/lib-es/e2e/families/xrp.js.map +1 -1
  457. package/lib-es/e2e/index.d.ts +23 -0
  458. package/lib-es/e2e/index.d.ts.map +1 -1
  459. package/lib-es/e2e/speculos.d.ts +11 -11
  460. package/lib-es/e2e/speculos.d.ts.map +1 -1
  461. package/lib-es/e2e/speculos.js +63 -45
  462. package/lib-es/e2e/speculos.js.map +1 -1
  463. package/lib-es/env.react.d.ts +1 -1
  464. package/lib-es/env.react.d.ts.map +1 -1
  465. package/lib-es/exchange/providers/swap.d.ts +1 -0
  466. package/lib-es/exchange/providers/swap.d.ts.map +1 -1
  467. package/lib-es/exchange/providers/swap.js +3 -0
  468. package/lib-es/exchange/providers/swap.js.map +1 -1
  469. package/lib-es/exchange/swap/getCompleteSwapHistory.js +1 -1
  470. package/lib-es/exchange/swap/getCompleteSwapHistory.js.map +1 -1
  471. package/lib-es/exchange/swap/hooks/useSelectableCurrencies.js +1 -1
  472. package/lib-es/exchange/swap/hooks/useSelectableCurrencies.js.map +1 -1
  473. package/lib-es/exchange/swap/hooks/v5/useFetchCurrencyAll.d.ts.map +1 -1
  474. package/lib-es/exchange/swap/hooks/v5/useFetchCurrencyAll.js +2 -3
  475. package/lib-es/exchange/swap/hooks/v5/useFetchCurrencyAll.js.map +1 -1
  476. package/lib-es/exchange/swap/hooks/v5/useFilteredProviders.d.ts.map +1 -1
  477. package/lib-es/exchange/swap/hooks/v5/useFilteredProviders.js +17 -12
  478. package/lib-es/exchange/swap/hooks/v5/useFilteredProviders.js.map +1 -1
  479. package/lib-es/families/canton/bridge/mock.d.ts.map +1 -1
  480. package/lib-es/families/canton/bridge/mock.js +1 -0
  481. package/lib-es/families/canton/bridge/mock.js.map +1 -1
  482. package/lib-es/families/canton/react.d.ts +15 -0
  483. package/lib-es/families/canton/react.d.ts.map +1 -0
  484. package/lib-es/families/canton/react.js +10 -0
  485. package/lib-es/families/canton/react.js.map +1 -0
  486. package/lib-es/families/cosmos/datasets/dydx.integration.FIXME.d.ts +1 -1
  487. package/lib-es/families/cosmos/datasets/dydx.integration.FIXME.d.ts.map +1 -1
  488. package/lib-es/families/cosmos/datasets/dydx.integration.FIXME.js +1 -1
  489. package/lib-es/families/cosmos/datasets/dydx.integration.FIXME.js.map +1 -1
  490. package/lib-es/families/cosmos/datasets/secretNetwork.integration.FIXME.d.ts +1 -1
  491. package/lib-es/families/cosmos/datasets/secretNetwork.integration.FIXME.d.ts.map +1 -1
  492. package/lib-es/families/cosmos/datasets/secretNetwork.integration.FIXME.js +1 -1
  493. package/lib-es/families/cosmos/datasets/secretNetwork.integration.FIXME.js.map +1 -1
  494. package/lib-es/families/evm/config.d.ts.map +1 -1
  495. package/lib-es/families/evm/config.js +49 -0
  496. package/lib-es/families/evm/config.js.map +1 -1
  497. package/lib-es/families/evm/setup.d.ts.map +1 -1
  498. package/lib-es/families/evm/setup.js +1 -11
  499. package/lib-es/families/evm/setup.js.map +1 -1
  500. package/lib-es/families/solana/bridge/mock.d.ts.map +1 -1
  501. package/lib-es/families/solana/bridge/mock.js +11 -9
  502. package/lib-es/families/solana/bridge/mock.js.map +1 -1
  503. package/lib-es/families/solana/config.d.ts.map +1 -1
  504. package/lib-es/families/solana/config.js +0 -1
  505. package/lib-es/families/solana/config.js.map +1 -1
  506. package/lib-es/families/solana/setup.d.ts +8 -0
  507. package/lib-es/families/solana/setup.d.ts.map +1 -1
  508. package/lib-es/families/solana/setup.js +28 -17
  509. package/lib-es/families/solana/setup.js.map +1 -1
  510. package/lib-es/families/tron/data.mock.d.ts.map +1 -1
  511. package/lib-es/families/tron/data.mock.js +3 -6
  512. package/lib-es/families/tron/data.mock.js.map +1 -1
  513. package/lib-es/featureFlags/defaultFeatures.d.ts +3 -0
  514. package/lib-es/featureFlags/defaultFeatures.d.ts.map +1 -1
  515. package/lib-es/featureFlags/defaultFeatures.js +10 -0
  516. package/lib-es/featureFlags/defaultFeatures.js.map +1 -1
  517. package/lib-es/featureFlags/stakePrograms/index.d.ts +1 -0
  518. package/lib-es/featureFlags/stakePrograms/index.d.ts.map +1 -1
  519. package/lib-es/featureFlags/stakePrograms/index.js +14 -0
  520. package/lib-es/featureFlags/stakePrograms/index.js.map +1 -1
  521. package/lib-es/featureFlags/useFeature.d.ts +1 -1
  522. package/lib-es/featureFlags/useFeature.d.ts.map +1 -1
  523. package/lib-es/market/hooks/useMarketDataProvider.js +1 -0
  524. package/lib-es/market/hooks/useMarketDataProvider.js.map +1 -1
  525. package/lib-es/market/utils/types.d.ts +1 -0
  526. package/lib-es/market/utils/types.d.ts.map +1 -1
  527. package/lib-es/market/utils/types.js.map +1 -1
  528. package/lib-es/modularDrawer/hooks/useCurrenciesUnderFeatureFlag.d.ts.map +1 -1
  529. package/lib-es/modularDrawer/hooks/useCurrenciesUnderFeatureFlag.js +11 -0
  530. package/lib-es/modularDrawer/hooks/useCurrenciesUnderFeatureFlag.js.map +1 -1
  531. package/lib-es/modularDrawer/hooks/useNetworkAccountCounts.d.ts +1 -5
  532. package/lib-es/modularDrawer/hooks/useNetworkAccountCounts.d.ts.map +1 -1
  533. package/lib-es/modularDrawer/hooks/useNetworkAccountCounts.js +2 -2
  534. package/lib-es/modularDrawer/hooks/useNetworkAccountCounts.js.map +1 -1
  535. package/lib-es/modularDrawer/modules/createNetworkConfiguration.d.ts +1 -1
  536. package/lib-es/modularDrawer/modules/createNetworkConfiguration.d.ts.map +1 -1
  537. package/lib-es/modularDrawer/modules/createNetworkConfiguration.js +1 -2
  538. package/lib-es/modularDrawer/modules/createNetworkConfiguration.js.map +1 -1
  539. package/lib-es/modularDrawer/utils/{groupCurrenciesByProvider.d.ts → groupCurrenciesByAsset.d.ts} +2 -2
  540. package/lib-es/modularDrawer/utils/groupCurrenciesByAsset.d.ts.map +1 -0
  541. package/lib-es/modularDrawer/utils/{groupCurrenciesByProvider.js → groupCurrenciesByAsset.js} +6 -6
  542. package/lib-es/modularDrawer/utils/groupCurrenciesByAsset.js.map +1 -0
  543. package/lib-es/modularDrawer/utils/index.d.ts +1 -1
  544. package/lib-es/modularDrawer/utils/index.d.ts.map +1 -1
  545. package/lib-es/modularDrawer/utils/index.js +1 -1
  546. package/lib-es/modularDrawer/utils/index.js.map +1 -1
  547. package/lib-es/modularDrawer/utils/type.d.ts +0 -5
  548. package/lib-es/modularDrawer/utils/type.d.ts.map +1 -1
  549. package/lib-es/platform/filters.d.ts +1 -2
  550. package/lib-es/platform/filters.d.ts.map +1 -1
  551. package/lib-es/platform/filters.js +0 -15
  552. package/lib-es/platform/filters.js.map +1 -1
  553. package/lib-es/platform/helpers.d.ts +1 -5
  554. package/lib-es/platform/helpers.d.ts.map +1 -1
  555. package/lib-es/platform/helpers.js +1 -30
  556. package/lib-es/platform/helpers.js.map +1 -1
  557. package/lib-es/platform/react.d.ts +2 -3
  558. package/lib-es/platform/react.d.ts.map +1 -1
  559. package/lib-es/platform/react.js +67 -16
  560. package/lib-es/platform/react.js.map +1 -1
  561. package/lib-es/platform/types.d.ts +3 -3
  562. package/lib-es/platform/types.d.ts.map +1 -1
  563. package/lib-es/postOnboarding/reducer.d.ts +2 -0
  564. package/lib-es/postOnboarding/reducer.d.ts.map +1 -1
  565. package/lib-es/test-helpers/cryptoAssetsStore.d.ts +2 -0
  566. package/lib-es/test-helpers/cryptoAssetsStore.d.ts.map +1 -0
  567. package/lib-es/test-helpers/cryptoAssetsStore.js +2 -0
  568. package/lib-es/test-helpers/cryptoAssetsStore.js.map +1 -0
  569. package/lib-es/utils/getAccountTuplesForCurrency.d.ts +1 -1
  570. package/lib-es/utils/getAccountTuplesForCurrency.d.ts.map +1 -1
  571. package/lib-es/utils/getAccountTuplesForCurrency.js +2 -3
  572. package/lib-es/utils/getAccountTuplesForCurrency.js.map +1 -1
  573. package/lib-es/wallet-api/ACRE/server.js +1 -1
  574. package/lib-es/wallet-api/ACRE/server.js.map +1 -1
  575. package/lib-es/wallet-api/Exchange/server.d.ts.map +1 -1
  576. package/lib-es/wallet-api/Exchange/server.js +6 -5
  577. package/lib-es/wallet-api/Exchange/server.js.map +1 -1
  578. package/lib-es/wallet-api/converters.d.ts +1 -0
  579. package/lib-es/wallet-api/converters.d.ts.map +1 -1
  580. package/lib-es/wallet-api/converters.js +5 -1
  581. package/lib-es/wallet-api/converters.js.map +1 -1
  582. package/lib-es/wallet-api/logic.js +1 -1
  583. package/lib-es/wallet-api/logic.js.map +1 -1
  584. package/lib-es/wallet-api/react.d.ts +6 -11
  585. package/lib-es/wallet-api/react.d.ts.map +1 -1
  586. package/lib-es/wallet-api/react.js +291 -131
  587. package/lib-es/wallet-api/react.js.map +1 -1
  588. package/lib-es/wallet-api/tracking.d.ts +6 -0
  589. package/lib-es/wallet-api/tracking.d.ts.map +1 -1
  590. package/lib-es/wallet-api/tracking.js +20 -0
  591. package/lib-es/wallet-api/tracking.js.map +1 -1
  592. package/lib-es/wallet-api/types.d.ts +3 -0
  593. package/lib-es/wallet-api/types.d.ts.map +1 -1
  594. package/lib-es/wallet-api/useDappLogic.d.ts.map +1 -1
  595. package/lib-es/wallet-api/useDappLogic.js +62 -77
  596. package/lib-es/wallet-api/useDappLogic.js.map +1 -1
  597. package/lib-es/wallet-api/utils/deriveAccountIdForManifest.d.ts +6 -0
  598. package/lib-es/wallet-api/utils/deriveAccountIdForManifest.d.ts.map +1 -1
  599. package/lib-es/wallet-api/utils/deriveAccountIdForManifest.js +11 -2
  600. package/lib-es/wallet-api/utils/deriveAccountIdForManifest.js.map +1 -1
  601. package/package.json +74 -60
  602. package/src/DataModel.test.ts +2 -8
  603. package/src/__tests__/__snapshots__/csvExport.ts.snap +0 -718
  604. package/src/__tests__/accounts/groupPerDay.ts +2 -4
  605. package/src/__tests__/csvExport.ts +3 -3
  606. package/src/__tests__/currencies.ts +5 -38
  607. package/src/__tests__/migration/account-migration.ts +3 -0
  608. package/src/__tests__/test-helpers/bridge.ts +0 -2
  609. package/src/__tests__/test-helpers/environment.ts +3 -0
  610. package/src/__tests__/test-helpers/setup.integration.ts +17 -0
  611. package/src/__tests__/test-helpers/setup.ts +3 -8
  612. package/src/account/helpers.test.ts +2 -2
  613. package/src/account/helpers.ts +5 -1
  614. package/src/account/serialization.test.ts +2 -2
  615. package/src/apps/config.ts +6 -0
  616. package/src/bridge/crypto-assets/index.test.ts +15 -44
  617. package/src/bridge/generic-alpaca/getAccountShape.ts +15 -12
  618. package/src/bridge/generic-alpaca/tests/getAccountShape.test.ts +142 -101
  619. package/src/bridge/generic-alpaca/utils.test.ts +1 -2
  620. package/src/bridge/generic-alpaca/utils.ts +1 -1
  621. package/src/bridge/impl.ts +3 -7
  622. package/src/currencies/cryptoIcons.test.ts +23 -4
  623. package/src/currencies/helpers.test.ts +4 -11
  624. package/src/currencies/helpers.ts +1 -42
  625. package/src/currencies/index.ts +0 -3
  626. package/src/currencies/sortByMarketcap.test.ts +0 -26
  627. package/src/dada-client/hooks/useAssetsData.ts +1 -0
  628. package/src/deposit/type.ts +0 -21
  629. package/src/device/use-cases/getDeviceHasBattery.ts +1 -0
  630. package/src/deviceSDK/hooks/useBatteryStatuses.test.ts +3 -1
  631. package/src/deviceSDK/hooks/useBatteryStatuses.ts +4 -1
  632. package/src/deviceSDK/tasks/core.test.ts +20 -0
  633. package/src/deviceSDK/tasks/core.ts +2 -1
  634. package/src/deviceSDK/tasks/getDeviceInfo.ts +2 -0
  635. package/src/deviceSDK/tasks/getLatestFirmware.ts +4 -4
  636. package/src/deviceSDK/tasks/updateFirmware.ts +2 -0
  637. package/src/domain/getTokensWithFunds.test.ts +32 -3
  638. package/src/e2e/data/assetsDrawer.ts +8 -0
  639. package/src/e2e/deviceInteraction/DeviceController.ts +85 -0
  640. package/src/e2e/enum/Account.ts +0 -6
  641. package/src/e2e/enum/Currency.ts +2 -6
  642. package/src/e2e/enum/ReceiveFundsOptions.ts +7 -0
  643. package/src/e2e/families/algorand.ts +20 -13
  644. package/src/e2e/families/aptos.ts +28 -16
  645. package/src/e2e/families/bitcoin.ts +53 -39
  646. package/src/e2e/families/cardano.ts +47 -36
  647. package/src/e2e/families/celo.ts +18 -12
  648. package/src/e2e/families/cosmos.ts +35 -23
  649. package/src/e2e/families/evm.ts +24 -13
  650. package/src/e2e/families/hedera.ts +6 -4
  651. package/src/e2e/families/kaspa.ts +28 -16
  652. package/src/e2e/families/multiversX.ts +16 -10
  653. package/src/e2e/families/near.ts +23 -17
  654. package/src/e2e/families/osmosis.ts +19 -13
  655. package/src/e2e/families/polkadot.ts +19 -13
  656. package/src/e2e/families/solana.ts +35 -23
  657. package/src/e2e/families/stellar.ts +18 -13
  658. package/src/e2e/families/sui.ts +15 -9
  659. package/src/e2e/families/tezos.ts +25 -18
  660. package/src/e2e/families/tron.ts +19 -13
  661. package/src/e2e/families/xrp.ts +19 -13
  662. package/src/e2e/speculos.ts +174 -139
  663. package/src/exchange/providers/swap.ts +4 -0
  664. package/src/exchange/swap/getCompleteSwapHistory.ts +1 -1
  665. package/src/exchange/swap/hooks/useSelectableCurrencies.test.ts +4 -0
  666. package/src/exchange/swap/hooks/useSelectableCurrencies.ts +1 -1
  667. package/src/exchange/swap/hooks/v5/useFetchCurrencyAll.ts +2 -3
  668. package/src/exchange/swap/hooks/v5/useFilteredProviders.ts +37 -12
  669. package/src/families/algorand/bridge.integration.test.ts +1 -1
  670. package/src/families/aptos/__snapshots__/bridge.integration.test.ts.snap +111 -1
  671. package/src/families/aptos/bridge.integration.test.ts +1 -1
  672. package/src/families/bitcoin/bridge.integration.test.ts +1 -1
  673. package/src/families/bitcoin/satstack.test.ts +5 -8
  674. package/src/families/canton/bridge/mock.ts +1 -0
  675. package/src/families/canton/react.ts +50 -0
  676. package/src/families/cardano/__snapshots__/bridge.integration.test.ts.snap +2 -2
  677. package/src/families/cardano/bridge.integration.test.ts +1 -1
  678. package/src/families/casper/bridge.integration.test.ts +1 -1
  679. package/src/families/celo/bridge.integration.test.ts +1 -1
  680. package/src/families/cosmos/datasets/__snapshots__/cosmos.integration.test.ts.snap +1 -1
  681. package/src/families/cosmos/datasets/axelar.integration.test.ts +1 -1
  682. package/src/families/cosmos/datasets/babylon.integration.test.ts +1 -1
  683. package/src/families/cosmos/datasets/coreum.integration.test.ts +1 -1
  684. package/src/families/cosmos/datasets/cosmos.integration.test.ts +1 -1
  685. package/src/families/cosmos/datasets/cryptoOrg.integration.test.ts +1 -1
  686. package/src/families/cosmos/datasets/desmos.integration.test.ts +1 -1
  687. package/src/families/cosmos/datasets/dydx.integration.FIXME.ts +1 -1
  688. package/src/families/cosmos/datasets/injective.integration.test.ts +1 -1
  689. package/src/families/cosmos/datasets/mantra.integration.test.ts +1 -1
  690. package/src/families/cosmos/datasets/onomy.integration.test.ts +1 -1
  691. package/src/families/cosmos/datasets/osmosis.integration.test.ts +1 -1
  692. package/src/families/cosmos/datasets/persistence.integration.test.ts +1 -1
  693. package/src/families/cosmos/datasets/quicksilver.integration.test.ts +1 -1
  694. package/src/families/cosmos/datasets/secretNetwork.integration.FIXME.ts +1 -1
  695. package/src/families/cosmos/datasets/seiNetwork.integration.test.ts +1 -1
  696. package/src/families/cosmos/datasets/stargaze.integration.test.ts +1 -1
  697. package/src/families/cosmos/datasets/umee.integration.test.ts +1 -1
  698. package/src/families/cosmos/datasets/xion.integration.test.ts +1 -1
  699. package/src/families/cosmos/datasets/zenrock.integration.test.ts +1 -1
  700. package/src/families/evm/bridge.integration.test.ts +1 -1
  701. package/src/families/evm/config.ts +49 -0
  702. package/src/families/evm/setup.ts +0 -12
  703. package/src/families/filecoin/bridge.integration.test.ts +1 -1
  704. package/src/families/hedera/__snapshots__/bridge.integration.test.ts.snap +207 -8
  705. package/src/families/hedera/bridge.integration.test.ts +1 -1
  706. package/src/families/icon/bridge.integration.test.ts +1 -1
  707. package/src/families/internet_computer/bridge.integration.test.ts +1 -1
  708. package/src/families/kaspa/bridge.integration.test.ts +1 -1
  709. package/src/families/mina/bridge.integration.test.ts +1 -1
  710. package/src/families/multiversx/bridge.integration.test.ts +1 -1
  711. package/src/families/multiversx/synchronisation.integration.test.ts +1 -1
  712. package/src/families/near/bridge.integration.test.ts +1 -1
  713. package/src/families/polkadot/bridge.integration.test.ts +1 -1
  714. package/src/families/solana/bridge/mock.ts +13 -23
  715. package/src/families/solana/bridge.integration.test.ts +1 -1
  716. package/src/families/solana/config.ts +0 -1
  717. package/src/families/solana/setup.ts +37 -24
  718. package/src/families/stacks/__tests__/sync.integration.test.ts +1 -1
  719. package/src/families/stacks/bridge.integration.test.ts +1 -1
  720. package/src/families/stellar/__snapshots__/bridge.integration.test.ts.snap +279 -15
  721. package/src/families/stellar/bridge.integration.test.ts +1 -1
  722. package/src/families/sui/bridge.integration.test.ts +1 -1
  723. package/src/families/tezos/bridge.integration.test.ts +1 -1
  724. package/src/families/ton/bridge.integration.test.ts +1 -1
  725. package/src/families/tron/bridge.integration.test.ts +1 -1
  726. package/src/families/tron/data.mock.ts +4 -8
  727. package/src/families/vechain/bridge.integration.test.ts +1 -1
  728. package/src/families/xrp/bridge.integration.test.ts +1 -1
  729. package/src/featureFlags/defaultFeatures.ts +11 -0
  730. package/src/featureFlags/stakePrograms/index.ts +18 -0
  731. package/src/market/hooks/useMarketDataProvider.ts +1 -0
  732. package/src/market/utils/types.ts +1 -0
  733. package/src/modularDrawer/hooks/__test__/useAssetAccountCounts.test.ts +0 -5
  734. package/src/modularDrawer/hooks/useCurrenciesUnderFeatureFlag.ts +11 -0
  735. package/src/modularDrawer/hooks/useNetworkAccountCounts.tsx +1 -6
  736. package/src/modularDrawer/modules/__test__/createAssetConfiguration.test.tsx +2 -2
  737. package/src/modularDrawer/modules/createNetworkConfiguration.ts +1 -2
  738. package/src/modularDrawer/utils/__tests__/groupCurrenciesByAsset.test.ts +88 -0
  739. package/src/modularDrawer/utils/{groupCurrenciesByProvider.ts → groupCurrenciesByAsset.ts} +5 -5
  740. package/src/modularDrawer/utils/index.ts +1 -1
  741. package/src/modularDrawer/utils/type.ts +0 -5
  742. package/src/platform/filters.ts +1 -23
  743. package/src/platform/helpers.ts +2 -49
  744. package/src/platform/react.ts +86 -22
  745. package/src/platform/types.ts +1 -1
  746. package/src/test-helpers/cryptoAssetsStore.ts +5 -0
  747. package/src/utils/__tests__/getAccountTuplesForCurrency.test.ts +3 -33
  748. package/src/utils/getAccountTuplesForCurrency.ts +1 -6
  749. package/src/wallet-api/ACRE/server.test.ts +3 -4
  750. package/src/wallet-api/ACRE/server.ts +1 -1
  751. package/src/wallet-api/Exchange/server.test.ts +0 -5
  752. package/src/wallet-api/Exchange/server.ts +8 -7
  753. package/src/wallet-api/converters.ts +6 -1
  754. package/src/wallet-api/logic.test.ts +3 -3
  755. package/src/wallet-api/logic.ts +1 -1
  756. package/src/wallet-api/react.ts +312 -137
  757. package/src/wallet-api/tracking.ts +22 -0
  758. package/src/wallet-api/types.ts +5 -0
  759. package/src/wallet-api/useDappLogic.ts +91 -106
  760. package/src/wallet-api/utils/deriveAccountIdForManifest.ts +14 -2
  761. package/lib/__tests__/test-helpers/setup.d.ts +0 -2
  762. package/lib/__tests__/test-helpers/setup.d.ts.map +0 -1
  763. package/lib/__tests__/test-helpers/setup.js.map +0 -1
  764. package/lib/bridge/crypto-assets/index.d.ts +0 -4
  765. package/lib/bridge/crypto-assets/index.d.ts.map +0 -1
  766. package/lib/bridge/crypto-assets/index.js +0 -22
  767. package/lib/bridge/crypto-assets/index.js.map +0 -1
  768. package/lib/deposit/helper.d.ts +0 -8
  769. package/lib/deposit/helper.d.ts.map +0 -1
  770. package/lib/deposit/helper.js +0 -125
  771. package/lib/deposit/helper.js.map +0 -1
  772. package/lib/deposit/index.d.ts +0 -3
  773. package/lib/deposit/index.d.ts.map +0 -1
  774. package/lib/deposit/index.js +0 -6
  775. package/lib/deposit/index.js.map +0 -1
  776. package/lib/deposit/mock.d.ts +0 -75
  777. package/lib/deposit/mock.d.ts.map +0 -1
  778. package/lib/deposit/mock.js +0 -15111
  779. package/lib/deposit/mock.js.map +0 -1
  780. package/lib/deposit/useGroupedCurrenciesByProvider.hook.d.ts +0 -3
  781. package/lib/deposit/useGroupedCurrenciesByProvider.hook.d.ts.map +0 -1
  782. package/lib/deposit/useGroupedCurrenciesByProvider.hook.js +0 -40
  783. package/lib/deposit/useGroupedCurrenciesByProvider.hook.js.map +0 -1
  784. package/lib/e2e/deviceInteraction/ButtonDeviceSimulator.d.ts +0 -3
  785. package/lib/e2e/deviceInteraction/ButtonDeviceSimulator.d.ts.map +0 -1
  786. package/lib/e2e/deviceInteraction/ButtonDeviceSimulator.js +0 -26
  787. package/lib/e2e/deviceInteraction/ButtonDeviceSimulator.js.map +0 -1
  788. package/lib/modularDrawer/__mocks__/useGroupedCurrenciesByProvider.mock.d.ts +0 -22
  789. package/lib/modularDrawer/__mocks__/useGroupedCurrenciesByProvider.mock.d.ts.map +0 -1
  790. package/lib/modularDrawer/__mocks__/useGroupedCurrenciesByProvider.mock.js +0 -41
  791. package/lib/modularDrawer/__mocks__/useGroupedCurrenciesByProvider.mock.js.map +0 -1
  792. package/lib/modularDrawer/utils/currencyUtils.d.ts +0 -10
  793. package/lib/modularDrawer/utils/currencyUtils.d.ts.map +0 -1
  794. package/lib/modularDrawer/utils/currencyUtils.js +0 -74
  795. package/lib/modularDrawer/utils/currencyUtils.js.map +0 -1
  796. package/lib/modularDrawer/utils/groupCurrenciesByProvider.d.ts.map +0 -1
  797. package/lib/modularDrawer/utils/groupCurrenciesByProvider.js +0 -21
  798. package/lib/modularDrawer/utils/groupCurrenciesByProvider.js.map +0 -1
  799. package/lib-es/__tests__/test-helpers/setup.d.ts +0 -2
  800. package/lib-es/__tests__/test-helpers/setup.d.ts.map +0 -1
  801. package/lib-es/__tests__/test-helpers/setup.js +0 -18
  802. package/lib-es/__tests__/test-helpers/setup.js.map +0 -1
  803. package/lib-es/bridge/crypto-assets/index.d.ts +0 -4
  804. package/lib-es/bridge/crypto-assets/index.d.ts.map +0 -1
  805. package/lib-es/bridge/crypto-assets/index.js +0 -17
  806. package/lib-es/bridge/crypto-assets/index.js.map +0 -1
  807. package/lib-es/deposit/helper.d.ts +0 -8
  808. package/lib-es/deposit/helper.d.ts.map +0 -1
  809. package/lib-es/deposit/helper.js +0 -117
  810. package/lib-es/deposit/helper.js.map +0 -1
  811. package/lib-es/deposit/index.d.ts +0 -3
  812. package/lib-es/deposit/index.d.ts.map +0 -1
  813. package/lib-es/deposit/index.js +0 -3
  814. package/lib-es/deposit/index.js.map +0 -1
  815. package/lib-es/deposit/mock.d.ts +0 -75
  816. package/lib-es/deposit/mock.d.ts.map +0 -1
  817. package/lib-es/deposit/mock.js +0 -15108
  818. package/lib-es/deposit/mock.js.map +0 -1
  819. package/lib-es/deposit/useGroupedCurrenciesByProvider.hook.d.ts +0 -3
  820. package/lib-es/deposit/useGroupedCurrenciesByProvider.hook.d.ts.map +0 -1
  821. package/lib-es/deposit/useGroupedCurrenciesByProvider.hook.js +0 -36
  822. package/lib-es/deposit/useGroupedCurrenciesByProvider.hook.js.map +0 -1
  823. package/lib-es/e2e/deviceInteraction/ButtonDeviceSimulator.d.ts +0 -3
  824. package/lib-es/e2e/deviceInteraction/ButtonDeviceSimulator.d.ts.map +0 -1
  825. package/lib-es/e2e/deviceInteraction/ButtonDeviceSimulator.js +0 -18
  826. package/lib-es/e2e/deviceInteraction/ButtonDeviceSimulator.js.map +0 -1
  827. package/lib-es/modularDrawer/__mocks__/useGroupedCurrenciesByProvider.mock.d.ts +0 -22
  828. package/lib-es/modularDrawer/__mocks__/useGroupedCurrenciesByProvider.mock.d.ts.map +0 -1
  829. package/lib-es/modularDrawer/__mocks__/useGroupedCurrenciesByProvider.mock.js +0 -38
  830. package/lib-es/modularDrawer/__mocks__/useGroupedCurrenciesByProvider.mock.js.map +0 -1
  831. package/lib-es/modularDrawer/utils/currencyUtils.d.ts +0 -10
  832. package/lib-es/modularDrawer/utils/currencyUtils.d.ts.map +0 -1
  833. package/lib-es/modularDrawer/utils/currencyUtils.js +0 -65
  834. package/lib-es/modularDrawer/utils/currencyUtils.js.map +0 -1
  835. package/lib-es/modularDrawer/utils/groupCurrenciesByProvider.d.ts.map +0 -1
  836. package/lib-es/modularDrawer/utils/groupCurrenciesByProvider.js.map +0 -1
  837. package/src/bridge/crypto-assets/index.ts +0 -23
  838. package/src/deposit/deposit.integration.test.ts +0 -88
  839. package/src/deposit/deposit.test.ts +0 -684
  840. package/src/deposit/helper.ts +0 -143
  841. package/src/deposit/index.ts +0 -3
  842. package/src/deposit/mock.ts +0 -15112
  843. package/src/deposit/useGroupedCurrenciesByProvider.hook.ts +0 -46
  844. package/src/e2e/deviceInteraction/ButtonDeviceSimulator.ts +0 -23
  845. package/src/modularDrawer/__mocks__/useGroupedCurrenciesByProvider.mock.ts +0 -49
  846. package/src/modularDrawer/modules/__test__/createNetworkConfiguration.test.ts +0 -342
  847. package/src/modularDrawer/utils/__tests__/currencyUtils.test.ts +0 -126
  848. package/src/modularDrawer/utils/currencyUtils.ts +0 -95
@@ -107,7 +107,7 @@ export function adaptCoreOperationToLiveOperation(accountId: string, op: CoreOpe
107
107
  extra.memo = op.details.memo as string;
108
108
  }
109
109
  const bnFees = new BigNumber(op.tx.fees.toString());
110
- const hasFailed = op.details?.status === "failed";
110
+ const hasFailed = op.tx.failed;
111
111
 
112
112
  let value: BigNumber;
113
113
  if (hasFailed) {
@@ -20,9 +20,7 @@ import {
20
20
  import { getAlpacaAccountBridge } from "./generic-alpaca/accountBridge";
21
21
  import { getAlpacaCurrencyBridge } from "./generic-alpaca/currencyBridge";
22
22
  import { AddressesSanctionedError } from "@ledgerhq/coin-framework/sanction/errors";
23
- import type { CryptoAssetsStore } from "@ledgerhq/types-live";
24
- import { setCryptoAssetsStore as setCryptoAssetsStoreForCoinFramework } from "@ledgerhq/coin-framework/crypto-assets/index";
25
- import { getCryptoAssetsStore, setCryptoAssetsStore } from "./crypto-assets";
23
+ // Removed: stores are now managed globally by @ledgerhq/cryptoassets/cal-client/store
26
24
 
27
25
  const alpacaized = {
28
26
  xrp: true,
@@ -105,10 +103,8 @@ export function getAccountBridgeByFamily(family: string, accountId?: string): Ac
105
103
  return wrapAccountBridge(jsBridge.accountBridge);
106
104
  }
107
105
 
108
- export function setup(store: CryptoAssetsStore) {
109
- setCryptoAssetsStore(store);
110
- setCryptoAssetsStoreForCoinFramework(getCryptoAssetsStore());
111
- }
106
+ // Removed: setup() is no longer needed. The store is now managed globally by @ledgerhq/cryptoassets/cal-client/store.
107
+ // Use setupCalClientStore() or setupMockCryptoAssetsStore() from @ledgerhq/cryptoassets/cal-client/test-helpers instead.
112
108
 
113
109
  function wrapAccountBridge<T extends TransactionCommon>(
114
110
  bridge: AccountBridge<T>,
@@ -1,11 +1,30 @@
1
1
  import { getCryptoCurrencyById } from "@ledgerhq/cryptoassets/currencies";
2
- import { initializeLegacyTokens } from "@ledgerhq/cryptoassets/legacy/legacy-data";
3
- import { addTokens as addTokensLegacy } from "@ledgerhq/cryptoassets/legacy/legacy-utils";
2
+ import { setupMockCryptoAssetsStore } from "../test-helpers/cryptoAssetsStore";
4
3
  import { inferCryptoCurrencyIcon } from "./cryptoIcons";
5
- import { getCryptoAssetsStore } from "../bridge/crypto-assets/index";
4
+ import { getCryptoAssetsStore } from "@ledgerhq/cryptoassets/state";
6
5
 
7
6
  beforeAll(() => {
8
- initializeLegacyTokens(addTokensLegacy);
7
+ // Setup mock store for unit tests
8
+ setupMockCryptoAssetsStore({
9
+ findTokenById: async (id: string) => {
10
+ // Return a mock token for the test
11
+ if (id === "ethereum/erc20/usd_tether__erc20_") {
12
+ return {
13
+ type: "TokenCurrency",
14
+ id: "ethereum/erc20/usd_tether__erc20_",
15
+ contractAddress: "0xdac17f958d2ee523a2206206994597c13d831ec7",
16
+ parentCurrency: getCryptoCurrencyById("ethereum"),
17
+ tokenType: "erc20",
18
+ name: "Tether USD",
19
+ ticker: "USDT",
20
+ delisted: false,
21
+ disableCountervalue: false,
22
+ units: [{ name: "USDT", code: "USDT", magnitude: 6 }],
23
+ } as any;
24
+ }
25
+ return undefined;
26
+ },
27
+ });
9
28
  });
10
29
 
11
30
  describe("inferCryptoCurrencyIcon", () => {
@@ -1,20 +1,13 @@
1
1
  import "../__tests__/test-helpers/setup";
2
- import { isCryptoCurrency, isTokenCurrency, listCurrencies } from "./helpers";
2
+ import { isCryptoCurrency } from "./helpers";
3
+ import { listCryptoCurrencies } from ".";
3
4
 
4
5
  describe("Currencies helpers", () => {
5
- test("listCurrencies without includeTokens", () => {
6
- const currencies = listCurrencies(false);
6
+ test("listCryptoCurrencies returns only crypto currencies", () => {
7
+ const currencies = listCryptoCurrencies();
7
8
 
8
9
  currencies.forEach(currency => {
9
10
  expect(isCryptoCurrency(currency)).toBeTruthy();
10
11
  });
11
12
  });
12
-
13
- test("listCurrencies with includeTokens", () => {
14
- const currencies = listCurrencies(true);
15
-
16
- currencies.forEach(currency => {
17
- expect(isCryptoCurrency(currency) || isTokenCurrency(currency)).toBeTruthy();
18
- });
19
- });
20
13
  });
@@ -1,12 +1,4 @@
1
- import {
2
- Currency,
3
- CryptoCurrency,
4
- CryptoOrTokenCurrency,
5
- TokenCurrency,
6
- } from "@ledgerhq/types-cryptoassets";
7
- import { makeRe } from "minimatch";
8
- import { listTokens } from "@ledgerhq/cryptoassets";
9
- import { listSupportedCurrencies } from "@ledgerhq/coin-framework/currencies/index";
1
+ import { Currency, CryptoCurrency, TokenCurrency } from "@ledgerhq/types-cryptoassets";
10
2
 
11
3
  export function isCryptoCurrency(currency: Currency): currency is CryptoCurrency {
12
4
  return currency.type === "CryptoCurrency";
@@ -20,39 +12,6 @@ export function isUTXOCompliant(currencyFamily: string): boolean {
20
12
  return currencyFamily === "bitcoin" || currencyFamily === "cardano";
21
13
  }
22
14
 
23
- export function listCurrencies(includeTokens: boolean): CryptoOrTokenCurrency[] {
24
- const currencies = listSupportedCurrencies();
25
-
26
- if (!includeTokens) {
27
- return currencies;
28
- }
29
-
30
- const allTokens = listTokens();
31
-
32
- return [...currencies, ...allTokens];
33
- }
34
-
35
15
  export type CurrencyFilters = {
36
16
  currencies?: string[];
37
17
  };
38
-
39
- export function filterCurrencies(
40
- currencies: CryptoOrTokenCurrency[],
41
- filters: CurrencyFilters,
42
- ): CryptoOrTokenCurrency[] {
43
- const filterCurrencyRegexes = filters.currencies
44
- ? filters.currencies.map(filter => makeRe(filter))
45
- : null;
46
-
47
- return currencies.filter(currency => {
48
- if (
49
- filterCurrencyRegexes &&
50
- filterCurrencyRegexes.length &&
51
- !filterCurrencyRegexes.some(regex => currency.id.match(regex))
52
- ) {
53
- return false;
54
- }
55
-
56
- return true;
57
- });
58
- }
@@ -11,9 +11,6 @@ export {
11
11
  findCryptoCurrencyByScheme,
12
12
  findCryptoCurrencyByKeyword,
13
13
  findCryptoCurrencyByTicker,
14
- listTokens,
15
- listTokensForCryptoCurrency,
16
- listTokenTypesForCryptoCurrency,
17
14
  getAbandonSeedAddress,
18
15
  } from "@ledgerhq/cryptoassets";
19
16
  export {
@@ -1,31 +1,5 @@
1
1
  import { sortCurrenciesByIds } from "./sortByMarketcap";
2
- import { listCryptoCurrencies, listTokens } from ".";
3
- import { getBTCValues } from "@ledgerhq/live-countervalues/mock";
4
2
  import { CURRENCIES_LIST, IDS } from "./mock";
5
- import { findCryptoCurrencyByTicker, findFiatCurrencyByTicker } from "@ledgerhq/cryptoassets/index";
6
- import { getCryptoAssetsStore } from "@ledgerhq/coin-framework/crypto-assets/index";
7
- import { legacyCryptoAssetsStore } from "@ledgerhq/cryptoassets/legacy/legacy-store";
8
- import { initializeLegacyTokens } from "@ledgerhq/cryptoassets/legacy/legacy-data";
9
- import { addTokens } from "@ledgerhq/cryptoassets/legacy/legacy-utils";
10
- import { setup } from "../bridge/impl";
11
-
12
- initializeLegacyTokens(addTokens);
13
- setup(legacyCryptoAssetsStore);
14
-
15
- test("sortCurrenciesByIds snapshot", async () => {
16
- const list = [...listCryptoCurrencies(), ...listTokens()];
17
- const ids: string[] = [];
18
- for (const k in getBTCValues()) {
19
- const c =
20
- findCryptoCurrencyByTicker(k) ||
21
- findFiatCurrencyByTicker(k) ||
22
- (await getCryptoAssetsStore().findTokenById(k));
23
- if (c && (c.type == "CryptoCurrency" || c.type == "TokenCurrency")) {
24
- ids.push(c.id);
25
- }
26
- }
27
- expect(sortCurrenciesByIds(list, ids).map(c => c.id)[0]).toEqual("bitcoin");
28
- });
29
3
 
30
4
  test("sortCurrenciesByIds simulate staking from portfolio", () => {
31
5
  expect(sortCurrenciesByIds(CURRENCIES_LIST, IDS).map(c => c.id)).toEqual([
@@ -80,6 +80,7 @@ export function useAssetsData({
80
80
  return {
81
81
  data: joinedPages,
82
82
  isLoading: isInitialLoading,
83
+ isFetchingNextPage,
83
84
  error,
84
85
  loadNext: hasMore ? fetchNextPage : undefined,
85
86
  isSuccess,
@@ -17,30 +17,9 @@ export type MappedAsset = {
17
17
  ledgerCurrency?: CryptoOrTokenCurrency;
18
18
  };
19
19
 
20
- export type GroupedCurrency = {
21
- providerId: string;
22
- currenciesByNetwork: MappedAsset[];
23
- };
24
-
25
- export type CurrenciesByProviderId = {
26
- currenciesByNetwork: CryptoOrTokenCurrency[];
27
- providerId: string;
28
- metaCurrencyId?: string;
29
- };
30
-
31
- export type GroupedCurrencies = {
32
- currenciesByProvider: CurrenciesByProviderId[];
33
- sortedCryptoCurrencies: CryptoOrTokenCurrency[];
34
- };
35
-
36
20
  export enum LoadingStatus {
37
21
  Idle = "idle",
38
22
  Pending = "pending",
39
23
  Success = "success",
40
24
  Error = "error",
41
25
  }
42
-
43
- export type LoadingBasedGroupedCurrencies = {
44
- result: GroupedCurrencies;
45
- loadingStatus: LoadingStatus;
46
- };
@@ -0,0 +1 @@
1
+ export { getDeviceHasBattery } from "@ledgerhq/device-core";
@@ -6,7 +6,9 @@ import { useBatteryStatuses } from "./useBatteryStatuses";
6
6
 
7
7
  describe("useBatteryStatuses", () => {
8
8
  it("should return an initial cancelRequest method that is callable", async () => {
9
- const { result } = renderHook(() => useBatteryStatuses({ deviceName: null, statuses: [] }));
9
+ const { result } = renderHook(() =>
10
+ useBatteryStatuses({ deviceName: null, statuses: [], enabled: true }),
11
+ );
10
12
  expect(() => result.current.cancelRequest()).not.toThrow();
11
13
  });
12
14
  });
@@ -13,6 +13,7 @@ export type UseBatteryStatusesArgs = {
13
13
  deviceId?: string;
14
14
  deviceName: string | null;
15
15
  statuses: BatteryStatusTypes[];
16
+ enabled: boolean;
16
17
  };
17
18
 
18
19
  /**
@@ -31,6 +32,7 @@ export const useBatteryStatuses = ({
31
32
  deviceId,
32
33
  deviceName,
33
34
  statuses,
35
+ enabled,
34
36
  }: UseBatteryStatusesArgs): {
35
37
  batteryStatusesState: GetBatteryStatusesActionState;
36
38
  requestCompleted: boolean;
@@ -52,6 +54,7 @@ export const useBatteryStatuses = ({
52
54
  const lowBatteryPercentage = useEnv("LOW_BATTERY_PERCENTAGE");
53
55
 
54
56
  useEffect(() => {
57
+ if (!enabled) return;
55
58
  if (nonce > 0 && deviceId) {
56
59
  const sub = getBatteryStatusesAction({
57
60
  deviceId,
@@ -90,7 +93,7 @@ export const useBatteryStatuses = ({
90
93
  sub.unsubscribe();
91
94
  };
92
95
  }
93
- }, [deviceId, deviceName, lowBatteryPercentage, statuses, nonce]);
96
+ }, [deviceId, deviceName, lowBatteryPercentage, statuses, nonce, enabled]);
94
97
 
95
98
  const triggerRequest = useCallback(() => {
96
99
  setRequestCompleted(false);
@@ -1,9 +1,11 @@
1
1
  import { of, throwError } from "rxjs";
2
2
  import { retryOnErrorsCommandWrapper, sharedLogicTaskWrapper } from "./core";
3
3
  import { DisconnectedDevice, LockedDeviceError } from "@ledgerhq/errors";
4
+ import { DeviceBusyError } from "@ledgerhq/device-management-kit";
4
5
  import { concatMap } from "rxjs/operators";
5
6
  import { TransportRef } from "../transports/core";
6
7
  import { aTransportRefBuilder } from "../mocks/aTransportRef";
8
+ import { isDmkError } from "./core";
7
9
 
8
10
  // Needs to mock the timer from rxjs used in the retry mechanism
9
11
  jest.mock("rxjs", () => {
@@ -330,4 +332,22 @@ describe("retryOnErrorsCommandWrapper", () => {
330
332
  });
331
333
  });
332
334
  });
335
+
336
+ describe("isDmkError (deviceSDK/tasks/core)", () => {
337
+ it("returns true for a DMK error instance", () => {
338
+ expect(isDmkError(new DeviceBusyError())).toBe(true);
339
+ });
340
+
341
+ it("returns false for a regular Error instance", () => {
342
+ expect(isDmkError(new Error("error"))).toBe(false);
343
+ });
344
+
345
+ it("returns false for a string error (e.g. 'Invalid extension provided')", () => {
346
+ expect(isDmkError("Invalid extension provided")).toBe(false);
347
+ });
348
+
349
+ it("returns false for undefined", () => {
350
+ expect(isDmkError(undefined)).toBe(false);
351
+ });
352
+ });
333
353
  });
@@ -79,7 +79,8 @@ type ErrorClass = CustomErrorClassType | TransportStatusErrorClassType;
79
79
  // To be able to retry a command, the command needs to take an object containing a transport as its argument
80
80
  type CommandTransportArgs = { transport: Transport };
81
81
 
82
- export const isDmkError = (error: any): error is DmkError => error && "_tag" in error;
82
+ export const isDmkError = (error: unknown): error is DmkError =>
83
+ !!error && typeof error === "object" && error !== null && "_tag" in error;
83
84
 
84
85
  /**
85
86
  * Calls a command and retries it on given errors. The transport is refreshed before each retry.
@@ -11,6 +11,7 @@ import { map, switchMap } from "rxjs/operators";
11
11
  import { SharedTaskEvent, retryOnErrorsCommandWrapper, sharedLogicTaskWrapper } from "./core";
12
12
  import { quitApp } from "../commands/quitApp";
13
13
  import { withTransport } from "../transports/core";
14
+ import { SendApduEmptyResponseError } from "@ledgerhq/device-management-kit";
14
15
 
15
16
  const ManagerAllowedFlag = 0x08;
16
17
  const PinValidatedFlag = 0x80;
@@ -46,6 +47,7 @@ export function internalGetDeviceInfoTask({
46
47
  return retryOnErrorsCommandWrapper({
47
48
  command: getVersion,
48
49
  allowedErrors: [{ maxRetries: 3, errorClass: DisconnectedDevice }],
50
+ allowedDmkErrors: [new SendApduEmptyResponseError()],
49
51
  })(transportRef, {});
50
52
  }),
51
53
  map(value => {
@@ -2,11 +2,11 @@ import type { DeviceId, DeviceInfo, FirmwareUpdateContext } from "@ledgerhq/type
2
2
 
3
3
  import { quitApp } from "../commands/quitApp";
4
4
 
5
- import { withDevice } from "../../hw/deviceAccess";
6
5
  import { from, Observable, of } from "rxjs";
7
6
  import { switchMap, catchError } from "rxjs/operators";
8
7
  import { SharedTaskEvent, sharedLogicTaskWrapper } from "./core";
9
8
  import { getLatestFirmwareForDeviceUseCase } from "../../device/use-cases/getLatestFirmwareForDeviceUseCase";
9
+ import { withTransport } from "../transports/core";
10
10
 
11
11
  export type GetLatestFirmwareTaskArgs = {
12
12
  deviceId: DeviceId;
@@ -32,11 +32,11 @@ function internalGetLatestFirmwareTask({
32
32
  deviceInfo,
33
33
  }: GetLatestFirmwareTaskArgs): Observable<GetLatestFirmwareTaskEvent> {
34
34
  return new Observable(subscriber => {
35
- return withDevice(
35
+ return withTransport(
36
36
  deviceId,
37
37
  deviceName ? { matchDeviceByName: deviceName } : undefined,
38
- )(transport =>
39
- quitApp(transport).pipe(
38
+ )(({ transportRef }) =>
39
+ quitApp(transportRef.current).pipe(
40
40
  switchMap(() => {
41
41
  return from(getLatestFirmwareForDeviceUseCase(deviceInfo));
42
42
  }),
@@ -36,6 +36,7 @@ import { parseDeviceInfo } from "./getDeviceInfo";
36
36
  import {
37
37
  DeviceDisconnectedBeforeSendingApdu,
38
38
  DeviceDisconnectedWhileSendingError,
39
+ SendApduEmptyResponseError,
39
40
  } from "@ledgerhq/device-management-kit";
40
41
 
41
42
  export type UpdateFirmwareTaskArgs = {
@@ -79,6 +80,7 @@ const waitForGetVersion = retryOnErrorsCommandWrapper({
79
80
  allowedDmkErrors: [
80
81
  new DeviceDisconnectedWhileSendingError(),
81
82
  new DeviceDisconnectedBeforeSendingApdu(),
83
+ new SendApduEmptyResponseError(),
82
84
  ],
83
85
  });
84
86
 
@@ -1,18 +1,47 @@
1
1
  import { genAccount } from "@ledgerhq/coin-framework/lib/mocks/account";
2
2
  import { getCryptoCurrencyById } from "../currencies/index";
3
3
  import { Account } from "@ledgerhq/types-live";
4
+ import type { TokenCurrency } from "@ledgerhq/types-cryptoassets";
4
5
  import BigNumber from "bignumber.js";
5
6
  import { getTokensWithFunds } from "./getTokensWithFunds";
6
- import { initializeLegacyTokens } from "@ledgerhq/cryptoassets/legacy/legacy-data";
7
- import { addTokens } from "@ledgerhq/cryptoassets/legacy/legacy-utils";
7
+ import { setupMockCryptoAssetsStore } from "@ledgerhq/cryptoassets/cal-client/test-helpers";
8
8
 
9
- initializeLegacyTokens(addTokens);
9
+ // Setup mock store for unit tests
10
+ setupMockCryptoAssetsStore();
10
11
 
11
12
  const ETH = getCryptoCurrencyById("ethereum");
12
13
 
14
+ // Create mock tokens for tests
15
+ const ZRX_TOKEN: TokenCurrency = {
16
+ type: "TokenCurrency",
17
+ id: "ethereum/erc20/0x_project",
18
+ contractAddress: "0xE41d2489571d322189246DaFA5ebDe1F4699F498",
19
+ parentCurrency: ETH,
20
+ tokenType: "erc20",
21
+ name: "0x Project",
22
+ ticker: "ZRX",
23
+ delisted: false,
24
+ disableCountervalue: false,
25
+ units: [{ name: "ZRX", code: "ZRX", magnitude: 18 }],
26
+ };
27
+
28
+ const REP_TOKEN: TokenCurrency = {
29
+ type: "TokenCurrency",
30
+ id: "ethereum/erc20/augur",
31
+ contractAddress: "0x1985365e9f78359a9B6AD760e32412f4a445E862",
32
+ parentCurrency: ETH,
33
+ tokenType: "erc20",
34
+ name: "Augur",
35
+ ticker: "REP",
36
+ delisted: false,
37
+ disableCountervalue: false,
38
+ units: [{ name: "REP", code: "REP", magnitude: 18 }],
39
+ };
40
+
13
41
  const mockedAccounts: Account[] = [
14
42
  genAccount("mocked-account-2", {
15
43
  currency: ETH,
44
+ tokensData: [ZRX_TOKEN, REP_TOKEN],
16
45
  }),
17
46
  ];
18
47
 
@@ -0,0 +1,8 @@
1
+ export const assetAvailableNetworks = {
2
+ ETH: {
3
+ networks: ["Ethereum", "Base", "OP Mainnet", "Linea", "Scroll", "ZKsync"],
4
+ },
5
+ USDT: {
6
+ networks: ["Ethereum", "Solana", "BNB Chain", "TON", "Tron", "Base"],
7
+ },
8
+ };
@@ -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
+ }
@@ -108,12 +108,6 @@ export class Account {
108
108
  "0xa1baa625c5E6A9304cB7AcD86d2fee6B710eC3eB",
109
109
  1,
110
110
  );
111
- static readonly BSC_SHIBA = new Account(
112
- Currency.BSC_SHIBA,
113
- "BNB Chain 1",
114
- "0x4BE2E2B8872AA298D6d123b9211B53E41f611566",
115
- 0,
116
- );
117
111
 
118
112
  static readonly BTC_LEGACY_1 = new Account(
119
113
  Currency.BTC,
@@ -72,7 +72,7 @@ export class Currency {
72
72
  );
73
73
  static readonly SOL = new Currency("Solana", "SOL", "solana", AppInfos.SOLANA, [Network.SOLANA]);
74
74
 
75
- static readonly DOT = new Currency("Polkadot", "DOT", "polkadot", AppInfos.POLKADOT, [
75
+ static readonly DOT = new Currency("Polkadot", "DOT", "assethub_polkadot", AppInfos.POLKADOT, [
76
76
  Network.POLKADOT,
77
77
  ]);
78
78
  static readonly TRX = new Currency("Tron", "TRX", "tron", AppInfos.TRON, [Network.TRON]);
@@ -156,10 +156,6 @@ export class Currency {
156
156
  AppInfos.BNB_CHAIN,
157
157
  [Network.BNB_CHAIN, Network.POLYGON],
158
158
  );
159
- static readonly BSC_SHIBA = new Currency("Shiba Inu", "SHIB", "bsc", AppInfos.BNB_CHAIN, [
160
- Network.BNB_CHAIN,
161
- Network.ETHEREUM,
162
- ]);
163
159
  static readonly POL_DAI = new Currency(
164
160
  "(PoS) Dai Stablecoin",
165
161
  "DAI",
@@ -204,7 +200,7 @@ export class Currency {
204
200
  static readonly SUI = new Currency("Sui", "SUI", "sui", AppInfos.SUI, [Network.SUI]);
205
201
 
206
202
  static readonly SUI_USDC = new Currency(
207
- "USDC",
203
+ "USD Coin",
208
204
  "USDC",
209
205
  "sui/coin/usdc_0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::usdc",
210
206
  AppInfos.SUI,
@@ -0,0 +1,7 @@
1
+ export const ReceiveFundsOptions = {
2
+ CRYPTO: "crypto",
3
+ FIAT: "fiat",
4
+ } as const;
5
+
6
+ export type ReceiveFundsOptionsType =
7
+ (typeof ReceiveFundsOptions)[keyof typeof ReceiveFundsOptions];
@@ -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
+ );