@ledgerhq/live-common 34.54.0-nightly.20251209023841 → 34.54.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 (553) hide show
  1. package/lib/__tests__/test-helpers/bridge.js +1 -1
  2. package/lib/__tests__/test-helpers/bridge.js.map +1 -1
  3. package/lib/__tests__/test-helpers/environment.js +0 -1
  4. package/lib/__tests__/test-helpers/environment.js.map +1 -1
  5. package/lib/account/index.d.ts +0 -1
  6. package/lib/account/index.d.ts.map +1 -1
  7. package/lib/account/index.js +1 -4
  8. package/lib/account/index.js.map +1 -1
  9. package/lib/account/serialization.js +1 -1
  10. package/lib/account/serialization.js.map +1 -1
  11. package/lib/account/support.js +1 -1
  12. package/lib/account/support.js.map +1 -1
  13. package/lib/bridge/generic-alpaca/accountBridge.d.ts +1 -1
  14. package/lib/bridge/generic-alpaca/accountBridge.d.ts.map +1 -1
  15. package/lib/bridge/generic-alpaca/accountBridge.js +1 -2
  16. package/lib/bridge/generic-alpaca/accountBridge.js.map +1 -1
  17. package/lib/bridge/generic-alpaca/broadcast.d.ts.map +1 -1
  18. package/lib/bridge/generic-alpaca/broadcast.js +3 -3
  19. package/lib/bridge/generic-alpaca/broadcast.js.map +1 -1
  20. package/lib/bridge/generic-alpaca/currencyBridge.d.ts.map +1 -1
  21. package/lib/bridge/generic-alpaca/currencyBridge.js +3 -3
  22. package/lib/bridge/generic-alpaca/currencyBridge.js.map +1 -1
  23. package/lib/bridge/generic-alpaca/estimateMaxSpendable.d.ts.map +1 -1
  24. package/lib/bridge/generic-alpaca/estimateMaxSpendable.js +1 -2
  25. package/lib/bridge/generic-alpaca/estimateMaxSpendable.js.map +1 -1
  26. package/lib/bridge/generic-alpaca/getAccountShape.d.ts.map +1 -1
  27. package/lib/bridge/generic-alpaca/getAccountShape.js +7 -16
  28. package/lib/bridge/generic-alpaca/getAccountShape.js.map +1 -1
  29. package/lib/bridge/generic-alpaca/getTransactionStatus.d.ts.map +1 -1
  30. package/lib/bridge/generic-alpaca/getTransactionStatus.js +1 -16
  31. package/lib/bridge/generic-alpaca/getTransactionStatus.js.map +1 -1
  32. package/lib/bridge/generic-alpaca/prepareTransaction.d.ts.map +1 -1
  33. package/lib/bridge/generic-alpaca/prepareTransaction.js +4 -38
  34. package/lib/bridge/generic-alpaca/prepareTransaction.js.map +1 -1
  35. package/lib/bridge/generic-alpaca/signOperation.d.ts.map +1 -1
  36. package/lib/bridge/generic-alpaca/signOperation.js +2 -18
  37. package/lib/bridge/generic-alpaca/signOperation.js.map +1 -1
  38. package/lib/bridge/generic-alpaca/signer/Eth.d.ts +0 -2
  39. package/lib/bridge/generic-alpaca/signer/Eth.d.ts.map +1 -1
  40. package/lib/bridge/generic-alpaca/signer/Eth.js +1 -8
  41. package/lib/bridge/generic-alpaca/signer/Eth.js.map +1 -1
  42. package/lib/bridge/generic-alpaca/signer/index.d.ts.map +1 -1
  43. package/lib/bridge/generic-alpaca/signer/index.js +0 -7
  44. package/lib/bridge/generic-alpaca/signer/index.js.map +1 -1
  45. package/lib/bridge/generic-alpaca/types.d.ts +0 -4
  46. package/lib/bridge/generic-alpaca/types.d.ts.map +1 -1
  47. package/lib/bridge/generic-alpaca/utils.d.ts.map +1 -1
  48. package/lib/bridge/generic-alpaca/utils.js +3 -12
  49. package/lib/bridge/generic-alpaca/utils.js.map +1 -1
  50. package/lib/bridge/impl.d.ts.map +1 -1
  51. package/lib/bridge/impl.js +3 -14
  52. package/lib/bridge/impl.js.map +1 -1
  53. package/lib/currencies/cryptoIcons.d.ts +3 -0
  54. package/lib/currencies/cryptoIcons.d.ts.map +1 -0
  55. package/lib/currencies/cryptoIcons.js +24 -0
  56. package/lib/currencies/cryptoIcons.js.map +1 -0
  57. package/lib/currencies/helpers.d.ts +0 -1
  58. package/lib/currencies/helpers.d.ts.map +1 -1
  59. package/lib/currencies/helpers.js +1 -7
  60. package/lib/currencies/helpers.js.map +1 -1
  61. package/lib/domain/getTokensWithFunds.d.ts +1 -7
  62. package/lib/domain/getTokensWithFunds.d.ts.map +1 -1
  63. package/lib/domain/getTokensWithFunds.js +4 -15
  64. package/lib/domain/getTokensWithFunds.js.map +1 -1
  65. package/lib/e2e/data/deviceLabelsData.d.ts.map +1 -1
  66. package/lib/e2e/data/deviceLabelsData.js +0 -1
  67. package/lib/e2e/data/deviceLabelsData.js.map +1 -1
  68. package/lib/e2e/enum/Device.d.ts +0 -1
  69. package/lib/e2e/enum/Device.d.ts.map +1 -1
  70. package/lib/e2e/enum/Device.js +0 -1
  71. package/lib/e2e/enum/Device.js.map +1 -1
  72. package/lib/e2e/families/cardano.d.ts.map +1 -1
  73. package/lib/e2e/families/cardano.js +14 -29
  74. package/lib/e2e/families/cardano.js.map +1 -1
  75. package/lib/e2e/index.d.ts +3 -26
  76. package/lib/e2e/index.d.ts.map +1 -1
  77. package/lib/e2e/index.js +1 -21
  78. package/lib/e2e/index.js.map +1 -1
  79. package/lib/e2e/speculos.d.ts.map +1 -1
  80. package/lib/e2e/speculos.js +4 -31
  81. package/lib/e2e/speculos.js.map +1 -1
  82. package/lib/e2e/speculosAppVersion.d.ts.map +1 -1
  83. package/lib/e2e/speculosAppVersion.js +2 -6
  84. package/lib/e2e/speculosAppVersion.js.map +1 -1
  85. package/lib/e2e/swap.d.ts.map +1 -1
  86. package/lib/e2e/swap.js +6 -7
  87. package/lib/e2e/swap.js.map +1 -1
  88. package/lib/env.react.d.ts +1 -1
  89. package/lib/env.react.d.ts.map +1 -1
  90. package/lib/exchange/swap/api/v5/fetchCurrencyFrom.js +1 -1
  91. package/lib/exchange/swap/api/v5/fetchCurrencyFrom.js.map +1 -1
  92. package/lib/exchange/swap/postSwapState.d.ts.map +1 -1
  93. package/lib/exchange/swap/postSwapState.js +6 -10
  94. package/lib/exchange/swap/postSwapState.js.map +1 -1
  95. package/lib/exchange/swap/types.d.ts +1 -3
  96. package/lib/exchange/swap/types.d.ts.map +1 -1
  97. package/lib/families/bitcoin/walletApiAdapter.d.ts.map +1 -1
  98. package/lib/families/bitcoin/walletApiAdapter.js +0 -3
  99. package/lib/families/bitcoin/walletApiAdapter.js.map +1 -1
  100. package/lib/families/canton/config.d.ts.map +1 -1
  101. package/lib/families/canton/config.js +4 -4
  102. package/lib/families/canton/config.js.map +1 -1
  103. package/lib/families/canton/react.d.ts +0 -2
  104. package/lib/families/canton/react.d.ts.map +1 -1
  105. package/lib/families/canton/react.js +1 -40
  106. package/lib/families/canton/react.js.map +1 -1
  107. package/lib/families/celo/setup.d.ts.map +1 -1
  108. package/lib/families/celo/setup.js +0 -11
  109. package/lib/families/celo/setup.js.map +1 -1
  110. package/lib/families/evm/bridge/mock.d.ts +0 -1
  111. package/lib/families/evm/bridge/mock.d.ts.map +1 -1
  112. package/lib/families/evm/bridge/mock.js +0 -12
  113. package/lib/families/evm/bridge/mock.js.map +1 -1
  114. package/lib/families/evm/setup.d.ts +4 -1
  115. package/lib/families/evm/setup.d.ts.map +1 -1
  116. package/lib/families/evm/setup.js +8 -1
  117. package/lib/families/evm/setup.js.map +1 -1
  118. package/lib/families/evm/walletApiAdapter.d.ts +0 -7
  119. package/lib/families/evm/walletApiAdapter.d.ts.map +1 -1
  120. package/lib/families/evm/walletApiAdapter.js +2 -36
  121. package/lib/families/evm/walletApiAdapter.js.map +1 -1
  122. package/lib/families/polkadot/config.js +1 -1
  123. package/lib/families/polkadot/config.js.map +1 -1
  124. package/lib/families/stacks/constants.d.ts +1 -1
  125. package/lib/families/stacks/constants.d.ts.map +1 -1
  126. package/lib/families/stacks/constants.js +1 -1
  127. package/lib/families/stacks/constants.js.map +1 -1
  128. package/lib/featureFlags/defaultFeatures.d.ts.map +1 -1
  129. package/lib/featureFlags/defaultFeatures.js +1 -19
  130. package/lib/featureFlags/defaultFeatures.js.map +1 -1
  131. package/lib/featureFlags/firebaseFeatureFlags.js +1 -1
  132. package/lib/featureFlags/firebaseFeatureFlags.js.map +1 -1
  133. package/lib/featureFlags/stakePrograms/index.js +4 -4
  134. package/lib/featureFlags/stakePrograms/index.js.map +1 -1
  135. package/lib/featureFlags/useFeature.d.ts +1 -1
  136. package/lib/featureFlags/useFeature.d.ts.map +1 -1
  137. package/lib/featureFlags/useHasOverriddenFeatureFlags.js +1 -1
  138. package/lib/featureFlags/useHasOverriddenFeatureFlags.js.map +1 -1
  139. package/lib/generated/bridge/js.d.ts +1 -0
  140. package/lib/generated/bridge/js.d.ts.map +1 -1
  141. package/lib/generated/bridge/js.js +32 -30
  142. package/lib/generated/bridge/js.js.map +1 -1
  143. package/lib/generated/bridge/mock.d.ts +0 -1
  144. package/lib/generated/bridge/mock.d.ts.map +1 -1
  145. package/lib/helpers.d.ts +0 -1
  146. package/lib/helpers.d.ts.map +1 -1
  147. package/lib/helpers.js +0 -15
  148. package/lib/helpers.js.map +1 -1
  149. package/lib/hw/getAppAndVersion.d.ts +1 -3
  150. package/lib/hw/getAppAndVersion.d.ts.map +1 -1
  151. package/lib/hw/getAppAndVersion.js +2 -2
  152. package/lib/hw/getAppAndVersion.js.map +1 -1
  153. package/lib/hw/getBitcoinLikeInfo.js +1 -1
  154. package/lib/hw/getBitcoinLikeInfo.js.map +1 -1
  155. package/lib/load/speculos.d.ts.map +1 -1
  156. package/lib/load/speculos.js +0 -1
  157. package/lib/load/speculos.js.map +1 -1
  158. package/lib/mock/account.js +1 -1
  159. package/lib/mock/account.js.map +1 -1
  160. package/lib/operation.d.ts.map +1 -1
  161. package/lib/operation.js +2 -7
  162. package/lib/operation.js.map +1 -1
  163. package/lib/postOnboarding/reducer.d.ts +0 -2
  164. package/lib/postOnboarding/reducer.d.ts.map +1 -1
  165. package/lib/react.d.ts +16 -0
  166. package/lib/react.d.ts.map +1 -0
  167. package/lib/react.js +64 -0
  168. package/lib/react.js.map +1 -0
  169. package/lib/reactNative.d.ts +16 -0
  170. package/lib/reactNative.d.ts.map +1 -0
  171. package/lib/reactNative.js +43 -0
  172. package/lib/reactNative.js.map +1 -0
  173. package/lib/wallet-api/Exchange/server.d.ts.map +1 -1
  174. package/lib/wallet-api/Exchange/server.js +1 -7
  175. package/lib/wallet-api/Exchange/server.js.map +1 -1
  176. package/lib/wallet-api/Exchange/tracking.d.ts +6 -7
  177. package/lib/wallet-api/Exchange/tracking.d.ts.map +1 -1
  178. package/lib/wallet-api/Exchange/tracking.js +13 -52
  179. package/lib/wallet-api/Exchange/tracking.js.map +1 -1
  180. package/lib/wallet-api/constants.d.ts +1 -1
  181. package/lib/wallet-api/logic.d.ts +1 -1
  182. package/lib/wallet-api/logic.d.ts.map +1 -1
  183. package/lib/wallet-api/logic.js +5 -5
  184. package/lib/wallet-api/logic.js.map +1 -1
  185. package/lib/wallet-api/react.d.ts.map +1 -1
  186. package/lib/wallet-api/react.js +6 -9
  187. package/lib/wallet-api/react.js.map +1 -1
  188. package/lib/wallet-api/tracking.d.ts +5 -5
  189. package/lib/wallet-api/tracking.d.ts.map +1 -1
  190. package/lib/wallet-api/tracking.js +10 -30
  191. package/lib/wallet-api/tracking.js.map +1 -1
  192. package/lib/wallet-api/useDappLogic.d.ts.map +1 -1
  193. package/lib/wallet-api/useDappLogic.js +20 -31
  194. package/lib/wallet-api/useDappLogic.js.map +1 -1
  195. package/lib/wallet-api/utils/extractDappURLFromManifest.js +3 -3
  196. package/lib/wallet-api/utils/extractDappURLFromManifest.js.map +1 -1
  197. package/lib/wallet-api/utils/extractURLFromManifest.js +1 -1
  198. package/lib/wallet-api/utils/extractURLFromManifest.js.map +1 -1
  199. package/lib/walletSync/getEnvironmentParams.js +6 -6
  200. package/lib/walletSync/getEnvironmentParams.js.map +1 -1
  201. package/lib-es/__tests__/test-helpers/bridge.js +1 -1
  202. package/lib-es/__tests__/test-helpers/bridge.js.map +1 -1
  203. package/lib-es/__tests__/test-helpers/environment.js +0 -1
  204. package/lib-es/__tests__/test-helpers/environment.js.map +1 -1
  205. package/lib-es/account/index.d.ts +0 -1
  206. package/lib-es/account/index.d.ts.map +1 -1
  207. package/lib-es/account/index.js +0 -1
  208. package/lib-es/account/index.js.map +1 -1
  209. package/lib-es/account/serialization.js +1 -1
  210. package/lib-es/account/serialization.js.map +1 -1
  211. package/lib-es/account/support.js +1 -1
  212. package/lib-es/account/support.js.map +1 -1
  213. package/lib-es/bridge/generic-alpaca/accountBridge.d.ts +1 -1
  214. package/lib-es/bridge/generic-alpaca/accountBridge.d.ts.map +1 -1
  215. package/lib-es/bridge/generic-alpaca/accountBridge.js +1 -2
  216. package/lib-es/bridge/generic-alpaca/accountBridge.js.map +1 -1
  217. package/lib-es/bridge/generic-alpaca/broadcast.d.ts.map +1 -1
  218. package/lib-es/bridge/generic-alpaca/broadcast.js +3 -3
  219. package/lib-es/bridge/generic-alpaca/broadcast.js.map +1 -1
  220. package/lib-es/bridge/generic-alpaca/currencyBridge.d.ts.map +1 -1
  221. package/lib-es/bridge/generic-alpaca/currencyBridge.js +3 -3
  222. package/lib-es/bridge/generic-alpaca/currencyBridge.js.map +1 -1
  223. package/lib-es/bridge/generic-alpaca/estimateMaxSpendable.d.ts.map +1 -1
  224. package/lib-es/bridge/generic-alpaca/estimateMaxSpendable.js +1 -2
  225. package/lib-es/bridge/generic-alpaca/estimateMaxSpendable.js.map +1 -1
  226. package/lib-es/bridge/generic-alpaca/getAccountShape.d.ts.map +1 -1
  227. package/lib-es/bridge/generic-alpaca/getAccountShape.js +7 -16
  228. package/lib-es/bridge/generic-alpaca/getAccountShape.js.map +1 -1
  229. package/lib-es/bridge/generic-alpaca/getTransactionStatus.d.ts.map +1 -1
  230. package/lib-es/bridge/generic-alpaca/getTransactionStatus.js +1 -16
  231. package/lib-es/bridge/generic-alpaca/getTransactionStatus.js.map +1 -1
  232. package/lib-es/bridge/generic-alpaca/prepareTransaction.d.ts.map +1 -1
  233. package/lib-es/bridge/generic-alpaca/prepareTransaction.js +4 -38
  234. package/lib-es/bridge/generic-alpaca/prepareTransaction.js.map +1 -1
  235. package/lib-es/bridge/generic-alpaca/signOperation.d.ts.map +1 -1
  236. package/lib-es/bridge/generic-alpaca/signOperation.js +2 -18
  237. package/lib-es/bridge/generic-alpaca/signOperation.js.map +1 -1
  238. package/lib-es/bridge/generic-alpaca/signer/Eth.d.ts +0 -2
  239. package/lib-es/bridge/generic-alpaca/signer/Eth.d.ts.map +1 -1
  240. package/lib-es/bridge/generic-alpaca/signer/Eth.js +0 -4
  241. package/lib-es/bridge/generic-alpaca/signer/Eth.js.map +1 -1
  242. package/lib-es/bridge/generic-alpaca/signer/index.d.ts.map +1 -1
  243. package/lib-es/bridge/generic-alpaca/signer/index.js +0 -7
  244. package/lib-es/bridge/generic-alpaca/signer/index.js.map +1 -1
  245. package/lib-es/bridge/generic-alpaca/types.d.ts +0 -4
  246. package/lib-es/bridge/generic-alpaca/types.d.ts.map +1 -1
  247. package/lib-es/bridge/generic-alpaca/utils.d.ts.map +1 -1
  248. package/lib-es/bridge/generic-alpaca/utils.js +3 -12
  249. package/lib-es/bridge/generic-alpaca/utils.js.map +1 -1
  250. package/lib-es/bridge/impl.d.ts.map +1 -1
  251. package/lib-es/bridge/impl.js +3 -14
  252. package/lib-es/bridge/impl.js.map +1 -1
  253. package/lib-es/currencies/cryptoIcons.d.ts +3 -0
  254. package/lib-es/currencies/cryptoIcons.d.ts.map +1 -0
  255. package/lib-es/currencies/cryptoIcons.js +20 -0
  256. package/lib-es/currencies/cryptoIcons.js.map +1 -0
  257. package/lib-es/currencies/helpers.d.ts +0 -1
  258. package/lib-es/currencies/helpers.d.ts.map +1 -1
  259. package/lib-es/currencies/helpers.js +0 -5
  260. package/lib-es/currencies/helpers.js.map +1 -1
  261. package/lib-es/domain/getTokensWithFunds.d.ts +1 -7
  262. package/lib-es/domain/getTokensWithFunds.d.ts.map +1 -1
  263. package/lib-es/domain/getTokensWithFunds.js +3 -13
  264. package/lib-es/domain/getTokensWithFunds.js.map +1 -1
  265. package/lib-es/e2e/data/deviceLabelsData.d.ts.map +1 -1
  266. package/lib-es/e2e/data/deviceLabelsData.js +0 -1
  267. package/lib-es/e2e/data/deviceLabelsData.js.map +1 -1
  268. package/lib-es/e2e/enum/Device.d.ts +0 -1
  269. package/lib-es/e2e/enum/Device.d.ts.map +1 -1
  270. package/lib-es/e2e/enum/Device.js +0 -1
  271. package/lib-es/e2e/enum/Device.js.map +1 -1
  272. package/lib-es/e2e/families/cardano.d.ts.map +1 -1
  273. package/lib-es/e2e/families/cardano.js +14 -29
  274. package/lib-es/e2e/families/cardano.js.map +1 -1
  275. package/lib-es/e2e/index.d.ts +3 -26
  276. package/lib-es/e2e/index.d.ts.map +1 -1
  277. package/lib-es/e2e/index.js +0 -16
  278. package/lib-es/e2e/index.js.map +1 -1
  279. package/lib-es/e2e/speculos.d.ts.map +1 -1
  280. package/lib-es/e2e/speculos.js +4 -31
  281. package/lib-es/e2e/speculos.js.map +1 -1
  282. package/lib-es/e2e/speculosAppVersion.d.ts.map +1 -1
  283. package/lib-es/e2e/speculosAppVersion.js +2 -6
  284. package/lib-es/e2e/speculosAppVersion.js.map +1 -1
  285. package/lib-es/e2e/swap.d.ts.map +1 -1
  286. package/lib-es/e2e/swap.js +6 -7
  287. package/lib-es/e2e/swap.js.map +1 -1
  288. package/lib-es/env.react.d.ts +1 -1
  289. package/lib-es/env.react.d.ts.map +1 -1
  290. package/lib-es/exchange/swap/api/v5/fetchCurrencyFrom.js +1 -1
  291. package/lib-es/exchange/swap/api/v5/fetchCurrencyFrom.js.map +1 -1
  292. package/lib-es/exchange/swap/postSwapState.d.ts.map +1 -1
  293. package/lib-es/exchange/swap/postSwapState.js +6 -10
  294. package/lib-es/exchange/swap/postSwapState.js.map +1 -1
  295. package/lib-es/exchange/swap/types.d.ts +1 -3
  296. package/lib-es/exchange/swap/types.d.ts.map +1 -1
  297. package/lib-es/families/bitcoin/walletApiAdapter.d.ts.map +1 -1
  298. package/lib-es/families/bitcoin/walletApiAdapter.js +0 -3
  299. package/lib-es/families/bitcoin/walletApiAdapter.js.map +1 -1
  300. package/lib-es/families/canton/config.d.ts.map +1 -1
  301. package/lib-es/families/canton/config.js +4 -4
  302. package/lib-es/families/canton/config.js.map +1 -1
  303. package/lib-es/families/canton/react.d.ts +0 -2
  304. package/lib-es/families/canton/react.d.ts.map +1 -1
  305. package/lib-es/families/canton/react.js +1 -38
  306. package/lib-es/families/canton/react.js.map +1 -1
  307. package/lib-es/families/celo/setup.d.ts.map +1 -1
  308. package/lib-es/families/celo/setup.js +0 -11
  309. package/lib-es/families/celo/setup.js.map +1 -1
  310. package/lib-es/families/evm/bridge/mock.d.ts +0 -1
  311. package/lib-es/families/evm/bridge/mock.d.ts.map +1 -1
  312. package/lib-es/families/evm/bridge/mock.js +0 -12
  313. package/lib-es/families/evm/bridge/mock.js.map +1 -1
  314. package/lib-es/families/evm/setup.d.ts +4 -1
  315. package/lib-es/families/evm/setup.d.ts.map +1 -1
  316. package/lib-es/families/evm/setup.js +8 -2
  317. package/lib-es/families/evm/setup.js.map +1 -1
  318. package/lib-es/families/evm/walletApiAdapter.d.ts +0 -7
  319. package/lib-es/families/evm/walletApiAdapter.d.ts.map +1 -1
  320. package/lib-es/families/evm/walletApiAdapter.js +1 -30
  321. package/lib-es/families/evm/walletApiAdapter.js.map +1 -1
  322. package/lib-es/families/polkadot/config.js +1 -1
  323. package/lib-es/families/polkadot/config.js.map +1 -1
  324. package/lib-es/families/stacks/constants.d.ts +1 -1
  325. package/lib-es/families/stacks/constants.d.ts.map +1 -1
  326. package/lib-es/families/stacks/constants.js +1 -1
  327. package/lib-es/families/stacks/constants.js.map +1 -1
  328. package/lib-es/featureFlags/defaultFeatures.d.ts.map +1 -1
  329. package/lib-es/featureFlags/defaultFeatures.js +1 -19
  330. package/lib-es/featureFlags/defaultFeatures.js.map +1 -1
  331. package/lib-es/featureFlags/firebaseFeatureFlags.js +1 -1
  332. package/lib-es/featureFlags/firebaseFeatureFlags.js.map +1 -1
  333. package/lib-es/featureFlags/stakePrograms/index.js +4 -4
  334. package/lib-es/featureFlags/stakePrograms/index.js.map +1 -1
  335. package/lib-es/featureFlags/useFeature.d.ts +1 -1
  336. package/lib-es/featureFlags/useFeature.d.ts.map +1 -1
  337. package/lib-es/featureFlags/useHasOverriddenFeatureFlags.js +1 -1
  338. package/lib-es/featureFlags/useHasOverriddenFeatureFlags.js.map +1 -1
  339. package/lib-es/generated/bridge/js.d.ts +1 -0
  340. package/lib-es/generated/bridge/js.d.ts.map +1 -1
  341. package/lib-es/generated/bridge/js.js +2 -0
  342. package/lib-es/generated/bridge/js.js.map +1 -1
  343. package/lib-es/generated/bridge/mock.d.ts +0 -1
  344. package/lib-es/generated/bridge/mock.d.ts.map +1 -1
  345. package/lib-es/helpers.d.ts +0 -1
  346. package/lib-es/helpers.d.ts.map +1 -1
  347. package/lib-es/helpers.js +0 -1
  348. package/lib-es/helpers.js.map +1 -1
  349. package/lib-es/hw/getAppAndVersion.d.ts +1 -3
  350. package/lib-es/hw/getAppAndVersion.d.ts.map +1 -1
  351. package/lib-es/hw/getAppAndVersion.js +2 -2
  352. package/lib-es/hw/getAppAndVersion.js.map +1 -1
  353. package/lib-es/hw/getBitcoinLikeInfo.js +1 -1
  354. package/lib-es/hw/getBitcoinLikeInfo.js.map +1 -1
  355. package/lib-es/load/speculos.d.ts.map +1 -1
  356. package/lib-es/load/speculos.js +0 -1
  357. package/lib-es/load/speculos.js.map +1 -1
  358. package/lib-es/mock/account.js +1 -1
  359. package/lib-es/mock/account.js.map +1 -1
  360. package/lib-es/operation.d.ts.map +1 -1
  361. package/lib-es/operation.js +2 -7
  362. package/lib-es/operation.js.map +1 -1
  363. package/lib-es/postOnboarding/reducer.d.ts +0 -2
  364. package/lib-es/postOnboarding/reducer.d.ts.map +1 -1
  365. package/lib-es/react.d.ts +16 -0
  366. package/lib-es/react.d.ts.map +1 -0
  367. package/lib-es/react.js +33 -0
  368. package/lib-es/react.js.map +1 -0
  369. package/lib-es/reactNative.d.ts +16 -0
  370. package/lib-es/reactNative.d.ts.map +1 -0
  371. package/lib-es/reactNative.js +15 -0
  372. package/lib-es/reactNative.js.map +1 -0
  373. package/lib-es/wallet-api/Exchange/server.d.ts.map +1 -1
  374. package/lib-es/wallet-api/Exchange/server.js +1 -7
  375. package/lib-es/wallet-api/Exchange/server.js.map +1 -1
  376. package/lib-es/wallet-api/Exchange/tracking.d.ts +6 -7
  377. package/lib-es/wallet-api/Exchange/tracking.d.ts.map +1 -1
  378. package/lib-es/wallet-api/Exchange/tracking.js +13 -52
  379. package/lib-es/wallet-api/Exchange/tracking.js.map +1 -1
  380. package/lib-es/wallet-api/constants.d.ts +1 -1
  381. package/lib-es/wallet-api/logic.d.ts +1 -1
  382. package/lib-es/wallet-api/logic.d.ts.map +1 -1
  383. package/lib-es/wallet-api/logic.js +5 -5
  384. package/lib-es/wallet-api/logic.js.map +1 -1
  385. package/lib-es/wallet-api/react.d.ts.map +1 -1
  386. package/lib-es/wallet-api/react.js +6 -9
  387. package/lib-es/wallet-api/react.js.map +1 -1
  388. package/lib-es/wallet-api/tracking.d.ts +5 -5
  389. package/lib-es/wallet-api/tracking.d.ts.map +1 -1
  390. package/lib-es/wallet-api/tracking.js +10 -30
  391. package/lib-es/wallet-api/tracking.js.map +1 -1
  392. package/lib-es/wallet-api/useDappLogic.d.ts.map +1 -1
  393. package/lib-es/wallet-api/useDappLogic.js +20 -31
  394. package/lib-es/wallet-api/useDappLogic.js.map +1 -1
  395. package/lib-es/wallet-api/utils/extractDappURLFromManifest.js +3 -3
  396. package/lib-es/wallet-api/utils/extractDappURLFromManifest.js.map +1 -1
  397. package/lib-es/wallet-api/utils/extractURLFromManifest.js +1 -1
  398. package/lib-es/wallet-api/utils/extractURLFromManifest.js.map +1 -1
  399. package/lib-es/walletSync/getEnvironmentParams.js +6 -6
  400. package/lib-es/walletSync/getEnvironmentParams.js.map +1 -1
  401. package/package.json +90 -82
  402. package/react.js +1 -0
  403. package/reactNative.js +1 -0
  404. package/src/__tests__/test-helpers/bridge.ts +1 -1
  405. package/src/__tests__/test-helpers/environment.ts +0 -1
  406. package/src/account/index.ts +0 -6
  407. package/src/account/serialization.ts +1 -1
  408. package/src/account/support.ts +1 -1
  409. package/src/bridge/generic-alpaca/accountBridge.ts +2 -3
  410. package/src/bridge/generic-alpaca/broadcast.ts +3 -6
  411. package/src/bridge/generic-alpaca/currencyBridge.ts +3 -3
  412. package/src/bridge/generic-alpaca/estimateMaxSpendable.ts +1 -2
  413. package/src/bridge/generic-alpaca/getAccountShape.ts +12 -24
  414. package/src/bridge/generic-alpaca/getTransactionStatus.ts +1 -16
  415. package/src/bridge/generic-alpaca/prepareTransaction.ts +10 -44
  416. package/src/bridge/generic-alpaca/signOperation.ts +2 -18
  417. package/src/bridge/generic-alpaca/signer/Eth.ts +1 -5
  418. package/src/bridge/generic-alpaca/signer/index.ts +0 -7
  419. package/src/bridge/generic-alpaca/tests/getAccountShape.test.ts +2 -2
  420. package/src/bridge/generic-alpaca/tests/prepareTransaction.test.ts +0 -32
  421. package/src/bridge/generic-alpaca/types.ts +0 -4
  422. package/src/bridge/generic-alpaca/utils.test.ts +0 -4
  423. package/src/bridge/generic-alpaca/utils.ts +3 -15
  424. package/src/bridge/impl.ts +3 -16
  425. package/src/currencies/cryptoIcons.test.ts +54 -0
  426. package/src/currencies/cryptoIcons.ts +21 -0
  427. package/src/currencies/helpers.test.ts +1 -10
  428. package/src/currencies/helpers.ts +0 -6
  429. package/src/domain/getTokensWithFunds.ts +5 -18
  430. package/src/e2e/data/deviceLabelsData.ts +0 -1
  431. package/src/e2e/enum/Device.ts +0 -1
  432. package/src/e2e/families/cardano.ts +14 -32
  433. package/src/e2e/index.ts +0 -20
  434. package/src/e2e/speculos.ts +4 -35
  435. package/src/e2e/speculosAppVersion.ts +2 -8
  436. package/src/e2e/swap.ts +7 -8
  437. package/src/exchange/swap/api/v5/fetchCurrencyFrom.ts +1 -1
  438. package/src/exchange/swap/postSwapState.ts +5 -10
  439. package/src/exchange/swap/types.ts +1 -3
  440. package/src/families/bitcoin/walletApiAdapter.test.ts +0 -36
  441. package/src/families/bitcoin/walletApiAdapter.ts +0 -4
  442. package/src/families/canton/config.ts +4 -5
  443. package/src/families/canton/react.ts +1 -45
  444. package/src/families/celo/setup.ts +0 -12
  445. package/src/families/cosmos/datasets/__snapshots__/cosmos.integration.test.ts.snap +4 -73
  446. package/src/families/cosmos/datasets/__snapshots__/cryptoOrg.integration.test.ts.snap +2 -2
  447. package/src/families/cosmos/datasets/__snapshots__/injective.integration.test.ts.snap +2 -2
  448. package/src/families/cosmos/datasets/__snapshots__/mantra.integration.test.ts.snap +2 -2
  449. package/src/families/cosmos/datasets/__snapshots__/osmosis.integration.test.ts.snap +2 -2
  450. package/src/families/cosmos/datasets/__snapshots__/persistence.integration.test.ts.snap +4 -4
  451. package/src/families/cosmos/datasets/__snapshots__/stargaze.integration.test.ts.snap +2 -2
  452. package/src/families/evm/bridge/mock.ts +0 -14
  453. package/src/families/evm/setup.ts +22 -3
  454. package/src/families/evm/walletApiAdapter.ts +1 -33
  455. package/src/families/hedera/__snapshots__/bridge.integration.test.ts.snap +17 -278
  456. package/src/families/polkadot/__snapshots__/bridge.integration.test.ts.snap +3653 -6
  457. package/src/families/polkadot/config.ts +1 -1
  458. package/src/families/stacks/__snapshots__/bridge.integration.test.ts.snap +17 -1536
  459. package/src/families/stacks/__tests__/sync.integration.test.ts +2 -2
  460. package/src/families/stacks/constants.ts +1 -1
  461. package/src/families/stellar/__snapshots__/bridge.integration.test.ts.snap +9 -9
  462. package/src/featureFlags/defaultFeatures.ts +1 -19
  463. package/src/featureFlags/firebaseFeatureFlags.ts +1 -1
  464. package/src/featureFlags/stakePrograms/index.ts +4 -4
  465. package/src/featureFlags/useHasOverriddenFeatureFlags.ts +1 -1
  466. package/src/generated/bridge/js.ts +2 -0
  467. package/src/helpers.ts +0 -2
  468. package/src/hw/getAppAndVersion.ts +1 -2
  469. package/src/hw/getBitcoinLikeInfo.ts +1 -1
  470. package/src/load/speculos.ts +0 -1
  471. package/src/mock/account.ts +1 -1
  472. package/src/operation.ts +2 -10
  473. package/src/react.tsx +43 -0
  474. package/src/reactNative.ts +23 -0
  475. package/src/reactNativeSvg.d.ts +19 -0
  476. package/src/wallet-api/Exchange/server.ts +0 -8
  477. package/src/wallet-api/Exchange/tracking.ts +13 -56
  478. package/src/wallet-api/logic.ts +4 -5
  479. package/src/wallet-api/react.ts +5 -10
  480. package/src/wallet-api/tracking.ts +10 -30
  481. package/src/wallet-api/useDappLogic.ts +20 -32
  482. package/src/wallet-api/utils/extractDappURLFromManifest.ts +3 -3
  483. package/src/wallet-api/utils/extractURLFromManifest.ts +1 -1
  484. package/src/walletSync/getEnvironmentParams.ts +6 -6
  485. package/lib/account/recentAddresses.d.ts +0 -10
  486. package/lib/account/recentAddresses.d.ts.map +0 -1
  487. package/lib/account/recentAddresses.js +0 -60
  488. package/lib/account/recentAddresses.js.map +0 -1
  489. package/lib/bridge/generic-alpaca/postSync.d.ts +0 -16
  490. package/lib/bridge/generic-alpaca/postSync.d.ts.map +0 -1
  491. package/lib/bridge/generic-alpaca/postSync.js +0 -44
  492. package/lib/bridge/generic-alpaca/postSync.js.map +0 -1
  493. package/lib/domain/getTotalStakeableAssets.d.ts +0 -10
  494. package/lib/domain/getTotalStakeableAssets.d.ts.map +0 -1
  495. package/lib/domain/getTotalStakeableAssets.js +0 -35
  496. package/lib/domain/getTotalStakeableAssets.js.map +0 -1
  497. package/lib/e2e/data/regexes.d.ts +0 -2
  498. package/lib/e2e/data/regexes.d.ts.map +0 -1
  499. package/lib/e2e/data/regexes.js +0 -5
  500. package/lib/e2e/data/regexes.js.map +0 -1
  501. package/lib/families/hedera/react.d.ts +0 -6
  502. package/lib/families/hedera/react.d.ts.map +0 -1
  503. package/lib/families/hedera/react.js +0 -50
  504. package/lib/families/hedera/react.js.map +0 -1
  505. package/lib/helpers/cryptoIconSize.d.ts +0 -3
  506. package/lib/helpers/cryptoIconSize.d.ts.map +0 -1
  507. package/lib/helpers/cryptoIconSize.js +0 -40
  508. package/lib/helpers/cryptoIconSize.js.map +0 -1
  509. package/lib/hooks/useHtmlLinkSegments.d.ts +0 -19
  510. package/lib/hooks/useHtmlLinkSegments.d.ts.map +0 -1
  511. package/lib/hooks/useHtmlLinkSegments.js +0 -128
  512. package/lib/hooks/useHtmlLinkSegments.js.map +0 -1
  513. package/lib-es/account/recentAddresses.d.ts +0 -10
  514. package/lib-es/account/recentAddresses.d.ts.map +0 -1
  515. package/lib-es/account/recentAddresses.js +0 -55
  516. package/lib-es/account/recentAddresses.js.map +0 -1
  517. package/lib-es/bridge/generic-alpaca/postSync.d.ts +0 -16
  518. package/lib-es/bridge/generic-alpaca/postSync.d.ts.map +0 -1
  519. package/lib-es/bridge/generic-alpaca/postSync.js +0 -37
  520. package/lib-es/bridge/generic-alpaca/postSync.js.map +0 -1
  521. package/lib-es/domain/getTotalStakeableAssets.d.ts +0 -10
  522. package/lib-es/domain/getTotalStakeableAssets.d.ts.map +0 -1
  523. package/lib-es/domain/getTotalStakeableAssets.js +0 -31
  524. package/lib-es/domain/getTotalStakeableAssets.js.map +0 -1
  525. package/lib-es/e2e/data/regexes.d.ts +0 -2
  526. package/lib-es/e2e/data/regexes.d.ts.map +0 -1
  527. package/lib-es/e2e/data/regexes.js +0 -2
  528. package/lib-es/e2e/data/regexes.js.map +0 -1
  529. package/lib-es/families/hedera/react.d.ts +0 -6
  530. package/lib-es/families/hedera/react.d.ts.map +0 -1
  531. package/lib-es/families/hedera/react.js +0 -41
  532. package/lib-es/families/hedera/react.js.map +0 -1
  533. package/lib-es/helpers/cryptoIconSize.d.ts +0 -3
  534. package/lib-es/helpers/cryptoIconSize.d.ts.map +0 -1
  535. package/lib-es/helpers/cryptoIconSize.js +0 -35
  536. package/lib-es/helpers/cryptoIconSize.js.map +0 -1
  537. package/lib-es/hooks/useHtmlLinkSegments.d.ts +0 -19
  538. package/lib-es/hooks/useHtmlLinkSegments.d.ts.map +0 -1
  539. package/lib-es/hooks/useHtmlLinkSegments.js +0 -121
  540. package/lib-es/hooks/useHtmlLinkSegments.js.map +0 -1
  541. package/src/account/recentAddresses.test.ts +0 -104
  542. package/src/account/recentAddresses.ts +0 -84
  543. package/src/bridge/generic-alpaca/postSync.test.ts +0 -97
  544. package/src/bridge/generic-alpaca/postSync.ts +0 -42
  545. package/src/domain/getTotalStakeableAssets.test.ts +0 -267
  546. package/src/domain/getTotalStakeableAssets.ts +0 -47
  547. package/src/e2e/data/regexes.ts +0 -1
  548. package/src/families/canton/react.test.ts +0 -147
  549. package/src/families/hedera/react.test.ts +0 -272
  550. package/src/families/hedera/react.ts +0 -63
  551. package/src/helpers/cryptoIconSize.ts +0 -25
  552. package/src/hooks/__tests__/useHtmlLinkSegments.test.ts +0 -105
  553. package/src/hooks/useHtmlLinkSegments.ts +0 -158
@@ -0,0 +1,54 @@
1
+ import { getCryptoCurrencyById } from "@ledgerhq/cryptoassets/currencies";
2
+ import { setupMockCryptoAssetsStore } from "../test-helpers/cryptoAssetsStore";
3
+ import { inferCryptoCurrencyIcon } from "./cryptoIcons";
4
+ import { getCryptoAssetsStore } from "@ledgerhq/cryptoassets/state";
5
+
6
+ beforeAll(() => {
7
+ // Setup mock store for unit tests
8
+ setupMockCryptoAssetsStore({
9
+ findTokenById: async (id: string) => {
10
+ // Return a mock token for the test
11
+ if (id === "ethereum/erc20/usd_tether__erc20_") {
12
+ return {
13
+ type: "TokenCurrency",
14
+ id: "ethereum/erc20/usd_tether__erc20_",
15
+ contractAddress: "0xdac17f958d2ee523a2206206994597c13d831ec7",
16
+ parentCurrency: getCryptoCurrencyById("ethereum"),
17
+ tokenType: "erc20",
18
+ name: "Tether USD",
19
+ ticker: "USDT",
20
+ delisted: false,
21
+ disableCountervalue: false,
22
+ units: [{ name: "USDT", code: "USDT", magnitude: 6 }],
23
+ } as any;
24
+ }
25
+ return undefined;
26
+ },
27
+ });
28
+ });
29
+
30
+ describe("inferCryptoCurrencyIcon", () => {
31
+ const registryMock = {
32
+ BTC: 1,
33
+ ETH: 2,
34
+ CURRENCY_ARBITRUM: 3,
35
+ USDT: 4,
36
+ };
37
+
38
+ test("Bitcoin Testnet is inferred properly", () => {
39
+ expect(inferCryptoCurrencyIcon(registryMock, getCryptoCurrencyById("bitcoin_testnet"))).toBe(1);
40
+ });
41
+
42
+ test("Ethereum is inferred properly", () => {
43
+ expect(inferCryptoCurrencyIcon(registryMock, getCryptoCurrencyById("ethereum"))).toBe(2);
44
+ });
45
+
46
+ test("Arbitrum is inferred properly", () => {
47
+ expect(inferCryptoCurrencyIcon(registryMock, getCryptoCurrencyById("arbitrum"))).toBe(3);
48
+ });
49
+
50
+ test("USDT is inferred properly", async () => {
51
+ const token = await getCryptoAssetsStore().findTokenById("ethereum/erc20/usd_tether__erc20_");
52
+ expect(inferCryptoCurrencyIcon(registryMock, token!)).toBe(4);
53
+ });
54
+ });
@@ -0,0 +1,21 @@
1
+ // logic that infer a crypto icons slug from a currency
2
+
3
+ import type { CryptoCurrency, TokenCurrency } from "@ledgerhq/types-cryptoassets";
4
+
5
+ export function inferCryptoCurrencyIcon<Icon>(
6
+ iconsRegistry: Record<string, Icon>,
7
+ currency: CryptoCurrency | TokenCurrency,
8
+ ): Icon | null | undefined {
9
+ if (currency.type === "TokenCurrency") {
10
+ // FIXME DEPRECATED (ongoing hack due to ticker collision)
11
+ if (currency.disableCountervalue) return null;
12
+ } else {
13
+ // we allow the icons to define a CURRENCY_{id} format (check in libs/ui/crypto-icons compiled files, they get uppercased. we will improve in future)
14
+ const maybeIconById = iconsRegistry[`currency_${currency.id}`.toUpperCase()];
15
+ if (maybeIconById) return maybeIconById;
16
+ }
17
+ // otherwise we fallback by a token lookup
18
+ let id = currency.ticker.toUpperCase();
19
+ if (!isNaN(parseInt(id.charAt(0), 10))) id = `_${id}`; // fix variable name leading with a numerical value
20
+ return iconsRegistry[id];
21
+ }
@@ -1,5 +1,5 @@
1
1
  import "../__tests__/test-helpers/setup";
2
- import { isCryptoCurrency, getFamilyByCurrencyId } from "./helpers";
2
+ import { isCryptoCurrency } from "./helpers";
3
3
  import { listCryptoCurrencies } from ".";
4
4
 
5
5
  describe("Currencies helpers", () => {
@@ -10,13 +10,4 @@ describe("Currencies helpers", () => {
10
10
  expect(isCryptoCurrency(currency)).toBeTruthy();
11
11
  });
12
12
  });
13
-
14
- test("getFamilyByCurrencyId returns correct family for a known currency id", () => {
15
- expect(getFamilyByCurrencyId("bitcoin")).toBe("bitcoin");
16
- expect(getFamilyByCurrencyId("ethereum")).toBe("evm");
17
- });
18
-
19
- test("getFamilyByCurrencyId returns undefined for an unknown currency id", () => {
20
- expect(getFamilyByCurrencyId("unknown_currency_id")).toBeUndefined();
21
- });
22
13
  });
@@ -1,5 +1,4 @@
1
1
  import { Currency, CryptoCurrency, TokenCurrency } from "@ledgerhq/types-cryptoassets";
2
- import { findCryptoCurrencyById } from "@ledgerhq/cryptoassets";
3
2
 
4
3
  export function isCryptoCurrency(currency: Currency): currency is CryptoCurrency {
5
4
  return currency.type === "CryptoCurrency";
@@ -16,8 +15,3 @@ export function isUTXOCompliant(currencyFamily: string): boolean {
16
15
  export type CurrencyFilters = {
17
16
  currencies?: string[];
18
17
  };
19
-
20
- export function getFamilyByCurrencyId(currencyId: string): CryptoCurrency["family"] | undefined {
21
- const currency = findCryptoCurrencyById(currencyId);
22
- return currency?.family;
23
- }
@@ -1,8 +1,11 @@
1
1
  import { getParentAccount } from "@ledgerhq/coin-framework/account/helpers";
2
2
  import { Account } from "@ledgerhq/types-live";
3
3
 
4
- export const getTokensWithFundsMap = (accounts: Account[]) => {
5
- const tokensMap = new Map<string, { ticker: string; networkName: string; id: string }>();
4
+ export const getTokensWithFunds = (accounts: Account[]): string[] => {
5
+ if (!accounts?.length) return [];
6
+
7
+ const tokensMap = new Map<string, { ticker: string; networkName: string }>();
8
+
6
9
  for (const account of accounts) {
7
10
  const { balance, currency } = account || {};
8
11
  if (!balance?.gt(0) || !currency) continue;
@@ -15,7 +18,6 @@ export const getTokensWithFundsMap = (accounts: Account[]) => {
15
18
  tokensMap.set(mainKey, {
16
19
  ticker: currency.ticker,
17
20
  networkName,
18
- id: currency.id,
19
21
  });
20
22
 
21
23
  account.subAccounts?.forEach(subAccount => {
@@ -26,24 +28,9 @@ export const getTokensWithFundsMap = (accounts: Account[]) => {
26
28
  tokensMap.set(subKey, {
27
29
  ticker: token.ticker,
28
30
  networkName,
29
- id: token.id,
30
31
  });
31
32
  });
32
33
  }
33
- return tokensMap;
34
- };
35
- /** Format defaults to "USDT on Ethereum". format: "currencyId" returns the id of each token, e.g. "ethereum/erc20/usde". */
36
- export const getTokensWithFunds = (
37
- accounts: Account[],
38
- customFormat: "currencyId" | "default" = "default",
39
- ) => {
40
- if (!accounts?.length) return [];
41
-
42
- const tokensMap = getTokensWithFundsMap(accounts);
43
-
44
- if (customFormat === "currencyId") {
45
- return Array.from(tokensMap.values(), token => token.id);
46
- }
47
34
 
48
35
  return Array.from(tokensMap.values(), ({ ticker, networkName }) => `${ticker} on ${networkName}`);
49
36
  };
@@ -112,7 +112,6 @@ export const DEVICE_LABELS_CONFIG: DeviceLabelsConfig = {
112
112
  },
113
113
  [DeviceModelId.stax]: TOUCHSCREEN_DEVICE_CONFIG,
114
114
  [DeviceModelId.europa]: TOUCHSCREEN_DEVICE_CONFIG,
115
- [DeviceModelId.apex]: TOUCHSCREEN_DEVICE_CONFIG,
116
115
  default: {
117
116
  receiveVerify: {
118
117
  [AppInfos.BNB_CHAIN.name]: DeviceLabels.VERIFY_BSC,
@@ -9,5 +9,4 @@ export class Device {
9
9
  static readonly LNSP = new Device("nanoSP", 856686596);
10
10
  static readonly STAX = new Device("stax", 857735172);
11
11
  static readonly FLEX = new Device("flex", 858783748);
12
- static readonly NANO_GEN_5 = new Device("nanoGen5", 859832324);
13
12
  }
@@ -22,7 +22,7 @@ function validateTransactionData(tx: Transaction, events: string[]) {
22
22
 
23
23
  async function sendCardanoTouchDevices(tx: Transaction) {
24
24
  await waitFor(DeviceLabels.REVIEW_TRANSACTION);
25
- const events = await pressUntilTextFound(DeviceLabels.AMOUNT);
25
+ const events = await pressUntilTextFound(DeviceLabels.TO);
26
26
  validateTransactionData(tx, events);
27
27
  await pressAndRelease(DeviceLabels.TAP_TO_CONTINUE);
28
28
  await waitFor(DeviceLabels.FEES);
@@ -77,22 +77,18 @@ export async function sendCardano(tx: Transaction) {
77
77
  return sendCardanoButtonDevice(tx);
78
78
  }
79
79
 
80
- const TOUCH_DELEGATE_STEPS = [
81
- [DeviceLabels.REVIEW_TRANSACTION, "swipe"],
82
- [DeviceLabels.TAP_TO_CONTINUE, "tap"],
83
- [DeviceLabels.REGISTER, "swipe"],
84
- [DeviceLabels.TAP_TO_CONTINUE, "tap"],
85
- [DeviceLabels.CONFIRM, "confirm"],
86
- [DeviceLabels.DELEGATE_STAKE, "swipe"],
87
- [DeviceLabels.TAP_TO_CONTINUE, "tap"],
88
- [DeviceLabels.CONFIRM, "confirm"],
89
- [DeviceLabels.HOLD_TO_SIGN, "hold"],
90
- ] as const;
91
-
92
80
  const DELEGATE_STEPS_CONFIG = {
93
- [DeviceModelId.stax]: TOUCH_DELEGATE_STEPS,
94
- [DeviceModelId.europa]: TOUCH_DELEGATE_STEPS,
95
- [DeviceModelId.apex]: TOUCH_DELEGATE_STEPS,
81
+ [DeviceModelId.stax || DeviceModelId.europa]: [
82
+ [DeviceLabels.REVIEW_TRANSACTION, "swipe"],
83
+ [DeviceLabels.TAP_TO_CONTINUE, "tap"],
84
+ [DeviceLabels.REGISTER, "swipe"],
85
+ [DeviceLabels.TAP_TO_CONTINUE, "tap"],
86
+ [DeviceLabels.CONFIRM, "confirm"],
87
+ [DeviceLabels.DELEGATE_STAKE, "swipe"],
88
+ [DeviceLabels.TAP_TO_CONTINUE, "tap"],
89
+ [DeviceLabels.CONFIRM, "confirm"],
90
+ [DeviceLabels.HOLD_TO_SIGN, "hold"],
91
+ ] as const,
96
92
  [DeviceModelId.nanoS]: [
97
93
  [DeviceLabels.NEW_ORDINARY, "right"],
98
94
  [DeviceLabels.TRANSACTION_FEE, "both"],
@@ -119,22 +115,8 @@ const DELEGATE_STEPS_CONFIG = {
119
115
  ] as const,
120
116
  };
121
117
 
122
- function getConfirmButtonCoords(): { x: number; y: number } {
123
- const speculosModel = getSpeculosModel();
124
-
125
- switch (speculosModel) {
126
- case DeviceModelId.stax:
127
- return { x: 152, y: 532 };
128
- case DeviceModelId.apex:
129
- return { x: 114, y: 305 };
130
- case DeviceModelId.europa:
131
- default:
132
- return { x: 186, y: 446 };
133
- }
134
- }
135
-
136
118
  async function delegateTouchDevicesAction(label: DeviceLabels) {
137
- const CONFIRM_BUTTON_COORDS = getConfirmButtonCoords();
119
+ const CONFIRM_BUTTON_COORDS = { x: 139, y: 532 };
138
120
  await waitFor(label);
139
121
  switch (label) {
140
122
  case DeviceLabels.TAP_TO_CONTINUE:
@@ -182,7 +164,7 @@ async function executeDelegateStep(label: DeviceLabels, action: ActionType) {
182
164
  export async function delegateCardano() {
183
165
  const speculosModel = getSpeculosModel();
184
166
  const steps =
185
- isTouchDevice() && DELEGATE_STEPS_CONFIG[speculosModel]
167
+ speculosModel === DeviceModelId.stax || speculosModel === DeviceModelId.europa
186
168
  ? DELEGATE_STEPS_CONFIG[speculosModel]
187
169
  : speculosModel === DeviceModelId.nanoS
188
170
  ? DELEGATE_STEPS_CONFIG[DeviceModelId.nanoS]
package/src/e2e/index.ts CHANGED
@@ -1,7 +1,6 @@
1
1
  import { EnvName } from "@ledgerhq/live-env";
2
2
  import { Feature, FeatureId } from "@ledgerhq/types-live";
3
3
  import { getFeature, DEFAULT_FEATURES } from "../featureFlags";
4
- import axios, { AxiosError } from "axios";
5
4
 
6
5
  export const getAllFeatureFlags = (
7
6
  appLanguage?: string,
@@ -54,22 +53,3 @@ export const formatEnvData = (data: { [key in EnvName]: unknown }) => {
54
53
  }
55
54
  return allureData;
56
55
  };
57
-
58
- export const sanitizeError = (error: unknown): Error => {
59
- if (!axios.isAxiosError(error)) {
60
- return error instanceof Error ? error : new Error(String(error ?? "Unknown error"));
61
- }
62
-
63
- const err = error as AxiosError;
64
- const sanitized = new Error(err.message || "Axios request failed");
65
-
66
- Object.assign(sanitized, {
67
- name: err.name,
68
- code: err.code,
69
- url: err.config?.url,
70
- method: err.config?.method,
71
- status: err.response?.status,
72
- });
73
-
74
- return sanitized;
75
- };
@@ -49,7 +49,6 @@ import {
49
49
  swipeRight,
50
50
  } from "./deviceInteraction/TouchDeviceSimulator";
51
51
  import { withDeviceController } from "./deviceInteraction/DeviceController";
52
- import { sanitizeError } from ".";
53
52
 
54
53
  const isSpeculosRemote = process.env.REMOTE_SPECULOS === "true";
55
54
 
@@ -429,7 +428,7 @@ export async function startSpeculos(
429
428
  };
430
429
  });
431
430
  } catch (e: unknown) {
432
- console.error(sanitizeError(e));
431
+ console.error(e);
433
432
  log("engine", `test ${testName} failed with ${String(e)}`);
434
433
  }
435
434
  }
@@ -611,7 +610,7 @@ export async function takeScreenshot(port?: number): Promise<Buffer | undefined>
611
610
  );
612
611
  return response.data;
613
612
  } catch (error) {
614
- console.error("Error downloading speculos screenshot:", sanitizeError(error));
613
+ console.error("Error downloading speculos screenshot:", error);
615
614
  }
616
615
  }
617
616
 
@@ -669,42 +668,12 @@ export const activateLedgerSync = withDeviceController(({ getButtonsController }
669
668
  }
670
669
  });
671
670
 
672
- const getSettingsToggle1Coordinates = () => {
673
- const deviceModel = getSpeculosModel();
674
-
675
- switch (deviceModel) {
676
- case DeviceModelId.stax:
677
- return { x: 345, y: 136 };
678
- case DeviceModelId.europa:
679
- return { x: 420, y: 140 };
680
- case DeviceModelId.apex:
681
- return { x: 263, y: 100 };
682
- default:
683
- return { x: 420, y: 140 };
684
- }
685
- };
686
-
687
- const getSettingsCogwheelCoordinates = () => {
688
- const deviceModel = getSpeculosModel();
689
-
690
- switch (deviceModel) {
691
- case DeviceModelId.stax:
692
- return { x: 362, y: 43 };
693
- case DeviceModelId.europa:
694
- return { x: 400, y: 80 };
695
- case DeviceModelId.apex:
696
- return { x: 253, y: 58 };
697
- default:
698
- return { x: 400, y: 80 };
699
- }
700
- };
701
-
702
671
  export const activateExpertMode = withDeviceController(({ getButtonsController }) => async () => {
703
672
  const buttons = getButtonsController();
704
673
 
705
674
  if (isTouchDevice()) {
706
675
  await goToSettings();
707
- const SettingsToggle1Coordinates = getSettingsToggle1Coordinates();
676
+ const SettingsToggle1Coordinates = { x: 344, y: 136 };
708
677
  await pressAndRelease(
709
678
  DeviceLabels.SETTINGS_TOGGLE_1,
710
679
  SettingsToggle1Coordinates.x,
@@ -729,7 +698,7 @@ export const goToSettings = withDeviceController(({ getButtonsController }) => a
729
698
  const buttons = getButtonsController();
730
699
 
731
700
  if (isTouchDevice()) {
732
- const SettingsCogwheelCoordinates = getSettingsCogwheelCoordinates();
701
+ const SettingsCogwheelCoordinates = { x: 400, y: 75 };
733
702
  await pressAndRelease(
734
703
  DeviceLabels.SETTINGS,
735
704
  SettingsCogwheelCoordinates.x,
@@ -3,7 +3,6 @@ import { version } from "../../package.json";
3
3
  import { getEnv } from "@ledgerhq/live-env";
4
4
  import { DeviceModelId } from "@ledgerhq/devices";
5
5
  import { Device as CryptoWallet } from "./enum/Device";
6
- import { sanitizeError } from "./index";
7
6
  import * as fs from "fs";
8
7
  import * as path from "path";
9
8
 
@@ -19,8 +18,6 @@ export function getSpeculosModel(): DeviceModelId {
19
18
  case CryptoWallet.FLEX.name:
20
19
  case DeviceModelId.europa:
21
20
  return DeviceModelId.europa;
22
- case CryptoWallet.NANO_GEN_5.name:
23
- return DeviceModelId.apex;
24
21
  case CryptoWallet.LNSP.name:
25
22
  default:
26
23
  return DeviceModelId.nanoSP;
@@ -29,9 +26,7 @@ export function getSpeculosModel(): DeviceModelId {
29
26
 
30
27
  export function isTouchDevice(): boolean {
31
28
  const model = getSpeculosModel();
32
- return (
33
- model === DeviceModelId.stax || model === DeviceModelId.europa || model === DeviceModelId.apex
34
- );
29
+ return model === DeviceModelId.stax || model === DeviceModelId.europa;
35
30
  }
36
31
 
37
32
  function getDeviceTargetId(device: DeviceModelId): number {
@@ -41,7 +36,6 @@ function getDeviceTargetId(device: DeviceModelId): number {
41
36
  [DeviceModelId.nanoSP]: CryptoWallet.LNSP.targetId,
42
37
  [DeviceModelId.stax]: CryptoWallet.STAX.targetId,
43
38
  [DeviceModelId.europa]: CryptoWallet.FLEX.targetId,
44
- [DeviceModelId.apex]: CryptoWallet.NANO_GEN_5.targetId,
45
39
  };
46
40
  return modelToTargetIdMap[device];
47
41
  }
@@ -79,7 +73,7 @@ export async function createNanoAppJsonFile(nanoAppFilePath: string): Promise<vo
79
73
  }
80
74
  fs.writeFileSync(jsonFilePath, JSON.stringify(appCatalog, null, 2), "utf8");
81
75
  } catch (error) {
82
- console.error("Unable to create app version file:", sanitizeError(error));
76
+ console.error("Unable to create app version file:", error);
83
77
  }
84
78
  }
85
79
 
package/src/e2e/swap.ts CHANGED
@@ -1,12 +1,11 @@
1
1
  import { Account } from "./enum/Account";
2
- import { sanitizeError } from "./index";
3
2
  import axios from "axios";
4
3
 
5
4
  export async function getMinimumSwapAmount(AccountFrom: Account, AccountTo: Account) {
6
5
  try {
7
6
  const requestConfig = {
8
7
  method: "GET",
9
- url: "https://swap-stg.ledger-test.com/v5/quote",
8
+ url: `https://swap-stg.ledger-test.com/v5/quote`,
10
9
  params: {
11
10
  from: AccountFrom.currency.id,
12
11
  to: AccountTo.currency.id,
@@ -22,7 +21,9 @@ export async function getMinimumSwapAmount(AccountFrom: Account, AccountTo: Acco
22
21
  tradeType: "INPUT",
23
22
  uniswapOrderType: "uniswapxv1",
24
23
  },
25
- headers: { accept: "application/json" },
24
+ headers: {
25
+ accept: "application/json",
26
+ },
26
27
  };
27
28
 
28
29
  const { data } = await axios(requestConfig);
@@ -37,10 +38,8 @@ export async function getMinimumSwapAmount(AccountFrom: Account, AccountTo: Acco
37
38
  }
38
39
 
39
40
  return Math.max(...minimumAmounts);
40
- } catch (error: any) {
41
- const sanitizedError = sanitizeError(error);
42
- console.error("Error fetching swap minimum amount:", sanitizedError);
43
- // throw the sanitized error, not the original circular Axios error
44
- throw sanitizedError;
41
+ } catch (error) {
42
+ console.error("Error fetching swap minimum amount:", error);
43
+ throw error;
45
44
  }
46
45
  }
@@ -45,7 +45,7 @@ export async function fetchCurrencyFrom({
45
45
  ...(headers !== undefined ? { headers } : {}),
46
46
  });
47
47
  return flattenV5CurrenciesToAndFrom(data);
48
- } catch {
48
+ } catch (e) {
49
49
  throw Error("Something went wrong in fetchCurrencyFrom call");
50
50
  }
51
51
  }
@@ -106,7 +106,6 @@ export const postSwapCancelled: PostSwapCancelled = async ({
106
106
  seedIdTo,
107
107
  refundAddress,
108
108
  payoutAddress,
109
- data,
110
109
  ...rest
111
110
  }) => {
112
111
  if (isIntegrationTestEnv()) return mockPostSwapCancelled({ provider, swapId, ...rest });
@@ -139,8 +138,7 @@ export const postSwapCancelled: PostSwapCancelled = async ({
139
138
 
140
139
  const shouldIncludeAddresses =
141
140
  rest.statusCode === "WrongDeviceForAccountPayout" ||
142
- rest.statusCode === "WrongDeviceForAccountRefund" ||
143
- rest.statusCode === "FeeNotLoaded";
141
+ rest.statusCode === "WrongDeviceForAccountRefund";
144
142
 
145
143
  const requestData = {
146
144
  provider,
@@ -149,14 +147,11 @@ export const postSwapCancelled: PostSwapCancelled = async ({
149
147
  swapIntentWithoutProvider,
150
148
  payloadAddressMatchAccountAddress,
151
149
  fromAmount,
152
- ...(shouldIncludeAddresses && {
153
- fromAccountAddress,
154
- toAccountAddress,
155
- payloadRefundAddress: refundAddress,
156
- payloadPayoutAddress: payoutAddress,
157
- }),
150
+ fromAccountAddress: shouldIncludeAddresses ? fromAccountAddress : undefined,
151
+ toAccountAddress: shouldIncludeAddresses ? toAccountAddress : undefined,
152
+ payloadRefundAddress: shouldIncludeAddresses ? refundAddress : undefined,
153
+ payloadPayoutAddress: shouldIncludeAddresses ? payoutAddress : undefined,
158
154
  maybeSeedMatch: seedIdFrom === seedIdTo, // Only true if both accounts are from the same seed and from the same chain type
159
- data,
160
155
  ...rest,
161
156
  };
162
157
 
@@ -214,9 +214,7 @@ export type SwapStateAcceptedRequest = SwapStateRequest & {
214
214
  transactionId: string;
215
215
  };
216
216
 
217
- export type SwapStateCancelledRequest = SwapStateRequest & {
218
- data?: string;
219
- };
217
+ export type SwapStateCancelledRequest = SwapStateRequest;
220
218
 
221
219
  export type PostSwapAccepted = (arg0: SwapStateAcceptedRequest) => Promise<null>;
222
220
 
@@ -122,42 +122,6 @@ describe("getPlatformTransactionSignFlowInfos", () => {
122
122
  "strategy": 0,
123
123
  },
124
124
  }
125
- `);
126
- });
127
-
128
- test("with changeAddress provided", () => {
129
- const btcPlatformTx: WalletAPITransaction = {
130
- family: "bitcoin",
131
- amount: new BigNumber(100000),
132
- recipient: "0xABCDEF",
133
- changeAddress: "1ChangeAddressExample",
134
- };
135
-
136
- const { canEditFees, hasFeesProvided, liveTx } = btc.getWalletAPITransactionSignFlowInfos({
137
- walletApiTransaction: btcPlatformTx,
138
- account: {} as Account,
139
- });
140
-
141
- expect(canEditFees).toBe(true);
142
-
143
- expect(hasFeesProvided).toBe(false);
144
-
145
- expect(liveTx).toMatchInlineSnapshot(`
146
- {
147
- "amount": "100000",
148
- "changeAddress": "1ChangeAddressExample",
149
- "family": "bitcoin",
150
- "feePerByte": null,
151
- "feesStrategy": "medium",
152
- "networkInfo": null,
153
- "rbf": false,
154
- "recipient": "0xABCDEF",
155
- "useAllAmount": false,
156
- "utxoStrategy": {
157
- "excludeUTXOs": [],
158
- "strategy": 0,
159
- },
160
- }
161
125
  `);
162
126
  });
163
127
  });
@@ -35,10 +35,6 @@ const convertToLiveTransaction: ConvertToLiveTransaction<
35
35
  liveTx.opReturnData = walletApiTransaction.opReturnData;
36
36
  }
37
37
 
38
- if (walletApiTransaction.changeAddress) {
39
- liveTx.changeAddress = walletApiTransaction.changeAddress;
40
- }
41
-
42
38
  if (hasFeesProvided) {
43
39
  liveTx.feesStrategy = null;
44
40
  }
@@ -23,9 +23,9 @@ export const cantonConfig: Record<string, ConfigInfo> = {
23
23
  status: {
24
24
  type: "active",
25
25
  },
26
- nodeUrl: "https://canton-gateway-devnet.api.live.ledger-test.com/v1/node/ledger-live-devnet",
26
+ nodeUrl: "https://canton-gateway.api.live.ledger.com/v1/node/ledger-live-devnet",
27
27
  nodeId: "ledger-live-devnet",
28
- gatewayUrl: "https://canton-gateway-devnet.api.live.ledger-test.com",
28
+ gatewayUrl: "https://canton-gateway.api.live.ledger-test.com",
29
29
  minReserve: 0,
30
30
  useGateway: true,
31
31
  networkType: "devnet",
@@ -39,10 +39,9 @@ export const cantonConfig: Record<string, ConfigInfo> = {
39
39
  status: {
40
40
  type: "active",
41
41
  },
42
- nodeUrl:
43
- "https://canton-gateway-testnet.api.live.ledger-test.com/v1/node/ledger-live-testnet",
42
+ nodeUrl: "https://canton-gateway.api.live.ledger.com/v1/node/ledger-live-testnet",
44
43
  nodeId: "ledger-live-testnet",
45
- gatewayUrl: "https://canton-gateway-testnet.api.live.ledger-test.com",
44
+ gatewayUrl: "https://canton-gateway.api.live.ledger-test.com",
46
45
  minReserve: 0,
47
46
  nativeInstrumentId: "Amulet",
48
47
  useGateway: true,
@@ -1,4 +1,4 @@
1
- import { useCallback, useState, useEffect } from "react";
1
+ import { useCallback } from "react";
2
2
  import { getCurrencyBridge } from "../../bridge";
3
3
  import { CantonCurrencyBridge } from "@ledgerhq/coin-canton/types";
4
4
  import { CryptoCurrency } from "@ledgerhq/types-cryptoassets";
@@ -48,47 +48,3 @@ export function useCantonAcceptOrRejectOffer({
48
48
 
49
49
  return transferInstruction;
50
50
  }
51
-
52
- export const getRemainingTime = (diff: number): string => {
53
- if (diff <= 0) {
54
- return "";
55
- }
56
- const days = Math.floor(diff / (1000 * 60 * 60 * 24));
57
- const hours = Math.floor((diff % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
58
- const minutes = Math.floor((diff % (1000 * 60 * 60)) / (1000 * 60));
59
- const seconds = Math.floor((diff % (1000 * 60)) / 1000);
60
-
61
- let format = "";
62
- if (days > 0) format += `${days}d `;
63
- if (hours > 0) format += `${hours}h `;
64
- if (minutes > 0) format += `${minutes}m `;
65
- format += `${seconds}s`;
66
-
67
- return format.trim();
68
- };
69
-
70
- export const useTimeRemaining = (expiresAtMicros = 0, isExpired = false): string => {
71
- const [timeRemaining, setTimeRemaining] = useState<string>("");
72
-
73
- useEffect(() => {
74
- if (expiresAtMicros <= 0 || isExpired) {
75
- setTimeRemaining("");
76
- return;
77
- }
78
-
79
- const updateTimeRemaining = () => {
80
- const now = Date.now();
81
- const expiresAt = expiresAtMicros / 1000;
82
- const diff = expiresAt - now;
83
-
84
- setTimeRemaining(getRemainingTime(diff));
85
- };
86
-
87
- updateTimeRemaining();
88
- const interval = setInterval(updateTimeRemaining, 1000);
89
-
90
- return () => clearInterval(interval);
91
- }, [expiresAtMicros, isExpired]);
92
-
93
- return timeRemaining;
94
- };
@@ -10,21 +10,9 @@ import { CreateSigner, createResolver, executeWithSigner } from "../../bridge/se
10
10
  import type { Resolver } from "../../hw/getAddress/types";
11
11
  import { Transaction, CeloAccount } from "./types";
12
12
  import { CeloSigner } from "@ledgerhq/coin-celo/signer";
13
- import { getCryptoCurrencyById } from "@ledgerhq/cryptoassets";
14
- import { createApi as createEvmApi } from "@ledgerhq/coin-evm/api/index";
15
- import { getCurrencyConfiguration } from "../../config";
16
- import type { EvmConfigInfo } from "@ledgerhq/coin-evm/config";
17
13
 
18
14
  const createSigner: CreateSigner<CeloSigner> = (transport: Transport) => new Celo(transport);
19
15
 
20
- // NOTE Create an unused instance of EVM API with Celo configuration.
21
- // It has the side effect of initializing the EVM coin config as well as injecting
22
- // the input Celo config.
23
- // TODO Remove this hack while deleting the Celo bridge
24
- const getCurrencyConfig = () => {
25
- return { info: getCurrencyConfiguration<EvmConfigInfo>(getCryptoCurrencyById("celo")) };
26
- };
27
- createEvmApi(getCurrencyConfig, "celo");
28
16
  const bridge: Bridge<Transaction, CeloAccount> = createBridges(executeWithSigner(createSigner));
29
17
 
30
18
  const resolver: Resolver = createResolver(createSigner, CeloResolver);