@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
@@ -48,7 +48,7 @@ import {
48
48
  longPressAndRelease,
49
49
  swipeRight,
50
50
  } from "./deviceInteraction/TouchDeviceSimulator";
51
- import { pressBoth, pressRightButton } from "./deviceInteraction/ButtonDeviceSimulator";
51
+ import { withDeviceController } from "./deviceInteraction/DeviceController";
52
52
 
53
53
  const isSpeculosRemote = process.env.REMOTE_SPECULOS === "true";
54
54
 
@@ -555,32 +555,35 @@ export async function fetchAllEvents(speculosApiPort: number): Promise<string[]>
555
555
  return response.data.events.map(event => event.text);
556
556
  }
557
557
 
558
- export async function pressUntilTextFound(
559
- targetText: string,
560
- strictMatch: boolean = false,
561
- ): Promise<string[]> {
562
- const maxAttempts = 18;
563
- const speculosApiPort = getEnv("SPECULOS_API_PORT");
564
-
565
- for (let attempts = 0; attempts < maxAttempts; attempts++) {
566
- const texts = await fetchCurrentScreenTexts(speculosApiPort);
567
- if (
568
- strictMatch ? texts === targetText : texts.toLowerCase().includes(targetText.toLowerCase())
569
- ) {
570
- return await fetchAllEvents(speculosApiPort);
571
- }
572
- if (isTouchDevice()) {
573
- await swipeRight();
574
- } else {
575
- await pressRightButton();
576
- }
577
- await waitForTimeOut(200);
578
- }
558
+ export const pressUntilTextFound = withDeviceController(
559
+ ({ getButtonsController }) =>
560
+ async (targetText: string, strictMatch: boolean = false): Promise<string[]> => {
561
+ const maxAttempts = 18;
562
+ const speculosApiPort = getEnv("SPECULOS_API_PORT");
563
+ const buttons = getButtonsController();
564
+
565
+ for (let attempts = 0; attempts < maxAttempts; attempts++) {
566
+ const texts = await fetchCurrentScreenTexts(speculosApiPort);
567
+ if (
568
+ strictMatch
569
+ ? texts === targetText
570
+ : texts.toLowerCase().includes(targetText.toLowerCase())
571
+ ) {
572
+ return await fetchAllEvents(speculosApiPort);
573
+ }
574
+ if (isTouchDevice()) {
575
+ await swipeRight();
576
+ } else {
577
+ await buttons.right();
578
+ }
579
+ await waitForTimeOut(200);
580
+ }
579
581
 
580
- throw new Error(
581
- `ElementNotFoundException: Element with text "${targetText}" not found on speculos screen`,
582
- );
583
- }
582
+ throw new Error(
583
+ `ElementNotFoundException: Element with text "${targetText}" not found on speculos screen`,
584
+ );
585
+ },
586
+ );
584
587
 
585
588
  export function containsSubstringInEvent(targetString: string, events: string[]): boolean {
586
589
  const concatenatedEvents = events.join("");
@@ -615,38 +618,45 @@ export async function waitForTimeOut(ms: number) {
615
618
  return new Promise(resolve => setTimeout(resolve, ms));
616
619
  }
617
620
 
618
- export async function removeMemberLedgerSync() {
619
- await waitFor(DeviceLabels.CONNECT_WITH);
620
- if (isTouchDevice()) {
621
- await pressAndRelease(DeviceLabels.CONNECT);
622
- await waitFor(DeviceLabels.REMOVE_FROM_LEDGER_SYNC);
623
- await pressAndRelease(DeviceLabels.REMOVE);
624
- await waitFor(DeviceLabels.CONFIRM_CHANGE);
625
- await pressAndRelease(DeviceLabels.TAP_TO_CONTINUE);
626
- await waitFor(DeviceLabels.TURN_ON_SYNC);
627
- await pressUntilTextFound(DeviceLabels.LEDGER_LIVE_WILL_BE);
628
- await pressUntilTextFound(DeviceLabels.TURN_ON_SYNC);
629
- await pressAndRelease(DeviceLabels.TURN_ON_SYNC);
630
- } else {
631
- await pressUntilTextFound(DeviceLabels.CONNECT_WITH_LEDGER_SYNC, true);
632
- await pressBoth();
633
- await waitFor(DeviceLabels.REMOVE_PHONE_OR_COMPUTER);
634
- await pressUntilTextFound(DeviceLabels.REMOVE_PHONE_OR_COMPUTER, true);
635
- await pressBoth();
636
- await waitFor(DeviceLabels.TURN_ON_SYNC);
637
- await pressUntilTextFound(DeviceLabels.LEDGER_LIVE_WILL_BE);
638
- await pressUntilTextFound(DeviceLabels.TURN_ON_SYNC);
639
- await pressBoth();
640
- }
641
- }
621
+ export const removeMemberLedgerSync = withDeviceController(
622
+ ({ getButtonsController }) =>
623
+ async () => {
624
+ const buttons = getButtonsController();
625
+ await waitFor(DeviceLabels.CONNECT_WITH);
626
+
627
+ if (isTouchDevice()) {
628
+ await pressAndRelease(DeviceLabels.CONNECT);
629
+ await waitFor(DeviceLabels.REMOVE_FROM_LEDGER_SYNC);
630
+ await pressAndRelease(DeviceLabels.REMOVE);
631
+ await waitFor(DeviceLabels.CONFIRM_CHANGE);
632
+ await pressAndRelease(DeviceLabels.TAP_TO_CONTINUE);
633
+ await waitFor(DeviceLabels.TURN_ON_SYNC);
634
+ await pressUntilTextFound(DeviceLabels.LEDGER_LIVE_WILL_BE);
635
+ await pressUntilTextFound(DeviceLabels.TURN_ON_SYNC);
636
+ await pressAndRelease(DeviceLabels.TURN_ON_SYNC);
637
+ } else {
638
+ await pressUntilTextFound(DeviceLabels.CONNECT_WITH_LEDGER_SYNC, true);
639
+ await buttons.both();
640
+ await waitFor(DeviceLabels.REMOVE_PHONE_OR_COMPUTER);
641
+ await pressUntilTextFound(DeviceLabels.REMOVE_PHONE_OR_COMPUTER, true);
642
+ await buttons.both();
643
+ await waitFor(DeviceLabels.TURN_ON_SYNC);
644
+ await pressUntilTextFound(DeviceLabels.LEDGER_LIVE_WILL_BE);
645
+ await pressUntilTextFound(DeviceLabels.TURN_ON_SYNC);
646
+ await buttons.both();
647
+ }
648
+ },
649
+ );
642
650
 
643
- export async function activateLedgerSync() {
651
+ export const activateLedgerSync = withDeviceController(({ getButtonsController }) => async () => {
652
+ const buttons = getButtonsController();
644
653
  await waitFor(DeviceLabels.CONNECT_WITH);
654
+
645
655
  if (isTouchDevice()) {
646
656
  await pressAndRelease(DeviceLabels.CONNECT_WITH_LEDGER_SYNC);
647
657
  } else {
648
658
  await pressUntilTextFound(DeviceLabels.CONNECT_WITH_LEDGER_SYNC, true);
649
- await pressBoth();
659
+ await buttons.both();
650
660
  }
651
661
  await waitFor(DeviceLabels.TURN_ON_SYNC);
652
662
  if (isTouchDevice()) {
@@ -654,11 +664,13 @@ export async function activateLedgerSync() {
654
664
  } else {
655
665
  await pressUntilTextFound(DeviceLabels.LEDGER_LIVE_WILL_BE);
656
666
  await pressUntilTextFound(DeviceLabels.TURN_ON_SYNC);
657
- await pressBoth();
667
+ await buttons.both();
658
668
  }
659
- }
669
+ });
670
+
671
+ export const activateExpertMode = withDeviceController(({ getButtonsController }) => async () => {
672
+ const buttons = getButtonsController();
660
673
 
661
- export async function activateExpertMode() {
662
674
  if (isTouchDevice()) {
663
675
  await goToSettings();
664
676
  const SettingsToggle1Coordinates = { x: 344, y: 136 };
@@ -669,18 +681,22 @@ export async function activateExpertMode() {
669
681
  );
670
682
  } else {
671
683
  await pressUntilTextFound(DeviceLabels.EXPERT_MODE);
672
- await pressBoth();
684
+ await buttons.both();
673
685
  }
674
- }
686
+ });
687
+
688
+ export const activateContractData = withDeviceController(({ getButtonsController }) => async () => {
689
+ const buttons = getButtonsController();
675
690
 
676
- export async function activateContractData() {
677
691
  await pressUntilTextFound(DeviceLabels.SETTINGS);
678
- await pressBoth();
692
+ await buttons.both();
679
693
  await waitFor(DeviceLabels.CONTRACT_DATA);
680
- await pressBoth();
681
- }
694
+ await buttons.both();
695
+ });
696
+
697
+ export const goToSettings = withDeviceController(({ getButtonsController }) => async () => {
698
+ const buttons = getButtonsController();
682
699
 
683
- export async function goToSettings() {
684
700
  if (isTouchDevice()) {
685
701
  const SettingsCogwheelCoordinates = { x: 400, y: 75 };
686
702
  await pressAndRelease(
@@ -690,13 +706,14 @@ export async function goToSettings() {
690
706
  );
691
707
  } else {
692
708
  await pressUntilTextFound(DeviceLabels.SETTINGS);
693
- await pressBoth();
709
+ await buttons.both();
694
710
  }
695
- }
711
+ });
696
712
 
697
- export async function providePublicKey() {
698
- await pressRightButton();
699
- }
713
+ export const providePublicKey = withDeviceController(({ getButtonsController }) => async () => {
714
+ const buttons = getButtonsController();
715
+ await buttons.right();
716
+ });
700
717
 
701
718
  type DeviceLabelsReturn = {
702
719
  delegateConfirmLabel: string;
@@ -737,28 +754,31 @@ export function getDeviceLabels(appInfo: AppInfos): DeviceLabelsReturn {
737
754
  };
738
755
  }
739
756
 
740
- export async function expectValidAddressDevice(account: Account, addressDisplayed: string) {
741
- if (account.currency === Currency.SUI_USDC) {
742
- providePublicKey();
743
- }
744
- const { receiveVerifyLabel, receiveConfirmLabel } = getDeviceLabels(account.currency.speculosApp);
745
- await waitFor(receiveVerifyLabel);
746
- if (isTouchDevice()) {
747
- const events = await pressUntilTextFound(receiveConfirmLabel);
748
- const isAddressCorrect = containsSubstringInEvent(addressDisplayed, events);
749
- expect(isAddressCorrect).toBeTruthy();
750
- await pressAndRelease(DeviceLabels.CONFIRM);
751
- } else {
752
- const { receiveVerifyLabel, receiveConfirmLabel } = getDeviceLabels(
753
- account.currency.speculosApp,
754
- );
755
- await waitFor(receiveVerifyLabel);
756
- const events = await pressUntilTextFound(receiveConfirmLabel);
757
- const isAddressCorrect = containsSubstringInEvent(addressDisplayed, events);
758
- expect(isAddressCorrect).toBeTruthy();
759
- await pressBoth();
760
- }
761
- }
757
+ export const expectValidAddressDevice = withDeviceController(
758
+ ({ getButtonsController }) =>
759
+ async (account: Account, addressDisplayed: string) => {
760
+ const buttons = getButtonsController();
761
+ if (account.currency === Currency.SUI_USDC) {
762
+ await providePublicKey();
763
+ }
764
+ const { receiveVerifyLabel, receiveConfirmLabel } = getDeviceLabels(
765
+ account.currency.speculosApp,
766
+ );
767
+ await waitFor(receiveVerifyLabel);
768
+
769
+ if (isTouchDevice()) {
770
+ const events = await pressUntilTextFound(receiveConfirmLabel);
771
+ const isAddressCorrect = containsSubstringInEvent(addressDisplayed, events);
772
+ expect(isAddressCorrect).toBeTruthy();
773
+ await pressAndRelease(DeviceLabels.CONFIRM);
774
+ } else {
775
+ const events = await pressUntilTextFound(receiveConfirmLabel);
776
+ const isAddressCorrect = containsSubstringInEvent(addressDisplayed, events);
777
+ expect(isAddressCorrect).toBeTruthy();
778
+ await buttons.both();
779
+ }
780
+ },
781
+ );
762
782
 
763
783
  export async function signSendTransaction(tx: Transaction) {
764
784
  const currencyName = tx.accountToDebit.currency;
@@ -873,58 +893,73 @@ export async function getDelegateEvents(delegatingAccount: Delegate): Promise<st
873
893
  return await pressUntilTextFound(delegateConfirmLabel);
874
894
  }
875
895
 
876
- export async function verifyAmountsAndAcceptSwap(swap: Swap, amount: string) {
877
- await waitFor(DeviceLabels.REVIEW_TRANSACTION);
878
- const events =
879
- getSpeculosModel() === DeviceModelId.nanoS
880
- ? await pressUntilTextFound(DeviceLabels.ACCEPT_AND_SEND)
881
- : await pressUntilTextFound(DeviceLabels.SIGN_TRANSACTION);
882
- verifySwapData(swap, events, amount);
883
- if (isTouchDevice()) {
884
- await longPressAndRelease(DeviceLabels.HOLD_TO_SIGN, 3);
885
- } else {
886
- await pressBoth();
887
- }
888
- }
889
-
890
- export async function verifyAmountsAndAcceptSwapForDifferentSeed(
891
- swap: Swap,
892
- amount: string,
893
- errorMessage: string | null,
894
- ) {
895
- if (errorMessage === null && isTouchDevice()) {
896
- await waitFor(DeviceLabels.RECEIVE_ADDRESS_DOES_NOT_BELONG);
897
- await pressAndRelease(DeviceLabels.CONTINUE_ANYWAY);
898
- } else {
899
- await waitFor(DeviceLabels.REVIEW_TRANSACTION);
900
- }
901
- const events = await pressUntilTextFound(DeviceLabels.SIGN_TRANSACTION);
902
- verifySwapData(swap, events, amount);
903
- if (isTouchDevice()) {
904
- await longPressAndRelease(DeviceLabels.HOLD_TO_SIGN, 3);
905
- } else {
906
- await pressBoth();
907
- }
908
- }
896
+ export const verifyAmountsAndAcceptSwap = withDeviceController(
897
+ ({ getButtonsController }) =>
898
+ async (swap: Swap, amount: string) => {
899
+ const buttons = getButtonsController();
900
+ await waitFor(DeviceLabels.REVIEW_TRANSACTION);
901
+ const events =
902
+ getSpeculosModel() === DeviceModelId.nanoS
903
+ ? await pressUntilTextFound(DeviceLabels.ACCEPT_AND_SEND)
904
+ : await pressUntilTextFound(DeviceLabels.SIGN_TRANSACTION);
905
+ verifySwapData(swap, events, amount);
906
+ if (isTouchDevice()) {
907
+ await longPressAndRelease(DeviceLabels.HOLD_TO_SIGN, 3);
908
+ } else {
909
+ await buttons.both();
910
+ }
911
+ },
912
+ );
913
+
914
+ export const verifyAmountsAndAcceptSwapForDifferentSeed = withDeviceController(
915
+ ({ getButtonsController }) =>
916
+ async (swap: Swap, amount: string, errorMessage: string | null) => {
917
+ const buttons = getButtonsController();
918
+ if (errorMessage === null) {
919
+ if (isTouchDevice()) {
920
+ await waitFor(DeviceLabels.RECEIVE_ADDRESS_DOES_NOT_BELONG);
921
+ await pressAndRelease(DeviceLabels.CONTINUE_ANYWAY);
922
+ } else {
923
+ await waitFor(DeviceLabels.REVIEW_TRANSACTION);
924
+ await pressUntilTextFound(DeviceLabels.RECEIVE_ADDRESS_DOES_NOT_BELONG);
925
+ await buttons.both();
926
+ }
927
+ } else {
928
+ await waitFor(DeviceLabels.REVIEW_TRANSACTION);
929
+ }
909
930
 
910
- export async function verifyAmountsAndRejectSwap(swap: Swap, amount: string) {
911
- await waitFor(DeviceLabels.REVIEW_TRANSACTION);
912
- let events: string[] = [];
913
- if (isTouchDevice()) {
914
- events = await pressUntilTextFound(DeviceLabels.HOLD_TO_SIGN);
915
- } else {
916
- events = await pressUntilTextFound(DeviceLabels.REJECT);
917
- }
931
+ const events = await pressUntilTextFound(DeviceLabels.SIGN_TRANSACTION);
932
+ verifySwapData(swap, events, amount);
933
+ if (isTouchDevice()) {
934
+ await longPressAndRelease(DeviceLabels.HOLD_TO_SIGN, 3);
935
+ } else {
936
+ await buttons.both();
937
+ }
938
+ },
939
+ );
940
+
941
+ export const verifyAmountsAndRejectSwap = withDeviceController(
942
+ ({ getButtonsController }) =>
943
+ async (swap: Swap, amount: string) => {
944
+ const buttons = getButtonsController();
945
+ await waitFor(DeviceLabels.REVIEW_TRANSACTION);
946
+ let events: string[] = [];
947
+ if (isTouchDevice()) {
948
+ events = await pressUntilTextFound(DeviceLabels.HOLD_TO_SIGN);
949
+ } else {
950
+ events = await pressUntilTextFound(DeviceLabels.REJECT);
951
+ }
918
952
 
919
- verifySwapData(swap, events, amount);
920
- if (isTouchDevice()) {
921
- await pressAndRelease(DeviceLabels.REJECT);
922
- await waitFor(DeviceLabels.YES_REJECT);
923
- await pressAndRelease(DeviceLabels.YES_REJECT);
924
- } else {
925
- await pressBoth();
926
- }
927
- }
953
+ verifySwapData(swap, events, amount);
954
+ if (isTouchDevice()) {
955
+ await pressAndRelease(DeviceLabels.REJECT);
956
+ await waitFor(DeviceLabels.YES_REJECT);
957
+ await pressAndRelease(DeviceLabels.YES_REJECT);
958
+ } else {
959
+ await buttons.both();
960
+ }
961
+ },
962
+ );
928
963
 
929
964
  function verifySwapData(swap: Swap, events: string[], amount: string) {
930
965
  const swapPair = `swap ${swap.getAccountToDebit.currency.ticker} to ${swap.getAccountToCredit.currency.ticker}`;
@@ -328,3 +328,7 @@ export const getAvailableProviders = async (): Promise<string[]> => {
328
328
  }
329
329
  return Object.keys(await fetchAndMergeProviderData({ ledgerSignatureEnv, partnerSignatureEnv }));
330
330
  };
331
+
332
+ export const getDefaultSwapProviderKeys = (): string[] => {
333
+ return Object.keys(DEFAULT_SWAP_PROVIDERS);
334
+ };
@@ -1,4 +1,4 @@
1
- import { getCryptoAssetsStore } from "../../bridge/crypto-assets/index";
1
+ import { getCryptoAssetsStore } from "@ledgerhq/cryptoassets/state";
2
2
  import type { AccountLike, SwapOperation } from "@ledgerhq/types-live";
3
3
  import { accountWithMandatoryTokens, getAccountCurrency } from "../../account";
4
4
  import type { MappedSwapOperation, SwapHistorySection } from "./types";
@@ -5,6 +5,10 @@ import { renderHook, waitFor } from "@testing-library/react";
5
5
 
6
6
  import { useSelectableCurrencies } from "./useSelectableCurrencies";
7
7
  import { getCryptoCurrencyById } from "../../../currencies";
8
+ import { setupMockCryptoAssetsStore } from "../../../test-helpers/cryptoAssetsStore";
9
+
10
+ // Setup mock store for unit tests
11
+ setupMockCryptoAssetsStore();
8
12
 
9
13
  describe("useSelectableCurrencies", () => {
10
14
  test("returns an empty array when empty list are passed", async () => {
@@ -1,6 +1,6 @@
1
1
  import { useEffect, useState } from "react";
2
2
  import { findCryptoCurrencyById } from "@ledgerhq/cryptoassets";
3
- import { getCryptoAssetsStore } from "../../../bridge/crypto-assets/index";
3
+ import { getCryptoAssetsStore } from "@ledgerhq/cryptoassets/state";
4
4
  import type { CryptoCurrency, TokenCurrency } from "@ledgerhq/types-cryptoassets";
5
5
 
6
6
  export const useSelectableCurrencies = ({
@@ -6,7 +6,7 @@ import { useFilteredProviders } from "./useFilteredProviders";
6
6
 
7
7
  export function useFetchCurrencyAll() {
8
8
  const fetchAdditionalCoins = useFeature("fetchAdditionalCoins");
9
- const { providers, loading, error } = useFilteredProviders();
9
+ const { providers, error } = useFilteredProviders();
10
10
 
11
11
  const { data, ...rest } = useAPI({
12
12
  queryFn: fetchCurrencyAll,
@@ -14,9 +14,8 @@ export function useFetchCurrencyAll() {
14
14
  additionalCoinsFlag: fetchAdditionalCoins?.enabled,
15
15
  providers,
16
16
  },
17
- // assume the all currency list for the given props won't change during a users session.
18
17
  staleTimeout: FETCH_CURRENCIES_TIMEOUT_MS,
19
- enabled: !loading && !error,
18
+ enabled: !error && providers.length > 0,
20
19
  });
21
20
  return {
22
21
  ...rest,
@@ -1,27 +1,52 @@
1
1
  import { getEnv } from "@ledgerhq/live-env";
2
- import { useCallback, useEffect, useState } from "react";
3
- import { fetchAndMergeProviderData } from "../../../providers/swap";
2
+ import { useCallback, useEffect, useState, useMemo } from "react";
3
+ import { fetchAndMergeProviderData, getDefaultSwapProviderKeys } from "../../../providers/swap";
4
4
  import { useFeature } from "../../../../featureFlags";
5
5
 
6
+ const filterProvidersByFeatureFlags = (
7
+ providers: string[],
8
+ ptxSwapMoonpayProviderFlag?: { enabled?: boolean },
9
+ ptxSwapExodusProviderFlag?: { enabled?: boolean },
10
+ ): string[] => {
11
+ let filtered = providers;
12
+ if (!ptxSwapMoonpayProviderFlag?.enabled) {
13
+ filtered = filtered.filter(provider => provider !== "moonpay");
14
+ }
15
+ if (!ptxSwapExodusProviderFlag?.enabled) {
16
+ filtered = filtered.filter(provider => provider !== "exodus");
17
+ }
18
+ return filtered;
19
+ };
20
+
6
21
  export const useFilteredProviders = () => {
7
- const [providers, setProviders] = useState<string[]>([]);
8
- const [loading, setLoading] = useState(true);
9
- const [error, setError] = useState<unknown>(null);
10
22
  const ptxSwapMoonpayProviderFlag = useFeature("ptxSwapMoonpayProvider");
11
23
  const ptxSwapExodusProviderFlag = useFeature("ptxSwapExodusProvider");
24
+
25
+ const defaultProviders = useMemo(
26
+ () =>
27
+ filterProvidersByFeatureFlags(
28
+ getDefaultSwapProviderKeys(),
29
+ ptxSwapMoonpayProviderFlag ?? undefined,
30
+ ptxSwapExodusProviderFlag ?? undefined,
31
+ ),
32
+ [ptxSwapMoonpayProviderFlag, ptxSwapExodusProviderFlag],
33
+ );
34
+
35
+ const [providers, setProviders] = useState<string[]>(defaultProviders);
36
+ const [loading, setLoading] = useState(true);
37
+ const [error, setError] = useState<unknown>(null);
38
+
12
39
  const fetchProviders = useCallback(async () => {
13
40
  try {
14
41
  const ledgerSignatureEnv = getEnv("MOCK_EXCHANGE_TEST_CONFIG") ? "test" : "prod";
15
42
  const partnerSignatureEnv = getEnv("MOCK_EXCHANGE_TEST_PARTNER") ? "test" : "prod";
16
43
 
17
44
  const data = await fetchAndMergeProviderData({ ledgerSignatureEnv, partnerSignatureEnv });
18
- let filteredProviders = Object.keys(data);
19
- if (!ptxSwapMoonpayProviderFlag?.enabled) {
20
- filteredProviders = filteredProviders.filter(provider => provider !== "moonpay");
21
- }
22
- if (!ptxSwapExodusProviderFlag?.enabled) {
23
- filteredProviders = filteredProviders.filter(provider => provider !== "exodus");
24
- }
45
+ const filteredProviders = filterProvidersByFeatureFlags(
46
+ Object.keys(data),
47
+ ptxSwapMoonpayProviderFlag ?? undefined,
48
+ ptxSwapExodusProviderFlag ?? undefined,
49
+ );
25
50
 
26
51
  setProviders(filteredProviders);
27
52
  } catch (error) {
@@ -1,4 +1,4 @@
1
- import "../../__tests__/test-helpers/setup";
1
+ import "../../__tests__/test-helpers/setup.integration";
2
2
  import { testBridge } from "../../__tests__/test-helpers/bridge";
3
3
  import { dataset } from "@ledgerhq/coin-algorand/test/bridge.dataset";
4
4