@ledgerhq/live-common 34.48.0 → 34.49.0-nightly.0

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 (683) hide show
  1. package/lib/__tests__/test-helpers/environment.js +1 -0
  2. package/lib/__tests__/test-helpers/environment.js.map +1 -1
  3. package/lib/apps/inlineAppInstall.d.ts +1 -3
  4. package/lib/apps/inlineAppInstall.d.ts.map +1 -1
  5. package/lib/apps/inlineAppInstall.js +2 -2
  6. package/lib/apps/inlineAppInstall.js.map +1 -1
  7. package/lib/apps/react.d.ts +1 -2
  8. package/lib/apps/react.d.ts.map +1 -1
  9. package/lib/apps/react.js +2 -2
  10. package/lib/apps/react.js.map +1 -1
  11. package/lib/apps/runner.d.ts +2 -4
  12. package/lib/apps/runner.d.ts.map +1 -1
  13. package/lib/apps/runner.js +3 -4
  14. package/lib/apps/runner.js.map +1 -1
  15. package/lib/bridge/generic-alpaca/accountBridge.d.ts +2 -1
  16. package/lib/bridge/generic-alpaca/accountBridge.d.ts.map +1 -1
  17. package/lib/bridge/generic-alpaca/accountBridge.js +2 -2
  18. package/lib/bridge/generic-alpaca/accountBridge.js.map +1 -1
  19. package/lib/bridge/generic-alpaca/alpaca/index.d.ts +1 -1
  20. package/lib/bridge/generic-alpaca/alpaca/index.d.ts.map +1 -1
  21. package/lib/bridge/generic-alpaca/alpaca/index.js +10 -6
  22. package/lib/bridge/generic-alpaca/alpaca/index.js.map +1 -1
  23. package/lib/bridge/generic-alpaca/alpaca/index.unit.test.js +37 -9
  24. package/lib/bridge/generic-alpaca/alpaca/index.unit.test.js.map +1 -1
  25. package/lib/bridge/generic-alpaca/broadcast.js +2 -2
  26. package/lib/bridge/generic-alpaca/broadcast.js.map +1 -1
  27. package/lib/bridge/generic-alpaca/createTransaction.d.ts +3 -23
  28. package/lib/bridge/generic-alpaca/createTransaction.d.ts.map +1 -1
  29. package/lib/bridge/generic-alpaca/createTransaction.js +11 -7
  30. package/lib/bridge/generic-alpaca/createTransaction.js.map +1 -1
  31. package/lib/bridge/generic-alpaca/currencyBridge.d.ts +2 -1
  32. package/lib/bridge/generic-alpaca/currencyBridge.d.ts.map +1 -1
  33. package/lib/bridge/generic-alpaca/currencyBridge.js +3 -2
  34. package/lib/bridge/generic-alpaca/currencyBridge.js.map +1 -1
  35. package/lib/bridge/generic-alpaca/estimateMaxSpendable.d.ts.map +1 -1
  36. package/lib/bridge/generic-alpaca/estimateMaxSpendable.js +4 -2
  37. package/lib/bridge/generic-alpaca/estimateMaxSpendable.js.map +1 -1
  38. package/lib/bridge/generic-alpaca/getAccountShape.d.ts.map +1 -1
  39. package/lib/bridge/generic-alpaca/getAccountShape.js +5 -5
  40. package/lib/bridge/generic-alpaca/getAccountShape.js.map +1 -1
  41. package/lib/bridge/generic-alpaca/getTransactionStatus.d.ts.map +1 -1
  42. package/lib/bridge/generic-alpaca/getTransactionStatus.js +2 -1
  43. package/lib/bridge/generic-alpaca/getTransactionStatus.js.map +1 -1
  44. package/lib/bridge/generic-alpaca/prepareTransaction.d.ts +5 -13
  45. package/lib/bridge/generic-alpaca/prepareTransaction.d.ts.map +1 -1
  46. package/lib/bridge/generic-alpaca/prepareTransaction.js +2 -2
  47. package/lib/bridge/generic-alpaca/prepareTransaction.js.map +1 -1
  48. package/lib/bridge/generic-alpaca/signOperation.d.ts +3 -2
  49. package/lib/bridge/generic-alpaca/signOperation.d.ts.map +1 -1
  50. package/lib/bridge/generic-alpaca/signOperation.js +19 -15
  51. package/lib/bridge/generic-alpaca/signOperation.js.map +1 -1
  52. package/lib/bridge/generic-alpaca/signer/Eth.d.ts +8 -0
  53. package/lib/bridge/generic-alpaca/signer/Eth.d.ts.map +1 -0
  54. package/lib/bridge/generic-alpaca/signer/Eth.js +51 -0
  55. package/lib/bridge/generic-alpaca/signer/Eth.js.map +1 -0
  56. package/lib/bridge/generic-alpaca/signer/index.d.ts +2 -10
  57. package/lib/bridge/generic-alpaca/signer/index.d.ts.map +1 -1
  58. package/lib/bridge/generic-alpaca/signer/index.js +2 -2
  59. package/lib/bridge/generic-alpaca/signer/index.js.map +1 -1
  60. package/lib/bridge/generic-alpaca/signer/signTransaction.d.ts +2 -3
  61. package/lib/bridge/generic-alpaca/signer/signTransaction.d.ts.map +1 -1
  62. package/lib/bridge/generic-alpaca/signer/signTransaction.js.map +1 -1
  63. package/lib/bridge/generic-alpaca/signer/types.d.ts +11 -0
  64. package/lib/bridge/generic-alpaca/signer/types.d.ts.map +1 -1
  65. package/lib/bridge/generic-alpaca/tests/getAccountShape.test.d.ts +2 -0
  66. package/lib/bridge/generic-alpaca/tests/getAccountShape.test.d.ts.map +1 -0
  67. package/lib/bridge/generic-alpaca/tests/getAccountShape.test.js +144 -0
  68. package/lib/bridge/generic-alpaca/tests/getAccountShape.test.js.map +1 -0
  69. package/lib/bridge/generic-alpaca/tests/prepareTransaction.test.js +2 -0
  70. package/lib/bridge/generic-alpaca/tests/prepareTransaction.test.js.map +1 -1
  71. package/lib/bridge/generic-alpaca/tests/signOperation.test.js +5 -4
  72. package/lib/bridge/generic-alpaca/tests/signOperation.test.js.map +1 -1
  73. package/lib/bridge/generic-alpaca/types.d.ts +25 -0
  74. package/lib/bridge/generic-alpaca/types.d.ts.map +1 -0
  75. package/lib/bridge/generic-alpaca/types.js +3 -0
  76. package/lib/bridge/generic-alpaca/types.js.map +1 -0
  77. package/lib/bridge/generic-alpaca/utils.d.ts +4 -8
  78. package/lib/bridge/generic-alpaca/utils.d.ts.map +1 -1
  79. package/lib/bridge/generic-alpaca/utils.js +15 -1
  80. package/lib/bridge/generic-alpaca/utils.js.map +1 -1
  81. package/lib/bridge/generic-alpaca/utils.test.js +21 -0
  82. package/lib/bridge/generic-alpaca/utils.test.js.map +1 -1
  83. package/lib/config/sharedConfig.d.ts.map +1 -1
  84. package/lib/config/sharedConfig.js +30 -28
  85. package/lib/config/sharedConfig.js.map +1 -1
  86. package/lib/e2e/data/deviceLabelsData.d.ts +27 -0
  87. package/lib/e2e/data/deviceLabelsData.d.ts.map +1 -0
  88. package/lib/e2e/data/deviceLabelsData.js +78 -0
  89. package/lib/e2e/data/deviceLabelsData.js.map +1 -0
  90. package/lib/e2e/enum/Account.d.ts +2 -0
  91. package/lib/e2e/enum/Account.d.ts.map +1 -1
  92. package/lib/e2e/enum/Account.js +2 -0
  93. package/lib/e2e/enum/Account.js.map +1 -1
  94. package/lib/e2e/enum/AppInfos.d.ts +1 -0
  95. package/lib/e2e/enum/AppInfos.d.ts.map +1 -1
  96. package/lib/e2e/enum/AppInfos.js +1 -0
  97. package/lib/e2e/enum/AppInfos.js.map +1 -1
  98. package/lib/e2e/enum/Currency.d.ts +1 -0
  99. package/lib/e2e/enum/Currency.d.ts.map +1 -1
  100. package/lib/e2e/enum/Currency.js +1 -0
  101. package/lib/e2e/enum/Currency.js.map +1 -1
  102. package/lib/e2e/enum/DeviceLabels.d.ts +51 -44
  103. package/lib/e2e/enum/DeviceLabels.d.ts.map +1 -1
  104. package/lib/e2e/enum/DeviceLabels.js +51 -44
  105. package/lib/e2e/enum/DeviceLabels.js.map +1 -1
  106. package/lib/e2e/enum/Network.d.ts +2 -1
  107. package/lib/e2e/enum/Network.d.ts.map +1 -1
  108. package/lib/e2e/enum/Network.js +1 -0
  109. package/lib/e2e/enum/Network.js.map +1 -1
  110. package/lib/e2e/families/cardano.d.ts.map +1 -1
  111. package/lib/e2e/families/cardano.js +1 -0
  112. package/lib/e2e/families/cardano.js.map +1 -1
  113. package/lib/e2e/families/celo.d.ts +1 -1
  114. package/lib/e2e/families/celo.d.ts.map +1 -1
  115. package/lib/e2e/families/celo.js +3 -5
  116. package/lib/e2e/families/celo.js.map +1 -1
  117. package/lib/e2e/families/cosmos.d.ts.map +1 -1
  118. package/lib/e2e/families/cosmos.js +1 -2
  119. package/lib/e2e/families/cosmos.js.map +1 -1
  120. package/lib/e2e/families/evm.d.ts.map +1 -1
  121. package/lib/e2e/families/evm.js +4 -1
  122. package/lib/e2e/families/evm.js.map +1 -1
  123. package/lib/e2e/families/kaspa.d.ts +4 -0
  124. package/lib/e2e/families/kaspa.d.ts.map +1 -0
  125. package/lib/e2e/families/kaspa.js +23 -0
  126. package/lib/e2e/families/kaspa.js.map +1 -0
  127. package/lib/e2e/families/multiversX.d.ts +2 -1
  128. package/lib/e2e/families/multiversX.d.ts.map +1 -1
  129. package/lib/e2e/families/multiversX.js +2 -4
  130. package/lib/e2e/families/multiversX.js.map +1 -1
  131. package/lib/e2e/families/near.d.ts.map +1 -1
  132. package/lib/e2e/families/near.js +1 -2
  133. package/lib/e2e/families/near.js.map +1 -1
  134. package/lib/e2e/families/osmosis.d.ts.map +1 -1
  135. package/lib/e2e/families/osmosis.js +1 -3
  136. package/lib/e2e/families/osmosis.js.map +1 -1
  137. package/lib/e2e/families/solana.d.ts +2 -1
  138. package/lib/e2e/families/solana.d.ts.map +1 -1
  139. package/lib/e2e/families/solana.js +6 -4
  140. package/lib/e2e/families/solana.js.map +1 -1
  141. package/lib/e2e/families/tezos.d.ts +2 -1
  142. package/lib/e2e/families/tezos.d.ts.map +1 -1
  143. package/lib/e2e/families/tezos.js +7 -5
  144. package/lib/e2e/families/tezos.js.map +1 -1
  145. package/lib/e2e/index.d.ts +5 -7
  146. package/lib/e2e/index.d.ts.map +1 -1
  147. package/lib/e2e/speculos.d.ts +2 -1
  148. package/lib/e2e/speculos.d.ts.map +1 -1
  149. package/lib/e2e/speculos.js +48 -28
  150. package/lib/e2e/speculos.js.map +1 -1
  151. package/lib/env.react.d.ts +1 -1
  152. package/lib/env.react.d.ts.map +1 -1
  153. package/lib/exchange/providers/swap.d.ts.map +1 -1
  154. package/lib/exchange/providers/swap.js +15 -0
  155. package/lib/exchange/providers/swap.js.map +1 -1
  156. package/lib/exchange/swap/transactionStrategies.d.ts +38 -11
  157. package/lib/exchange/swap/transactionStrategies.d.ts.map +1 -1
  158. package/lib/exchange/swap/transactionStrategies.js +93 -47
  159. package/lib/exchange/swap/transactionStrategies.js.map +1 -1
  160. package/lib/families/canton/config.d.ts.map +1 -1
  161. package/lib/families/canton/config.js +3 -5
  162. package/lib/families/canton/config.js.map +1 -1
  163. package/lib/families/canton/setup.d.ts.map +1 -1
  164. package/lib/families/canton/setup.js +5 -5
  165. package/lib/families/canton/setup.js.map +1 -1
  166. package/lib/families/evm/config.js +2 -2
  167. package/lib/families/evm/config.js.map +1 -1
  168. package/lib/families/kaspa/bridge.integration.test.d.ts +2 -0
  169. package/lib/families/kaspa/bridge.integration.test.d.ts.map +1 -0
  170. package/lib/families/kaspa/bridge.integration.test.js +7 -0
  171. package/lib/families/kaspa/bridge.integration.test.js.map +1 -0
  172. package/lib/families/kaspa/config.d.ts +3 -0
  173. package/lib/families/kaspa/config.d.ts.map +1 -0
  174. package/lib/families/kaspa/config.js +14 -0
  175. package/lib/families/kaspa/config.js.map +1 -0
  176. package/lib/families/kaspa/react.d.ts +4 -0
  177. package/lib/families/kaspa/react.d.ts.map +1 -0
  178. package/lib/families/kaspa/react.js +18 -0
  179. package/lib/families/kaspa/react.js.map +1 -0
  180. package/lib/families/kaspa/setup.d.ts +18 -0
  181. package/lib/families/kaspa/setup.d.ts.map +1 -0
  182. package/lib/families/kaspa/setup.js +24 -0
  183. package/lib/families/kaspa/setup.js.map +1 -0
  184. package/lib/families/kaspa/types.d.ts +2 -0
  185. package/lib/families/kaspa/types.d.ts.map +1 -0
  186. package/lib/families/kaspa/types.js +18 -0
  187. package/lib/families/kaspa/types.js.map +1 -0
  188. package/lib/families/solana/bridge/mock-data.d.ts.map +1 -1
  189. package/lib/families/solana/bridge/mock-data.js +7 -0
  190. package/lib/families/solana/bridge/mock-data.js.map +1 -1
  191. package/lib/families/xrp/setup.d.ts +2 -2
  192. package/lib/featureFlags/defaultFeatures.d.ts +1 -0
  193. package/lib/featureFlags/defaultFeatures.d.ts.map +1 -1
  194. package/lib/featureFlags/defaultFeatures.js +6 -2
  195. package/lib/featureFlags/defaultFeatures.js.map +1 -1
  196. package/lib/featureFlags/useFeature.d.ts +1 -1
  197. package/lib/featureFlags/useFeature.d.ts.map +1 -1
  198. package/lib/generated/bridge/js.d.ts +1 -0
  199. package/lib/generated/bridge/js.d.ts.map +1 -1
  200. package/lib/generated/bridge/js.js +24 -22
  201. package/lib/generated/bridge/js.js.map +1 -1
  202. package/lib/generated/bridge/mock.d.ts +1 -1
  203. package/lib/generated/cli-transaction.d.ts +13 -2
  204. package/lib/generated/cli-transaction.d.ts.map +1 -1
  205. package/lib/generated/cli-transaction.js +28 -26
  206. package/lib/generated/cli-transaction.js.map +1 -1
  207. package/lib/generated/deviceTransactionConfig.d.ts +2 -0
  208. package/lib/generated/deviceTransactionConfig.d.ts.map +1 -1
  209. package/lib/generated/deviceTransactionConfig.js +24 -22
  210. package/lib/generated/deviceTransactionConfig.js.map +1 -1
  211. package/lib/generated/hw-getAddress.d.ts +1 -0
  212. package/lib/generated/hw-getAddress.d.ts.map +1 -1
  213. package/lib/generated/hw-getAddress.js +28 -26
  214. package/lib/generated/hw-getAddress.js.map +1 -1
  215. package/lib/generated/platformAdapter.d.ts +1 -1
  216. package/lib/generated/specs.d.ts +1 -1
  217. package/lib/generated/transaction.d.ts +11 -3
  218. package/lib/generated/transaction.d.ts.map +1 -1
  219. package/lib/generated/transaction.js +28 -26
  220. package/lib/generated/transaction.js.map +1 -1
  221. package/lib/generated/types.d.ts +5 -4
  222. package/lib/generated/types.d.ts.map +1 -1
  223. package/lib/generated/walletApiAdapter.d.ts +1 -1
  224. package/lib/hw/actions/app.d.ts.map +1 -1
  225. package/lib/hw/actions/app.js.map +1 -1
  226. package/lib/hw/getDeviceNameMaxLength.d.ts.map +1 -1
  227. package/lib/hw/getDeviceNameMaxLength.js +2 -0
  228. package/lib/hw/getDeviceNameMaxLength.js.map +1 -1
  229. package/lib/hw/getDeviceNameMaxLength.test.js +12 -0
  230. package/lib/hw/getDeviceNameMaxLength.test.js.map +1 -1
  231. package/lib/modularDrawer/data/entities/interestRateSelectors.d.ts +1 -13
  232. package/lib/modularDrawer/data/entities/interestRateSelectors.d.ts.map +1 -1
  233. package/lib/modularDrawer/data/entities/interestRateSelectors.js +2 -17
  234. package/lib/modularDrawer/data/entities/interestRateSelectors.js.map +1 -1
  235. package/lib/modularDrawer/data/entities/marketSelectors.d.ts +4 -0
  236. package/lib/modularDrawer/data/entities/marketSelectors.d.ts.map +1 -0
  237. package/lib/modularDrawer/data/entities/marketSelectors.js +6 -0
  238. package/lib/modularDrawer/data/entities/marketSelectors.js.map +1 -0
  239. package/lib/modularDrawer/data/entities/selectorUtils.d.ts +18 -0
  240. package/lib/modularDrawer/data/entities/selectorUtils.d.ts.map +1 -0
  241. package/lib/modularDrawer/data/entities/selectorUtils.js +29 -0
  242. package/lib/modularDrawer/data/entities/selectorUtils.js.map +1 -0
  243. package/lib/modularDrawer/data/state-manager/api.d.ts.map +1 -1
  244. package/lib/modularDrawer/data/state-manager/api.js +3 -2
  245. package/lib/modularDrawer/data/state-manager/api.js.map +1 -1
  246. package/lib/modularDrawer/data/state-manager/types.d.ts +1 -0
  247. package/lib/modularDrawer/data/state-manager/types.d.ts.map +1 -1
  248. package/lib/modularDrawer/hooks/modules/useLeftMarketTrendModule.d.ts +50 -0
  249. package/lib/modularDrawer/hooks/modules/useLeftMarketTrendModule.d.ts.map +1 -0
  250. package/lib/modularDrawer/hooks/modules/useLeftMarketTrendModule.js +49 -0
  251. package/lib/modularDrawer/hooks/modules/useLeftMarketTrendModule.js.map +1 -0
  252. package/lib/modularDrawer/hooks/modules/useRightMarketTrendModule.d.ts +56 -0
  253. package/lib/modularDrawer/hooks/modules/useRightMarketTrendModule.d.ts.map +1 -0
  254. package/lib/modularDrawer/hooks/modules/useRightMarketTrendModule.js +59 -0
  255. package/lib/modularDrawer/hooks/modules/useRightMarketTrendModule.js.map +1 -0
  256. package/lib/modularDrawer/hooks/useAssetsData.d.ts +3 -1
  257. package/lib/modularDrawer/hooks/useAssetsData.d.ts.map +1 -1
  258. package/lib/modularDrawer/hooks/useAssetsData.js +6 -3
  259. package/lib/modularDrawer/hooks/useAssetsData.js.map +1 -1
  260. package/lib/modularDrawer/hooks/useMarketByCurrencies.d.ts +3 -0
  261. package/lib/modularDrawer/hooks/useMarketByCurrencies.d.ts.map +1 -0
  262. package/lib/modularDrawer/hooks/useMarketByCurrencies.js +26 -0
  263. package/lib/modularDrawer/hooks/useMarketByCurrencies.js.map +1 -0
  264. package/lib/modularDrawer/hooks/useSearch.d.ts +16 -0
  265. package/lib/modularDrawer/hooks/useSearch.d.ts.map +1 -0
  266. package/lib/modularDrawer/hooks/useSearch.js +24 -0
  267. package/lib/modularDrawer/hooks/useSearch.js.map +1 -0
  268. package/lib/modularDrawer/modules/createAssetConfiguration.d.ts.map +1 -1
  269. package/lib/modularDrawer/modules/createAssetConfiguration.js +8 -0
  270. package/lib/modularDrawer/modules/createAssetConfiguration.js.map +1 -1
  271. package/lib/modularDrawer/utils/type.d.ts +7 -0
  272. package/lib/modularDrawer/utils/type.d.ts.map +1 -1
  273. package/lib/notifications/ServiceStatusProvider/index.d.ts +1 -16
  274. package/lib/notifications/ServiceStatusProvider/index.d.ts.map +1 -1
  275. package/lib/notifications/ServiceStatusProvider/index.js +7 -31
  276. package/lib/notifications/ServiceStatusProvider/index.js.map +1 -1
  277. package/lib/wallet-api/ACRE/server.d.ts +13 -6
  278. package/lib/wallet-api/ACRE/server.d.ts.map +1 -1
  279. package/lib/wallet-api/ACRE/server.js +142 -1
  280. package/lib/wallet-api/ACRE/server.js.map +1 -1
  281. package/lib/wallet-api/ACRE/server.test.d.ts +2 -0
  282. package/lib/wallet-api/ACRE/server.test.d.ts.map +1 -0
  283. package/lib/wallet-api/ACRE/server.test.js +393 -0
  284. package/lib/wallet-api/ACRE/server.test.js.map +1 -0
  285. package/lib/wallet-api/Exchange/server.d.ts.map +1 -1
  286. package/lib/wallet-api/Exchange/server.js +16 -13
  287. package/lib/wallet-api/Exchange/server.js.map +1 -1
  288. package/lib-es/__tests__/test-helpers/environment.js +1 -0
  289. package/lib-es/__tests__/test-helpers/environment.js.map +1 -1
  290. package/lib-es/apps/inlineAppInstall.d.ts +1 -3
  291. package/lib-es/apps/inlineAppInstall.d.ts.map +1 -1
  292. package/lib-es/apps/inlineAppInstall.js +2 -2
  293. package/lib-es/apps/inlineAppInstall.js.map +1 -1
  294. package/lib-es/apps/react.d.ts +1 -2
  295. package/lib-es/apps/react.d.ts.map +1 -1
  296. package/lib-es/apps/react.js +2 -2
  297. package/lib-es/apps/react.js.map +1 -1
  298. package/lib-es/apps/runner.d.ts +2 -4
  299. package/lib-es/apps/runner.d.ts.map +1 -1
  300. package/lib-es/apps/runner.js +3 -4
  301. package/lib-es/apps/runner.js.map +1 -1
  302. package/lib-es/bridge/generic-alpaca/accountBridge.d.ts +2 -1
  303. package/lib-es/bridge/generic-alpaca/accountBridge.d.ts.map +1 -1
  304. package/lib-es/bridge/generic-alpaca/accountBridge.js +2 -2
  305. package/lib-es/bridge/generic-alpaca/accountBridge.js.map +1 -1
  306. package/lib-es/bridge/generic-alpaca/alpaca/index.d.ts +1 -1
  307. package/lib-es/bridge/generic-alpaca/alpaca/index.d.ts.map +1 -1
  308. package/lib-es/bridge/generic-alpaca/alpaca/index.js +10 -6
  309. package/lib-es/bridge/generic-alpaca/alpaca/index.js.map +1 -1
  310. package/lib-es/bridge/generic-alpaca/alpaca/index.unit.test.js +37 -9
  311. package/lib-es/bridge/generic-alpaca/alpaca/index.unit.test.js.map +1 -1
  312. package/lib-es/bridge/generic-alpaca/broadcast.js +2 -2
  313. package/lib-es/bridge/generic-alpaca/broadcast.js.map +1 -1
  314. package/lib-es/bridge/generic-alpaca/createTransaction.d.ts +3 -23
  315. package/lib-es/bridge/generic-alpaca/createTransaction.d.ts.map +1 -1
  316. package/lib-es/bridge/generic-alpaca/createTransaction.js +10 -6
  317. package/lib-es/bridge/generic-alpaca/createTransaction.js.map +1 -1
  318. package/lib-es/bridge/generic-alpaca/currencyBridge.d.ts +2 -1
  319. package/lib-es/bridge/generic-alpaca/currencyBridge.d.ts.map +1 -1
  320. package/lib-es/bridge/generic-alpaca/currencyBridge.js +3 -2
  321. package/lib-es/bridge/generic-alpaca/currencyBridge.js.map +1 -1
  322. package/lib-es/bridge/generic-alpaca/estimateMaxSpendable.d.ts.map +1 -1
  323. package/lib-es/bridge/generic-alpaca/estimateMaxSpendable.js +4 -2
  324. package/lib-es/bridge/generic-alpaca/estimateMaxSpendable.js.map +1 -1
  325. package/lib-es/bridge/generic-alpaca/getAccountShape.d.ts.map +1 -1
  326. package/lib-es/bridge/generic-alpaca/getAccountShape.js +5 -5
  327. package/lib-es/bridge/generic-alpaca/getAccountShape.js.map +1 -1
  328. package/lib-es/bridge/generic-alpaca/getTransactionStatus.d.ts.map +1 -1
  329. package/lib-es/bridge/generic-alpaca/getTransactionStatus.js +2 -1
  330. package/lib-es/bridge/generic-alpaca/getTransactionStatus.js.map +1 -1
  331. package/lib-es/bridge/generic-alpaca/prepareTransaction.d.ts +5 -13
  332. package/lib-es/bridge/generic-alpaca/prepareTransaction.d.ts.map +1 -1
  333. package/lib-es/bridge/generic-alpaca/prepareTransaction.js +2 -2
  334. package/lib-es/bridge/generic-alpaca/prepareTransaction.js.map +1 -1
  335. package/lib-es/bridge/generic-alpaca/signOperation.d.ts +3 -2
  336. package/lib-es/bridge/generic-alpaca/signOperation.d.ts.map +1 -1
  337. package/lib-es/bridge/generic-alpaca/signOperation.js +19 -15
  338. package/lib-es/bridge/generic-alpaca/signOperation.js.map +1 -1
  339. package/lib-es/bridge/generic-alpaca/signer/Eth.d.ts +8 -0
  340. package/lib-es/bridge/generic-alpaca/signer/Eth.d.ts.map +1 -0
  341. package/lib-es/bridge/generic-alpaca/signer/Eth.js +47 -0
  342. package/lib-es/bridge/generic-alpaca/signer/Eth.js.map +1 -0
  343. package/lib-es/bridge/generic-alpaca/signer/index.d.ts +2 -10
  344. package/lib-es/bridge/generic-alpaca/signer/index.d.ts.map +1 -1
  345. package/lib-es/bridge/generic-alpaca/signer/index.js +2 -2
  346. package/lib-es/bridge/generic-alpaca/signer/index.js.map +1 -1
  347. package/lib-es/bridge/generic-alpaca/signer/signTransaction.d.ts +2 -3
  348. package/lib-es/bridge/generic-alpaca/signer/signTransaction.d.ts.map +1 -1
  349. package/lib-es/bridge/generic-alpaca/signer/signTransaction.js.map +1 -1
  350. package/lib-es/bridge/generic-alpaca/signer/types.d.ts +11 -0
  351. package/lib-es/bridge/generic-alpaca/signer/types.d.ts.map +1 -1
  352. package/lib-es/bridge/generic-alpaca/tests/getAccountShape.test.d.ts +2 -0
  353. package/lib-es/bridge/generic-alpaca/tests/getAccountShape.test.d.ts.map +1 -0
  354. package/lib-es/bridge/generic-alpaca/tests/getAccountShape.test.js +139 -0
  355. package/lib-es/bridge/generic-alpaca/tests/getAccountShape.test.js.map +1 -0
  356. package/lib-es/bridge/generic-alpaca/tests/prepareTransaction.test.js +2 -0
  357. package/lib-es/bridge/generic-alpaca/tests/prepareTransaction.test.js.map +1 -1
  358. package/lib-es/bridge/generic-alpaca/tests/signOperation.test.js +5 -4
  359. package/lib-es/bridge/generic-alpaca/tests/signOperation.test.js.map +1 -1
  360. package/lib-es/bridge/generic-alpaca/types.d.ts +25 -0
  361. package/lib-es/bridge/generic-alpaca/types.d.ts.map +1 -0
  362. package/lib-es/bridge/generic-alpaca/types.js +2 -0
  363. package/lib-es/bridge/generic-alpaca/types.js.map +1 -0
  364. package/lib-es/bridge/generic-alpaca/utils.d.ts +4 -8
  365. package/lib-es/bridge/generic-alpaca/utils.d.ts.map +1 -1
  366. package/lib-es/bridge/generic-alpaca/utils.js +13 -0
  367. package/lib-es/bridge/generic-alpaca/utils.js.map +1 -1
  368. package/lib-es/bridge/generic-alpaca/utils.test.js +22 -1
  369. package/lib-es/bridge/generic-alpaca/utils.test.js.map +1 -1
  370. package/lib-es/config/sharedConfig.d.ts.map +1 -1
  371. package/lib-es/config/sharedConfig.js +2 -0
  372. package/lib-es/config/sharedConfig.js.map +1 -1
  373. package/lib-es/e2e/data/deviceLabelsData.d.ts +27 -0
  374. package/lib-es/e2e/data/deviceLabelsData.d.ts.map +1 -0
  375. package/lib-es/e2e/data/deviceLabelsData.js +75 -0
  376. package/lib-es/e2e/data/deviceLabelsData.js.map +1 -0
  377. package/lib-es/e2e/enum/Account.d.ts +2 -0
  378. package/lib-es/e2e/enum/Account.d.ts.map +1 -1
  379. package/lib-es/e2e/enum/Account.js +2 -0
  380. package/lib-es/e2e/enum/Account.js.map +1 -1
  381. package/lib-es/e2e/enum/AppInfos.d.ts +1 -0
  382. package/lib-es/e2e/enum/AppInfos.d.ts.map +1 -1
  383. package/lib-es/e2e/enum/AppInfos.js +1 -0
  384. package/lib-es/e2e/enum/AppInfos.js.map +1 -1
  385. package/lib-es/e2e/enum/Currency.d.ts +1 -0
  386. package/lib-es/e2e/enum/Currency.d.ts.map +1 -1
  387. package/lib-es/e2e/enum/Currency.js +1 -0
  388. package/lib-es/e2e/enum/Currency.js.map +1 -1
  389. package/lib-es/e2e/enum/DeviceLabels.d.ts +51 -44
  390. package/lib-es/e2e/enum/DeviceLabels.d.ts.map +1 -1
  391. package/lib-es/e2e/enum/DeviceLabels.js +51 -44
  392. package/lib-es/e2e/enum/DeviceLabels.js.map +1 -1
  393. package/lib-es/e2e/enum/Network.d.ts +2 -1
  394. package/lib-es/e2e/enum/Network.d.ts.map +1 -1
  395. package/lib-es/e2e/enum/Network.js +1 -0
  396. package/lib-es/e2e/enum/Network.js.map +1 -1
  397. package/lib-es/e2e/families/cardano.d.ts.map +1 -1
  398. package/lib-es/e2e/families/cardano.js +1 -0
  399. package/lib-es/e2e/families/cardano.js.map +1 -1
  400. package/lib-es/e2e/families/celo.d.ts +1 -1
  401. package/lib-es/e2e/families/celo.d.ts.map +1 -1
  402. package/lib-es/e2e/families/celo.js +4 -6
  403. package/lib-es/e2e/families/celo.js.map +1 -1
  404. package/lib-es/e2e/families/cosmos.d.ts.map +1 -1
  405. package/lib-es/e2e/families/cosmos.js +2 -3
  406. package/lib-es/e2e/families/cosmos.js.map +1 -1
  407. package/lib-es/e2e/families/evm.d.ts.map +1 -1
  408. package/lib-es/e2e/families/evm.js +5 -2
  409. package/lib-es/e2e/families/evm.js.map +1 -1
  410. package/lib-es/e2e/families/kaspa.d.ts +4 -0
  411. package/lib-es/e2e/families/kaspa.d.ts.map +1 -0
  412. package/lib-es/e2e/families/kaspa.js +15 -0
  413. package/lib-es/e2e/families/kaspa.js.map +1 -0
  414. package/lib-es/e2e/families/multiversX.d.ts +2 -1
  415. package/lib-es/e2e/families/multiversX.d.ts.map +1 -1
  416. package/lib-es/e2e/families/multiversX.js +3 -5
  417. package/lib-es/e2e/families/multiversX.js.map +1 -1
  418. package/lib-es/e2e/families/near.d.ts.map +1 -1
  419. package/lib-es/e2e/families/near.js +2 -3
  420. package/lib-es/e2e/families/near.js.map +1 -1
  421. package/lib-es/e2e/families/osmosis.d.ts.map +1 -1
  422. package/lib-es/e2e/families/osmosis.js +2 -4
  423. package/lib-es/e2e/families/osmosis.js.map +1 -1
  424. package/lib-es/e2e/families/solana.d.ts +2 -1
  425. package/lib-es/e2e/families/solana.d.ts.map +1 -1
  426. package/lib-es/e2e/families/solana.js +7 -5
  427. package/lib-es/e2e/families/solana.js.map +1 -1
  428. package/lib-es/e2e/families/tezos.d.ts +2 -1
  429. package/lib-es/e2e/families/tezos.d.ts.map +1 -1
  430. package/lib-es/e2e/families/tezos.js +8 -6
  431. package/lib-es/e2e/families/tezos.js.map +1 -1
  432. package/lib-es/e2e/index.d.ts +5 -7
  433. package/lib-es/e2e/index.d.ts.map +1 -1
  434. package/lib-es/e2e/speculos.d.ts +2 -1
  435. package/lib-es/e2e/speculos.d.ts.map +1 -1
  436. package/lib-es/e2e/speculos.js +46 -27
  437. package/lib-es/e2e/speculos.js.map +1 -1
  438. package/lib-es/env.react.d.ts +1 -1
  439. package/lib-es/env.react.d.ts.map +1 -1
  440. package/lib-es/exchange/providers/swap.d.ts.map +1 -1
  441. package/lib-es/exchange/providers/swap.js +15 -0
  442. package/lib-es/exchange/providers/swap.js.map +1 -1
  443. package/lib-es/exchange/swap/transactionStrategies.d.ts +38 -11
  444. package/lib-es/exchange/swap/transactionStrategies.d.ts.map +1 -1
  445. package/lib-es/exchange/swap/transactionStrategies.js +87 -44
  446. package/lib-es/exchange/swap/transactionStrategies.js.map +1 -1
  447. package/lib-es/families/canton/config.d.ts.map +1 -1
  448. package/lib-es/families/canton/config.js +3 -5
  449. package/lib-es/families/canton/config.js.map +1 -1
  450. package/lib-es/families/canton/setup.d.ts.map +1 -1
  451. package/lib-es/families/canton/setup.js +5 -5
  452. package/lib-es/families/canton/setup.js.map +1 -1
  453. package/lib-es/families/evm/config.js +2 -2
  454. package/lib-es/families/evm/config.js.map +1 -1
  455. package/lib-es/families/kaspa/bridge.integration.test.d.ts +2 -0
  456. package/lib-es/families/kaspa/bridge.integration.test.d.ts.map +1 -0
  457. package/lib-es/families/kaspa/bridge.integration.test.js +5 -0
  458. package/lib-es/families/kaspa/bridge.integration.test.js.map +1 -0
  459. package/lib-es/families/kaspa/config.d.ts +3 -0
  460. package/lib-es/families/kaspa/config.d.ts.map +1 -0
  461. package/lib-es/families/kaspa/config.js +11 -0
  462. package/lib-es/families/kaspa/config.js.map +1 -0
  463. package/lib-es/families/kaspa/react.d.ts +4 -0
  464. package/lib-es/families/kaspa/react.d.ts.map +1 -0
  465. package/lib-es/families/kaspa/react.js +14 -0
  466. package/lib-es/families/kaspa/react.js.map +1 -0
  467. package/lib-es/families/kaspa/setup.d.ts +18 -0
  468. package/lib-es/families/kaspa/setup.d.ts.map +1 -0
  469. package/lib-es/families/kaspa/setup.js +16 -0
  470. package/lib-es/families/kaspa/setup.js.map +1 -0
  471. package/lib-es/families/kaspa/types.d.ts +2 -0
  472. package/lib-es/families/kaspa/types.d.ts.map +1 -0
  473. package/lib-es/families/kaspa/types.js +2 -0
  474. package/lib-es/families/kaspa/types.js.map +1 -0
  475. package/lib-es/families/solana/bridge/mock-data.d.ts.map +1 -1
  476. package/lib-es/families/solana/bridge/mock-data.js +7 -0
  477. package/lib-es/families/solana/bridge/mock-data.js.map +1 -1
  478. package/lib-es/families/xrp/setup.d.ts +2 -2
  479. package/lib-es/featureFlags/defaultFeatures.d.ts +1 -0
  480. package/lib-es/featureFlags/defaultFeatures.d.ts.map +1 -1
  481. package/lib-es/featureFlags/defaultFeatures.js +6 -2
  482. package/lib-es/featureFlags/defaultFeatures.js.map +1 -1
  483. package/lib-es/featureFlags/useFeature.d.ts +1 -1
  484. package/lib-es/featureFlags/useFeature.d.ts.map +1 -1
  485. package/lib-es/generated/bridge/js.d.ts +1 -0
  486. package/lib-es/generated/bridge/js.d.ts.map +1 -1
  487. package/lib-es/generated/bridge/js.js +2 -0
  488. package/lib-es/generated/bridge/js.js.map +1 -1
  489. package/lib-es/generated/bridge/mock.d.ts +1 -1
  490. package/lib-es/generated/cli-transaction.d.ts +13 -2
  491. package/lib-es/generated/cli-transaction.d.ts.map +1 -1
  492. package/lib-es/generated/cli-transaction.js +2 -0
  493. package/lib-es/generated/cli-transaction.js.map +1 -1
  494. package/lib-es/generated/deviceTransactionConfig.d.ts +2 -0
  495. package/lib-es/generated/deviceTransactionConfig.d.ts.map +1 -1
  496. package/lib-es/generated/deviceTransactionConfig.js +2 -0
  497. package/lib-es/generated/deviceTransactionConfig.js.map +1 -1
  498. package/lib-es/generated/hw-getAddress.d.ts +1 -0
  499. package/lib-es/generated/hw-getAddress.d.ts.map +1 -1
  500. package/lib-es/generated/hw-getAddress.js +2 -0
  501. package/lib-es/generated/hw-getAddress.js.map +1 -1
  502. package/lib-es/generated/platformAdapter.d.ts +1 -1
  503. package/lib-es/generated/specs.d.ts +1 -1
  504. package/lib-es/generated/transaction.d.ts +11 -3
  505. package/lib-es/generated/transaction.d.ts.map +1 -1
  506. package/lib-es/generated/transaction.js +2 -0
  507. package/lib-es/generated/transaction.js.map +1 -1
  508. package/lib-es/generated/types.d.ts +5 -4
  509. package/lib-es/generated/types.d.ts.map +1 -1
  510. package/lib-es/generated/walletApiAdapter.d.ts +1 -1
  511. package/lib-es/hw/actions/app.d.ts.map +1 -1
  512. package/lib-es/hw/actions/app.js.map +1 -1
  513. package/lib-es/hw/getDeviceNameMaxLength.d.ts.map +1 -1
  514. package/lib-es/hw/getDeviceNameMaxLength.js +2 -0
  515. package/lib-es/hw/getDeviceNameMaxLength.js.map +1 -1
  516. package/lib-es/hw/getDeviceNameMaxLength.test.js +12 -0
  517. package/lib-es/hw/getDeviceNameMaxLength.test.js.map +1 -1
  518. package/lib-es/modularDrawer/data/entities/interestRateSelectors.d.ts +1 -13
  519. package/lib-es/modularDrawer/data/entities/interestRateSelectors.d.ts.map +1 -1
  520. package/lib-es/modularDrawer/data/entities/interestRateSelectors.js +2 -17
  521. package/lib-es/modularDrawer/data/entities/interestRateSelectors.js.map +1 -1
  522. package/lib-es/modularDrawer/data/entities/marketSelectors.d.ts +4 -0
  523. package/lib-es/modularDrawer/data/entities/marketSelectors.d.ts.map +1 -0
  524. package/lib-es/modularDrawer/data/entities/marketSelectors.js +3 -0
  525. package/lib-es/modularDrawer/data/entities/marketSelectors.js.map +1 -0
  526. package/lib-es/modularDrawer/data/entities/selectorUtils.d.ts +18 -0
  527. package/lib-es/modularDrawer/data/entities/selectorUtils.d.ts.map +1 -0
  528. package/lib-es/modularDrawer/data/entities/selectorUtils.js +25 -0
  529. package/lib-es/modularDrawer/data/entities/selectorUtils.js.map +1 -0
  530. package/lib-es/modularDrawer/data/state-manager/api.d.ts.map +1 -1
  531. package/lib-es/modularDrawer/data/state-manager/api.js +3 -2
  532. package/lib-es/modularDrawer/data/state-manager/api.js.map +1 -1
  533. package/lib-es/modularDrawer/data/state-manager/types.d.ts +1 -0
  534. package/lib-es/modularDrawer/data/state-manager/types.d.ts.map +1 -1
  535. package/lib-es/modularDrawer/hooks/modules/useLeftMarketTrendModule.d.ts +50 -0
  536. package/lib-es/modularDrawer/hooks/modules/useLeftMarketTrendModule.d.ts.map +1 -0
  537. package/lib-es/modularDrawer/hooks/modules/useLeftMarketTrendModule.js +22 -0
  538. package/lib-es/modularDrawer/hooks/modules/useLeftMarketTrendModule.js.map +1 -0
  539. package/lib-es/modularDrawer/hooks/modules/useRightMarketTrendModule.d.ts +56 -0
  540. package/lib-es/modularDrawer/hooks/modules/useRightMarketTrendModule.d.ts.map +1 -0
  541. package/lib-es/modularDrawer/hooks/modules/useRightMarketTrendModule.js +32 -0
  542. package/lib-es/modularDrawer/hooks/modules/useRightMarketTrendModule.js.map +1 -0
  543. package/lib-es/modularDrawer/hooks/useAssetsData.d.ts +3 -1
  544. package/lib-es/modularDrawer/hooks/useAssetsData.d.ts.map +1 -1
  545. package/lib-es/modularDrawer/hooks/useAssetsData.js +6 -3
  546. package/lib-es/modularDrawer/hooks/useAssetsData.js.map +1 -1
  547. package/lib-es/modularDrawer/hooks/useMarketByCurrencies.d.ts +3 -0
  548. package/lib-es/modularDrawer/hooks/useMarketByCurrencies.d.ts.map +1 -0
  549. package/lib-es/modularDrawer/hooks/useMarketByCurrencies.js +22 -0
  550. package/lib-es/modularDrawer/hooks/useMarketByCurrencies.js.map +1 -0
  551. package/lib-es/modularDrawer/hooks/useSearch.d.ts +16 -0
  552. package/lib-es/modularDrawer/hooks/useSearch.d.ts.map +1 -0
  553. package/lib-es/modularDrawer/hooks/useSearch.js +20 -0
  554. package/lib-es/modularDrawer/hooks/useSearch.js.map +1 -0
  555. package/lib-es/modularDrawer/modules/createAssetConfiguration.d.ts.map +1 -1
  556. package/lib-es/modularDrawer/modules/createAssetConfiguration.js +8 -0
  557. package/lib-es/modularDrawer/modules/createAssetConfiguration.js.map +1 -1
  558. package/lib-es/modularDrawer/utils/type.d.ts +7 -0
  559. package/lib-es/modularDrawer/utils/type.d.ts.map +1 -1
  560. package/lib-es/notifications/ServiceStatusProvider/index.d.ts +1 -16
  561. package/lib-es/notifications/ServiceStatusProvider/index.d.ts.map +1 -1
  562. package/lib-es/notifications/ServiceStatusProvider/index.js +7 -31
  563. package/lib-es/notifications/ServiceStatusProvider/index.js.map +1 -1
  564. package/lib-es/wallet-api/ACRE/server.d.ts +13 -6
  565. package/lib-es/wallet-api/ACRE/server.d.ts.map +1 -1
  566. package/lib-es/wallet-api/ACRE/server.js +140 -2
  567. package/lib-es/wallet-api/ACRE/server.js.map +1 -1
  568. package/lib-es/wallet-api/ACRE/server.test.d.ts +2 -0
  569. package/lib-es/wallet-api/ACRE/server.test.d.ts.map +1 -0
  570. package/lib-es/wallet-api/ACRE/server.test.js +388 -0
  571. package/lib-es/wallet-api/ACRE/server.test.js.map +1 -0
  572. package/lib-es/wallet-api/Exchange/server.d.ts.map +1 -1
  573. package/lib-es/wallet-api/Exchange/server.js +16 -13
  574. package/lib-es/wallet-api/Exchange/server.js.map +1 -1
  575. package/package.json +71 -68
  576. package/src/__tests__/test-helpers/environment.ts +1 -0
  577. package/src/apps/inlineAppInstall.ts +1 -4
  578. package/src/apps/react.ts +1 -3
  579. package/src/apps/runner.ts +1 -8
  580. package/src/bridge/generic-alpaca/accountBridge.ts +8 -3
  581. package/src/bridge/generic-alpaca/alpaca/index.ts +15 -17
  582. package/src/bridge/generic-alpaca/alpaca/index.unit.test.ts +38 -10
  583. package/src/bridge/generic-alpaca/broadcast.ts +2 -2
  584. package/src/bridge/generic-alpaca/createTransaction.ts +13 -24
  585. package/src/bridge/generic-alpaca/currencyBridge.ts +8 -2
  586. package/src/bridge/generic-alpaca/estimateMaxSpendable.ts +5 -7
  587. package/src/bridge/generic-alpaca/getAccountShape.ts +7 -7
  588. package/src/bridge/generic-alpaca/getTransactionStatus.ts +5 -14
  589. package/src/bridge/generic-alpaca/prepareTransaction.ts +10 -17
  590. package/src/bridge/generic-alpaca/signOperation.ts +25 -31
  591. package/src/bridge/generic-alpaca/signer/Eth.ts +70 -0
  592. package/src/bridge/generic-alpaca/signer/index.ts +5 -15
  593. package/src/bridge/generic-alpaca/signer/signTransaction.ts +4 -3
  594. package/src/bridge/generic-alpaca/signer/types.ts +14 -0
  595. package/src/bridge/generic-alpaca/tests/getAccountShape.test.ts +173 -0
  596. package/src/bridge/generic-alpaca/tests/prepareTransaction.test.ts +3 -2
  597. package/src/bridge/generic-alpaca/tests/signOperation.test.ts +6 -5
  598. package/src/bridge/generic-alpaca/types.ts +23 -0
  599. package/src/bridge/generic-alpaca/utils.test.ts +29 -1
  600. package/src/bridge/generic-alpaca/utils.ts +17 -8
  601. package/src/config/sharedConfig.ts +2 -0
  602. package/src/e2e/data/deviceLabelsData.ts +100 -0
  603. package/src/e2e/enum/Account.ts +14 -0
  604. package/src/e2e/enum/AppInfos.ts +2 -0
  605. package/src/e2e/enum/Currency.ts +2 -0
  606. package/src/e2e/enum/DeviceLabels.ts +51 -44
  607. package/src/e2e/enum/Network.ts +1 -0
  608. package/src/e2e/families/cardano.ts +1 -0
  609. package/src/e2e/families/celo.ts +4 -6
  610. package/src/e2e/families/cosmos.ts +7 -3
  611. package/src/e2e/families/evm.ts +12 -2
  612. package/src/e2e/families/kaspa.ts +17 -0
  613. package/src/e2e/families/multiversX.ts +4 -5
  614. package/src/e2e/families/near.ts +8 -3
  615. package/src/e2e/families/osmosis.ts +2 -4
  616. package/src/e2e/families/solana.ts +15 -5
  617. package/src/e2e/families/tezos.ts +10 -6
  618. package/src/e2e/speculos.ts +67 -28
  619. package/src/exchange/providers/swap.ts +21 -0
  620. package/src/exchange/swap/transactionStrategies.ts +121 -73
  621. package/src/families/canton/config.ts +3 -6
  622. package/src/families/canton/setup.ts +6 -5
  623. package/src/families/evm/config.ts +2 -2
  624. package/src/families/kaspa/__snapshots__/bridge.integration.test.ts.snap +66 -0
  625. package/src/families/kaspa/bridge.integration.test.ts +5 -0
  626. package/src/families/kaspa/config.ts +12 -0
  627. package/src/families/kaspa/react.ts +19 -0
  628. package/src/families/kaspa/setup.ts +27 -0
  629. package/src/families/kaspa/types.ts +1 -0
  630. package/src/families/solana/bridge/mock-data.ts +7 -0
  631. package/src/featureFlags/defaultFeatures.ts +6 -2
  632. package/src/generated/bridge/js.ts +2 -0
  633. package/src/generated/cli-transaction.ts +2 -0
  634. package/src/generated/deviceTransactionConfig.ts +2 -0
  635. package/src/generated/hw-getAddress.ts +2 -0
  636. package/src/generated/transaction.ts +2 -0
  637. package/src/generated/types.ts +10 -0
  638. package/src/hw/actions/app.ts +0 -1
  639. package/src/hw/getDeviceNameMaxLength.test.ts +16 -0
  640. package/src/hw/getDeviceNameMaxLength.ts +2 -0
  641. package/src/modularDrawer/data/entities/interestRateSelectors.ts +2 -34
  642. package/src/modularDrawer/data/entities/marketSelectors.ts +8 -0
  643. package/src/modularDrawer/data/entities/selectorUtils.ts +42 -0
  644. package/src/modularDrawer/data/state-manager/api.ts +4 -2
  645. package/src/modularDrawer/data/state-manager/types.ts +1 -0
  646. package/src/modularDrawer/hooks/modules/useLeftMarketTrendModule.tsx +36 -0
  647. package/src/modularDrawer/hooks/modules/useRightMarketTrendModule.tsx +57 -0
  648. package/src/modularDrawer/hooks/useAssetsData.ts +24 -9
  649. package/src/modularDrawer/hooks/useMarketByCurrencies.ts +29 -0
  650. package/src/modularDrawer/hooks/useSearch.ts +52 -0
  651. package/src/modularDrawer/modules/createAssetConfiguration.ts +10 -0
  652. package/src/modularDrawer/utils/type.ts +2 -0
  653. package/src/notifications/ServiceStatusProvider/index.tsx +12 -37
  654. package/src/wallet-api/ACRE/server.test.ts +470 -0
  655. package/src/wallet-api/ACRE/server.ts +202 -14
  656. package/src/wallet-api/Exchange/server.ts +17 -14
  657. package/lib/exchange/providers/swap.integration.test.d.ts +0 -2
  658. package/lib/exchange/providers/swap.integration.test.d.ts.map +0 -1
  659. package/lib/exchange/providers/swap.integration.test.js +0 -201
  660. package/lib/exchange/providers/swap.integration.test.js.map +0 -1
  661. package/lib/notifications/ServiceStatusProvider/index.test.d.ts +0 -2
  662. package/lib/notifications/ServiceStatusProvider/index.test.d.ts.map +0 -1
  663. package/lib/notifications/ServiceStatusProvider/index.test.js +0 -88
  664. package/lib/notifications/ServiceStatusProvider/index.test.js.map +0 -1
  665. package/lib/notifications/ServiceStatusProvider/ledger-components.d.ts +0 -2
  666. package/lib/notifications/ServiceStatusProvider/ledger-components.d.ts.map +0 -1
  667. package/lib/notifications/ServiceStatusProvider/ledger-components.js +0 -16
  668. package/lib/notifications/ServiceStatusProvider/ledger-components.js.map +0 -1
  669. package/lib-es/exchange/providers/swap.integration.test.d.ts +0 -2
  670. package/lib-es/exchange/providers/swap.integration.test.d.ts.map +0 -1
  671. package/lib-es/exchange/providers/swap.integration.test.js +0 -199
  672. package/lib-es/exchange/providers/swap.integration.test.js.map +0 -1
  673. package/lib-es/notifications/ServiceStatusProvider/index.test.d.ts +0 -2
  674. package/lib-es/notifications/ServiceStatusProvider/index.test.d.ts.map +0 -1
  675. package/lib-es/notifications/ServiceStatusProvider/index.test.js +0 -86
  676. package/lib-es/notifications/ServiceStatusProvider/index.test.js.map +0 -1
  677. package/lib-es/notifications/ServiceStatusProvider/ledger-components.d.ts +0 -2
  678. package/lib-es/notifications/ServiceStatusProvider/ledger-components.d.ts.map +0 -1
  679. package/lib-es/notifications/ServiceStatusProvider/ledger-components.js +0 -13
  680. package/lib-es/notifications/ServiceStatusProvider/ledger-components.js.map +0 -1
  681. package/src/exchange/providers/swap.integration.test.ts +0 -261
  682. package/src/notifications/ServiceStatusProvider/index.test.ts +0 -102
  683. package/src/notifications/ServiceStatusProvider/ledger-components.ts +0 -12
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ledgerhq/live-common",
3
3
  "description": "Common ground for the Ledger Live apps",
4
- "version": "34.48.0",
4
+ "version": "34.49.0-nightly.0",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/LedgerHQ/ledger-live.git"
@@ -106,7 +106,7 @@
106
106
  "@dfinity/agent": "^0.21.0",
107
107
  "@dfinity/candid": "^0.21.0",
108
108
  "@dfinity/principal": "^0.15.6",
109
- "@ledgerhq/device-management-kit": "0.0.0-fix-lns-20250901094837",
109
+ "@ledgerhq/device-management-kit": "0.9.0",
110
110
  "@ledgerhq/live-app-sdk": "^0.8.1",
111
111
  "@ledgerhq/wallet-api-client": "^1.10.0",
112
112
  "@ledgerhq/wallet-api-core": "^1.22.0",
@@ -138,6 +138,7 @@
138
138
  "bip39": "^3.0.4",
139
139
  "bs58": "^4.0.1",
140
140
  "date-fns": "^2.23.0",
141
+ "ethers": "6.15.0",
141
142
  "expect": "^27.4.6",
142
143
  "fuse.js": "^6.6.2",
143
144
  "i18next": "20.6.1",
@@ -165,75 +166,77 @@
165
166
  "xstate": "^5.19.2",
166
167
  "yargs": "^17.0.0",
167
168
  "zod": "^3.22.4",
168
- "@ledgerhq/coin-algorand": "^0.10.1",
169
- "@ledgerhq/coin-aptos": "^3.3.0",
170
- "@ledgerhq/coin-bitcoin": "^0.22.0",
171
- "@ledgerhq/coin-canton": "^0.5.0",
172
- "@ledgerhq/coin-cardano": "^0.12.1",
173
- "@ledgerhq/coin-casper": "^2.1.1",
174
- "@ledgerhq/coin-celo": "^1.4.0",
175
- "@ledgerhq/coin-cosmos": "^0.17.1",
176
- "@ledgerhq/coin-evm": "^2.30.0",
177
- "@ledgerhq/coin-filecoin": "^1.12.0",
178
- "@ledgerhq/coin-framework": "^6.4.0",
179
- "@ledgerhq/coin-hedera": "^1.11.1",
180
- "@ledgerhq/coin-icon": "^0.12.1",
181
- "@ledgerhq/coin-internet_computer": "^1.8.1",
182
- "@ledgerhq/coin-mina": "^1.2.1",
183
- "@ledgerhq/coin-multiversx": "^0.5.1",
184
- "@ledgerhq/coin-near": "^0.13.1",
185
- "@ledgerhq/coin-polkadot": "^6.10.0",
186
- "@ledgerhq/coin-solana": "^0.33.0",
187
- "@ledgerhq/coin-stacks": "^0.9.1",
188
- "@ledgerhq/coin-stellar": "^6.4.0",
189
- "@ledgerhq/coin-sui": "^0.13.0",
190
- "@ledgerhq/coin-tezos": "^6.4.0",
191
- "@ledgerhq/coin-ton": "^0.14.1",
192
- "@ledgerhq/coin-tron": "^5.4.0",
193
- "@ledgerhq/coin-vechain": "^2.9.1",
194
- "@ledgerhq/coin-xrp": "^7.4.0",
195
- "@ledgerhq/crypto-icons-ui": "^1.18.0",
196
- "@ledgerhq/cryptoassets": "^13.28.0",
197
- "@ledgerhq/device-core": "^0.6.3",
198
- "@ledgerhq/devices": "8.5.1",
169
+ "@ledgerhq/coin-algorand": "^0.10.2-nightly.0",
170
+ "@ledgerhq/coin-aptos": "^3.3.1-nightly.0",
171
+ "@ledgerhq/coin-bitcoin": "^0.22.1-nightly.0",
172
+ "@ledgerhq/coin-canton": "^0.5.1-nightly.0",
173
+ "@ledgerhq/coin-cardano": "^0.12.2-nightly.0",
174
+ "@ledgerhq/coin-casper": "^2.1.2-nightly.0",
175
+ "@ledgerhq/coin-celo": "^1.4.1-nightly.0",
176
+ "@ledgerhq/coin-cosmos": "^0.17.2-nightly.0",
177
+ "@ledgerhq/coin-evm": "^2.31.0-nightly.0",
178
+ "@ledgerhq/coin-filecoin": "^1.12.1-nightly.0",
179
+ "@ledgerhq/coin-framework": "^6.4.1-nightly.0",
180
+ "@ledgerhq/coin-hedera": "^1.11.2-nightly.0",
181
+ "@ledgerhq/coin-icon": "^0.12.2-nightly.0",
182
+ "@ledgerhq/coin-internet_computer": "^1.8.2-nightly.0",
183
+ "@ledgerhq/coin-kaspa": "^1.1.1-nightly.0",
184
+ "@ledgerhq/coin-mina": "^1.2.2-nightly.0",
185
+ "@ledgerhq/coin-multiversx": "^0.5.2-nightly.0",
186
+ "@ledgerhq/coin-near": "^0.13.2-nightly.0",
187
+ "@ledgerhq/coin-polkadot": "^6.10.1-nightly.0",
188
+ "@ledgerhq/coin-solana": "^0.33.1-nightly.0",
189
+ "@ledgerhq/coin-stacks": "^0.9.2-nightly.0",
190
+ "@ledgerhq/coin-stellar": "^6.4.1-nightly.0",
191
+ "@ledgerhq/coin-sui": "^0.13.1-nightly.0",
192
+ "@ledgerhq/coin-tezos": "^6.5.0-nightly.0",
193
+ "@ledgerhq/coin-ton": "^0.14.2-nightly.0",
194
+ "@ledgerhq/coin-tron": "^5.4.1-nightly.0",
195
+ "@ledgerhq/coin-vechain": "^2.9.2-nightly.0",
196
+ "@ledgerhq/coin-xrp": "^7.4.1-nightly.0",
197
+ "@ledgerhq/crypto-icons-ui": "^1.19.0-nightly.1",
198
+ "@ledgerhq/cryptoassets": "^13.28.1-nightly.0",
199
+ "@ledgerhq/device-core": "^0.6.4-nightly.0",
200
+ "@ledgerhq/devices": "8.5.2-nightly.0",
199
201
  "@ledgerhq/errors": "^6.25.0",
200
- "@ledgerhq/hw-app-algorand": "^6.31.6",
201
- "@ledgerhq/hw-app-aptos": "^6.34.6",
202
- "@ledgerhq/hw-app-btc": "^10.11.0",
203
- "@ledgerhq/hw-app-celo": "^6.34.3",
204
- "@ledgerhq/hw-app-cosmos": "^6.32.6",
205
- "@ledgerhq/hw-app-eth": "^6.45.18",
206
- "@ledgerhq/hw-app-exchange": "^0.13.2",
207
- "@ledgerhq/hw-app-hedera": "^1.2.6",
208
- "@ledgerhq/hw-app-icon": "^1.3.6",
209
- "@ledgerhq/hw-app-multiversx": "^6.25.1",
210
- "@ledgerhq/hw-app-near": "^6.31.6",
211
- "@ledgerhq/hw-app-polkadot": "^6.34.6",
212
- "@ledgerhq/hw-app-str": "^7.2.6",
202
+ "@ledgerhq/hw-app-algorand": "^6.31.7-nightly.0",
203
+ "@ledgerhq/hw-app-aptos": "^6.34.7-nightly.0",
204
+ "@ledgerhq/hw-app-btc": "^10.11.1-nightly.0",
205
+ "@ledgerhq/hw-app-celo": "^6.34.4-nightly.0",
206
+ "@ledgerhq/hw-app-cosmos": "^6.32.7-nightly.0",
207
+ "@ledgerhq/hw-app-eth": "^6.45.19-nightly.0",
208
+ "@ledgerhq/hw-app-exchange": "^0.13.3-nightly.1",
209
+ "@ledgerhq/hw-app-hedera": "^1.2.7-nightly.0",
210
+ "@ledgerhq/hw-app-icon": "^1.3.7-nightly.0",
211
+ "@ledgerhq/hw-app-kaspa": "^1.3.0-nightly.1",
212
+ "@ledgerhq/hw-app-multiversx": "^6.25.2-nightly.0",
213
+ "@ledgerhq/hw-app-near": "^6.31.7-nightly.0",
214
+ "@ledgerhq/hw-app-polkadot": "^6.34.7-nightly.0",
215
+ "@ledgerhq/hw-app-str": "^7.2.7-nightly.0",
213
216
  "@ledgerhq/hw-app-sui": "^1.4.0",
214
- "@ledgerhq/hw-app-tezos": "^6.31.6",
215
- "@ledgerhq/hw-app-trx": "^6.31.6",
216
- "@ledgerhq/hw-app-vet": "^0.5.16",
217
- "@ledgerhq/hw-app-xrp": "^6.32.4",
218
- "@ledgerhq/hw-transport": "^6.31.10",
219
- "@ledgerhq/hw-transport-mocker": "^6.29.10",
220
- "@ledgerhq/ledger-cal-service": "^1.4.0",
217
+ "@ledgerhq/hw-app-tezos": "^6.31.7-nightly.0",
218
+ "@ledgerhq/hw-app-trx": "^6.31.7-nightly.0",
219
+ "@ledgerhq/hw-app-vet": "^0.5.17-nightly.0",
220
+ "@ledgerhq/hw-app-xrp": "^6.32.5-nightly.0",
221
+ "@ledgerhq/hw-transport": "^6.31.11-nightly.0",
222
+ "@ledgerhq/hw-transport-mocker": "^6.29.11-nightly.0",
223
+ "@ledgerhq/ledger-cal-service": "^1.5.0-nightly.0",
221
224
  "@ledgerhq/live-config": "^3.2.0",
222
- "@ledgerhq/live-countervalues": "^0.7.1",
223
- "@ledgerhq/live-countervalues-react": "^0.6.0",
224
- "@ledgerhq/live-dmk-shared": "^0.12.3",
225
- "@ledgerhq/live-env": "^2.16.0",
225
+ "@ledgerhq/live-countervalues": "^0.7.2-nightly.0",
226
+ "@ledgerhq/live-countervalues-react": "^0.6.1-nightly.0",
227
+ "@ledgerhq/live-dmk-shared": "^0.12.4-nightly.1",
228
+ "@ledgerhq/live-env": "^2.17.0-nightly.0",
226
229
  "@ledgerhq/live-hooks": "0.1.0",
227
- "@ledgerhq/live-network": "^2.0.17",
228
- "@ledgerhq/live-nft": "^0.8.20",
230
+ "@ledgerhq/live-network": "^2.0.18-nightly.0",
231
+ "@ledgerhq/live-nft": "^0.8.21-nightly.0",
229
232
  "@ledgerhq/live-promise": "^0.1.1",
230
- "@ledgerhq/live-signer-canton": "^0.3.0",
231
- "@ledgerhq/live-signer-evm": "^0.7.5",
232
- "@ledgerhq/live-signer-solana": "^0.5.5",
233
- "@ledgerhq/live-wallet": "^0.14.0",
234
- "@ledgerhq/speculos-transport": "^0.2.10",
233
+ "@ledgerhq/live-signer-canton": "^0.3.1-nightly.0",
234
+ "@ledgerhq/live-signer-evm": "^0.7.6-nightly.0",
235
+ "@ledgerhq/live-signer-solana": "^0.5.6-nightly.0",
236
+ "@ledgerhq/live-wallet": "^0.14.1-nightly.0",
235
237
  "@ledgerhq/logs": "^6.13.0",
236
- "@ledgerhq/wallet-api-acre-module": "^0.6.0",
238
+ "@ledgerhq/speculos-transport": "^0.2.11-nightly.0",
239
+ "@ledgerhq/wallet-api-acre-module": "^0.7.0-nightly.0",
237
240
  "@ledgerhq/wallet-api-exchange-module": "^0.16.0"
238
241
  },
239
242
  "devDependencies": {
@@ -282,10 +285,10 @@
282
285
  "undici": "6.19.2",
283
286
  "uuid": "^8.3.2",
284
287
  "ws": "7",
285
- "@ledgerhq/device-react": "^0.2.44",
286
- "@ledgerhq/types-cryptoassets": "^7.26.0",
288
+ "@ledgerhq/device-react": "^0.2.45-nightly.0",
289
+ "@ledgerhq/types-cryptoassets": "^7.27.0-nightly.0",
287
290
  "@ledgerhq/types-devices": "^6.27.0",
288
- "@ledgerhq/types-live": "^6.84.0"
291
+ "@ledgerhq/types-live": "^6.85.0-nightly.0"
289
292
  },
290
293
  "scripts": {
291
294
  "build": "zx ./scripts/build-ts.mjs",
@@ -119,6 +119,7 @@ setSupportedCurrencies([
119
119
  "canton_network",
120
120
  "canton_network_devnet",
121
121
  "canton_network_localnet",
122
+ "kaspa",
122
123
  ]);
123
124
  LiveConfig.setConfig(liveConfig);
124
125
 
@@ -9,7 +9,6 @@ import { runAllWithProgress } from "./runner";
9
9
  import { InlineAppInstallEvent } from "./types";
10
10
  import { mergeMap, map, throttleTime } from "rxjs/operators";
11
11
  import { LocalTracer } from "@ledgerhq/logs";
12
- import { AppStorageType, StorageProvider } from "../device/use-cases/appDataBackup/types";
13
12
 
14
13
  /**
15
14
  * Tries to install a list of apps
@@ -26,13 +25,11 @@ const inlineAppInstall = ({
26
25
  appNames,
27
26
  onSuccessObs,
28
27
  allowPartialDependencies = false,
29
- storage,
30
28
  }: {
31
29
  transport: Transport;
32
30
  appNames: string[];
33
31
  onSuccessObs?: () => Observable<any>;
34
32
  allowPartialDependencies?: boolean;
35
- storage?: StorageProvider<AppStorageType>;
36
33
  }): Observable<InlineAppInstallEvent | ConnectAppEvent> => {
37
34
  const tracer = new LocalTracer("hw", {
38
35
  ...transport.getTraceContext(),
@@ -105,7 +102,7 @@ const inlineAppInstall = ({
105
102
  installQueue: state.installQueue,
106
103
  }),
107
104
  maybeSkippedEvent,
108
- runAllWithProgress(state, exec, storage).pipe(
105
+ runAllWithProgress(state, exec).pipe(
109
106
  throttleTime(100),
110
107
  map(({ globalProgress, itemProgress, installQueue, currentAppOp }) => ({
111
108
  type: "inline-install",
package/src/apps/react.ts CHANGED
@@ -12,14 +12,12 @@ import {
12
12
  import { runAppOp } from "./runner";
13
13
  import { App } from "@ledgerhq/types-live";
14
14
  import { useFeatureFlags } from "../featureFlags";
15
- import { AppStorageType, StorageProvider } from "../device/use-cases/appDataBackup/types";
16
15
 
17
16
  type UseAppsRunnerResult = [State, (arg0: Action) => void];
18
17
  // use for React apps. support dynamic change of the state.
19
18
  export const useAppsRunner = (
20
19
  listResult: ListAppsResult,
21
20
  exec: Exec,
22
- storage: StorageProvider<AppStorageType>,
23
21
  appsToRestore?: string[],
24
22
  ): UseAppsRunnerResult => {
25
23
  // $FlowFixMe for ledger-live-mobile older react/flow version
@@ -36,7 +34,7 @@ export const useAppsRunner = (
36
34
 
37
35
  useEffect(() => {
38
36
  if (appOp) {
39
- const sub = runAppOp({ state, appOp, exec, storage }).subscribe(event => {
37
+ const sub = runAppOp({ state, appOp, exec }).subscribe(event => {
40
38
  dispatch({
41
39
  type: "onRunnerEvent",
42
40
  event,
@@ -13,18 +13,15 @@ import type { Exec, State, AppOp, RunnerEvent, Action } from "./types";
13
13
  import { reducer, getActionPlan, getNextAppOp } from "./logic";
14
14
  import { delay } from "../promise";
15
15
  import { getEnv } from "@ledgerhq/live-env";
16
- import { AppStorageType, StorageProvider } from "../device/use-cases/appDataBackup/types";
17
16
 
18
17
  export const runAppOp = ({
19
18
  state,
20
19
  appOp,
21
20
  exec,
22
- storage,
23
21
  }: {
24
22
  state: State;
25
23
  appOp: AppOp;
26
24
  exec: Exec;
27
- storage?: StorageProvider<AppStorageType>;
28
25
  }): Observable<RunnerEvent> => {
29
26
  const { appByName, deviceInfo, deviceModel } = state;
30
27
  const app = appByName[appOp.name];
@@ -56,7 +53,6 @@ export const runAppOp = ({
56
53
  targetId: deviceInfo.targetId,
57
54
  app,
58
55
  modelId: deviceModel.id,
59
- ...(storage ? { storage } : {}),
60
56
  ...(state.skipAppDataBackup ? { skipAppDataBackup: true } : {}),
61
57
  }),
62
58
  ).pipe(
@@ -99,7 +95,6 @@ type InlineInstallProgress = {
99
95
  export const runAllWithProgress = (
100
96
  state: State,
101
97
  exec: Exec,
102
- storage?: StorageProvider<AppStorageType>,
103
98
  precision = 100,
104
99
  ): Observable<InlineInstallProgress> => {
105
100
  const total = state.uninstallQueue.length + state.installQueue.length;
@@ -110,9 +105,7 @@ export const runAllWithProgress = (
110
105
  return p;
111
106
  }
112
107
 
113
- return concat(
114
- ...getActionPlan(state).map(appOp => runAppOp({ state, appOp, exec, storage })),
115
- ).pipe(
108
+ return concat(...getActionPlan(state).map(appOp => runAppOp({ state, appOp, exec }))).pipe(
116
109
  map(event => {
117
110
  if (event.type === "runError") {
118
111
  throw event.error;
@@ -14,9 +14,14 @@ import { genericEstimateMaxSpendable } from "./estimateMaxSpendable";
14
14
  import { createTransaction } from "./createTransaction";
15
15
  import { genericBroadcast } from "./broadcast";
16
16
  import { genericSignOperation } from "./signOperation";
17
+ import type { AlpacaSigner } from "./signer/types";
17
18
 
18
- export function getAlpacaAccountBridge(network: string, kind: string): AccountBridge<any> {
19
- const signer = getSigner(network);
19
+ export function getAlpacaAccountBridge(
20
+ network: string,
21
+ kind: string,
22
+ customSigner?: AlpacaSigner,
23
+ ): AccountBridge<any> {
24
+ const signer = customSigner ?? getSigner(network);
20
25
  return {
21
26
  sync: makeSync({ getAccountShape: genericGetAccountShape(network, kind) }),
22
27
  receive: makeAccountBridgeReceive(getAddressWrapper(signer.getAddress)),
@@ -28,5 +33,5 @@ export function getAlpacaAccountBridge(network: string, kind: string): AccountBr
28
33
  broadcast: genericBroadcast(network, kind),
29
34
  signOperation: genericSignOperation(network, kind)(signer.context),
30
35
  getSerializedAddressParameters, // NOTE: check wether it should be exposed by coin-module's api instead?
31
- } satisfies Partial<AccountBridge<any>> as AccountBridge<any>;
36
+ } satisfies Partial<AccountBridge<any>>;
32
37
  }
@@ -2,37 +2,35 @@ import { createApi as createXrpApi } from "@ledgerhq/coin-xrp/api/index";
2
2
  import { createApi as createStellarApi } from "@ledgerhq/coin-stellar/api/index";
3
3
  import { createApi as createCantonApi } from "@ledgerhq/coin-canton/api/index";
4
4
  import { createApi as createTronApi } from "@ledgerhq/coin-tron/api/index";
5
+ import { createApi as createEvmApi } from "@ledgerhq/coin-evm/api/index";
5
6
  import { getCurrencyConfiguration } from "../../../config";
6
- import { getCryptoCurrencyById } from "@ledgerhq/cryptoassets/currencies";
7
7
  import { getNetworkAlpacaApi } from "./network/network-alpaca";
8
8
  import { Api } from "@ledgerhq/coin-framework/api/types";
9
9
  import { XrpCoinConfig } from "@ledgerhq/coin-xrp/config";
10
10
  import { StellarCoinConfig } from "@ledgerhq/coin-stellar/config";
11
11
  import { CantonCoinConfig } from "@ledgerhq/coin-canton/config";
12
12
  import { TronCoinConfig } from "@ledgerhq/coin-tron/config";
13
+ import { EvmConfigInfo } from "@ledgerhq/coin-evm/config";
14
+ import { findCryptoCurrencyByNetwork } from "../utils";
13
15
 
14
- export function getAlpacaApi(network, kind): Api<any> {
16
+ export function getAlpacaApi(network: string, kind: string): Api<any> {
15
17
  if (kind === "local") {
16
- switch (network) {
18
+ const currency = findCryptoCurrencyByNetwork(network);
19
+ switch (currency?.family) {
17
20
  case "xrp":
18
- return createXrpApi(
19
- getCurrencyConfiguration<XrpCoinConfig>(getCryptoCurrencyById("ripple")),
20
- ) as Api<any>; // FIXME: createXrpApi returns a strongly typed Api<XrpSender>, fix Api<any> to allow it
21
+ return createXrpApi(getCurrencyConfiguration<XrpCoinConfig>(currency)) as Api<any>; // FIXME: createXrpApi returns a strongly typed Api<XrpSender>, fix Api<any> to allow it
21
22
  case "stellar":
22
- return createStellarApi(
23
- getCurrencyConfiguration<StellarCoinConfig>(getCryptoCurrencyById("stellar")),
24
- ) as Api<any>;
23
+ return createStellarApi(getCurrencyConfiguration<StellarCoinConfig>(currency)) as Api<any>;
25
24
  case "canton":
26
- return createCantonApi(
27
- getCurrencyConfiguration<CantonCoinConfig>(
28
- getCryptoCurrencyById("canton_network_devnet"),
29
- ),
30
- ) as Api<any>;
25
+ return createCantonApi(getCurrencyConfiguration<CantonCoinConfig>(currency)) as Api<any>;
31
26
  case "tron":
32
- return createTronApi(
33
- getCurrencyConfiguration<TronCoinConfig>(getCryptoCurrencyById("tron")),
27
+ return createTronApi(getCurrencyConfiguration<TronCoinConfig>(currency)) as Api<any>;
28
+ case "evm":
29
+ return createEvmApi(
30
+ getCurrencyConfiguration<EvmConfigInfo>(currency),
31
+ currency.id,
34
32
  ) as Api<any>;
35
33
  }
36
34
  }
37
- return getNetworkAlpacaApi(network) satisfies Partial<Api<any>> as Api<any>;
35
+ return getNetworkAlpacaApi(network) satisfies Partial<Api<any>>;
38
36
  }
@@ -3,6 +3,7 @@ import * as xrpModule from "@ledgerhq/coin-xrp/api/index";
3
3
  import * as stellarModule from "@ledgerhq/coin-stellar/api/index";
4
4
  import * as cantonModule from "@ledgerhq/coin-canton/api/index";
5
5
  import * as tronModule from "@ledgerhq/coin-tron/api/index";
6
+ import * as evmModule from "@ledgerhq/coin-evm/api/index";
6
7
  import * as config from "../../../config";
7
8
  import * as networkApi from "./network/network-alpaca";
8
9
  import * as cryptoAssets from "@ledgerhq/cryptoassets/currencies";
@@ -10,7 +11,7 @@ import * as cryptoAssets from "@ledgerhq/cryptoassets/currencies";
10
11
  const mockApiInstance = { mock: "api" };
11
12
 
12
13
  jest.mock("@ledgerhq/cryptoassets/currencies", () => ({
13
- getCryptoCurrencyById: jest.fn(),
14
+ findCryptoCurrencyById: jest.fn(),
14
15
  }));
15
16
 
16
17
  jest.mock("../../../config", () => ({
@@ -33,18 +34,37 @@ jest.mock("@ledgerhq/coin-tron/api/index", () => ({
33
34
  createApi: jest.fn(),
34
35
  }));
35
36
 
37
+ jest.mock("@ledgerhq/coin-evm/api/index", () => ({
38
+ createApi: jest.fn(),
39
+ }));
40
+
36
41
  jest.mock("./network/network-alpaca", () => ({
37
42
  getNetworkAlpacaApi: jest.fn(),
38
43
  }));
39
44
 
40
45
  describe("getAlpacaApi", () => {
41
- const mockCurrency = { id: "mock-currency" };
42
-
43
46
  beforeEach(() => {
44
47
  jest.clearAllMocks();
45
48
 
46
49
  // Common mocks
47
- (cryptoAssets.getCryptoCurrencyById as jest.Mock).mockReturnValue(mockCurrency);
50
+ (cryptoAssets.findCryptoCurrencyById as jest.Mock).mockImplementation(id => {
51
+ switch (id) {
52
+ case "ripple":
53
+ return { family: "xrp" };
54
+ case "stellar":
55
+ return { family: "stellar" };
56
+ case "canton":
57
+ return { family: "canton" };
58
+ case "tron":
59
+ return { family: "tron" };
60
+ case "ethereum":
61
+ return { id: "ethereum", family: "evm" };
62
+ case "sonic":
63
+ return { id: "sonic", family: "evm" };
64
+ default:
65
+ return undefined;
66
+ }
67
+ });
48
68
  (config.getCurrencyConfiguration as jest.Mock).mockReturnValue({ config: true });
49
69
 
50
70
  // API mocks
@@ -52,21 +72,29 @@ describe("getAlpacaApi", () => {
52
72
  jest.spyOn(stellarModule, "createApi").mockReturnValue(mockApiInstance as any);
53
73
  jest.spyOn(cantonModule, "createApi").mockReturnValue(mockApiInstance as any);
54
74
  jest.spyOn(tronModule, "createApi").mockReturnValue(mockApiInstance as any);
75
+ jest.spyOn(evmModule, "createApi").mockReturnValue(mockApiInstance as any);
55
76
  jest.spyOn(networkApi, "getNetworkAlpacaApi").mockReturnValue(mockApiInstance as any);
56
77
  });
57
78
 
58
79
  const testCases = [
59
- { network: "xrp", module: xrpModule, label: "XRP" },
60
- { network: "stellar", module: stellarModule, label: "Stellar" },
61
- { network: "tron", module: tronModule, label: "Tron" },
62
- { network: "canton", module: cantonModule, label: "Canton" },
80
+ { network: "xrp", module: xrpModule, label: "XRP", params: [{ config: true }] },
81
+ { network: "stellar", module: stellarModule, label: "Stellar", params: [{ config: true }] },
82
+ { network: "tron", module: tronModule, label: "Tron", params: [{ config: true }] },
83
+ { network: "canton", module: cantonModule, label: "Canton", params: [{ config: true }] },
84
+ {
85
+ network: "ethereum",
86
+ module: evmModule,
87
+ label: "Ethereum",
88
+ params: [{ config: true }, "ethereum"],
89
+ },
90
+ { network: "sonic", module: evmModule, label: "Sonic", params: [{ config: true }, "sonic"] },
63
91
  ];
64
92
 
65
- testCases.forEach(({ network, module, label }) => {
93
+ testCases.forEach(({ network, module, label, params }) => {
66
94
  it(`should return ${label} API for network "${network}" and kind "local"`, () => {
67
95
  const result = getAlpacaApi(network, "local");
68
96
  expect(result).toEqual(mockApiInstance);
69
- expect(module.createApi).toHaveBeenCalledWith({ config: true });
97
+ expect(module.createApi).toHaveBeenCalledWith(...params);
70
98
  });
71
99
  });
72
100
 
@@ -4,8 +4,8 @@ import { getAlpacaApi } from "./alpaca";
4
4
 
5
5
  export const genericBroadcast: (network, kind) => AccountBridge<TransactionCommon>["broadcast"] =
6
6
  (network, kind) =>
7
- async ({ signedOperation: { signature, operation } }) => {
8
- const hash = await getAlpacaApi(network, kind).broadcast(signature);
7
+ async ({ signedOperation: { signature, operation }, account }) => {
8
+ const hash = await getAlpacaApi(account.currency.id, kind).broadcast(signature);
9
9
 
10
10
  return patchOperationWithHash(operation, hash);
11
11
  };
@@ -1,29 +1,8 @@
1
- import { Account, TokenAccount, TransactionCommon } from "@ledgerhq/types-live";
1
+ import { Account, TokenAccount } from "@ledgerhq/types-live";
2
2
  import BigNumber from "bignumber.js";
3
- import type { Unit } from "@ledgerhq/types-cryptoassets";
3
+ import { GenericTransaction } from "./types";
4
4
 
5
- export enum NetworkCongestionLevel {
6
- LOW = "LOW",
7
- MEDIUM = "MEDIUM",
8
- HIGH = "HIGH",
9
- }
10
-
11
- export type NetworkInfo = {
12
- fees: BigNumber;
13
- };
14
-
15
- export function createTransaction(account: Account | TokenAccount): TransactionCommon & {
16
- family: string;
17
- fees?: BigNumber | null;
18
- tag?: number | null | undefined;
19
- feeCustomUnit?: Unit | null | undefined;
20
- memoType?: string | null;
21
- memoValue?: string | null;
22
- mode?: "send" | "changeTrust";
23
- assetReference?: string;
24
- assetOwner?: string;
25
- networkInfo?: NetworkInfo | null;
26
- } {
5
+ export function createTransaction(account: Account | TokenAccount): GenericTransaction {
27
6
  const currency =
28
7
  account.type === "TokenAccount" ? account.token.parentCurrency : account.currency;
29
8
  switch (currency.family) {
@@ -51,6 +30,16 @@ export function createTransaction(account: Account | TokenAccount): TransactionC
51
30
  assetOwner: "",
52
31
  networkInfo: null,
53
32
  };
33
+ case "evm": {
34
+ return {
35
+ mode: "send-eip1559",
36
+ family: currency.family,
37
+ amount: new BigNumber(0),
38
+ recipient: "",
39
+ useAllAmount: false,
40
+ feesStrategy: "medium",
41
+ };
42
+ }
54
43
  default:
55
44
  throw new Error(`Unsupported currency family: ${currency.family}`);
56
45
  }
@@ -2,8 +2,14 @@ import { makeScanAccounts } from "@ledgerhq/coin-framework/bridge/jsHelpers";
2
2
  import { CurrencyBridge } from "@ledgerhq/types-live";
3
3
  import { genericGetAccountShape } from "./getAccountShape";
4
4
  import { getSigner } from "./signer";
5
+ import type { AlpacaSigner } from "./signer/types";
5
6
 
6
- export function getAlpacaCurrencyBridge(network: string, kind: string): CurrencyBridge {
7
+ export function getAlpacaCurrencyBridge(
8
+ network: string,
9
+ kind: string,
10
+ customSigner?: AlpacaSigner,
11
+ ): CurrencyBridge {
12
+ const signer = customSigner ?? getSigner(network);
7
13
  return {
8
14
  preload: () => Promise.resolve({}),
9
15
  hydrate: () => {
@@ -11,7 +17,7 @@ export function getAlpacaCurrencyBridge(network: string, kind: string): Currency
11
17
  },
12
18
  scanAccounts: makeScanAccounts({
13
19
  getAccountShape: genericGetAccountShape(network, kind),
14
- getAddressFn: getSigner(network).getAddress,
20
+ getAddressFn: signer.getAddress.bind(signer),
15
21
  }),
16
22
  };
17
23
  }
@@ -14,8 +14,9 @@ export function genericEstimateMaxSpendable(
14
14
  return account.spendableBalance;
15
15
  }
16
16
  const mainAccount = getMainAccount(account, parentAccount);
17
+ const alpacaApi = getAlpacaApi(mainAccount.currency.id, kind);
17
18
  const draftTransaction = {
18
- ...createTransaction(account as any),
19
+ ...createTransaction(account),
19
20
  ...transaction,
20
21
  amount: mainAccount.spendableBalance,
21
22
  useAllAmount: true,
@@ -23,13 +24,10 @@ export function genericEstimateMaxSpendable(
23
24
 
24
25
  let fees = transaction?.fees;
25
26
  if (transaction?.fees === null || transaction?.fees === undefined) {
26
- fees = (
27
- await getAlpacaApi(network, kind).estimateFees(
28
- transactionToIntent(mainAccount, draftTransaction),
29
- )
30
- ).value;
27
+ fees = (await alpacaApi.estimateFees(transactionToIntent(mainAccount, draftTransaction)))
28
+ .value;
31
29
  }
32
- const { amount } = await getAlpacaApi(network, kind).validateIntent(
30
+ const { amount } = await alpacaApi.validateIntent(
33
31
  transactionToIntent(account, { ...draftTransaction }),
34
32
  { value: transaction?.fees ? BigInt(transaction.fees.toString()) : 0n },
35
33
  );
@@ -5,11 +5,12 @@ import { getAlpacaApi } from "./alpaca";
5
5
  import { adaptCoreOperationToLiveOperation, extractBalance } from "./utils";
6
6
  import { inferSubOperations } from "@ledgerhq/coin-framework/serialization";
7
7
  import { buildSubAccounts, OperationCommon } from "./buildSubAccounts";
8
+ import { Pagination } from "@ledgerhq/coin-framework/api/types";
8
9
 
9
10
  export function genericGetAccountShape(network: string, kind: string): GetAccountShape {
10
11
  return async (info, syncConfig) => {
11
12
  const { address, initialAccount, currency, derivationMode } = info;
12
- const alpacaApi = getAlpacaApi(network, kind);
13
+ const alpacaApi = getAlpacaApi(currency.id, kind);
13
14
 
14
15
  if (alpacaApi.getChainSpecificRules) {
15
16
  const chainSpecificValidation = alpacaApi.getChainSpecificRules();
@@ -41,7 +42,7 @@ export function genericGetAccountShape(network: string, kind: string): GetAccoun
41
42
  const lastPagingToken = oldOps[0]?.extra?.pagingToken || "";
42
43
 
43
44
  const blockHeight = oldOps.length ? (oldOps[0].blockHeight ?? 0) + 1 : 0;
44
- const paginationParams: any = { minHeight: blockHeight, order: "asc" };
45
+ const paginationParams: Pagination = { minHeight: blockHeight, order: "asc" };
45
46
  if (lastPagingToken) {
46
47
  paginationParams.lastPagingToken = lastPagingToken;
47
48
  }
@@ -73,7 +74,7 @@ export function genericGetAccountShape(network: string, kind: string): GetAccoun
73
74
  getTokenFromAsset: alpacaApi.getTokenFromAsset,
74
75
  }) || [];
75
76
 
76
- const operationsWithSubs = mergedOps.map(op => {
77
+ const operations = mergedOps.map(op => {
77
78
  const subOperations = inferSubOperations(op.hash, subAccounts);
78
79
 
79
80
  return {
@@ -85,13 +86,12 @@ export function genericGetAccountShape(network: string, kind: string): GetAccoun
85
86
  const res = {
86
87
  id: accountId,
87
88
  xpub: address,
88
- blockHeight:
89
- operationsWithSubs.length === 0 ? 0 : blockInfo.height || initialAccount?.blockHeight,
89
+ blockHeight: operations.length === 0 ? 0 : blockInfo.height || initialAccount?.blockHeight,
90
90
  balance: new BigNumber(nativeBalance.toString()),
91
91
  spendableBalance: new BigNumber(spendableBalance.toString()),
92
- operations: operationsWithSubs,
92
+ operations,
93
93
  subAccounts,
94
- operationsCount: operationsWithSubs.length,
94
+ operationsCount: operations.length,
95
95
  };
96
96
  return res;
97
97
  };