@ledgerhq/live-common 25.0.0-next.0 → 25.0.0-next.3

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 (209) hide show
  1. package/lib/__tests__/accounts/importAccounts.js +1 -1
  2. package/lib/__tests__/test-helpers/setup.js +1 -1
  3. package/lib/account/helpers.d.ts +5 -1
  4. package/lib/account/helpers.d.ts.map +1 -1
  5. package/lib/account/helpers.js +28 -1
  6. package/lib/account/helpers.js.map +1 -1
  7. package/lib/apps/filtering.test.js +1 -1
  8. package/lib/bot/specs.d.ts +1 -0
  9. package/lib/bot/specs.d.ts.map +1 -1
  10. package/lib/bot/specs.js +6 -1
  11. package/lib/bot/specs.js.map +1 -1
  12. package/lib/countervalues/api/api.d.ts.map +1 -1
  13. package/lib/countervalues/api/api.js +25 -13
  14. package/lib/countervalues/api/api.js.map +1 -1
  15. package/lib/countervalues/logic.d.ts.map +1 -1
  16. package/lib/countervalues/logic.integration.test.d.ts +1 -1
  17. package/lib/countervalues/logic.integration.test.d.ts.map +1 -1
  18. package/lib/countervalues/logic.integration.test.js +78 -2
  19. package/lib/countervalues/logic.integration.test.js.map +1 -1
  20. package/lib/countervalues/logic.js +5 -1
  21. package/lib/countervalues/logic.js.map +1 -1
  22. package/lib/countervalues/modules/index.d.ts +1 -1
  23. package/lib/countervalues/modules/index.d.ts.map +1 -1
  24. package/lib/countervalues/modules/index.js +3 -1
  25. package/lib/countervalues/modules/index.js.map +1 -1
  26. package/lib/countervalues/types.d.ts +1 -0
  27. package/lib/countervalues/types.d.ts.map +1 -1
  28. package/lib/currencies/helpers.d.ts +9 -0
  29. package/lib/currencies/helpers.d.ts.map +1 -0
  30. package/lib/currencies/helpers.js +78 -0
  31. package/lib/currencies/helpers.js.map +1 -0
  32. package/lib/currencies/helpers.test.d.ts +2 -0
  33. package/lib/currencies/helpers.test.d.ts.map +1 -0
  34. package/lib/currencies/helpers.test.js +20 -0
  35. package/lib/currencies/helpers.test.js.map +1 -0
  36. package/lib/currencies/index.d.ts +1 -0
  37. package/lib/currencies/index.d.ts.map +1 -1
  38. package/lib/currencies/index.js +1 -0
  39. package/lib/currencies/index.js.map +1 -1
  40. package/lib/currencies/react.d.ts +4 -0
  41. package/lib/currencies/react.d.ts.map +1 -0
  42. package/lib/currencies/react.js +16 -0
  43. package/lib/currencies/react.js.map +1 -0
  44. package/lib/env.d.ts +10 -5
  45. package/lib/env.d.ts.map +1 -1
  46. package/lib/env.js +5 -0
  47. package/lib/env.js.map +1 -1
  48. package/lib/env.react.d.ts +1 -1
  49. package/lib/env.react.d.ts.map +1 -1
  50. package/lib/errors.d.ts +1 -2
  51. package/lib/errors.d.ts.map +1 -1
  52. package/lib/errors.js +3 -4
  53. package/lib/errors.js.map +1 -1
  54. package/lib/families/solana/api/chain/instruction/token/types.d.ts +3 -3
  55. package/lib/families/stellar/api/horizon.d.ts +29 -7
  56. package/lib/families/stellar/api/horizon.d.ts.map +1 -1
  57. package/lib/families/stellar/api/horizon.js +114 -58
  58. package/lib/families/stellar/api/horizon.js.map +1 -1
  59. package/lib/families/stellar/api/index.d.ts +1 -1
  60. package/lib/families/stellar/api/index.d.ts.map +1 -1
  61. package/lib/families/stellar/api/index.js +5 -1
  62. package/lib/families/stellar/api/index.js.map +1 -1
  63. package/lib/families/stellar/bridge/mock.d.ts.map +1 -1
  64. package/lib/families/stellar/bridge/mock.js +4 -1
  65. package/lib/families/stellar/bridge/mock.js.map +1 -1
  66. package/lib/families/stellar/bridge.integration.test.js +12 -4
  67. package/lib/families/stellar/bridge.integration.test.js.map +1 -1
  68. package/lib/families/stellar/cli-transaction.d.ts +3 -1
  69. package/lib/families/stellar/cli-transaction.d.ts.map +1 -1
  70. package/lib/families/stellar/cli-transaction.js +48 -2
  71. package/lib/families/stellar/cli-transaction.js.map +1 -1
  72. package/lib/families/stellar/deviceTransactionConfig.d.ts +7 -1
  73. package/lib/families/stellar/deviceTransactionConfig.d.ts.map +1 -1
  74. package/lib/families/stellar/deviceTransactionConfig.js +12 -1
  75. package/lib/families/stellar/deviceTransactionConfig.js.map +1 -1
  76. package/lib/families/stellar/errors.d.ts +12 -0
  77. package/lib/families/stellar/errors.d.ts.map +1 -0
  78. package/lib/families/stellar/errors.js +16 -0
  79. package/lib/families/stellar/errors.js.map +1 -0
  80. package/lib/families/stellar/js-buildTransaction.d.ts.map +1 -1
  81. package/lib/families/stellar/js-buildTransaction.js +34 -16
  82. package/lib/families/stellar/js-buildTransaction.js.map +1 -1
  83. package/lib/families/stellar/js-createTransaction.d.ts.map +1 -1
  84. package/lib/families/stellar/js-createTransaction.js +4 -1
  85. package/lib/families/stellar/js-createTransaction.js.map +1 -1
  86. package/lib/families/stellar/js-estimateMaxSpendable.js +2 -1
  87. package/lib/families/stellar/js-estimateMaxSpendable.js.map +1 -1
  88. package/lib/families/stellar/js-getTransactionStatus.d.ts.map +1 -1
  89. package/lib/families/stellar/js-getTransactionStatus.js +127 -57
  90. package/lib/families/stellar/js-getTransactionStatus.js.map +1 -1
  91. package/lib/families/stellar/js-prepareTransaction.d.ts.map +1 -1
  92. package/lib/families/stellar/js-prepareTransaction.js +25 -7
  93. package/lib/families/stellar/js-prepareTransaction.js.map +1 -1
  94. package/lib/families/stellar/js-signOperation.d.ts.map +1 -1
  95. package/lib/families/stellar/js-signOperation.js +33 -6
  96. package/lib/families/stellar/js-signOperation.js.map +1 -1
  97. package/lib/families/stellar/js-synchronization.d.ts +1 -1
  98. package/lib/families/stellar/js-synchronization.d.ts.map +1 -1
  99. package/lib/families/stellar/js-synchronization.js +42 -16
  100. package/lib/families/stellar/js-synchronization.js.map +1 -1
  101. package/lib/families/stellar/logic.d.ts +21 -14
  102. package/lib/families/stellar/logic.d.ts.map +1 -1
  103. package/lib/families/stellar/logic.js +158 -57
  104. package/lib/families/stellar/logic.js.map +1 -1
  105. package/lib/families/stellar/specs.d.ts.map +1 -1
  106. package/lib/families/stellar/specs.js +182 -7
  107. package/lib/families/stellar/specs.js.map +1 -1
  108. package/lib/families/stellar/speculos-deviceActions.d.ts.map +1 -1
  109. package/lib/families/stellar/speculos-deviceActions.js +60 -28
  110. package/lib/families/stellar/speculos-deviceActions.js.map +1 -1
  111. package/lib/families/stellar/tokens.d.ts +11 -0
  112. package/lib/families/stellar/tokens.d.ts.map +1 -0
  113. package/lib/families/stellar/tokens.js +82 -0
  114. package/lib/families/stellar/tokens.js.map +1 -0
  115. package/lib/families/stellar/transaction.d.ts +2 -2
  116. package/lib/families/stellar/transaction.d.ts.map +1 -1
  117. package/lib/families/stellar/transaction.js +32 -6
  118. package/lib/families/stellar/transaction.js.map +1 -1
  119. package/lib/families/stellar/types.d.ts +45 -0
  120. package/lib/families/stellar/types.d.ts.map +1 -1
  121. package/lib/families/stellar/types.js +7 -1
  122. package/lib/families/stellar/types.js.map +1 -1
  123. package/lib/generated/cli-transaction.d.ts +1 -0
  124. package/lib/generated/cli-transaction.d.ts.map +1 -1
  125. package/lib/generated/transaction.d.ts +1 -1
  126. package/lib/platform/PlatformAppProvider/api/api.mock.js +11 -11
  127. package/lib/platform/PlatformAppProvider/api/api.mock.js.map +1 -1
  128. package/lib/platform/PlatformAppProvider/helpers.d.ts +0 -7
  129. package/lib/platform/PlatformAppProvider/helpers.d.ts.map +1 -1
  130. package/lib/platform/PlatformAppProvider/helpers.js +1 -29
  131. package/lib/platform/PlatformAppProvider/helpers.js.map +1 -1
  132. package/lib/platform/converters.d.ts +4 -4
  133. package/lib/platform/converters.d.ts.map +1 -1
  134. package/lib/platform/converters.js +40 -2
  135. package/lib/platform/converters.js.map +1 -1
  136. package/lib/platform/filters.d.ts +18 -0
  137. package/lib/platform/filters.d.ts.map +1 -0
  138. package/lib/platform/filters.js +63 -0
  139. package/lib/platform/filters.js.map +1 -0
  140. package/lib/platform/helpers.d.ts +7 -0
  141. package/lib/platform/helpers.d.ts.map +1 -0
  142. package/lib/platform/helpers.js +22 -0
  143. package/lib/platform/helpers.js.map +1 -0
  144. package/lib/platform/logic.d.ts +1 -5
  145. package/lib/platform/logic.d.ts.map +1 -1
  146. package/lib/platform/logic.js +1 -18
  147. package/lib/platform/logic.js.map +1 -1
  148. package/lib/platform/providers/RemoteLiveAppProvider/api/mock.json +87 -246
  149. package/lib/platform/react.d.ts +11 -0
  150. package/lib/platform/react.d.ts.map +1 -0
  151. package/lib/platform/react.js +61 -0
  152. package/lib/platform/react.js.map +1 -0
  153. package/lib/platform/types.d.ts +8 -2
  154. package/lib/platform/types.d.ts.map +1 -1
  155. package/lib/platform/types.js +15 -0
  156. package/lib/platform/types.js.map +1 -1
  157. package/lib/platform/version.test.js +1 -1
  158. package/lib/walletconnect/walletconnect.test.js +0 -2
  159. package/lib/walletconnect/walletconnect.test.js.map +1 -1
  160. package/package.json +5 -4
  161. package/src/__tests__/accounts/importAccounts.ts +1 -1
  162. package/src/__tests__/test-helpers/setup.ts +1 -1
  163. package/src/account/helpers.ts +51 -0
  164. package/src/apps/filtering.test.ts +1 -1
  165. package/src/bot/specs.ts +7 -1
  166. package/src/countervalues/api/api.ts +25 -8
  167. package/src/countervalues/logic.integration.test.ts +71 -1
  168. package/src/countervalues/logic.ts +3 -1
  169. package/src/countervalues/modules/index.ts +3 -1
  170. package/src/countervalues/types.ts +2 -0
  171. package/src/currencies/__snapshots__/sortByMarketcap.test.ts.snap +1 -0
  172. package/src/currencies/helpers.test.ts +21 -0
  173. package/src/currencies/helpers.ts +69 -0
  174. package/src/currencies/index.ts +1 -0
  175. package/src/currencies/react.ts +16 -0
  176. package/src/env.ts +5 -0
  177. package/src/errors.ts +1 -6
  178. package/src/families/stellar/__snapshots__/bridge.integration.test.ts.snap +765 -339
  179. package/src/families/stellar/api/horizon.ts +115 -33
  180. package/src/families/stellar/api/index.ts +4 -0
  181. package/src/families/stellar/bridge/mock.ts +3 -0
  182. package/src/families/stellar/bridge.integration.test.ts +10 -2
  183. package/src/families/stellar/cli-transaction.ts +75 -2
  184. package/src/families/stellar/deviceTransactionConfig.ts +22 -0
  185. package/src/families/stellar/errors.ts +34 -0
  186. package/src/families/stellar/js-buildTransaction.ts +56 -16
  187. package/src/families/stellar/js-createTransaction.ts +3 -0
  188. package/src/families/stellar/js-estimateMaxSpendable.ts +1 -1
  189. package/src/families/stellar/js-getTransactionStatus.ts +152 -60
  190. package/src/families/stellar/js-prepareTransaction.ts +4 -3
  191. package/src/families/stellar/js-signOperation.ts +37 -6
  192. package/src/families/stellar/js-synchronization.ts +53 -11
  193. package/src/families/stellar/logic.ts +198 -62
  194. package/src/families/stellar/specs.ts +227 -8
  195. package/src/families/stellar/speculos-deviceActions.ts +66 -22
  196. package/src/families/stellar/tokens.ts +118 -0
  197. package/src/families/stellar/transaction.ts +31 -3
  198. package/src/families/stellar/types.ts +52 -0
  199. package/src/platform/PlatformAppProvider/api/api.mock.ts +11 -11
  200. package/src/platform/PlatformAppProvider/helpers.ts +0 -48
  201. package/src/platform/converters.ts +60 -6
  202. package/src/platform/filters.ts +102 -0
  203. package/src/platform/helpers.ts +33 -0
  204. package/src/platform/logic.ts +1 -20
  205. package/src/platform/providers/RemoteLiveAppProvider/api/mock.json +87 -246
  206. package/src/platform/react.ts +93 -0
  207. package/src/platform/types.ts +23 -1
  208. package/src/platform/version.test.ts +1 -1
  209. package/src/walletconnect/walletconnect.test.ts +0 -3
@@ -0,0 +1,21 @@
1
+ import "../__tests__/test-helpers/setup";
2
+ import { isPlatformSupportedCurrency } from "../platform/helpers";
3
+ import { isCryptoCurrency, listCurrencies } from "./helpers";
4
+
5
+ describe("Currencies helpers", () => {
6
+ test("listCurrencies without includeTokens", () => {
7
+ const currencies = listCurrencies(false);
8
+
9
+ currencies.forEach((currency) => {
10
+ expect(isCryptoCurrency(currency)).toBeTruthy();
11
+ });
12
+ });
13
+
14
+ test("listCurrencies with includeTokens", () => {
15
+ const currencies = listCurrencies(true);
16
+
17
+ currencies.forEach((currency) => {
18
+ expect(isPlatformSupportedCurrency(currency)).toBeTruthy();
19
+ });
20
+ });
21
+ });
@@ -0,0 +1,69 @@
1
+ import { makeRe } from "minimatch";
2
+ import { CryptoCurrency, Currency, TokenCurrency } from "../types";
3
+ import { listTokens, listSupportedCurrencies } from "../currencies";
4
+ import { PlatformSupportedCurrency } from "../platform/types";
5
+ import { CurrencyFilters } from "../platform/filters";
6
+ import { isPlatformSupportedCurrency } from "../platform/helpers";
7
+
8
+ export function isCryptoCurrency(
9
+ currency: Currency
10
+ ): currency is CryptoCurrency {
11
+ return currency.type === "CryptoCurrency";
12
+ }
13
+
14
+ export function isTokenCurrency(currency: Currency): currency is TokenCurrency {
15
+ return currency.type === "TokenCurrency";
16
+ }
17
+
18
+ export function listCurrencies(includeTokens: boolean): Currency[] {
19
+ const currencies = listSupportedCurrencies();
20
+
21
+ if (!includeTokens) {
22
+ return currencies;
23
+ }
24
+
25
+ const allTokens = listTokens().filter(
26
+ ({ tokenType }) => tokenType === "erc20" || tokenType === "bep20"
27
+ );
28
+
29
+ return [...currencies, ...allTokens];
30
+ }
31
+
32
+ export function filterCurrencies(
33
+ currencies: PlatformSupportedCurrency[],
34
+ filters: CurrencyFilters
35
+ ): Currency[] {
36
+ const filterCurrencyRegexes = filters.currencies
37
+ ? filters.currencies.map((filter) => makeRe(filter))
38
+ : null;
39
+
40
+ return currencies.filter((currency) => {
41
+ if (!filters.includeTokens && isTokenCurrency(currency)) {
42
+ return false;
43
+ }
44
+
45
+ if (
46
+ filterCurrencyRegexes &&
47
+ filterCurrencyRegexes.length &&
48
+ !filterCurrencyRegexes.some((regex) => currency.id.match(regex))
49
+ ) {
50
+ return false;
51
+ }
52
+
53
+ return true;
54
+ });
55
+ }
56
+
57
+ export function listAndFilterCurrencies({
58
+ includeTokens = false,
59
+ currencies,
60
+ }: CurrencyFilters): Currency[] {
61
+ const allCurrencies = listCurrencies(includeTokens).filter(
62
+ isPlatformSupportedCurrency
63
+ );
64
+
65
+ return filterCurrencies(allCurrencies, {
66
+ includeTokens,
67
+ currencies,
68
+ });
69
+ }
@@ -33,6 +33,7 @@ import {
33
33
  getAbandonSeedAddress,
34
34
  } from "@ledgerhq/cryptoassets";
35
35
  export * from "./support";
36
+ export * from "./helpers";
36
37
  import { parseCurrencyUnit } from "./parseCurrencyUnit";
37
38
  import { chopCurrencyUnitDecimals } from "./chopCurrencyUnitDecimals";
38
39
  import {
@@ -0,0 +1,16 @@
1
+ import { useMemo } from "react";
2
+ import { listAndFilterCurrencies } from "./helpers";
3
+ import { Currency } from "../types";
4
+ import { CurrencyFilters } from "../platform/filters";
5
+
6
+ export function useFilteredCurrencies({
7
+ includeTokens,
8
+ currencies,
9
+ }: CurrencyFilters): Currency[] {
10
+ return useMemo(() => {
11
+ return listAndFilterCurrencies({
12
+ includeTokens,
13
+ currencies,
14
+ });
15
+ }, [currencies, includeTokens]);
16
+ }
package/src/env.ts CHANGED
@@ -105,6 +105,11 @@ const envDefinitions = {
105
105
  def: 200,
106
106
  desc: "Limit of operation that Horizon will fetch per page",
107
107
  },
108
+ API_STELLAR_HORIZON_STATIC_FEE: {
109
+ def: false,
110
+ parser: boolParser,
111
+ desc: "Static fee for Stellar account",
112
+ },
108
113
  API_TEZOS_BAKER: {
109
114
  parser: stringParser,
110
115
  def: "https://tezos-bakers.api.live.ledger.com",
package/src/errors.ts CHANGED
@@ -60,12 +60,6 @@ export const TronTransactionExpired = createCustomErrorClass(
60
60
  export const TronNotEnoughEnergy = createCustomErrorClass(
61
61
  "TronNotEnoughEnergy"
62
62
  );
63
- export const StellarMemoRecommended = createCustomErrorClass(
64
- "StellarMemoRecommended"
65
- );
66
- export const StellarWrongMemoFormat = createCustomErrorClass(
67
- "StellarWrongMemoFormat"
68
- );
69
63
  export const AccountAwaitingSendPendingOperations = createCustomErrorClass(
70
64
  "AccountAwaitingSendPendingOperations"
71
65
  );
@@ -213,5 +207,6 @@ export const UnsupportedDerivation = createCustomErrorClass(
213
207
  );
214
208
 
215
209
  export * from "./families/polkadot/errors";
210
+ export * from "./families/stellar/errors";
216
211
  export * from "./families/solana/errors";
217
212
  export * from "./families/cardano/errors";