@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
@@ -2,8 +2,7 @@ import flatMap from "lodash/flatMap";
2
2
  import { fromAccountRaw, groupAccountOperationsByDay } from "../../account";
3
3
  import { TezosAccountRaw } from "../../families/tezos/types";
4
4
  import { setSupportedCurrencies } from "../../currencies";
5
- import type { CryptoAssetsStore } from "@ledgerhq/types-live";
6
- import { setup } from "../../bridge/impl";
5
+ import { setupMockCryptoAssetsStore } from "@ledgerhq/cryptoassets/cal-client/test-helpers";
7
6
  import { LiveConfig } from "@ledgerhq/live-config/LiveConfig";
8
7
  setSupportedCurrencies(["tezos"]);
9
8
 
@@ -14,8 +13,7 @@ LiveConfig.setConfig({
14
13
  },
15
14
  });
16
15
 
17
- // eslint-disable-next-line @typescript-eslint/consistent-type-assertions
18
- setup({} as CryptoAssetsStore);
16
+ setupMockCryptoAssetsStore();
19
17
 
20
18
  let account: Awaited<ReturnType<typeof fromAccountRaw>>;
21
19
 
@@ -5,10 +5,10 @@ import { getCryptoCurrencyById } from "../currencies";
5
5
  import { accountsOpToCSV } from "../csvExport";
6
6
  import { initialState, loadCountervalues } from "@ledgerhq/live-countervalues/logic";
7
7
  import { getFiatCurrencyByTicker, setSupportedCurrencies } from "../currencies";
8
- import { initializeLegacyTokens } from "@ledgerhq/cryptoassets/legacy/legacy-data";
9
- import { addTokens } from "@ledgerhq/cryptoassets/legacy/legacy-utils";
8
+ import { setupMockCryptoAssetsStore } from "@ledgerhq/cryptoassets/cal-client/test-helpers";
10
9
 
11
- initializeLegacyTokens(addTokens);
10
+ // Setup mock store for unit tests
11
+ setupMockCryptoAssetsStore();
12
12
  setSupportedCurrencies(["ethereum", "ripple"]);
13
13
  setEnv("MOCK", "1");
14
14
  setEnv("MOCK_COUNTERVALUES", "1");
@@ -1,6 +1,5 @@
1
1
  import { BigNumber } from "bignumber.js";
2
2
  import {
3
- listTokens,
4
3
  getCryptoCurrencyById,
5
4
  getFiatCurrencyByTicker,
6
5
  formatCurrencyUnit,
@@ -10,43 +9,6 @@ import {
10
9
  encodeURIScheme,
11
10
  sanitizeValueString,
12
11
  } from "../currencies";
13
- import { byContractAddressAndChainId } from "@ledgerhq/hw-app-eth/erc20";
14
-
15
- /*
16
- skipped because ledgerjs data is now lighter (from the POV of hw-app-eth)
17
- (using cryptoassets-evm-signatures instead of cryptoassets)
18
- */
19
- test.skip("erc20 are all consistent with those on ledgerjs side", () => {
20
- const normalList = listTokens();
21
- const delistedList = listTokens({
22
- withDelisted: true,
23
- });
24
- expect(delistedList.length).toBeGreaterThan(normalList.length);
25
-
26
- for (const token of delistedList) {
27
- if (token.delisted) {
28
- expect(normalList.find(o => o.id === token.id)).toBeUndefined();
29
- }
30
-
31
- if (token.tokenType === "erc20") {
32
- if (token.parentCurrency.family === "filecoin") {
33
- continue;
34
- }
35
- const tokenData = byContractAddressAndChainId(
36
- token.contractAddress,
37
- token.parentCurrency.ethereumLikeInfo?.chainId || 0,
38
- );
39
-
40
- if (!tokenData) {
41
- throw new Error(token.name + " not available in ledgerjs data");
42
- }
43
-
44
- expect(token.ticker.toLowerCase()).toBe(tokenData.ticker.toLowerCase());
45
- expect(token.contractAddress.toLowerCase()).toBe(tokenData.contractAddress.toLowerCase());
46
- expect(token.units[0].magnitude).toBe(tokenData.decimals);
47
- }
48
- }
49
- });
50
12
 
51
13
  test("can format a currency unit", () => {
52
14
  const btc = getCryptoCurrencyById("bitcoin").units[0];
@@ -320,6 +282,11 @@ test("decodeURIScheme", () => {
320
282
  amount: new BigNumber(0.0647).times(10 ** 18),
321
283
  gasPrice: new BigNumber(77000000000),
322
284
  });
285
+ expect(
286
+ decodeURIScheme("ldg::1220691e945dc1b210f3b6be9fbad73efaf642bfb96022552f66c9e2b83b00cb20e8"),
287
+ ).toMatchObject({
288
+ address: "ldg::1220691e945dc1b210f3b6be9fbad73efaf642bfb96022552f66c9e2b83b00cb20e8",
289
+ });
323
290
  });
324
291
  test("sanitizeValueString", () => {
325
292
  const bitcoin = getCryptoCurrencyById("bitcoin");
@@ -101,6 +101,9 @@ setSupportedCurrencies([
101
101
  "ton",
102
102
  "mina",
103
103
  "monad",
104
+ "monad_testnet",
105
+ "somnia",
106
+ "zero_gravity",
104
107
  ]);
105
108
 
106
109
  LiveConfig.setConfig(liveConfig);
@@ -468,7 +468,6 @@ export function testBridge<T extends TransactionCommon>(data: DatasetTest<T>): v
468
468
  };
469
469
  const bridge = await getBridge();
470
470
  const synced = await syncAccount(bridge, copy);
471
- if (initialAccountId.includes("ripple")) return; // ripple wont work because of the current implementation of pagination
472
471
  expect(synced.operations.length).toBe(account.operations.length);
473
472
  // same ops are restored
474
473
  expect(synced.operations).toEqual(account.operations);
@@ -481,7 +480,6 @@ export function testBridge<T extends TransactionCommon>(data: DatasetTest<T>): v
481
480
  });
482
481
  makeTest("pendingOperations are cleaned up", async () => {
483
482
  const account = await getSynced();
484
- if (initialAccountId.includes("ripple")) return; // ripple wont work because of the current implementation of pagination
485
483
 
486
484
  if (account.operations.length) {
487
485
  const operations = account.operations.slice(1);
@@ -124,6 +124,9 @@ setSupportedCurrencies([
124
124
  "canton_network_testnet",
125
125
  "kaspa",
126
126
  "monad",
127
+ "monad_testnet",
128
+ "somnia",
129
+ "zero_gravity",
127
130
  ]);
128
131
  LiveConfig.setConfig(liveConfig);
129
132
 
@@ -0,0 +1,17 @@
1
+ import { setupCalClientStore } from "../../test-helpers/cryptoAssetsStore";
2
+ import "./environment";
3
+ import BigNumber from "bignumber.js";
4
+
5
+ // Integration tests use the real CAL API
6
+ setupCalClientStore();
7
+
8
+ jest.setTimeout(360000);
9
+
10
+ expect.extend({
11
+ toBeBigNumber(value) {
12
+ const pass = BigNumber.isBigNumber(value);
13
+ const message = pass ? () => `${value} is a BigNumber` : () => `${value} is not a BigNumber`;
14
+
15
+ return { message, pass };
16
+ },
17
+ });
@@ -1,11 +1,9 @@
1
- import { setCryptoAssetsStore as setCryptoAssetsStoreForCoinFramework } from "@ledgerhq/coin-framework/crypto-assets/index";
2
- import { legacyCryptoAssetsStore } from "@ledgerhq/cryptoassets/legacy/legacy-store";
3
- import { initializeLegacyTokens } from "@ledgerhq/cryptoassets/legacy/legacy-data";
4
- import { addTokens } from "@ledgerhq/cryptoassets/legacy/legacy-utils";
1
+ import { setupMockCryptoAssetsStore } from "../../test-helpers/cryptoAssetsStore";
5
2
  import "./environment";
6
3
  import BigNumber from "bignumber.js";
7
4
 
8
- initializeLegacyTokens(addTokens);
5
+ // Unit tests use mock store
6
+ setupMockCryptoAssetsStore();
9
7
 
10
8
  jest.setTimeout(360000);
11
9
 
@@ -17,6 +15,3 @@ expect.extend({
17
15
  return { message, pass };
18
16
  },
19
17
  });
20
-
21
- // Use legacyCryptoAssetsStore for integration tests so tokens can be found
22
- setCryptoAssetsStoreForCoinFramework(legacyCryptoAssetsStore);
@@ -1,8 +1,8 @@
1
1
  import { loadBlacklistedTokenSections } from "./helpers";
2
- import { getCryptoAssetsStore } from "../bridge/crypto-assets/index";
2
+ import { getCryptoAssetsStore } from "@ledgerhq/cryptoassets/state";
3
3
  import type { CryptoCurrency, TokenCurrency } from "@ledgerhq/types-cryptoassets";
4
4
 
5
- jest.mock("../bridge/crypto-assets/index");
5
+ jest.mock("@ledgerhq/cryptoassets/state");
6
6
 
7
7
  const mockGetCryptoAssetsStore = getCryptoAssetsStore as jest.MockedFunction<
8
8
  typeof getCryptoAssetsStore
@@ -12,10 +12,11 @@ import {
12
12
  type TronAccount,
13
13
  } from "@ledgerhq/coin-tron/index";
14
14
  import { isAccountEmpty as isVechainAccountEmpty } from "@ledgerhq/coin-vechain/index";
15
+ import { isAccountEmpty as isCantonAccountEmpty } from "@ledgerhq/coin-canton";
15
16
  import type { Account, AccountLike } from "@ledgerhq/types-live";
16
17
  import { isAccountDelegating } from "../families/tezos/staking";
17
18
  import type { CryptoCurrency, TokenCurrency } from "@ledgerhq/types-cryptoassets";
18
- import { getCryptoAssetsStore } from "../bridge/crypto-assets/index";
19
+ import { getCryptoAssetsStore } from "@ledgerhq/cryptoassets/state";
19
20
 
20
21
  // TODO: remove this export and prefer import from root file.
21
22
  export {
@@ -46,6 +47,9 @@ export const isAccountEmpty = (a: AccountLike): boolean => {
46
47
  if (a.currency.family == "vechain") {
47
48
  return isVechainAccountEmpty(a);
48
49
  }
50
+ if (a.currency.family == "canton") {
51
+ return isCantonAccountEmpty(a);
52
+ }
49
53
  }
50
54
 
51
55
  return commonIsAccountEmpty(a);
@@ -3,7 +3,7 @@ import { genAccount, genTokenAccount } from "@ledgerhq/coin-framework/mocks/acco
3
3
  import { toAccountRaw, fromAccountRaw } from "./serialization";
4
4
  import { setWalletAPIVersion } from "../wallet-api/version";
5
5
  import { WALLET_API_VERSION } from "../wallet-api/constants";
6
- import { setCryptoAssetsStore as setCryptoAssetsStoreForCoinFramework } from "@ledgerhq/coin-framework/crypto-assets/index";
6
+ import { setCryptoAssetsStore } from "@ledgerhq/cryptoassets/state";
7
7
  import type { CryptoAssetsStore } from "@ledgerhq/types-live";
8
8
  import solanaSplTokenData from "../__fixtures__/solana-spl-epjfwdd5aufqssqem2qn1xzybapc8g4weggkzwytdt1v.json";
9
9
  import { TokenCurrency } from "@ledgerhq/types-cryptoassets";
@@ -17,7 +17,7 @@ const Solana = getCryptoCurrencyById("solana");
17
17
  const USDC = solanaSplTokenData as TokenCurrency;
18
18
 
19
19
  // eslint-disable-next-line @typescript-eslint/consistent-type-assertions
20
- setCryptoAssetsStoreForCoinFramework({
20
+ setCryptoAssetsStore({
21
21
  findTokenById: async (id: string) => {
22
22
  if (id === "solana/spl/epjfwdd5aufqssqem2qn1xzybapc8g4weggkzwytdt1v") {
23
23
  return USDC;
@@ -75,6 +75,12 @@ const appConfig: Record<string, ConfigInfo> = {
75
75
  minVersion: "3.0.7",
76
76
  },
77
77
  },
78
+ config_nanoapp_hedera: {
79
+ type: "object",
80
+ default: {
81
+ minVersion: "1.9.0",
82
+ },
83
+ },
78
84
  };
79
85
 
80
86
  export { appConfig };
@@ -1,54 +1,19 @@
1
- import { LiveConfig } from "@ledgerhq/live-config/LiveConfig";
2
- import { getCryptoAssetsStore, setCryptoAssetsStore } from ".";
3
- import { legacyCryptoAssetsStore } from "@ledgerhq/cryptoassets/legacy/legacy-store";
1
+ import { getCryptoAssetsStore, setCryptoAssetsStore } from "@ledgerhq/cryptoassets/state";
4
2
  import type { CryptoAssetsStore } from "@ledgerhq/types-live";
3
+ import { setupMockCryptoAssetsStore } from "@ledgerhq/cryptoassets/cal-client/test-helpers";
5
4
 
6
5
  describe("Testing CryptoAssetStore", () => {
7
- it("should return the default methods from cryptoassets libs when feature flag does not exists", () => {
8
- LiveConfig.setConfig({
9
- some_other_feature: {
10
- type: "boolean",
11
- default: true,
12
- },
13
- });
14
-
15
- const store = getCryptoAssetsStore();
16
- expect(store).toBe(legacyCryptoAssetsStore);
17
- });
18
-
19
- it("should return the default methods from cryptoassets libs when feature flag is disabled", () => {
20
- LiveConfig.setConfig({
21
- feature_cal_lazy_loading: {
22
- type: "boolean",
23
- default: false,
24
- },
25
- });
26
-
27
- const store = getCryptoAssetsStore();
28
- expect(store).toBe(legacyCryptoAssetsStore);
6
+ beforeEach(() => {
7
+ // Reset the store before each test
8
+ // eslint-disable-next-line @typescript-eslint/consistent-type-assertions
9
+ setCryptoAssetsStore(undefined as unknown as CryptoAssetsStore);
29
10
  });
30
11
 
31
- it("should throw an error when no store is set and feature flag is enabled", () => {
32
- LiveConfig.setConfig({
33
- feature_cal_lazy_loading: {
34
- type: "boolean",
35
- default: true,
36
- },
37
- });
38
-
39
- expect(() => getCryptoAssetsStore()).toThrow(
40
- "CryptoAssetsStore is not set. Please call setCryptoAssetsStore first.",
41
- );
12
+ it("should throw an error when no store is set", () => {
13
+ expect(() => getCryptoAssetsStore()).toThrow("CryptoAssetsStore is not set");
42
14
  });
43
15
 
44
- it("should throw return the new store when feature flag is enabled", () => {
45
- LiveConfig.setConfig({
46
- feature_cal_lazy_loading: {
47
- type: "boolean",
48
- default: true,
49
- },
50
- });
51
-
16
+ it("should return the store when it is set", () => {
52
17
  // eslint-disable-next-line @typescript-eslint/consistent-type-assertions
53
18
  const newStore = {} as unknown as CryptoAssetsStore;
54
19
  setCryptoAssetsStore(newStore);
@@ -56,4 +21,10 @@ describe("Testing CryptoAssetStore", () => {
56
21
  const store = getCryptoAssetsStore();
57
22
  expect(store).toBe(newStore);
58
23
  });
24
+
25
+ it("should work with mock store", () => {
26
+ const mockStore = setupMockCryptoAssetsStore();
27
+ const store = getCryptoAssetsStore();
28
+ expect(store).toBe(mockStore);
29
+ });
59
30
  });
@@ -1,4 +1,4 @@
1
- import { encodeAccountId } from "@ledgerhq/coin-framework/account/index";
1
+ import { encodeAccountId, getSyncHash } from "@ledgerhq/coin-framework/account/index";
2
2
  import { GetAccountShape, mergeOps } from "@ledgerhq/coin-framework/bridge/jsHelpers";
3
3
  import { encodeOperationId } from "@ledgerhq/coin-framework/operation";
4
4
  import BigNumber from "bignumber.js";
@@ -8,6 +8,7 @@ import { inferSubOperations } from "@ledgerhq/coin-framework/serialization";
8
8
  import { buildSubAccounts, mergeSubAccounts } from "./buildSubAccounts";
9
9
  import type { Operation, Pagination } from "@ledgerhq/coin-framework/api/types";
10
10
  import type { OperationCommon } from "./types";
11
+ import type { Account } from "@ledgerhq/types-live";
11
12
 
12
13
  function isNftCoreOp(operation: Operation): boolean {
13
14
  return (
@@ -52,14 +53,13 @@ export function genericGetAccountShape(network: string, kind: string): GetAccoun
52
53
  : { ...op, accountId, id: encodeOperationId(accountId, op.hash, op.type) },
53
54
  );
54
55
  const lastPagingToken = oldOps[0]?.extra?.pagingToken || "";
56
+ const syncHash = await getSyncHash(currency.id, syncConfig.blacklistedTokenIds);
57
+ const syncFromScratch = !initialAccount?.blockHeight || initialAccount?.syncHash !== syncHash;
55
58
 
56
59
  // Calculate minHeight for pagination
57
- let minHeight: number = 0;
58
- if (oldOps.length > 0 && initialAccount?.blockHeight !== 0) {
59
- minHeight = (oldOps[0].blockHeight ?? 0) + 1;
60
- }
60
+ const minHeight = syncFromScratch ? 0 : (oldOps[0]?.blockHeight ?? 0) + 1;
61
61
  const paginationParams: Pagination = { minHeight, order: "asc" };
62
- if (lastPagingToken) {
62
+ if (lastPagingToken && !syncFromScratch) {
63
63
  paginationParams.lastPagingToken = lastPagingToken;
64
64
  }
65
65
 
@@ -81,7 +81,9 @@ export function genericGetAccountShape(network: string, kind: string): GetAccoun
81
81
  operations: newAssetOperations,
82
82
  getTokenFromAsset: alpacaApi.getTokenFromAsset,
83
83
  });
84
- const subAccounts = mergeSubAccounts(initialAccount?.subAccounts ?? [], newSubAccounts);
84
+ const subAccounts = syncFromScratch
85
+ ? newSubAccounts
86
+ : mergeSubAccounts(initialAccount?.subAccounts ?? [], newSubAccounts);
85
87
 
86
88
  const newOpsWithSubs = newOps.map(op => {
87
89
  const subOperations = inferSubOperations(op.hash, newSubAccounts);
@@ -95,12 +97,12 @@ export function genericGetAccountShape(network: string, kind: string): GetAccoun
95
97
  alpacaApi.refreshOperations && initialAccount?.pendingOperations.length
96
98
  ? await alpacaApi.refreshOperations(initialAccount.pendingOperations)
97
99
  : [];
98
- const operations = mergeOps(oldOps, [
99
- ...confirmedOperations,
100
- ...newOpsWithSubs,
101
- ]) as OperationCommon[];
100
+ const newOperations = [...confirmedOperations, ...newOpsWithSubs];
101
+ const operations = syncFromScratch
102
+ ? newOperations
103
+ : (mergeOps(oldOps, newOperations) as OperationCommon[]);
102
104
 
103
- const res = {
105
+ const res: Partial<Account> = {
104
106
  id: accountId,
105
107
  xpub: address,
106
108
  blockHeight: operations.length === 0 ? 0 : blockInfo.height || initialAccount?.blockHeight,
@@ -109,6 +111,7 @@ export function genericGetAccountShape(network: string, kind: string): GetAccoun
109
111
  operations,
110
112
  subAccounts,
111
113
  operationsCount: operations.length,
114
+ syncHash,
112
115
  };
113
116
  return res;
114
117
  };
@@ -1,8 +1,10 @@
1
1
  import BigNumber from "bignumber.js";
2
2
  import { genericGetAccountShape } from "../getAccountShape";
3
3
 
4
+ const getSyncHashMock = jest.fn();
4
5
  jest.mock("@ledgerhq/coin-framework/account/index", () => ({
5
6
  encodeAccountId: jest.fn(() => "accId"),
7
+ getSyncHash: (...args: any[]) => getSyncHashMock(...args),
6
8
  }));
7
9
 
8
10
  const mergeOpsMock = jest.fn();
@@ -63,105 +65,16 @@ describe("genericGetAccountShape", () => {
63
65
  });
64
66
 
65
67
  describe.each(chains)("$currency.id", ({ currency, network }) => {
66
- test("builds account shape with existing operations, pagination and sub accounts", async () => {
67
- const oldOp = {
68
- hash: "h1",
69
- blockHeight: 10,
70
- type: "OPT_IN",
71
- extra: { pagingToken: "pt1", assetReference: "ar1", assetOwner: "ow1" },
72
- };
73
- const pendingOp = {
74
- hash: "h0",
75
- blockHeight: 10,
76
- type: "OUT",
77
- };
78
- const initialAccount = {
79
- operations: [oldOp],
80
- pendingOperations: [pendingOp],
81
- blockHeight: 10,
82
- };
83
-
84
- extractBalanceMock.mockReturnValue({ value: "1000", locked: "300" });
85
- getBalanceMock.mockResolvedValue([
86
- { asset: { type: "native" }, value: "1000", locked: "300" },
87
- { asset: { type: "token", symbol: "TOK1" }, value: "42" },
88
- { asset: { type: "token", symbol: "TOK_IGNORE" }, value: "5" },
89
- ]);
90
-
91
- getTokenFromAssetMock.mockImplementation(asset =>
92
- asset.symbol === "TOK1" ? { id: `${currency.id}_token1` } : null,
93
- );
94
-
95
- const coreOp = { hash: "h2", height: 12 };
96
- listOperationsMock.mockResolvedValue([[coreOp]]);
97
- refreshOperationsMock.mockImplementation(ops => {
98
- const op = ops[0];
99
- if (op?.hash === "h0") {
100
- return [{ ...op, blockHeight: 12 }];
101
- }
102
- return [];
103
- });
104
-
105
- adaptCoreOperationToLiveOperationMock.mockImplementation((_accId, op) => ({
106
- hash: op.hash,
107
- type: "IN",
108
- blockHeight: 12,
109
- extra: { assetReference: "ar2", assetOwner: "ow2" },
110
- }));
111
-
112
- mergeOpsMock.mockImplementation((oldOps, newOps) => [...newOps, ...oldOps]);
113
- cleanedOperationMock.mockImplementation(operation => operation);
114
- mergeSubAccountsMock.mockImplementation((oldSubAccounts, newSubAccounts) => [
115
- ...newSubAccounts,
116
- ...oldSubAccounts,
117
- ]);
118
-
119
- buildSubAccountsMock.mockReturnValue([
120
- { id: `${currency.id}_subAcc1`, type: "TokenAccount" },
121
- ]);
122
-
123
- inferSubOperationsMock.mockImplementation(hash =>
124
- hash === "h2" ? [{ id: `${currency.id}_subOp1` }] : [],
125
- );
126
-
127
- lastBlockMock.mockResolvedValue({ height: 123 });
128
-
129
- const getShape = genericGetAccountShape(network, currency.id);
130
- const result = await getShape(
68
+ test.each([
69
+ [
70
+ "an up-to-date sync hash",
71
+ "sync-hash",
131
72
  {
132
- address: `${currency.id}_addr1`,
133
- initialAccount,
134
- currency,
135
- derivationMode: "",
136
- } as any,
137
- { paginationConfig: {} as any },
138
- );
139
-
140
- expect(chainSpecificGetAccountShapeMock).toHaveBeenCalledWith(`${currency.id}_addr1`);
141
-
142
- expect(listOperationsMock).toHaveBeenCalledWith(`${currency.id}_addr1`, {
143
- minHeight: 11,
144
- order: "asc",
145
- lastPagingToken: "pt1",
146
- });
147
-
148
- const assetsBalancePassed = buildSubAccountsMock.mock.calls[0][0].allTokenAssetsBalances;
149
- expect(assetsBalancePassed).toEqual([
150
- { asset: { symbol: "TOK1", type: "token" }, value: "42" },
151
- { asset: { symbol: "TOK_IGNORE", type: "token" }, value: "5" },
152
- ]);
153
-
154
- const assetOpsPassed = buildSubAccountsMock.mock.calls[0][0].operations;
155
- expect(assetOpsPassed).toHaveLength(1);
156
- expect(assetOpsPassed[0].hash).toBe("h2");
157
-
158
- expect(result).toMatchObject({
159
- balance: new BigNumber(1000),
160
- spendableBalance: new BigNumber(700),
161
- blockHeight: 123,
162
- operationsCount: 3,
163
- subAccounts: [{ id: `${currency.id}_subAcc1`, type: "TokenAccount" }],
164
- operations: [
73
+ minHeight: 11,
74
+ order: "asc",
75
+ lastPagingToken: "pt1",
76
+ },
77
+ [
165
78
  {
166
79
  hash: "h0",
167
80
  type: "OUT",
@@ -174,10 +87,138 @@ describe("genericGetAccountShape", () => {
174
87
  subOperations: [{ id: `${currency.id}_subOp1` }],
175
88
  extra: { assetReference: "ar2", assetOwner: "ow2" },
176
89
  },
177
- oldOp,
90
+ {
91
+ hash: "h1",
92
+ blockHeight: 10,
93
+ type: "OPT_IN",
94
+ extra: { pagingToken: "pt1", assetReference: "ar1", assetOwner: "ow1" },
95
+ },
178
96
  ],
179
- });
180
- });
97
+ ],
98
+ [
99
+ "an outdated sync hash",
100
+ "outdated-sync-hash",
101
+ {
102
+ minHeight: 0,
103
+ order: "asc",
104
+ },
105
+ [
106
+ {
107
+ hash: "h0",
108
+ type: "OUT",
109
+ blockHeight: 12,
110
+ },
111
+ {
112
+ hash: "h2",
113
+ type: "IN",
114
+ blockHeight: 12,
115
+ subOperations: [{ id: `${currency.id}_subOp1` }],
116
+ extra: { assetReference: "ar2", assetOwner: "ow2" },
117
+ },
118
+ ],
119
+ ],
120
+ ])(
121
+ "builds account shape with existing operations, pagination and sub accounts from %s",
122
+ async (_s, syncHash, expectedPagination, expectedOperations) => {
123
+ const oldOp = {
124
+ hash: "h1",
125
+ blockHeight: 10,
126
+ type: "OPT_IN",
127
+ extra: { pagingToken: "pt1", assetReference: "ar1", assetOwner: "ow1" },
128
+ };
129
+ const pendingOp = {
130
+ hash: "h0",
131
+ blockHeight: 10,
132
+ type: "OUT",
133
+ };
134
+ const initialAccount = {
135
+ operations: [oldOp],
136
+ pendingOperations: [pendingOp],
137
+ blockHeight: 10,
138
+ syncHash,
139
+ };
140
+
141
+ getSyncHashMock.mockReturnValue("sync-hash");
142
+ extractBalanceMock.mockReturnValue({ value: "1000", locked: "300" });
143
+ getBalanceMock.mockResolvedValue([
144
+ { asset: { type: "native" }, value: "1000", locked: "300" },
145
+ { asset: { type: "token", symbol: "TOK1" }, value: "42" },
146
+ { asset: { type: "token", symbol: "TOK_IGNORE" }, value: "5" },
147
+ ]);
148
+
149
+ getTokenFromAssetMock.mockImplementation(asset =>
150
+ asset.symbol === "TOK1" ? { id: `${currency.id}_token1` } : null,
151
+ );
152
+
153
+ const coreOp = { hash: "h2", height: 12 };
154
+ listOperationsMock.mockResolvedValue([[coreOp]]);
155
+ refreshOperationsMock.mockImplementation(ops => {
156
+ const op = ops[0];
157
+ if (op?.hash === "h0") {
158
+ return [{ ...op, blockHeight: 12 }];
159
+ }
160
+ return [];
161
+ });
162
+
163
+ adaptCoreOperationToLiveOperationMock.mockImplementation((_accId, op) => ({
164
+ hash: op.hash,
165
+ type: "IN",
166
+ blockHeight: 12,
167
+ extra: { assetReference: "ar2", assetOwner: "ow2" },
168
+ }));
169
+
170
+ mergeOpsMock.mockImplementation((oldOps, newOps) => [...newOps, ...oldOps]);
171
+ cleanedOperationMock.mockImplementation(operation => operation);
172
+ mergeSubAccountsMock.mockImplementation((oldSubAccounts, newSubAccounts) => [
173
+ ...newSubAccounts,
174
+ ...oldSubAccounts,
175
+ ]);
176
+
177
+ buildSubAccountsMock.mockReturnValue([
178
+ { id: `${currency.id}_subAcc1`, type: "TokenAccount" },
179
+ ]);
180
+
181
+ inferSubOperationsMock.mockImplementation(hash =>
182
+ hash === "h2" ? [{ id: `${currency.id}_subOp1` }] : [],
183
+ );
184
+
185
+ lastBlockMock.mockResolvedValue({ height: 123 });
186
+
187
+ const getShape = genericGetAccountShape(network, currency.id);
188
+ const result = await getShape(
189
+ {
190
+ address: `${currency.id}_addr1`,
191
+ initialAccount,
192
+ currency,
193
+ derivationMode: "",
194
+ } as any,
195
+ { paginationConfig: {} as any },
196
+ );
197
+
198
+ expect(chainSpecificGetAccountShapeMock).toHaveBeenCalledWith(`${currency.id}_addr1`);
199
+
200
+ expect(listOperationsMock).toHaveBeenCalledWith(`${currency.id}_addr1`, expectedPagination);
201
+
202
+ const assetsBalancePassed = buildSubAccountsMock.mock.calls[0][0].allTokenAssetsBalances;
203
+ expect(assetsBalancePassed).toEqual([
204
+ { asset: { symbol: "TOK1", type: "token" }, value: "42" },
205
+ { asset: { symbol: "TOK_IGNORE", type: "token" }, value: "5" },
206
+ ]);
207
+
208
+ const assetOpsPassed = buildSubAccountsMock.mock.calls[0][0].operations;
209
+ expect(assetOpsPassed).toHaveLength(1);
210
+ expect(assetOpsPassed[0].hash).toBe("h2");
211
+
212
+ expect(result).toMatchObject({
213
+ balance: new BigNumber(1000),
214
+ spendableBalance: new BigNumber(700),
215
+ blockHeight: 123,
216
+ operationsCount: expectedOperations.length,
217
+ subAccounts: [{ id: `${currency.id}_subAcc1`, type: "TokenAccount" }],
218
+ operations: expectedOperations,
219
+ });
220
+ },
221
+ );
181
222
 
182
223
  test("handles empty operations (no old ops, no new ops) and blockHeight=0", async () => {
183
224
  getBalanceMock.mockResolvedValue([{ asset: { type: "native" }, value: "0", locked: "0" }]);
@@ -466,8 +466,7 @@ describe("Alpaca utils", () => {
466
466
  ...baseOp,
467
467
  type: "OUT",
468
468
  value: BigInt(100),
469
- tx: { ...baseOp.tx, fees: BigInt(25) },
470
- details: { status: "failed" },
469
+ tx: { ...baseOp.tx, fees: BigInt(25), failed: true },
471
470
  };
472
471
 
473
472
  const result = adaptCoreOperationToLiveOperation(accountId, failedOp);