@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,93 @@
1
+ import { useCallback, useMemo } from "react";
2
+ import { AccountLike } from "../types";
3
+ import {
4
+ accountToPlatformAccount,
5
+ currencyToPlatformCurrency,
6
+ } from "./converters";
7
+ import {
8
+ filterPlatformAccounts,
9
+ filterPlatformCurrencies,
10
+ AccountFilters,
11
+ CurrencyFilters,
12
+ } from "./filters";
13
+ import { isPlatformSupportedCurrency } from "./helpers";
14
+ import {
15
+ ListPlatformAccount,
16
+ ListPlatformCurrency,
17
+ PlatformCurrency,
18
+ AppManifest,
19
+ } from "./types";
20
+ import { getParentAccount } from "../account";
21
+ import { listCurrencies } from "../currencies";
22
+
23
+ export function usePlatformUrl(
24
+ manifest: AppManifest,
25
+ params: { background: string; text: string; loadDate?: Date },
26
+ inputs: Record<string, string>
27
+ ): URL {
28
+ return useMemo(() => {
29
+ const url = new URL(manifest.url.toString());
30
+
31
+ if (inputs) {
32
+ for (const key in inputs) {
33
+ if (Object.prototype.hasOwnProperty.call(inputs, key)) {
34
+ url.searchParams.set(key, inputs[key]);
35
+ }
36
+ }
37
+ }
38
+
39
+ url.searchParams.set("backgroundColor", params.background);
40
+ url.searchParams.set("textColor", params.text);
41
+ if (params.loadDate) {
42
+ url.searchParams.set("loadDate", params.loadDate.valueOf().toString());
43
+ }
44
+
45
+ if (manifest.params) {
46
+ url.searchParams.set("params", JSON.stringify(manifest.params));
47
+ }
48
+
49
+ return url;
50
+ }, [manifest.url, manifest.params, params, inputs]);
51
+ }
52
+
53
+ export function useListPlatformAccounts(
54
+ accounts: AccountLike[]
55
+ ): ListPlatformAccount {
56
+ const platformAccounts = useMemo(() => {
57
+ return accounts.map((account) => {
58
+ const parentAccount = getParentAccount(account, accounts);
59
+
60
+ return accountToPlatformAccount(account, parentAccount);
61
+ });
62
+ }, [accounts]);
63
+
64
+ return useCallback(
65
+ (filters: AccountFilters = {}) => {
66
+ return filterPlatformAccounts(platformAccounts, filters);
67
+ },
68
+ [platformAccounts]
69
+ );
70
+ }
71
+
72
+ export function usePlatformCurrencies(
73
+ includeTokens = false
74
+ ): PlatformCurrency[] {
75
+ return useMemo(
76
+ () =>
77
+ listCurrencies(includeTokens)
78
+ .filter(isPlatformSupportedCurrency)
79
+ .map(currencyToPlatformCurrency),
80
+ [includeTokens]
81
+ );
82
+ }
83
+
84
+ export function useListPlatformCurrencies(): ListPlatformCurrency {
85
+ const currencies = usePlatformCurrencies(true);
86
+
87
+ return useCallback(
88
+ (filters?: CurrencyFilters) => {
89
+ return filterPlatformCurrencies(currencies, filters || {});
90
+ },
91
+ [currencies]
92
+ );
93
+ }
@@ -1,10 +1,22 @@
1
- import type { SignedOperation } from "../types";
1
+ import { SignedOperation, CryptoCurrency, TokenCurrency } from "../types";
2
+ import { AccountFilters, CurrencyFilters } from "./filters";
3
+ import {
4
+ Account as PlatformAccount,
5
+ Currency as PlatformCurrency,
6
+ } from "@ledgerhq/live-app-sdk";
2
7
 
3
8
  export type {
4
9
  Account as PlatformAccount,
5
10
  Currency as PlatformCurrency,
6
11
  Unit as PlatformUnit,
7
12
  Transaction as PlatformTransaction,
13
+ CryptoCurrency as PlatformCryptoCurrency,
14
+ ERC20TokenCurrency as PlatformERC20TokenCurrency,
15
+ } from "@ledgerhq/live-app-sdk";
16
+
17
+ export {
18
+ CurrencyType as PlatformCurrencyType,
19
+ TokenStandard as PlatformTokenStandard,
8
20
  } from "@ledgerhq/live-app-sdk";
9
21
 
10
22
  export type TranslatableString = {
@@ -52,3 +64,13 @@ export type PlatformApi = {
52
64
  };
53
65
 
54
66
  export type PlatformSignedTransaction = SignedOperation;
67
+
68
+ export type ListPlatformAccount = (
69
+ filters?: AccountFilters
70
+ ) => PlatformAccount[];
71
+
72
+ export type ListPlatformCurrency = (
73
+ filters?: CurrencyFilters
74
+ ) => PlatformCurrency[];
75
+
76
+ export type PlatformSupportedCurrency = CryptoCurrency | TokenCurrency;
@@ -1,5 +1,5 @@
1
1
  import "../__tests__/test-helpers/setup";
2
2
  import { getPlatformVersion } from "./version";
3
3
  test("version is defined by setup", () => {
4
- expect(getPlatformVersion()).toBe("0.0.1");
4
+ expect(getPlatformVersion()).toBe("1.0.0");
5
5
  });
@@ -8,9 +8,6 @@ import { getCryptoCurrencyById, setSupportedCurrencies } from "../currencies";
8
8
  import type { Account } from "../types/account";
9
9
  import { emptyHistoryCache } from "../account";
10
10
  import { setEnv } from "../env";
11
- import { setPlatformVersion } from "../platform/version";
12
-
13
- setPlatformVersion("0.0.1");
14
11
 
15
12
  describe("walletconnect", () => {
16
13
  const account: Account = {