@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
@@ -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),
@@ -5,7 +5,7 @@
5
5
  import React from "react";
6
6
  import { renderHook } from "@testing-library/react";
7
7
  import { mockEthCryptoCurrency } from "../../__mocks__/currencies.mock";
8
- import { groupCurrenciesByProvider } from "../../utils";
8
+ import { groupCurrenciesByAsset } from "../../utils";
9
9
  import createAssetConfigurationHook from "../createAssetConfiguration";
10
10
  import { BigNumber } from "bignumber.js";
11
11
  import { genAccount, genTokenAccount } from "@ledgerhq/coin-framework/lib/mocks/account";
@@ -114,7 +114,7 @@ const assetConfigurationDeps = {
114
114
  ApyIndicator,
115
115
  MarketPercentIndicator,
116
116
  MarketPriceIndicator,
117
- assetsMap: groupCurrenciesByProvider([
117
+ assetsMap: groupCurrenciesByAsset([
118
118
  {
119
119
  asset: {
120
120
  id: "ethereum",
@@ -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
  );
@@ -0,0 +1,88 @@
1
+ import { groupCurrenciesByAsset } from "../groupCurrenciesByAsset";
2
+ import { AssetData } from "../type";
3
+ import {
4
+ mockBtcCryptoCurrency,
5
+ mockEthCryptoCurrency,
6
+ mockBaseCryptoCurrency,
7
+ } from "../../__mocks__/currencies.mock";
8
+
9
+ describe("groupCurrenciesByAsset", () => {
10
+ it("should return an empty map when given an empty array", () => {
11
+ const result = groupCurrenciesByAsset([]);
12
+ expect(result).toBeInstanceOf(Map);
13
+ expect(result.size).toBe(0);
14
+ });
15
+
16
+ it("should skip assets with empty networks array", () => {
17
+ const assetData: AssetData[] = [
18
+ {
19
+ asset: {
20
+ id: "bitcoin",
21
+ ticker: "BTC",
22
+ name: "Bitcoin",
23
+ assetsIds: {},
24
+ },
25
+ networks: [],
26
+ },
27
+ ];
28
+
29
+ const result = groupCurrenciesByAsset(assetData);
30
+ expect(result.size).toBe(0);
31
+ });
32
+
33
+ it("should group a single asset with matching providerId as mainCurrency", () => {
34
+ const assetData: AssetData[] = [
35
+ {
36
+ asset: {
37
+ id: "ethereum",
38
+ ticker: "ETH",
39
+ name: "Ethereum",
40
+ assetsIds: {},
41
+ },
42
+ networks: [mockBaseCryptoCurrency, mockEthCryptoCurrency],
43
+ },
44
+ ];
45
+
46
+ const result = groupCurrenciesByAsset(assetData);
47
+ expect(result.size).toBe(1);
48
+ expect(result.has("ethereum")).toBe(true);
49
+
50
+ const grouped = result.get("ethereum");
51
+ expect(grouped?.mainCurrency).toEqual(mockEthCryptoCurrency);
52
+ expect(grouped?.currencies).toEqual([mockBaseCryptoCurrency, mockEthCryptoCurrency]);
53
+ });
54
+
55
+ it("should group multiple assets correctly", () => {
56
+ const assetData: AssetData[] = [
57
+ {
58
+ asset: {
59
+ id: "bitcoin",
60
+ ticker: "BTC",
61
+ name: "Bitcoin",
62
+ assetsIds: {},
63
+ },
64
+ networks: [mockBtcCryptoCurrency],
65
+ },
66
+ {
67
+ asset: {
68
+ id: "ethereum",
69
+ ticker: "ETH",
70
+ name: "Ethereum",
71
+ assetsIds: {},
72
+ },
73
+ networks: [mockEthCryptoCurrency, mockBaseCryptoCurrency],
74
+ },
75
+ ];
76
+
77
+ const result = groupCurrenciesByAsset(assetData);
78
+ expect(result.size).toBe(2);
79
+ expect(result.has("bitcoin")).toBe(true);
80
+ expect(result.has("ethereum")).toBe(true);
81
+
82
+ const btcGrouped = result.get("bitcoin");
83
+ expect(btcGrouped?.mainCurrency).toEqual(mockBtcCryptoCurrency);
84
+
85
+ const ethGrouped = result.get("ethereum");
86
+ expect(ethGrouped?.mainCurrency).toEqual(mockEthCryptoCurrency);
87
+ });
88
+ });
@@ -1,7 +1,7 @@
1
1
  import { CryptoOrTokenCurrency } from "@ledgerhq/types-cryptoassets";
2
2
  import { AssetData } from "./type";
3
3
 
4
- export const groupCurrenciesByProvider = (assetsSorted: AssetData[]) => {
4
+ export const groupCurrenciesByAsset = (assetsSorted: AssetData[]) => {
5
5
  const assetMap = new Map<
6
6
  string,
7
7
  { mainCurrency: CryptoOrTokenCurrency; currencies: CryptoOrTokenCurrency[] }
@@ -10,12 +10,12 @@ export const groupCurrenciesByProvider = (assetsSorted: AssetData[]) => {
10
10
  if (assetsSorted) {
11
11
  for (const item of assetsSorted) {
12
12
  const {
13
- asset: { id: providerId },
13
+ asset: { id: assetId },
14
14
  networks = [],
15
15
  } = item;
16
- if (networks.length > 0) {
17
- const mainCurrency = networks.find(c => c.id === providerId) ?? networks[0];
18
- assetMap.set(providerId, {
16
+ if (networks?.length > 0) {
17
+ const mainCurrency = networks.find(c => c.id === assetId) ?? networks[0];
18
+ assetMap.set(assetId, {
19
19
  mainCurrency,
20
20
  currencies: networks,
21
21
  });
@@ -1,5 +1,5 @@
1
1
  import { CryptoOrTokenCurrency } from "@ledgerhq/types-cryptoassets";
2
- export { groupCurrenciesByProvider } from "./groupCurrenciesByProvider";
2
+ export { groupCurrenciesByAsset } from "./groupCurrenciesByAsset";
3
3
  export { sortAccountsByFiatValue } from "./sortAccountsByFiatValue";
4
4
 
5
5
  const getBaseId = (currency: CryptoOrTokenCurrency) =>
@@ -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 = {
@@ -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
- }
@@ -1,6 +1,5 @@
1
- import { makeRe } from "minimatch";
2
- import { isCryptoCurrency, isTokenCurrency, listCurrencies } from "../currencies";
3
- import { CryptoOrTokenCurrency, Currency } from "@ledgerhq/types-cryptoassets";
1
+ import { isCryptoCurrency, isTokenCurrency } from "../currencies";
2
+ import { Currency } from "@ledgerhq/types-cryptoassets";
4
3
  import {
5
4
  PlatformCurrency,
6
5
  PlatformSupportedCurrency,
@@ -10,7 +9,6 @@ import {
10
9
  PLATFORM_FAMILIES,
11
10
  } from "./types";
12
11
  import { includes } from "../helpers";
13
- import { CurrencyFilters } from "./filters";
14
12
 
15
13
  export function isPlatformSupportedCurrency(
16
14
  currency: Currency,
@@ -30,53 +28,8 @@ export function isPlatformCryptoCurrency(
30
28
  return currency.type === PlatformCurrencyType.CryptoCurrency;
31
29
  }
32
30
 
33
- export function isPlatformTokenCurrency(
34
- currency: PlatformCurrency,
35
- ): currency is PlatformERC20TokenCurrency {
36
- return currency.type === PlatformCurrencyType.TokenCurrency;
37
- }
38
-
39
31
  export function isPlatformERC20TokenCurrency(
40
32
  currency: PlatformCurrency,
41
33
  ): currency is PlatformERC20TokenCurrency {
42
34
  return (currency as PlatformERC20TokenCurrency).standard === "ERC20";
43
35
  }
44
-
45
- export function filterCurrencies(
46
- currencies: PlatformSupportedCurrency[],
47
- filters: CurrencyFilters,
48
- ): CryptoOrTokenCurrency[] {
49
- const filterCurrencyRegexes = filters.currencies
50
- ? filters.currencies.map(filter => makeRe(filter))
51
- : null;
52
-
53
- return currencies.filter(currency => {
54
- if (!filters.includeTokens && isTokenCurrency(currency)) {
55
- return false;
56
- }
57
-
58
- if (
59
- filterCurrencyRegexes &&
60
- filterCurrencyRegexes.length &&
61
- !filterCurrencyRegexes.some(regex => currency.id.match(regex))
62
- ) {
63
- return false;
64
- }
65
-
66
- return true;
67
- });
68
- }
69
-
70
- export function listAndFilterCurrencies({
71
- includeTokens = false,
72
- currencies,
73
- }: CurrencyFilters): CryptoOrTokenCurrency[] {
74
- // We removed the filtering with `isPlatformSupportedCurrency`
75
- // As we want to show all the currencies in the requestAccount drawer
76
- const allCurrencies = listCurrencies(includeTokens);
77
-
78
- return filterCurrencies(allCurrencies, {
79
- includeTokens,
80
- currencies,
81
- });
82
- }
@@ -1,12 +1,16 @@
1
1
  import { useCallback, useMemo } from "react";
2
+ import { useDispatch } from "react-redux";
3
+ import { ThunkDispatch, UnknownAction } from "@reduxjs/toolkit";
4
+ import { InfiniteData } from "@reduxjs/toolkit/query";
2
5
  import { AccountLike } from "@ledgerhq/types-live";
6
+ import { makeRe } from "minimatch";
7
+ import type {
8
+ TokensDataWithPagination,
9
+ PageParam,
10
+ } from "@ledgerhq/cryptoassets/lib/cal-client/state-manager/types";
11
+ import { endpoints as calEndpoints } from "@ledgerhq/cryptoassets/cal-client/state-manager/api";
3
12
  import { accountToPlatformAccount, currencyToPlatformCurrency } from "./converters";
4
- import {
5
- filterPlatformAccounts,
6
- filterPlatformCurrencies,
7
- AccountFilters,
8
- CurrencyFilters,
9
- } from "./filters";
13
+ import { filterPlatformAccounts, AccountFilters, CurrencyFilters } from "./filters";
10
14
  import { isPlatformSupportedCurrency } from "./helpers";
11
15
  import {
12
16
  ListPlatformAccount,
@@ -16,7 +20,7 @@ import {
16
20
  PlatformAccount,
17
21
  } from "./types";
18
22
  import { getParentAccount } from "../account";
19
- import { listCurrencies } from "../currencies";
23
+ import { listSupportedCurrencies } from "../currencies";
20
24
  import { WalletState } from "@ledgerhq/live-wallet/store";
21
25
 
22
26
  /**
@@ -75,24 +79,84 @@ export function useListPlatformAccounts(
75
79
  );
76
80
  }
77
81
 
78
- export function usePlatformCurrencies(): PlatformCurrency[] {
79
- return useMemo(() => {
80
- return listCurrencies(true).reduce<PlatformCurrency[]>((filtered, currency) => {
81
- if (isPlatformSupportedCurrency(currency)) {
82
- filtered.push(currencyToPlatformCurrency(currency));
82
+ export function useListPlatformCurrencies(
83
+ deactivatedCurrencyIds: Set<string>,
84
+ ): ListPlatformCurrency {
85
+ const dispatch = useDispatch<ThunkDispatch<any, any, UnknownAction>>();
86
+
87
+ return useCallback(
88
+ async (filters?: CurrencyFilters) => {
89
+ const filterCurrencyRegexes = filters?.currencies
90
+ ? filters.currencies.map(filter => makeRe(filter))
91
+ : null;
92
+
93
+ // 1. Gather all supported parent currencies
94
+ const allCurrencies = listSupportedCurrencies().reduce<PlatformCurrency[]>((acc, c) => {
95
+ if (isPlatformSupportedCurrency(c) && !deactivatedCurrencyIds.has(c.id))
96
+ acc.push(currencyToPlatformCurrency(c));
97
+ return acc;
98
+ }, []);
99
+
100
+ // 2. Determine which currencies to include based on patterns
101
+ let includedCurrencies: PlatformCurrency[] = allCurrencies;
102
+ if (filterCurrencyRegexes) {
103
+ includedCurrencies = allCurrencies.filter(c => {
104
+ if (filterCurrencyRegexes && !filterCurrencyRegexes.some(regex => c.id.match(regex))) {
105
+ return false;
106
+ }
107
+ return true;
108
+ });
109
+ }
110
+
111
+ if (filters?.includeTokens === false) {
112
+ return includedCurrencies;
83
113
  }
84
- return filtered;
85
- }, []);
86
- }, []);
87
- }
88
114
 
89
- export function useListPlatformCurrencies(): ListPlatformCurrency {
90
- const currencies = usePlatformCurrencies();
115
+ // 3. Determine which token families to fetch (only if not already fetched as specific tokens)
116
+ const familiesToFetch = new Set<string>();
117
+ includedCurrencies.forEach(c => {
118
+ if (c.type === "CryptoCurrency") familiesToFetch.add(c.family);
119
+ });
91
120
 
92
- return useCallback(
93
- (filters?: CurrencyFilters) => {
94
- return filterPlatformCurrencies(currencies, filters || {});
121
+ // 4. Fetch tokens for relevant families
122
+ const fetchAllPagesForFamily = async (family: string) => {
123
+ const args = { networkFamily: family, pageSize: 1000 };
124
+ let hasNextPage = true;
125
+ let data: InfiniteData<TokensDataWithPagination, PageParam> | undefined;
126
+
127
+ while (hasNextPage) {
128
+ const querySub = dispatch(
129
+ calEndpoints.getTokensData.initiate(args, data ? { direction: "forward" } : undefined),
130
+ );
131
+
132
+ try {
133
+ const result = await querySub;
134
+ data = result.data;
135
+ hasNextPage = result.hasNextPage;
136
+ if (result.error) throw result.error;
137
+ } finally {
138
+ querySub.unsubscribe();
139
+ }
140
+ }
141
+
142
+ return (data?.pages ?? []).flatMap(p => p.tokens);
143
+ };
144
+
145
+ const tokensByFamily = await Promise.all(
146
+ [...familiesToFetch].map(f => fetchAllPagesForFamily(f)),
147
+ );
148
+
149
+ // 5. Combine all results
150
+ return tokensByFamily.reduce<PlatformCurrency[]>((acc, tokens) => {
151
+ return tokens.reduce<PlatformCurrency[]>((tAcc, t) => {
152
+ const pc = currencyToPlatformCurrency(t);
153
+ if (!filterCurrencyRegexes || filterCurrencyRegexes.some(r => pc.id.match(r))) {
154
+ tAcc.push(pc);
155
+ }
156
+ return tAcc;
157
+ }, acc);
158
+ }, includedCurrencies);
95
159
  },
96
- [currencies],
160
+ [deactivatedCurrencyIds, dispatch],
97
161
  );
98
162
  }
@@ -196,6 +196,6 @@ export type PlatformSignedTransaction = SignedOperation;
196
196
 
197
197
  export type ListPlatformAccount = (filters?: AccountFilters) => PlatformAccount[];
198
198
 
199
- export type ListPlatformCurrency = (filters?: CurrencyFilters) => PlatformCurrency[];
199
+ export type ListPlatformCurrency = (filters?: CurrencyFilters) => Promise<PlatformCurrency[]>;
200
200
 
201
201
  export type PlatformSupportedCurrency = CryptoCurrency | TokenCurrency;
@@ -0,0 +1,5 @@
1
+ export {
2
+ setupCalClientStore,
3
+ setupMockCryptoAssetsStore,
4
+ createMockCryptoAssetsStore,
5
+ } from "@ledgerhq/cryptoassets/cal-client/test-helpers";
@@ -3,10 +3,10 @@ import { genAccount } from "../../mock/account";
3
3
  import type { CryptoCurrency, TokenCurrency } from "@ledgerhq/types-cryptoassets";
4
4
  import type { Account, TokenAccount } from "@ledgerhq/types-live";
5
5
  import { getAccountTuplesForCurrency } from "../getAccountTuplesForCurrency";
6
- import { initializeLegacyTokens } from "@ledgerhq/cryptoassets/legacy/legacy-data";
7
- import { addTokens } from "@ledgerhq/cryptoassets/legacy/legacy-utils";
6
+ import { setupMockCryptoAssetsStore } from "@ledgerhq/cryptoassets/cal-client/test-helpers";
8
7
 
9
- initializeLegacyTokens(addTokens);
8
+ // Setup mock store for unit tests
9
+ setupMockCryptoAssetsStore();
10
10
 
11
11
  function* accountGenerator(currency: CryptoCurrency): Generator<Account> {
12
12
  let id = 0;
@@ -54,19 +54,6 @@ describe("getAccountTuplesForCurrency", () => {
54
54
 
55
55
  expect(results).toHaveLength(0);
56
56
  });
57
-
58
- test("filters based on the accountId map", () => {
59
- const ethCurrency = getCryptoCurrencyById("ethereum");
60
- const ethAccounts = [getEthAccount(), getEthAccount(), getEthAccount(), getEthAccount()];
61
-
62
- const results = getAccountTuplesForCurrency(
63
- ethCurrency,
64
- ethAccounts,
65
- new Map([[ethAccounts[0].id, true]]),
66
- );
67
-
68
- expect(results).toHaveLength(1);
69
- });
70
57
  });
71
58
 
72
59
  describe("TokenCurrency", () => {
@@ -130,22 +117,5 @@ describe("getAccountTuplesForCurrency", () => {
130
117
  const results = getAccountTuplesForCurrency(aaveToken, allAccounts);
131
118
  expect(results).toHaveLength(0);
132
119
  });
133
-
134
- test("does not filter based on the accountId map", () => {
135
- const aaveAccounts = [
136
- { ...getEthAccount(), subAccounts: [aaveToken] },
137
- { ...getEthAccount(), subAccounts: [aaveToken] },
138
- { ...getEthAccount(), subAccounts: [aaveToken] },
139
- { ...getEthAccount(), subAccounts: [aaveToken] },
140
- ];
141
-
142
- const results = getAccountTuplesForCurrency(
143
- aaveToken,
144
- aaveAccounts,
145
- new Map([[aaveAccounts[0].id, true]]),
146
- );
147
-
148
- expect(results).toHaveLength(4);
149
- });
150
120
  });
151
121
  });
@@ -10,17 +10,12 @@ export type AccountTuple = {
10
10
  export function getAccountTuplesForCurrency(
11
11
  currency: CryptoCurrency | TokenCurrency,
12
12
  allAccounts: Account[],
13
- accountIds?: Map<string, boolean>,
14
13
  ): AccountTuple[] {
15
14
  const isToken = currency.type === "TokenCurrency";
16
15
  const targetCurrencyId = isToken ? currency.parentCurrency.id : currency.id;
17
16
 
18
17
  return allAccounts
19
- .filter(
20
- account =>
21
- account.currency.id === targetCurrencyId &&
22
- (isToken ? true : accountIds ? accountIds.has(account.id) : true),
23
- )
18
+ .filter(account => account.currency.id === targetCurrencyId)
24
19
  .map(account => {
25
20
  const subAccount = isToken
26
21
  ? account.subAccounts?.find(
@@ -3,6 +3,7 @@ import { Account } from "@ledgerhq/types-live";
3
3
  import { CryptoCurrency, TokenCurrency } from "@ledgerhq/types-cryptoassets";
4
4
  import BigNumber from "bignumber.js";
5
5
  import { AppPlatform, AppBranch, Visibility } from "../types";
6
+ import { getCryptoAssetsStore } from "@ledgerhq/cryptoassets/state";
6
7
 
7
8
  // Mock dependencies
8
9
  jest.mock("@ledgerhq/wallet-api-server", () => ({
@@ -14,7 +15,7 @@ jest.mock("@ledgerhq/cryptoassets", () => ({
14
15
  getCryptoCurrencyById: jest.fn(),
15
16
  }));
16
17
 
17
- jest.mock("../../bridge/crypto-assets/index", () => ({
18
+ jest.mock("@ledgerhq/cryptoassets/state", () => ({
18
19
  getCryptoAssetsStore: jest.fn(),
19
20
  }));
20
21
 
@@ -150,12 +151,10 @@ describe("ACRE Server Handlers", () => {
150
151
  let mockUiHooks: any;
151
152
  let serverHandlers: any;
152
153
 
153
- const { getCryptoAssetsStore } = jest.requireMock("../../bridge/crypto-assets/index");
154
-
155
154
  beforeEach(() => {
156
155
  jest.clearAllMocks();
157
156
 
158
- getCryptoAssetsStore.mockReturnValue({
157
+ (getCryptoAssetsStore as jest.Mock).mockReturnValue({
159
158
  findTokenByAddressInCurrency: jest.fn().mockResolvedValue(mockTokenCurrency),
160
159
  findTokenById: jest.fn().mockResolvedValue(mockTokenCurrency),
161
160
  });
@@ -8,7 +8,7 @@ import {
8
8
  isTokenAccount,
9
9
  } from "@ledgerhq/coin-framework/account/index";
10
10
  import { Account, AccountLike, AnyMessage, Operation, SignedOperation } from "@ledgerhq/types-live";
11
- import { getCryptoAssetsStore } from "../../bridge/crypto-assets/index";
11
+ import { getCryptoAssetsStore } from "@ledgerhq/cryptoassets/state";
12
12
  import { getCryptoCurrencyById } from "@ledgerhq/cryptoassets/currencies";
13
13
  import {
14
14
  MessageSignParams,
@@ -6,7 +6,6 @@ import {
6
6
  ExchangeStartFundParams,
7
7
  } from "@ledgerhq/wallet-api-exchange-module";
8
8
  import { WalletContext, WalletHandlers } from "@ledgerhq/wallet-api-server";
9
- import { of } from "rxjs";
10
9
  import { genAccount } from "../../mock/account";
11
10
  import { AppBranch, AppPlatform, Visibility } from "../types";
12
11
  import { handlers } from "./server";
@@ -193,8 +192,6 @@ function prepareSwapRequest(params: ExchangeStartSwapParams): PreparedRequest {
193
192
  };
194
193
 
195
194
  const context = {
196
- currencies$: of([]),
197
- accounts$: of([]),
198
195
  config: {
199
196
  userId: "userId",
200
197
  tracking: false,
@@ -222,8 +219,6 @@ function prepareSellRequest(params: ExchangeStartParams): PreparedRequest {
222
219
  };
223
220
 
224
221
  const context = {
225
- currencies$: of([]),
226
- accounts$: of([]),
227
222
  config: {
228
223
  userId: "userId",
229
224
  tracking: false,
@@ -4,8 +4,7 @@ import {
4
4
  getParentAccount,
5
5
  makeEmptyTokenAccount,
6
6
  } from "@ledgerhq/coin-framework/account/index";
7
- import { listTokensForCryptoCurrency } from "@ledgerhq/cryptoassets";
8
- import { getCryptoAssetsStore } from "../../bridge/crypto-assets/index";
7
+ import { getCryptoAssetsStore } from "@ledgerhq/cryptoassets/state";
9
8
  import { decodeSwapPayload } from "@ledgerhq/hw-app-exchange";
10
9
  import { CryptoOrTokenCurrency } from "@ledgerhq/types-cryptoassets";
11
10
  import { Account, AccountLike, getCurrencyForAccount, TokenAccount } from "@ledgerhq/types-live";
@@ -764,14 +763,16 @@ async function getToCurrency(
764
763
 
765
764
  // In case of an SPL Token recipient and no TokenAccount exists.
766
765
  if (
767
- toAccount.type !== "TokenAccount" && // it must no be a SPL Token
766
+ toAccount.type !== "TokenAccount" && // it must not be a SPL Token
768
767
  toAccount.currency.id === "solana" && // the target account must be a SOL Account
769
768
  tokenAddress !== toAccount.freshAddress
770
769
  ) {
771
- const splTokenCurrency = listTokensForCryptoCurrency(toAccount.currency).find(
772
- tk => tk.tokenType === "spl" && tk.ticker === currencyTo,
773
- )!;
774
- return splTokenCurrency;
770
+ // tokenAddress is the SPL token mint address for Solana tokens
771
+ const splTokenCurrency = await getCryptoAssetsStore().findTokenByAddressInCurrency(
772
+ tokenAddress,
773
+ "solana",
774
+ );
775
+ if (splTokenCurrency && splTokenCurrency.ticker === currencyTo) return splTokenCurrency;
775
776
  }
776
777
 
777
778
  return newTokenAccount?.token ?? getCurrencyForAccount(toAccount);
@@ -22,12 +22,17 @@ export const getAccountIdFromWalletAccountId = (walletAccountId: string): string
22
22
 
23
23
  export const getWalletApiIdFromAccountId = (id: string): string => uuidv5(id, NAMESPACE);
24
24
 
25
+ export const setWalletApiIdForAccountId = (accountId: string): void => {
26
+ const walletApiId = getWalletApiIdFromAccountId(accountId);
27
+ uuidToAccountId.set(walletApiId, accountId);
28
+ };
29
+
25
30
  export function accountToWalletAPIAccount(
26
31
  walletState: WalletState,
27
32
  account: AccountLike,
28
33
  parentAccount?: Account | null,
29
34
  ): WalletAPIAccount {
30
- const walletApiId = uuidv5(account.id, NAMESPACE);
35
+ const walletApiId = getWalletApiIdFromAccountId(account.id);
31
36
  uuidToAccountId.set(walletApiId, account.id);
32
37
 
33
38
  if (isTokenAccount(account)) {