@ledgerhq/live-common 34.36.0-nightly.2 → 34.36.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 (280) hide show
  1. package/lib/__tests__/test-helpers/bridge.d.ts.map +1 -1
  2. package/lib/__tests__/test-helpers/bridge.js +4 -4
  3. package/lib/__tests__/test-helpers/bridge.js.map +1 -1
  4. package/lib/bridge/impl.d.ts.map +1 -1
  5. package/lib/bridge/impl.js +3 -59
  6. package/lib/bridge/impl.js.map +1 -1
  7. package/lib/config/index.d.ts +2 -3
  8. package/lib/config/index.d.ts.map +1 -1
  9. package/lib/config/index.js +1 -9
  10. package/lib/config/index.js.map +1 -1
  11. package/lib/config/sharedConfig.d.ts.map +1 -1
  12. package/lib/config/sharedConfig.js +0 -7
  13. package/lib/config/sharedConfig.js.map +1 -1
  14. package/lib/e2e/enum/{Provider.d.ts → Swap.d.ts} +1 -2
  15. package/lib/e2e/enum/Swap.d.ts.map +1 -0
  16. package/lib/e2e/enum/{Provider.js → Swap.js} +1 -2
  17. package/lib/e2e/enum/Swap.js.map +1 -0
  18. package/lib/e2e/index.d.ts +0 -4
  19. package/lib/e2e/index.d.ts.map +1 -1
  20. package/lib/e2e/models/BuySell.d.ts +0 -2
  21. package/lib/e2e/models/BuySell.d.ts.map +1 -1
  22. package/lib/families/xrp/setup.d.ts +6 -3
  23. package/lib/families/xrp/setup.d.ts.map +1 -1
  24. package/lib/families/xrp/setup.js +7 -1
  25. package/lib/families/xrp/setup.js.map +1 -1
  26. package/lib/featureFlags/defaultFeatures.d.ts.map +1 -1
  27. package/lib/featureFlags/defaultFeatures.js +0 -2
  28. package/lib/featureFlags/defaultFeatures.js.map +1 -1
  29. package/lib/featureFlags/useFeature.d.ts +1 -1
  30. package/lib/featureFlags/useFeature.d.ts.map +1 -1
  31. package/lib/generated/bridge/js.d.ts +1 -0
  32. package/lib/generated/bridge/js.d.ts.map +1 -1
  33. package/lib/generated/bridge/js.js +6 -4
  34. package/lib/generated/bridge/js.js.map +1 -1
  35. package/lib-es/__tests__/test-helpers/bridge.d.ts.map +1 -1
  36. package/lib-es/__tests__/test-helpers/bridge.js +4 -4
  37. package/lib-es/__tests__/test-helpers/bridge.js.map +1 -1
  38. package/lib-es/bridge/impl.d.ts.map +1 -1
  39. package/lib-es/bridge/impl.js +3 -59
  40. package/lib-es/bridge/impl.js.map +1 -1
  41. package/lib-es/config/index.d.ts +2 -3
  42. package/lib-es/config/index.d.ts.map +1 -1
  43. package/lib-es/config/index.js +1 -8
  44. package/lib-es/config/index.js.map +1 -1
  45. package/lib-es/config/sharedConfig.d.ts.map +1 -1
  46. package/lib-es/config/sharedConfig.js +0 -7
  47. package/lib-es/config/sharedConfig.js.map +1 -1
  48. package/lib-es/e2e/enum/{Provider.d.ts → Swap.d.ts} +1 -2
  49. package/lib-es/e2e/enum/Swap.d.ts.map +1 -0
  50. package/lib-es/e2e/enum/{Provider.js → Swap.js} +1 -2
  51. package/lib-es/e2e/enum/Swap.js.map +1 -0
  52. package/lib-es/e2e/index.d.ts +0 -4
  53. package/lib-es/e2e/index.d.ts.map +1 -1
  54. package/lib-es/e2e/models/BuySell.d.ts +0 -2
  55. package/lib-es/e2e/models/BuySell.d.ts.map +1 -1
  56. package/lib-es/families/xrp/setup.d.ts +6 -3
  57. package/lib-es/families/xrp/setup.d.ts.map +1 -1
  58. package/lib-es/families/xrp/setup.js +7 -2
  59. package/lib-es/families/xrp/setup.js.map +1 -1
  60. package/lib-es/featureFlags/defaultFeatures.d.ts.map +1 -1
  61. package/lib-es/featureFlags/defaultFeatures.js +0 -2
  62. package/lib-es/featureFlags/defaultFeatures.js.map +1 -1
  63. package/lib-es/featureFlags/useFeature.d.ts +1 -1
  64. package/lib-es/featureFlags/useFeature.d.ts.map +1 -1
  65. package/lib-es/generated/bridge/js.d.ts +1 -0
  66. package/lib-es/generated/bridge/js.d.ts.map +1 -1
  67. package/lib-es/generated/bridge/js.js +2 -0
  68. package/lib-es/generated/bridge/js.js.map +1 -1
  69. package/package.json +63 -64
  70. package/src/__tests__/test-helpers/bridge.ts +4 -2
  71. package/src/bridge/impl.ts +5 -87
  72. package/src/config/index.ts +2 -11
  73. package/src/config/sharedConfig.ts +0 -8
  74. package/src/e2e/enum/{Provider.ts → Swap.ts} +0 -1
  75. package/src/e2e/models/BuySell.ts +0 -2
  76. package/src/families/xrp/setup.ts +15 -2
  77. package/src/featureFlags/defaultFeatures.ts +0 -2
  78. package/src/generated/bridge/js.ts +2 -0
  79. package/lib/bridge/generic-alpaca/accountBridge.d.ts +0 -3
  80. package/lib/bridge/generic-alpaca/accountBridge.d.ts.map +0 -1
  81. package/lib/bridge/generic-alpaca/accountBridge.js +0 -34
  82. package/lib/bridge/generic-alpaca/accountBridge.js.map +0 -1
  83. package/lib/bridge/generic-alpaca/alpaca/index.d.ts +0 -3
  84. package/lib/bridge/generic-alpaca/alpaca/index.d.ts.map +0 -1
  85. package/lib/bridge/generic-alpaca/alpaca/index.js +0 -20
  86. package/lib/bridge/generic-alpaca/alpaca/index.js.map +0 -1
  87. package/lib/bridge/generic-alpaca/alpaca/network/network-alpaca.d.ts +0 -16
  88. package/lib/bridge/generic-alpaca/alpaca/network/network-alpaca.d.ts.map +0 -1
  89. package/lib/bridge/generic-alpaca/alpaca/network/network-alpaca.js +0 -123
  90. package/lib/bridge/generic-alpaca/alpaca/network/network-alpaca.js.map +0 -1
  91. package/lib/bridge/generic-alpaca/broadcast.d.ts +0 -3
  92. package/lib/bridge/generic-alpaca/broadcast.d.ts.map +0 -1
  93. package/lib/bridge/generic-alpaca/broadcast.js +0 -11
  94. package/lib/bridge/generic-alpaca/broadcast.js.map +0 -1
  95. package/lib/bridge/generic-alpaca/createTransaction.d.ts +0 -16
  96. package/lib/bridge/generic-alpaca/createTransaction.d.ts.map +0 -1
  97. package/lib/bridge/generic-alpaca/createTransaction.js +0 -20
  98. package/lib/bridge/generic-alpaca/createTransaction.js.map +0 -1
  99. package/lib/bridge/generic-alpaca/currencyBridge.d.ts +0 -3
  100. package/lib/bridge/generic-alpaca/currencyBridge.d.ts.map +0 -1
  101. package/lib/bridge/generic-alpaca/currencyBridge.js +0 -20
  102. package/lib/bridge/generic-alpaca/currencyBridge.js.map +0 -1
  103. package/lib/bridge/generic-alpaca/estimateMaxSpendable.d.ts +0 -3
  104. package/lib/bridge/generic-alpaca/estimateMaxSpendable.d.ts.map +0 -1
  105. package/lib/bridge/generic-alpaca/estimateMaxSpendable.js +0 -26
  106. package/lib/bridge/generic-alpaca/estimateMaxSpendable.js.map +0 -1
  107. package/lib/bridge/generic-alpaca/getAccountShape.d.ts +0 -3
  108. package/lib/bridge/generic-alpaca/getAccountShape.d.ts.map +0 -1
  109. package/lib/bridge/generic-alpaca/getAccountShape.js +0 -58
  110. package/lib/bridge/generic-alpaca/getAccountShape.js.map +0 -1
  111. package/lib/bridge/generic-alpaca/getTransactionStatus.d.ts +0 -3
  112. package/lib/bridge/generic-alpaca/getTransactionStatus.d.ts.map +0 -1
  113. package/lib/bridge/generic-alpaca/getTransactionStatus.js +0 -36
  114. package/lib/bridge/generic-alpaca/getTransactionStatus.js.map +0 -1
  115. package/lib/bridge/generic-alpaca/prepareTransaction.d.ts +0 -3
  116. package/lib/bridge/generic-alpaca/prepareTransaction.d.ts.map +0 -1
  117. package/lib/bridge/generic-alpaca/prepareTransaction.js +0 -21
  118. package/lib/bridge/generic-alpaca/prepareTransaction.js.map +0 -1
  119. package/lib/bridge/generic-alpaca/signOperation.d.ts +0 -7
  120. package/lib/bridge/generic-alpaca/signOperation.d.ts.map +0 -1
  121. package/lib/bridge/generic-alpaca/signOperation.js +0 -49
  122. package/lib/bridge/generic-alpaca/signOperation.js.map +0 -1
  123. package/lib/bridge/generic-alpaca/signer/index.d.ts +0 -11
  124. package/lib/bridge/generic-alpaca/signer/index.d.ts.map +0 -1
  125. package/lib/bridge/generic-alpaca/signer/index.js +0 -28
  126. package/lib/bridge/generic-alpaca/signer/index.js.map +0 -1
  127. package/lib/bridge/generic-alpaca/signer/signTransaction.d.ts +0 -5
  128. package/lib/bridge/generic-alpaca/signer/signTransaction.d.ts.map +0 -1
  129. package/lib/bridge/generic-alpaca/signer/signTransaction.js +0 -11
  130. package/lib/bridge/generic-alpaca/signer/signTransaction.js.map +0 -1
  131. package/lib/bridge/generic-alpaca/signer/types.d.ts +0 -5
  132. package/lib/bridge/generic-alpaca/signer/types.d.ts.map +0 -1
  133. package/lib/bridge/generic-alpaca/signer/types.js +0 -3
  134. package/lib/bridge/generic-alpaca/signer/types.js.map +0 -1
  135. package/lib/bridge/generic-alpaca/tests/estimateMaxSpendable.test.d.ts +0 -2
  136. package/lib/bridge/generic-alpaca/tests/estimateMaxSpendable.test.d.ts.map +0 -1
  137. package/lib/bridge/generic-alpaca/tests/estimateMaxSpendable.test.js +0 -90
  138. package/lib/bridge/generic-alpaca/tests/estimateMaxSpendable.test.js.map +0 -1
  139. package/lib/bridge/generic-alpaca/tests/prepareTransaction.test.d.ts +0 -2
  140. package/lib/bridge/generic-alpaca/tests/prepareTransaction.test.d.ts.map +0 -1
  141. package/lib/bridge/generic-alpaca/tests/prepareTransaction.test.js +0 -53
  142. package/lib/bridge/generic-alpaca/tests/prepareTransaction.test.js.map +0 -1
  143. package/lib/bridge/generic-alpaca/tests/signOperation.test.d.ts +0 -2
  144. package/lib/bridge/generic-alpaca/tests/signOperation.test.d.ts.map +0 -1
  145. package/lib/bridge/generic-alpaca/tests/signOperation.test.js +0 -79
  146. package/lib/bridge/generic-alpaca/tests/signOperation.test.js.map +0 -1
  147. package/lib/bridge/generic-alpaca/utils.d.ts +0 -6
  148. package/lib/bridge/generic-alpaca/utils.d.ts.map +0 -1
  149. package/lib/bridge/generic-alpaca/utils.js +0 -55
  150. package/lib/bridge/generic-alpaca/utils.js.map +0 -1
  151. package/lib/e2e/enum/OperationType.d.ts +0 -5
  152. package/lib/e2e/enum/OperationType.d.ts.map +0 -1
  153. package/lib/e2e/enum/OperationType.js +0 -9
  154. package/lib/e2e/enum/OperationType.js.map +0 -1
  155. package/lib/e2e/enum/Provider.d.ts.map +0 -1
  156. package/lib/e2e/enum/Provider.js.map +0 -1
  157. package/lib/hooks/useOFACGeoBlockCheck.d.ts +0 -8
  158. package/lib/hooks/useOFACGeoBlockCheck.d.ts.map +0 -1
  159. package/lib/hooks/useOFACGeoBlockCheck.js +0 -32
  160. package/lib/hooks/useOFACGeoBlockCheck.js.map +0 -1
  161. package/lib/sanction/errors.d.ts +0 -13
  162. package/lib/sanction/errors.d.ts.map +0 -1
  163. package/lib/sanction/errors.js +0 -36
  164. package/lib/sanction/errors.js.map +0 -1
  165. package/lib/sanction/index.d.ts +0 -3
  166. package/lib/sanction/index.d.ts.map +0 -1
  167. package/lib/sanction/index.js +0 -51
  168. package/lib/sanction/index.js.map +0 -1
  169. package/lib-es/bridge/generic-alpaca/accountBridge.d.ts +0 -3
  170. package/lib-es/bridge/generic-alpaca/accountBridge.d.ts.map +0 -1
  171. package/lib-es/bridge/generic-alpaca/accountBridge.js +0 -27
  172. package/lib-es/bridge/generic-alpaca/accountBridge.js.map +0 -1
  173. package/lib-es/bridge/generic-alpaca/alpaca/index.d.ts +0 -3
  174. package/lib-es/bridge/generic-alpaca/alpaca/index.d.ts.map +0 -1
  175. package/lib-es/bridge/generic-alpaca/alpaca/index.js +0 -16
  176. package/lib-es/bridge/generic-alpaca/alpaca/index.js.map +0 -1
  177. package/lib-es/bridge/generic-alpaca/alpaca/network/network-alpaca.d.ts +0 -16
  178. package/lib-es/bridge/generic-alpaca/alpaca/network/network-alpaca.d.ts.map +0 -1
  179. package/lib-es/bridge/generic-alpaca/alpaca/network/network-alpaca.js +0 -116
  180. package/lib-es/bridge/generic-alpaca/alpaca/network/network-alpaca.js.map +0 -1
  181. package/lib-es/bridge/generic-alpaca/broadcast.d.ts +0 -3
  182. package/lib-es/bridge/generic-alpaca/broadcast.d.ts.map +0 -1
  183. package/lib-es/bridge/generic-alpaca/broadcast.js +0 -7
  184. package/lib-es/bridge/generic-alpaca/broadcast.js.map +0 -1
  185. package/lib-es/bridge/generic-alpaca/createTransaction.d.ts +0 -16
  186. package/lib-es/bridge/generic-alpaca/createTransaction.d.ts.map +0 -1
  187. package/lib-es/bridge/generic-alpaca/createTransaction.js +0 -13
  188. package/lib-es/bridge/generic-alpaca/createTransaction.js.map +0 -1
  189. package/lib-es/bridge/generic-alpaca/currencyBridge.d.ts +0 -3
  190. package/lib-es/bridge/generic-alpaca/currencyBridge.d.ts.map +0 -1
  191. package/lib-es/bridge/generic-alpaca/currencyBridge.js +0 -16
  192. package/lib-es/bridge/generic-alpaca/currencyBridge.js.map +0 -1
  193. package/lib-es/bridge/generic-alpaca/estimateMaxSpendable.d.ts +0 -3
  194. package/lib-es/bridge/generic-alpaca/estimateMaxSpendable.d.ts.map +0 -1
  195. package/lib-es/bridge/generic-alpaca/estimateMaxSpendable.js +0 -19
  196. package/lib-es/bridge/generic-alpaca/estimateMaxSpendable.js.map +0 -1
  197. package/lib-es/bridge/generic-alpaca/getAccountShape.d.ts +0 -3
  198. package/lib-es/bridge/generic-alpaca/getAccountShape.d.ts.map +0 -1
  199. package/lib-es/bridge/generic-alpaca/getAccountShape.js +0 -51
  200. package/lib-es/bridge/generic-alpaca/getAccountShape.js.map +0 -1
  201. package/lib-es/bridge/generic-alpaca/getTransactionStatus.d.ts +0 -3
  202. package/lib-es/bridge/generic-alpaca/getTransactionStatus.d.ts.map +0 -1
  203. package/lib-es/bridge/generic-alpaca/getTransactionStatus.js +0 -29
  204. package/lib-es/bridge/generic-alpaca/getTransactionStatus.js.map +0 -1
  205. package/lib-es/bridge/generic-alpaca/prepareTransaction.d.ts +0 -3
  206. package/lib-es/bridge/generic-alpaca/prepareTransaction.d.ts.map +0 -1
  207. package/lib-es/bridge/generic-alpaca/prepareTransaction.js +0 -14
  208. package/lib-es/bridge/generic-alpaca/prepareTransaction.js.map +0 -1
  209. package/lib-es/bridge/generic-alpaca/signOperation.d.ts +0 -7
  210. package/lib-es/bridge/generic-alpaca/signOperation.d.ts.map +0 -1
  211. package/lib-es/bridge/generic-alpaca/signOperation.js +0 -45
  212. package/lib-es/bridge/generic-alpaca/signOperation.js.map +0 -1
  213. package/lib-es/bridge/generic-alpaca/signer/index.d.ts +0 -11
  214. package/lib-es/bridge/generic-alpaca/signer/index.d.ts.map +0 -1
  215. package/lib-es/bridge/generic-alpaca/signer/index.js +0 -21
  216. package/lib-es/bridge/generic-alpaca/signer/index.js.map +0 -1
  217. package/lib-es/bridge/generic-alpaca/signer/signTransaction.d.ts +0 -5
  218. package/lib-es/bridge/generic-alpaca/signer/signTransaction.d.ts.map +0 -1
  219. package/lib-es/bridge/generic-alpaca/signer/signTransaction.js +0 -7
  220. package/lib-es/bridge/generic-alpaca/signer/signTransaction.js.map +0 -1
  221. package/lib-es/bridge/generic-alpaca/signer/types.d.ts +0 -5
  222. package/lib-es/bridge/generic-alpaca/signer/types.d.ts.map +0 -1
  223. package/lib-es/bridge/generic-alpaca/signer/types.js +0 -2
  224. package/lib-es/bridge/generic-alpaca/signer/types.js.map +0 -1
  225. package/lib-es/bridge/generic-alpaca/tests/estimateMaxSpendable.test.d.ts +0 -2
  226. package/lib-es/bridge/generic-alpaca/tests/estimateMaxSpendable.test.d.ts.map +0 -1
  227. package/lib-es/bridge/generic-alpaca/tests/estimateMaxSpendable.test.js +0 -62
  228. package/lib-es/bridge/generic-alpaca/tests/estimateMaxSpendable.test.js.map +0 -1
  229. package/lib-es/bridge/generic-alpaca/tests/prepareTransaction.test.d.ts +0 -2
  230. package/lib-es/bridge/generic-alpaca/tests/prepareTransaction.test.d.ts.map +0 -1
  231. package/lib-es/bridge/generic-alpaca/tests/prepareTransaction.test.js +0 -48
  232. package/lib-es/bridge/generic-alpaca/tests/prepareTransaction.test.js.map +0 -1
  233. package/lib-es/bridge/generic-alpaca/tests/signOperation.test.d.ts +0 -2
  234. package/lib-es/bridge/generic-alpaca/tests/signOperation.test.d.ts.map +0 -1
  235. package/lib-es/bridge/generic-alpaca/tests/signOperation.test.js +0 -77
  236. package/lib-es/bridge/generic-alpaca/tests/signOperation.test.js.map +0 -1
  237. package/lib-es/bridge/generic-alpaca/utils.d.ts +0 -6
  238. package/lib-es/bridge/generic-alpaca/utils.d.ts.map +0 -1
  239. package/lib-es/bridge/generic-alpaca/utils.js +0 -46
  240. package/lib-es/bridge/generic-alpaca/utils.js.map +0 -1
  241. package/lib-es/e2e/enum/OperationType.d.ts +0 -5
  242. package/lib-es/e2e/enum/OperationType.d.ts.map +0 -1
  243. package/lib-es/e2e/enum/OperationType.js +0 -6
  244. package/lib-es/e2e/enum/OperationType.js.map +0 -1
  245. package/lib-es/e2e/enum/Provider.d.ts.map +0 -1
  246. package/lib-es/e2e/enum/Provider.js.map +0 -1
  247. package/lib-es/hooks/useOFACGeoBlockCheck.d.ts +0 -8
  248. package/lib-es/hooks/useOFACGeoBlockCheck.d.ts.map +0 -1
  249. package/lib-es/hooks/useOFACGeoBlockCheck.js +0 -28
  250. package/lib-es/hooks/useOFACGeoBlockCheck.js.map +0 -1
  251. package/lib-es/sanction/errors.d.ts +0 -13
  252. package/lib-es/sanction/errors.d.ts.map +0 -1
  253. package/lib-es/sanction/errors.js +0 -29
  254. package/lib-es/sanction/errors.js.map +0 -1
  255. package/lib-es/sanction/index.d.ts +0 -3
  256. package/lib-es/sanction/index.d.ts.map +0 -1
  257. package/lib-es/sanction/index.js +0 -44
  258. package/lib-es/sanction/index.js.map +0 -1
  259. package/src/bridge/generic-alpaca/accountBridge.ts +0 -32
  260. package/src/bridge/generic-alpaca/alpaca/index.ts +0 -20
  261. package/src/bridge/generic-alpaca/alpaca/network/network-alpaca.ts +0 -182
  262. package/src/bridge/generic-alpaca/broadcast.ts +0 -11
  263. package/src/bridge/generic-alpaca/createTransaction.ts +0 -27
  264. package/src/bridge/generic-alpaca/currencyBridge.ts +0 -17
  265. package/src/bridge/generic-alpaca/estimateMaxSpendable.ts +0 -27
  266. package/src/bridge/generic-alpaca/getAccountShape.ts +0 -62
  267. package/src/bridge/generic-alpaca/getTransactionStatus.ts +0 -38
  268. package/src/bridge/generic-alpaca/prepareTransaction.ts +0 -22
  269. package/src/bridge/generic-alpaca/signOperation.ts +0 -83
  270. package/src/bridge/generic-alpaca/signer/index.ts +0 -33
  271. package/src/bridge/generic-alpaca/signer/signTransaction.ts +0 -13
  272. package/src/bridge/generic-alpaca/signer/types.ts +0 -4
  273. package/src/bridge/generic-alpaca/tests/estimateMaxSpendable.test.ts +0 -76
  274. package/src/bridge/generic-alpaca/tests/prepareTransaction.test.ts +0 -66
  275. package/src/bridge/generic-alpaca/tests/signOperation.test.ts +0 -96
  276. package/src/bridge/generic-alpaca/utils.ts +0 -63
  277. package/src/e2e/enum/OperationType.ts +0 -4
  278. package/src/hooks/useOFACGeoBlockCheck.ts +0 -37
  279. package/src/sanction/errors.ts +0 -31
  280. package/src/sanction/index.ts +0 -59
@@ -9,6 +9,6 @@ import { Feature, FeatureParam } from "@ledgerhq/types-live";
9
9
  * @returns a feature flag value or null if the feature flag is not found
10
10
  * (neither in the remote configuration, in the cache or in the local defaults).
11
11
  */
12
- declare const useFeature: <T extends "discover" | keyof import("@ledgerhq/types-live").CurrencyFeatures | "brazePushNotifications" | "brazeLearn" | "ratingsPrompt" | "npsRatingsPrompt" | "counterValue" | "deviceInitialApps" | "buyDeviceFromLive" | "mockFeature" | "buySellUi" | "buySellShortcut" | "referralProgramDesktopSidebar" | "disableNftSend" | "disableNftLedgerMarket" | "disableNftRaribleOpensea" | "receiveStakingFlowConfigDesktop" | "ethStakingModalWithFilters" | "ethStakingProviders" | "storyly" | "postOnboardingAssetsTransfer" | "firebaseEnvironmentReadOnly" | "protectServicesMobile" | "protectServicesDesktop" | "ptxServiceCtaExchangeDrawer" | "ptxServiceCtaScreens" | "swapWalletApiPartnerList" | "stakePrograms" | "portfolioExchangeBanner" | "editEvmTx" | "stakeAccountBanner" | "newsfeedPage" | "domainInputResolution" | "transactionsAlerts" | "fetchAdditionalCoins" | "ptxCard" | "ptxSwapLiveAppMobile" | "ptxSwapLiveApp" | "ptxEarnLiveApp" | "ptxSwapReceiveTRC20WithoutTrx" | "flexibleContentCards" | "llmAnalyticsOptInPrompt" | "ptxSwapMoonpayProvider" | "ptxSwapExodusProvider" | "lldAnalyticsOptInPrompt" | "lldChatbotSupport" | "llmChatbotSupport" | "myLedgerDisplayAppDeveloperName" | "nftsFromSimplehash" | "lldActionCarousel" | "marketperformanceWidgetDesktop" | "lldRefreshMarketData" | "llmRefreshMarketData" | "spamReportNfts" | "lldWalletSync" | "llmWalletSync" | "lldNftsGalleryNewArch" | "lldnewArchOrdinals" | "enableAppsBackup" | "web3hub" | "llmMarketQuickActions" | "spamFilteringTx" | "lldSpamFilteringTx" | "llmSpamFilteringTx" | "llmMemoTag" | "lldMemoTag" | "ldmkTransport" | "llMevProtection" | "llmNetworkBasedAddAccountFlow" | "llCounterValueGranularitiesRates" | "llmRebornLP" | "llmRebornFlex" | "llmAccountListUI" | "llmLedgerSyncEntryPoints" | "lldLedgerSyncEntryPoints" | "lldNanoSUpsellBanners" | "llmNanoSUpsellBanners" | "llmThai" | "lldThai" | "lldSolanaNfts" | "llmSolanaNfts" | "largemoverLandingpage" | "llmMmkvMigration" | "lldModularDrawer" | "llNftSupport" | "llNftEntryPoint" | "ldmkConnectApp" | "lldNetworkBasedAddAccount" | "llmOfacGeoBlocking" | "lldOfacGeoBlocking">(featureId: T) => Feature<FeatureParam<T>> | null;
12
+ declare const useFeature: <T extends "discover" | keyof import("@ledgerhq/types-live").CurrencyFeatures | "brazePushNotifications" | "brazeLearn" | "ratingsPrompt" | "npsRatingsPrompt" | "counterValue" | "deviceInitialApps" | "buyDeviceFromLive" | "mockFeature" | "buySellUi" | "buySellShortcut" | "referralProgramDesktopSidebar" | "disableNftSend" | "disableNftLedgerMarket" | "disableNftRaribleOpensea" | "receiveStakingFlowConfigDesktop" | "ethStakingModalWithFilters" | "ethStakingProviders" | "storyly" | "postOnboardingAssetsTransfer" | "firebaseEnvironmentReadOnly" | "protectServicesMobile" | "protectServicesDesktop" | "ptxServiceCtaExchangeDrawer" | "ptxServiceCtaScreens" | "swapWalletApiPartnerList" | "stakePrograms" | "portfolioExchangeBanner" | "editEvmTx" | "stakeAccountBanner" | "newsfeedPage" | "domainInputResolution" | "transactionsAlerts" | "fetchAdditionalCoins" | "ptxCard" | "ptxSwapLiveAppMobile" | "ptxSwapLiveApp" | "ptxEarnLiveApp" | "ptxSwapReceiveTRC20WithoutTrx" | "flexibleContentCards" | "llmAnalyticsOptInPrompt" | "ptxSwapMoonpayProvider" | "ptxSwapExodusProvider" | "lldAnalyticsOptInPrompt" | "lldChatbotSupport" | "llmChatbotSupport" | "myLedgerDisplayAppDeveloperName" | "nftsFromSimplehash" | "lldActionCarousel" | "marketperformanceWidgetDesktop" | "lldRefreshMarketData" | "llmRefreshMarketData" | "spamReportNfts" | "lldWalletSync" | "llmWalletSync" | "lldNftsGalleryNewArch" | "lldnewArchOrdinals" | "enableAppsBackup" | "web3hub" | "llmMarketQuickActions" | "spamFilteringTx" | "lldSpamFilteringTx" | "llmSpamFilteringTx" | "llmMemoTag" | "lldMemoTag" | "ldmkTransport" | "llMevProtection" | "llmNetworkBasedAddAccountFlow" | "llCounterValueGranularitiesRates" | "llmRebornLP" | "llmRebornFlex" | "llmAccountListUI" | "llmLedgerSyncEntryPoints" | "lldLedgerSyncEntryPoints" | "lldNanoSUpsellBanners" | "llmNanoSUpsellBanners" | "llmThai" | "lldThai" | "lldSolanaNfts" | "llmSolanaNfts" | "largemoverLandingpage" | "llmMmkvMigration" | "lldModularDrawer" | "llNftSupport" | "llNftEntryPoint" | "ldmkConnectApp" | "lldNetworkBasedAddAccount">(featureId: T) => Feature<FeatureParam<T>> | null;
13
13
  export default useFeature;
14
14
  //# sourceMappingURL=useFeature.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useFeature.d.ts","sourceRoot":"","sources":["../../src/featureFlags/useFeature.ts"],"names":[],"mappings":"AAEA,OAAO,EAAa,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAExE;;;;;;;;;GASG;AACH,QAAA,MAAM,UAAU,6mEAIf,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"useFeature.d.ts","sourceRoot":"","sources":["../../src/featureFlags/useFeature.ts"],"names":[],"mappings":"AAEA,OAAO,EAAa,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAExE;;;;;;;;;GASG;AACH,QAAA,MAAM,UAAU,+jEAIf,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -21,6 +21,7 @@ declare const _default: {
21
21
  ton: import("@ledgerhq/types-live").Bridge<import("@ledgerhq/coin-ton/lib/types").Transaction, import("@ledgerhq/coin-ton/lib/types").TonAccount>;
22
22
  tron: import("@ledgerhq/types-live").Bridge<import("@ledgerhq/coin-tron/lib/index").Transaction, import("@ledgerhq/coin-tron/lib/index").TronAccount>;
23
23
  vechain: import("@ledgerhq/types-live").Bridge<import("@ledgerhq/coin-vechain/lib/types/bridge").Transaction>;
24
+ xrp: import("@ledgerhq/types-live").Bridge<import("@ledgerhq/coin-xrp/lib/index").Transaction>;
24
25
  sui: import("@ledgerhq/types-live").Bridge<import("@ledgerhq/coin-sui/lib/index").Transaction, import("@ledgerhq/coin-sui/lib/index").SuiAccount, import("@ledgerhq/types-live").TransactionStatusCommon>;
25
26
  mina: import("@ledgerhq/types-live").Bridge<import("@ledgerhq/coin-mina/lib/types/common").Transaction>;
26
27
  };
@@ -1 +1 @@
1
- {"version":3,"file":"js.d.ts","sourceRoot":"","sources":["../../../src/generated/bridge/js.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,wBAyBE"}
1
+ {"version":3,"file":"js.d.ts","sourceRoot":"","sources":["../../../src/generated/bridge/js.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BA,wBA0BE"}
@@ -20,6 +20,7 @@ import { bridge as tezos } from "../../families/tezos/setup";
20
20
  import { bridge as ton } from "../../families/ton/setup";
21
21
  import { bridge as tron } from "../../families/tron/setup";
22
22
  import { bridge as vechain } from "../../families/vechain/setup";
23
+ import { bridge as xrp } from "../../families/xrp/setup";
23
24
  import { bridge as sui } from "../../families/sui/setup";
24
25
  import { bridge as mina } from "../../families/mina/setup";
25
26
  export default {
@@ -45,6 +46,7 @@ export default {
45
46
  ton,
46
47
  tron,
47
48
  vechain,
49
+ xrp,
48
50
  sui,
49
51
  mina,
50
52
  };
@@ -1 +1 @@
1
- {"version":3,"file":"js.js","sourceRoot":"","sources":["../../../src/generated/bridge/js.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,MAAM,IAAI,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,MAAM,IAAI,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,MAAM,IAAI,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,MAAM,IAAI,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AACrF,OAAO,EAAE,MAAM,IAAI,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,MAAM,IAAI,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,MAAM,IAAI,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,MAAM,IAAI,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,MAAM,IAAI,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,MAAM,IAAI,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAE3D,eAAe;IACb,QAAQ;IACR,KAAK;IACL,OAAO;IACP,OAAO;IACP,MAAM;IACN,IAAI;IACJ,MAAM;IACN,GAAG;IACH,MAAM;IACN,QAAQ;IACR,iBAAiB;IACjB,IAAI;IACJ,UAAU;IACV,IAAI;IACJ,QAAQ;IACR,MAAM;IACN,MAAM;IACN,OAAO;IACP,KAAK;IACL,GAAG;IACH,IAAI;IACJ,OAAO;IACP,GAAG;IACH,IAAI;CACL,CAAC"}
1
+ {"version":3,"file":"js.js","sourceRoot":"","sources":["../../../src/generated/bridge/js.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,MAAM,IAAI,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,MAAM,IAAI,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,MAAM,IAAI,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,MAAM,IAAI,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AACrF,OAAO,EAAE,MAAM,IAAI,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,MAAM,IAAI,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,MAAM,IAAI,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,MAAM,IAAI,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,MAAM,IAAI,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,MAAM,IAAI,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAE3D,eAAe;IACb,QAAQ;IACR,KAAK;IACL,OAAO;IACP,OAAO;IACP,MAAM;IACN,IAAI;IACJ,MAAM;IACN,GAAG;IACH,MAAM;IACN,QAAQ;IACR,iBAAiB;IACjB,IAAI;IACJ,UAAU;IACV,IAAI;IACJ,QAAQ;IACR,MAAM;IACN,MAAM;IACN,OAAO;IACP,KAAK;IACL,GAAG;IACH,IAAI;IACJ,OAAO;IACP,GAAG;IACH,GAAG;IACH,IAAI;CACL,CAAC"}
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.36.0-nightly.2",
4
+ "version": "34.36.0",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/LedgerHQ/ledger-live.git"
@@ -162,72 +162,72 @@
162
162
  "xstate": "^5.19.2",
163
163
  "yargs": "^17.0.0",
164
164
  "zod": "^3.22.4",
165
- "@ledgerhq/coin-algorand": "^0.9.8-nightly.2",
166
- "@ledgerhq/coin-aptos": "^2.1.0-nightly.2",
167
- "@ledgerhq/coin-bitcoin": "^0.16.0-nightly.2",
168
- "@ledgerhq/coin-cardano": "^0.8.8-nightly.2",
169
- "@ledgerhq/coin-casper": "^1.7.3-nightly.2",
170
- "@ledgerhq/coin-celo": "^1.1.6-nightly.2",
171
- "@ledgerhq/coin-cosmos": "^0.15.0-nightly.2",
172
- "@ledgerhq/coin-evm": "^2.22.2-nightly.2",
173
- "@ledgerhq/coin-filecoin": "^1.9.8-nightly.2",
174
- "@ledgerhq/coin-framework": "^5.2.0-nightly.2",
175
- "@ledgerhq/coin-hedera": "^1.6.8-nightly.2",
176
- "@ledgerhq/coin-icon": "^0.10.8-nightly.2",
177
- "@ledgerhq/coin-internet_computer": "^1.7.8-nightly.2",
178
- "@ledgerhq/coin-mina": "^1.1.7-nightly.2",
179
- "@ledgerhq/coin-multiversx": "^0.4.8-nightly.2",
180
- "@ledgerhq/coin-near": "^0.11.8-nightly.2",
181
- "@ledgerhq/coin-polkadot": "^6.2.0-nightly.2",
182
- "@ledgerhq/coin-solana": "^0.25.0-nightly.2",
183
- "@ledgerhq/coin-stacks": "^0.8.8-nightly.2",
184
- "@ledgerhq/coin-stellar": "^5.2.0-nightly.2",
185
- "@ledgerhq/coin-sui": "^0.5.0-nightly.2",
186
- "@ledgerhq/coin-tezos": "^5.3.0-nightly.2",
187
- "@ledgerhq/coin-ton": "^0.11.1-nightly.2",
188
- "@ledgerhq/coin-tron": "^4.2.0-nightly.2",
189
- "@ledgerhq/coin-vechain": "^2.7.8-nightly.2",
190
- "@ledgerhq/coin-xrp": "^6.2.0-nightly.2",
165
+ "@ledgerhq/coin-aptos": "^2.1.0",
166
+ "@ledgerhq/coin-algorand": "^0.9.8",
167
+ "@ledgerhq/coin-bitcoin": "^0.15.8",
168
+ "@ledgerhq/coin-cardano": "^0.8.8",
169
+ "@ledgerhq/coin-casper": "^1.7.3",
170
+ "@ledgerhq/coin-celo": "^1.1.6",
171
+ "@ledgerhq/coin-cosmos": "^0.15.0",
172
+ "@ledgerhq/coin-evm": "^2.22.2",
173
+ "@ledgerhq/coin-filecoin": "^1.9.8",
174
+ "@ledgerhq/coin-framework": "^5.2.0",
175
+ "@ledgerhq/coin-hedera": "^1.7.0",
176
+ "@ledgerhq/coin-icon": "^0.10.8",
177
+ "@ledgerhq/coin-internet_computer": "^1.7.8",
178
+ "@ledgerhq/coin-mina": "^1.1.7",
179
+ "@ledgerhq/coin-multiversx": "^0.4.8",
180
+ "@ledgerhq/coin-near": "^0.11.8",
181
+ "@ledgerhq/coin-polkadot": "^6.1.2",
182
+ "@ledgerhq/coin-solana": "^0.25.0",
183
+ "@ledgerhq/coin-stacks": "^0.8.8",
184
+ "@ledgerhq/coin-stellar": "^5.1.1",
185
+ "@ledgerhq/coin-sui": "^0.4.1",
186
+ "@ledgerhq/coin-tezos": "^5.2.1",
187
+ "@ledgerhq/coin-ton": "^0.12.0",
188
+ "@ledgerhq/coin-tron": "^4.1.2",
189
+ "@ledgerhq/coin-vechain": "^2.7.8",
190
+ "@ledgerhq/coin-xrp": "^6.1.3",
191
191
  "@ledgerhq/crypto-icons-ui": "^1.14.0",
192
192
  "@ledgerhq/cryptoassets": "^13.18.0",
193
- "@ledgerhq/device-core": "^0.4.26-nightly.1",
194
- "@ledgerhq/devices": "8.4.5",
193
+ "@ledgerhq/device-core": "^0.4.26",
194
+ "@ledgerhq/devices": "8.4.6",
195
195
  "@ledgerhq/errors": "^6.21.0",
196
- "@ledgerhq/hw-app-algorand": "^6.31.1",
197
- "@ledgerhq/hw-app-aptos": "^6.34.1",
198
- "@ledgerhq/hw-app-btc": "^10.9.1",
199
- "@ledgerhq/hw-app-celo": "^6.33.4-nightly.1",
200
- "@ledgerhq/hw-app-cosmos": "^6.32.1",
201
- "@ledgerhq/hw-app-eth": "^6.45.6-nightly.1",
202
- "@ledgerhq/hw-app-exchange": "^0.10.1",
203
- "@ledgerhq/hw-app-hedera": "^1.2.1",
204
- "@ledgerhq/hw-app-icon": "^1.3.1",
205
- "@ledgerhq/hw-app-multiversx": "^6.24.1",
206
- "@ledgerhq/hw-app-near": "^6.31.1",
207
- "@ledgerhq/hw-app-polkadot": "^6.34.1",
208
- "@ledgerhq/hw-app-str": "^7.2.1",
196
+ "@ledgerhq/hw-app-algorand": "^6.31.2",
197
+ "@ledgerhq/hw-app-aptos": "^6.34.2",
198
+ "@ledgerhq/hw-app-btc": "^10.9.2",
199
+ "@ledgerhq/hw-app-celo": "^6.33.4",
200
+ "@ledgerhq/hw-app-cosmos": "^6.32.2",
201
+ "@ledgerhq/hw-app-eth": "^6.45.6",
202
+ "@ledgerhq/hw-app-exchange": "^0.10.2",
203
+ "@ledgerhq/hw-app-hedera": "^1.2.2",
204
+ "@ledgerhq/hw-app-icon": "^1.3.2",
205
+ "@ledgerhq/hw-app-multiversx": "^6.24.2",
206
+ "@ledgerhq/hw-app-near": "^6.31.2",
207
+ "@ledgerhq/hw-app-polkadot": "^6.34.2",
208
+ "@ledgerhq/hw-app-str": "^7.2.2",
209
209
  "@ledgerhq/hw-app-sui": "^1.1.0",
210
- "@ledgerhq/hw-app-tezos": "^6.31.1",
211
- "@ledgerhq/hw-app-trx": "^6.31.1",
212
- "@ledgerhq/hw-app-vet": "^0.5.4",
213
- "@ledgerhq/hw-app-xrp": "^6.31.2-nightly.0",
214
- "@ledgerhq/hw-transport": "^6.31.5",
215
- "@ledgerhq/hw-transport-mocker": "^6.29.5",
216
- "@ledgerhq/ledger-cal-service": "^0.4.3",
210
+ "@ledgerhq/hw-app-tezos": "^6.31.2",
211
+ "@ledgerhq/hw-app-trx": "^6.31.2",
212
+ "@ledgerhq/hw-app-vet": "^0.5.5",
213
+ "@ledgerhq/hw-app-xrp": "^6.31.2",
214
+ "@ledgerhq/hw-transport": "^6.31.6",
215
+ "@ledgerhq/hw-transport-mocker": "^6.29.6",
216
+ "@ledgerhq/ledger-cal-service": "^0.5.0",
217
217
  "@ledgerhq/live-config": "^3.1.0",
218
- "@ledgerhq/live-countervalues": "^0.5.8-nightly.2",
219
- "@ledgerhq/live-dmk-shared": "^0.8.2",
220
- "@ledgerhq/live-countervalues-react": "^0.2.37-nightly.2",
218
+ "@ledgerhq/live-countervalues": "^0.5.8",
219
+ "@ledgerhq/live-dmk-shared": "^0.9.0",
220
+ "@ledgerhq/live-countervalues-react": "^0.2.37",
221
221
  "@ledgerhq/live-env": "^2.9.0",
222
222
  "@ledgerhq/live-hooks": "0.1.0",
223
- "@ledgerhq/live-network": "^2.0.8",
224
- "@ledgerhq/live-nft": "^0.8.8-nightly.2",
225
- "@ledgerhq/live-promise": "^0.1.0",
226
- "@ledgerhq/live-signer-evm": "^0.5.1-nightly.2",
227
- "@ledgerhq/live-signer-solana": "^0.2.0-nightly.2",
228
- "@ledgerhq/live-wallet": "^0.10.11-nightly.2",
229
- "@ledgerhq/logs": "^6.12.0",
230
- "@ledgerhq/speculos-transport": "^0.2.1",
223
+ "@ledgerhq/live-network": "^2.0.9",
224
+ "@ledgerhq/live-nft": "^0.8.8",
225
+ "@ledgerhq/live-promise": "^0.1.1",
226
+ "@ledgerhq/live-signer-evm": "^0.5.1",
227
+ "@ledgerhq/live-signer-solana": "^0.2.0",
228
+ "@ledgerhq/live-wallet": "^0.10.11",
229
+ "@ledgerhq/logs": "^6.13.0",
230
+ "@ledgerhq/speculos-transport": "^0.2.2",
231
231
  "@ledgerhq/wallet-api-acre-module": "^0.5.0",
232
232
  "@ledgerhq/wallet-api-exchange-module": "^0.13.0"
233
233
  },
@@ -277,10 +277,10 @@
277
277
  "undici": "6.19.2",
278
278
  "uuid": "^8.3.2",
279
279
  "ws": "7",
280
- "@ledgerhq/device-react": "^0.2.32-nightly.1",
280
+ "@ledgerhq/device-react": "^0.2.32",
281
281
  "@ledgerhq/types-cryptoassets": "^7.23.0",
282
282
  "@ledgerhq/types-devices": "^6.25.3",
283
- "@ledgerhq/types-live": "^6.72.0-nightly.1"
283
+ "@ledgerhq/types-live": "^6.72.0"
284
284
  },
285
285
  "scripts": {
286
286
  "build": "zx ./scripts/build-ts.mjs",
@@ -300,7 +300,6 @@
300
300
  "test-bridge": "env-cmd -f .ci.bridge.env pnpm jest --ci --updateSnapshot --passWithNoTests --runInBand",
301
301
  "test-bridge-update": "UPDATE_BACKEND_MOCKS=1 env-cmd -f .ci.integration.env pnpm jest --ci --updateSnapshot --passWithNoTests",
302
302
  "test-account-migration": "tsx src/__tests__/migration/account-migration.ts",
303
- "unimported": "unimported",
304
- "coverage": "env-cmd -f .ci.unit.env pnpm jest --coverage --ci --updateSnapshot && git diff --exit-code src"
303
+ "unimported": "unimported"
305
304
  }
306
305
  }
@@ -383,6 +383,10 @@ export function testBridge<T extends TransactionCommon>(data: DatasetTest<T>): v
383
383
  }
384
384
  }
385
385
 
386
+ makeTest("bridge ref equality", async () => {
387
+ const account = await getSynced();
388
+ expect(bridge).toBe(getAccountBridge(account, null));
389
+ });
386
390
  makeTest("account have no NaN values", async () => {
387
391
  const account = await getSynced();
388
392
  [account, ...(account.subAccounts || [])].forEach(a => {
@@ -424,7 +428,6 @@ export function testBridge<T extends TransactionCommon>(data: DatasetTest<T>): v
424
428
  blockHeight: 0,
425
429
  };
426
430
  const synced = await syncAccount(bridge, copy);
427
- if (initialAccount.id.includes("ripple")) return; // ripple wont work because of the current implementation of pagination
428
431
  expect(synced.operations.length).toBe(account.operations.length);
429
432
  // same ops are restored
430
433
  expect(synced.operations).toEqual(account.operations);
@@ -437,7 +440,6 @@ export function testBridge<T extends TransactionCommon>(data: DatasetTest<T>): v
437
440
  });
438
441
  makeTest("pendingOperations are cleaned up", async () => {
439
442
  const account = await getSynced();
440
- if (initialAccount.id.includes("ripple")) return; // ripple wont work because of the current implementation of pagination
441
443
 
442
444
  if (account.operations.length) {
443
445
  const operations = account.operations.slice(1);
@@ -1,29 +1,11 @@
1
- import { isAddressSanctioned } from "../sanction";
2
1
  import { CurrencyNotSupported } from "@ledgerhq/errors";
3
- import { getEnv } from "@ledgerhq/live-env";
4
- import type { CryptoCurrency } from "@ledgerhq/types-cryptoassets";
5
- import {
6
- Account,
7
- AccountBridge,
8
- AccountLike,
9
- CurrencyBridge,
10
- TransactionStatusCommon,
11
- } from "@ledgerhq/types-live";
12
2
  import { decodeAccountId, getMainAccount } from "../account";
3
+ import { getEnv } from "@ledgerhq/live-env";
13
4
  import { checkAccountSupported } from "../account/index";
14
5
  import jsBridges from "../generated/bridge/js";
15
6
  import mockBridges from "../generated/bridge/mock";
16
- import { RecipientAddressSanctionedError, UserAddressSanctionedError } from "../sanction/errors";
17
- import { getAlpacaCurrencyBridge } from "./generic-alpaca/currencyBridge";
18
- import { getAlpacaAccountBridge } from "./generic-alpaca/accountBridge";
19
- import { TransactionCommon } from "@ledgerhq/types-live";
20
-
21
- const alpacaized = {
22
- xrp: true,
23
- };
24
-
25
- let accountBridgeInstance: AccountBridge<any> | null = null;
26
- let currencyBridgeInstance: CurrencyBridge | null = null;
7
+ import type { CryptoCurrency } from "@ledgerhq/types-cryptoassets";
8
+ import { Account, AccountBridge, AccountLike, CurrencyBridge } from "@ledgerhq/types-live";
27
9
 
28
10
  export const getCurrencyBridge = (currency: CryptoCurrency): CurrencyBridge => {
29
11
  if (getEnv("MOCK")) {
@@ -34,13 +16,6 @@ export const getCurrencyBridge = (currency: CryptoCurrency): CurrencyBridge => {
34
16
  });
35
17
  }
36
18
 
37
- if (alpacaized[currency.family]) {
38
- if (!currencyBridgeInstance) {
39
- currencyBridgeInstance = getAlpacaCurrencyBridge(currency.family, "local");
40
- }
41
- return currencyBridgeInstance;
42
- }
43
-
44
19
  const jsBridge = jsBridges[currency.family];
45
20
  if (jsBridge) {
46
21
  return jsBridge.currencyBridge;
@@ -82,66 +57,9 @@ export function getAccountBridgeByFamily(family: string, accountId?: string): Ac
82
57
  }
83
58
  }
84
59
 
85
- if (alpacaized[family]) {
86
- if (!accountBridgeInstance) {
87
- accountBridgeInstance = getAlpacaAccountBridge(family, "local");
88
- }
89
- return accountBridgeInstance;
90
- }
91
-
92
60
  const jsBridge = jsBridges[family];
93
61
  if (!jsBridge) {
94
- throw new CurrencyNotSupported("account currency bridge not found " + family);
62
+ throw new CurrencyNotSupported("currency bridge not found " + family);
95
63
  }
96
- return wrapAccountBridge(jsBridge.accountBridge);
97
- }
98
-
99
- function wrapAccountBridge<T extends TransactionCommon>(
100
- bridge: AccountBridge<T>,
101
- ): AccountBridge<T> {
102
- return {
103
- ...bridge,
104
- getTransactionStatus: async (...args) => {
105
- const blockchainSpecific = await bridge.getTransactionStatus(...args);
106
- const common = await commonGetTransactionStatus(...args);
107
- const merged = mergeResults(blockchainSpecific, common);
108
- return merged;
109
- },
110
- };
111
- }
112
-
113
- function mergeResults(
114
- blockchainSpecific: TransactionStatusCommon,
115
- common: Partial<TransactionStatusCommon>,
116
- ): TransactionStatusCommon {
117
- const errors = { ...blockchainSpecific.errors, ...common.errors };
118
- const warnings = { ...blockchainSpecific.warnings, ...common.warnings };
119
- return { ...blockchainSpecific, errors, warnings };
120
- }
121
-
122
- async function commonGetTransactionStatus(
123
- account: Account,
124
- transaction: TransactionCommon,
125
- ): Promise<Partial<TransactionStatusCommon>> {
126
- const errors: Record<string, Error> = {};
127
- const warnings: Record<string, Error> = {};
128
-
129
- let recipientIsBlacklisted = false;
130
- if (transaction.recipient && transaction.recipient !== "") {
131
- recipientIsBlacklisted = await isAddressSanctioned(account.currency, transaction.recipient);
132
- if (recipientIsBlacklisted) {
133
- errors.recipient = new RecipientAddressSanctionedError();
134
- }
135
- }
136
-
137
- const userIsBlacklisted = await isAddressSanctioned(account.currency, account.freshAddress);
138
- if (userIsBlacklisted) {
139
- errors.amount = new UserAddressSanctionedError();
140
- }
141
-
142
- if (userIsBlacklisted || recipientIsBlacklisted) {
143
- // Send log
144
- }
145
-
146
- return { errors, warnings };
64
+ return jsBridge.accountBridge;
147
65
  }
@@ -1,20 +1,11 @@
1
1
  import { CryptoCurrency, CryptoCurrencyId } from "@ledgerhq/types-cryptoassets";
2
2
  import { ConfigInfo, LiveConfig } from "@ledgerhq/live-config/LiveConfig";
3
- import { CurrencyConfig, SharedConfig } from "@ledgerhq/coin-framework/config";
3
+ import { CurrencyConfig } from "@ledgerhq/coin-framework/config";
4
4
 
5
5
  export type CurrencyLiveConfigDefinition = Partial<
6
6
  Record<`config_currency_${CryptoCurrencyId}`, ConfigInfo>
7
7
  >;
8
8
 
9
- const getSharedConfiguration = (): SharedConfig => {
10
- const config = LiveConfig.getValueByKey("config_currency");
11
- if (!config) {
12
- throw new Error("Configuration config_currency not found, please check Firebase Remote Config");
13
- }
14
-
15
- return config;
16
- };
17
-
18
9
  const getCurrencyConfiguration = <T extends CurrencyConfig>(
19
10
  currency: CryptoCurrency,
20
11
  ): T & Record<string, unknown> => {
@@ -26,4 +17,4 @@ const getCurrencyConfiguration = <T extends CurrencyConfig>(
26
17
  return currencyData;
27
18
  };
28
19
 
29
- export { getCurrencyConfiguration, getSharedConfiguration };
20
+ export { getCurrencyConfiguration };
@@ -36,13 +36,6 @@ const countervaluesConfig: ConfigSchema = {
36
36
  },
37
37
  };
38
38
 
39
- const sharedCurrencyConfig: ConfigSchema = {
40
- config_currency: {
41
- type: "object",
42
- default: {},
43
- },
44
- };
45
-
46
39
  const liveCommonConfig: ConfigSchema = {
47
40
  ...appConfig,
48
41
  };
@@ -74,5 +67,4 @@ export const liveConfig: ConfigSchema = {
74
67
  ...iconConfig,
75
68
  ...tonConfig,
76
69
  ...suiConfig,
77
- ...sharedCurrencyConfig,
78
70
  };
@@ -15,7 +15,6 @@ export class Provider {
15
15
  static readonly UNISWAP = new Provider("uniswap", "Uniswap", false, false, false);
16
16
  static readonly LIFI = new Provider("lifi", "LI.FI", false, true, false);
17
17
  static readonly CIC = new Provider("cic", "CIC", false, true, true);
18
- static readonly COINBASE = new Provider("coinbase", "Coinbase", false, true, true);
19
18
 
20
19
  static getNameByUiName(uiName: string): string {
21
20
  const provider = Object.values(Provider).find(p => p.uiName === uiName);
@@ -1,5 +1,4 @@
1
1
  import { AccountType } from "../enum/Account";
2
- import { OperationType } from "../enum/OperationType";
3
2
 
4
3
  export interface Fiat {
5
4
  locale: string;
@@ -10,5 +9,4 @@ export interface BuySell {
10
9
  crypto: AccountType;
11
10
  fiat: Fiat;
12
11
  amount: string;
13
- operation: OperationType;
14
12
  }
@@ -1,18 +1,31 @@
1
1
  // Goal of this file is to inject all necessary device/signer dependency to coin-modules
2
2
 
3
3
  import Xrp from "@ledgerhq/hw-app-xrp";
4
+ import { Bridge } from "@ledgerhq/types-live";
4
5
  import Transport from "@ledgerhq/hw-transport";
6
+ import { createBridges, type XrpCoinConfig } from "@ledgerhq/coin-xrp";
5
7
  import xrpResolver from "@ledgerhq/coin-xrp/signer/index";
6
8
  import makeCliTools from "@ledgerhq/coin-xrp/test/cli";
7
- import { CreateSigner, createResolver } from "../../bridge/setup";
9
+ import { Transaction as XrpTransaction } from "@ledgerhq/coin-xrp/types";
10
+ import { getCryptoCurrencyById } from "@ledgerhq/cryptoassets/currencies";
11
+ import { CreateSigner, createResolver, executeWithSigner } from "../../bridge/setup";
12
+ import { getCurrencyConfiguration } from "../../config";
8
13
  import { Resolver } from "../../hw/getAddress/types";
9
14
 
10
15
  const createSigner: CreateSigner<Xrp> = (transport: Transport) => {
11
16
  return new Xrp(transport);
12
17
  };
13
18
 
19
+ const getCoinConfig = () =>
20
+ getCurrencyConfiguration<XrpCoinConfig>(getCryptoCurrencyById("ripple"));
21
+
22
+ const bridge: Bridge<XrpTransaction> = createBridges(
23
+ executeWithSigner(createSigner),
24
+ getCoinConfig,
25
+ );
26
+
14
27
  const resolver: Resolver = createResolver(createSigner, xrpResolver);
15
28
 
16
29
  const cliTools = makeCliTools();
17
30
 
18
- export { cliTools, resolver };
31
+ export { bridge, cliTools, resolver };
@@ -618,8 +618,6 @@ export const DEFAULT_FEATURES: Features = {
618
618
  },
619
619
  ldmkConnectApp: DEFAULT_FEATURE,
620
620
  lldNetworkBasedAddAccount: DEFAULT_FEATURE,
621
- llmOfacGeoBlocking: DEFAULT_FEATURE,
622
- lldOfacGeoBlocking: DEFAULT_FEATURE,
623
621
  };
624
622
 
625
623
  // Firebase SDK treat JSON values as strings
@@ -20,6 +20,7 @@ import { bridge as tezos } from "../../families/tezos/setup";
20
20
  import { bridge as ton } from "../../families/ton/setup";
21
21
  import { bridge as tron } from "../../families/tron/setup";
22
22
  import { bridge as vechain } from "../../families/vechain/setup";
23
+ import { bridge as xrp } from "../../families/xrp/setup";
23
24
  import { bridge as sui } from "../../families/sui/setup";
24
25
  import { bridge as mina } from "../../families/mina/setup";
25
26
 
@@ -46,6 +47,7 @@ export default {
46
47
  ton,
47
48
  tron,
48
49
  vechain,
50
+ xrp,
49
51
  sui,
50
52
  mina,
51
53
  };
@@ -1,3 +0,0 @@
1
- import { AccountBridge } from "@ledgerhq/types-live";
2
- export declare function getAlpacaAccountBridge(network: string, kind: string): AccountBridge<any>;
3
- //# sourceMappingURL=accountBridge.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"accountBridge.d.ts","sourceRoot":"","sources":["../../../src/bridge/generic-alpaca/accountBridge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAiBrD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAcxF"}
@@ -1,34 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getAlpacaAccountBridge = void 0;
7
- const jsHelpers_1 = require("../jsHelpers");
8
- const getAccountShape_1 = require("./getAccountShape");
9
- const jsHelpers_2 = require("@ledgerhq/coin-framework/bridge/jsHelpers");
10
- const getAddressWrapper_1 = __importDefault(require("@ledgerhq/coin-framework/bridge/getAddressWrapper"));
11
- const signer_1 = require("./signer");
12
- const prepareTransaction_1 = require("./prepareTransaction");
13
- const getTransactionStatus_1 = require("./getTransactionStatus");
14
- const estimateMaxSpendable_1 = require("./estimateMaxSpendable");
15
- const createTransaction_1 = require("./createTransaction");
16
- const broadcast_1 = require("./broadcast");
17
- const signOperation_1 = require("./signOperation");
18
- function getAlpacaAccountBridge(network, kind) {
19
- const signer = (0, signer_1.getSigner)(network);
20
- return {
21
- sync: (0, jsHelpers_1.makeSync)({ getAccountShape: (0, getAccountShape_1.genericGetAccountShape)(network, kind) }),
22
- receive: (0, jsHelpers_2.makeAccountBridgeReceive)((0, getAddressWrapper_1.default)(signer.getAddress)),
23
- createTransaction: createTransaction_1.createTransaction,
24
- updateTransaction: (jsHelpers_2.updateTransaction),
25
- prepareTransaction: (0, prepareTransaction_1.genericPrepareTransaction)(network, kind),
26
- getTransactionStatus: (0, getTransactionStatus_1.genericGetTransactionStatus)(network, kind),
27
- estimateMaxSpendable: (0, estimateMaxSpendable_1.genericEstimateMaxSpendable)(network, kind),
28
- broadcast: (0, broadcast_1.genericBroadcast)(network, kind),
29
- signOperation: (0, signOperation_1.genericSignOperation)(network, kind)(signer.context),
30
- getSerializedAddressParameters: jsHelpers_2.getSerializedAddressParameters, // NOTE: check wether it should be exposed by coin-module's api instead?
31
- };
32
- }
33
- exports.getAlpacaAccountBridge = getAlpacaAccountBridge;
34
- //# sourceMappingURL=accountBridge.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"accountBridge.js","sourceRoot":"","sources":["../../../src/bridge/generic-alpaca/accountBridge.ts"],"names":[],"mappings":";;;;;;AACA,4CAAwC;AACxC,uDAA2D;AAC3D,yEAImD;AACnD,0GAAkF;AAClF,qCAAqC;AACrC,6DAAiE;AACjE,iEAAqE;AACrE,iEAAqE;AACrE,2DAAwD;AACxD,2CAA+C;AAC/C,mDAAuD;AAEvD,SAAgB,sBAAsB,CAAC,OAAe,EAAE,IAAY;IAClE,MAAM,MAAM,GAAG,IAAA,kBAAS,EAAC,OAAO,CAAC,CAAC;IAClC,OAAO;QACL,IAAI,EAAE,IAAA,oBAAQ,EAAC,EAAE,eAAe,EAAE,IAAA,wCAAsB,EAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC;QAC1E,OAAO,EAAE,IAAA,oCAAwB,EAAC,IAAA,2BAAiB,EAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACvE,iBAAiB,EAAE,qCAAiB;QACpC,iBAAiB,EAAE,CAAA,6BAAsB,CAAA;QACzC,kBAAkB,EAAE,IAAA,8CAAyB,EAAC,OAAO,EAAE,IAAI,CAAC;QAC5D,oBAAoB,EAAE,IAAA,kDAA2B,EAAC,OAAO,EAAE,IAAI,CAAC;QAChE,oBAAoB,EAAE,IAAA,kDAA2B,EAAC,OAAO,EAAE,IAAI,CAAC;QAChE,SAAS,EAAE,IAAA,4BAAgB,EAAC,OAAO,EAAE,IAAI,CAAC;QAC1C,aAAa,EAAE,IAAA,oCAAoB,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QAClE,8BAA8B,EAA9B,0CAA8B,EAAE,wEAAwE;KAC7C,CAAC;AAChE,CAAC;AAdD,wDAcC"}
@@ -1,3 +0,0 @@
1
- import { Api } from "@ledgerhq/coin-framework/api/types";
2
- export declare function getAlpacaApi(network: string, kind: "local" | "remote"): Api<any, any>;
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/bridge/generic-alpaca/alpaca/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,GAAG,EAAE,MAAM,oCAAoC,CAAC;AAGzD,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAYrF"}
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getAlpacaApi = void 0;
4
- const index_1 = require("@ledgerhq/coin-xrp/api/index");
5
- const config_1 = require("../../../config");
6
- const currencies_1 = require("@ledgerhq/cryptoassets/currencies");
7
- const network_alpaca_1 = require("./network/network-alpaca");
8
- function getAlpacaApi(network, kind) {
9
- if (kind === "local") {
10
- switch (network) {
11
- case "ripple":
12
- case "xrp":
13
- return (0, index_1.createApi)((0, config_1.getCurrencyConfiguration)((0, currencies_1.getCryptoCurrencyById)("ripple")));
14
- // as unknown as Api<any>; // FIXME: createXrpApi returns a strongly typed Api<XrpSender>, fix Api<any> to allow it
15
- }
16
- }
17
- return (0, network_alpaca_1.getNetworkAlpacaApi)(network);
18
- }
19
- exports.getAlpacaApi = getAlpacaApi;
20
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/bridge/generic-alpaca/alpaca/index.ts"],"names":[],"mappings":";;;AAAA,wDAAyE;AACzE,4CAA2D;AAC3D,kEAA0E;AAC1E,6DAA+D;AAI/D,SAAgB,YAAY,CAAC,OAAe,EAAE,IAAwB;IACpE,IAAI,IAAI,KAAK,OAAO,EAAE;QACpB,QAAQ,OAAO,EAAE;YACf,KAAK,QAAQ,CAAC;YACd,KAAK,KAAK;gBACR,OAAO,IAAA,iBAAY,EACjB,IAAA,iCAAwB,EAAgB,IAAA,kCAAqB,EAAC,QAAQ,CAAC,CAAC,CACxD,CAAC;YACrB,mHAAmH;SACpH;KACF;IACD,OAAO,IAAA,oCAAmB,EAAC,OAAO,CAAmD,CAAC;AACxF,CAAC;AAZD,oCAYC"}
@@ -1,16 +0,0 @@
1
- import type { Account, Balance, BlockInfo, Operation, FeeEstimation, Pagination, TransactionIntent, Transaction, TransactionValidation } from "@ledgerhq/coin-framework/api/index";
2
- type AssetInfo = {
3
- type: "native";
4
- };
5
- export declare const getNetworkAlpacaApi: (networkFamily: string) => {
6
- broadcast: (signedOperation: string) => Promise<string>;
7
- combine: (tx: string, signature: string, pubKey?: string) => Promise<string>;
8
- validateIntent: (account: Account, transaction: Transaction) => Promise<TransactionValidation>;
9
- estimateFees: (intent: TransactionIntent<any>) => Promise<FeeEstimation>;
10
- getBalance: (address: string) => Promise<Balance<AssetInfo>[]>;
11
- listOperations: (address: string, pagination: Pagination) => Promise<[Operation<any>[], string]>;
12
- lastBlock: () => Promise<BlockInfo>;
13
- craftTransaction: (intent: TransactionIntent<any>) => Promise<string>;
14
- };
15
- export {};
16
- //# sourceMappingURL=network-alpaca.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"network-alpaca.d.ts","sourceRoot":"","sources":["../../../../../src/bridge/generic-alpaca/alpaca/network/network-alpaca.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,OAAO,EACP,OAAO,EACP,SAAS,EACT,SAAS,EACT,aAAa,EACb,UAAU,EACV,iBAAiB,EACjB,WAAW,EACX,qBAAqB,EAEtB,MAAM,oCAAoC,CAAC;AAiG5C,KAAK,SAAS,GAAG;IACf,IAAI,EAAE,QAAQ,CAAC;CAChB,CAAC;AA4DF,eAAO,MAAM,mBAAmB,kBAAmB,MAAM;iCA9Ib,MAAM,KAAG,QAAQ,MAAM,CAAC;kBAmBvC,MAAM,aAAa,MAAM,WAAW,MAAM,KAAG,QAAQ,MAAM,CAAC;8BAqC5E,OAAO,eACH,WAAW,KACvB,QAAQ,qBAAqB,CAAC;2BApBG,kBAAkB,GAAG,CAAC,KAAG,QAAQ,aAAa,CAAC;0BA+ChD,MAAM,KAAG,QAAQ,QAAQ,SAAS,CAAC,EAAE,CAAC;8BAgB9D,MAAM,cACH,UAAU,KACrB,QAAQ,CAAC,UAAU,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;qBAYV,QAAQ,SAAS,CAAC;+BAaN,kBAAkB,GAAG,CAAC,KAAG,QAAQ,MAAM,CAAC;CAwB3D,CAAC"}