@ledgerhq/live-common 34.54.0-nightly.20251129023709 → 34.54.0-nightly.20251203101856

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 (153) 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 +1 -0
  4. package/lib/__tests__/test-helpers/environment.js.map +1 -1
  5. package/lib/account/index.d.ts +1 -0
  6. package/lib/account/index.d.ts.map +1 -1
  7. package/lib/account/index.js +4 -1
  8. package/lib/account/index.js.map +1 -1
  9. package/lib/account/recentAddresses.d.ts +10 -0
  10. package/lib/account/recentAddresses.d.ts.map +1 -0
  11. package/lib/account/recentAddresses.js +60 -0
  12. package/lib/account/recentAddresses.js.map +1 -0
  13. package/lib/e2e/index.d.ts +9 -3
  14. package/lib/e2e/index.d.ts.map +1 -1
  15. package/lib/exchange/swap/postSwapState.d.ts.map +1 -1
  16. package/lib/exchange/swap/postSwapState.js +10 -6
  17. package/lib/exchange/swap/postSwapState.js.map +1 -1
  18. package/lib/exchange/swap/types.d.ts +3 -1
  19. package/lib/exchange/swap/types.d.ts.map +1 -1
  20. package/lib/families/bitcoin/walletApiAdapter.d.ts.map +1 -1
  21. package/lib/families/bitcoin/walletApiAdapter.js +3 -0
  22. package/lib/families/bitcoin/walletApiAdapter.js.map +1 -1
  23. package/lib/families/polkadot/config.js +1 -1
  24. package/lib/families/polkadot/config.js.map +1 -1
  25. package/lib/featureFlags/defaultFeatures.d.ts.map +1 -1
  26. package/lib/featureFlags/defaultFeatures.js +3 -1
  27. package/lib/featureFlags/defaultFeatures.js.map +1 -1
  28. package/lib/featureFlags/useFeature.d.ts +1 -1
  29. package/lib/featureFlags/useFeature.d.ts.map +1 -1
  30. package/lib/helpers/cryptoIconSize.d.ts +3 -0
  31. package/lib/helpers/cryptoIconSize.d.ts.map +1 -0
  32. package/lib/helpers/cryptoIconSize.js +40 -0
  33. package/lib/helpers/cryptoIconSize.js.map +1 -0
  34. package/lib/helpers.d.ts +1 -0
  35. package/lib/helpers.d.ts.map +1 -1
  36. package/lib/helpers.js +15 -0
  37. package/lib/helpers.js.map +1 -1
  38. package/lib/hooks/useHtmlLinkSegments.d.ts +19 -0
  39. package/lib/hooks/useHtmlLinkSegments.d.ts.map +1 -0
  40. package/lib/hooks/useHtmlLinkSegments.js +128 -0
  41. package/lib/hooks/useHtmlLinkSegments.js.map +1 -0
  42. package/lib/hw/getAppAndVersion.d.ts +3 -1
  43. package/lib/hw/getAppAndVersion.d.ts.map +1 -1
  44. package/lib/hw/getAppAndVersion.js +2 -2
  45. package/lib/hw/getAppAndVersion.js.map +1 -1
  46. package/lib/wallet-api/Exchange/server.d.ts.map +1 -1
  47. package/lib/wallet-api/Exchange/server.js +4 -0
  48. package/lib/wallet-api/Exchange/server.js.map +1 -1
  49. package/lib-es/__tests__/test-helpers/bridge.js +1 -1
  50. package/lib-es/__tests__/test-helpers/bridge.js.map +1 -1
  51. package/lib-es/__tests__/test-helpers/environment.js +1 -0
  52. package/lib-es/__tests__/test-helpers/environment.js.map +1 -1
  53. package/lib-es/account/index.d.ts +1 -0
  54. package/lib-es/account/index.d.ts.map +1 -1
  55. package/lib-es/account/index.js +1 -0
  56. package/lib-es/account/index.js.map +1 -1
  57. package/lib-es/account/recentAddresses.d.ts +10 -0
  58. package/lib-es/account/recentAddresses.d.ts.map +1 -0
  59. package/lib-es/account/recentAddresses.js +55 -0
  60. package/lib-es/account/recentAddresses.js.map +1 -0
  61. package/lib-es/e2e/index.d.ts +9 -3
  62. package/lib-es/e2e/index.d.ts.map +1 -1
  63. package/lib-es/exchange/swap/postSwapState.d.ts.map +1 -1
  64. package/lib-es/exchange/swap/postSwapState.js +10 -6
  65. package/lib-es/exchange/swap/postSwapState.js.map +1 -1
  66. package/lib-es/exchange/swap/types.d.ts +3 -1
  67. package/lib-es/exchange/swap/types.d.ts.map +1 -1
  68. package/lib-es/families/bitcoin/walletApiAdapter.d.ts.map +1 -1
  69. package/lib-es/families/bitcoin/walletApiAdapter.js +3 -0
  70. package/lib-es/families/bitcoin/walletApiAdapter.js.map +1 -1
  71. package/lib-es/families/polkadot/config.js +1 -1
  72. package/lib-es/families/polkadot/config.js.map +1 -1
  73. package/lib-es/featureFlags/defaultFeatures.d.ts.map +1 -1
  74. package/lib-es/featureFlags/defaultFeatures.js +3 -1
  75. package/lib-es/featureFlags/defaultFeatures.js.map +1 -1
  76. package/lib-es/featureFlags/useFeature.d.ts +1 -1
  77. package/lib-es/featureFlags/useFeature.d.ts.map +1 -1
  78. package/lib-es/helpers/cryptoIconSize.d.ts +3 -0
  79. package/lib-es/helpers/cryptoIconSize.d.ts.map +1 -0
  80. package/lib-es/helpers/cryptoIconSize.js +35 -0
  81. package/lib-es/helpers/cryptoIconSize.js.map +1 -0
  82. package/lib-es/helpers.d.ts +1 -0
  83. package/lib-es/helpers.d.ts.map +1 -1
  84. package/lib-es/helpers.js +1 -0
  85. package/lib-es/helpers.js.map +1 -1
  86. package/lib-es/hooks/useHtmlLinkSegments.d.ts +19 -0
  87. package/lib-es/hooks/useHtmlLinkSegments.d.ts.map +1 -0
  88. package/lib-es/hooks/useHtmlLinkSegments.js +121 -0
  89. package/lib-es/hooks/useHtmlLinkSegments.js.map +1 -0
  90. package/lib-es/hw/getAppAndVersion.d.ts +3 -1
  91. package/lib-es/hw/getAppAndVersion.d.ts.map +1 -1
  92. package/lib-es/hw/getAppAndVersion.js +2 -2
  93. package/lib-es/hw/getAppAndVersion.js.map +1 -1
  94. package/lib-es/wallet-api/Exchange/server.d.ts.map +1 -1
  95. package/lib-es/wallet-api/Exchange/server.js +4 -0
  96. package/lib-es/wallet-api/Exchange/server.js.map +1 -1
  97. package/package.json +56 -64
  98. package/src/__tests__/test-helpers/bridge.ts +1 -1
  99. package/src/__tests__/test-helpers/environment.ts +1 -0
  100. package/src/account/index.ts +6 -0
  101. package/src/account/recentAddresses.test.ts +104 -0
  102. package/src/account/recentAddresses.ts +84 -0
  103. package/src/exchange/swap/postSwapState.ts +10 -5
  104. package/src/exchange/swap/types.ts +3 -1
  105. package/src/families/bitcoin/walletApiAdapter.test.ts +36 -0
  106. package/src/families/bitcoin/walletApiAdapter.ts +4 -0
  107. package/src/families/cosmos/datasets/__snapshots__/cosmos.integration.test.ts.snap +73 -4
  108. package/src/families/cosmos/datasets/__snapshots__/cryptoOrg.integration.test.ts.snap +2 -2
  109. package/src/families/cosmos/datasets/__snapshots__/injective.integration.test.ts.snap +2 -2
  110. package/src/families/cosmos/datasets/__snapshots__/mantra.integration.test.ts.snap +2 -2
  111. package/src/families/cosmos/datasets/__snapshots__/osmosis.integration.test.ts.snap +2 -2
  112. package/src/families/cosmos/datasets/__snapshots__/persistence.integration.test.ts.snap +4 -4
  113. package/src/families/cosmos/datasets/__snapshots__/stargaze.integration.test.ts.snap +2 -2
  114. package/src/families/polkadot/__snapshots__/bridge.integration.test.ts.snap +6 -3653
  115. package/src/families/polkadot/config.ts +1 -1
  116. package/src/featureFlags/defaultFeatures.ts +3 -1
  117. package/src/helpers/cryptoIconSize.ts +25 -0
  118. package/src/helpers.ts +2 -0
  119. package/src/hooks/__tests__/useHtmlLinkSegments.test.ts +105 -0
  120. package/src/hooks/useHtmlLinkSegments.ts +158 -0
  121. package/src/hw/getAppAndVersion.ts +2 -1
  122. package/src/wallet-api/Exchange/server.ts +5 -0
  123. package/lib/currencies/cryptoIcons.d.ts +0 -3
  124. package/lib/currencies/cryptoIcons.d.ts.map +0 -1
  125. package/lib/currencies/cryptoIcons.js +0 -24
  126. package/lib/currencies/cryptoIcons.js.map +0 -1
  127. package/lib/react.d.ts +0 -16
  128. package/lib/react.d.ts.map +0 -1
  129. package/lib/react.js +0 -64
  130. package/lib/react.js.map +0 -1
  131. package/lib/reactNative.d.ts +0 -16
  132. package/lib/reactNative.d.ts.map +0 -1
  133. package/lib/reactNative.js +0 -43
  134. package/lib/reactNative.js.map +0 -1
  135. package/lib-es/currencies/cryptoIcons.d.ts +0 -3
  136. package/lib-es/currencies/cryptoIcons.d.ts.map +0 -1
  137. package/lib-es/currencies/cryptoIcons.js +0 -20
  138. package/lib-es/currencies/cryptoIcons.js.map +0 -1
  139. package/lib-es/react.d.ts +0 -16
  140. package/lib-es/react.d.ts.map +0 -1
  141. package/lib-es/react.js +0 -33
  142. package/lib-es/react.js.map +0 -1
  143. package/lib-es/reactNative.d.ts +0 -16
  144. package/lib-es/reactNative.d.ts.map +0 -1
  145. package/lib-es/reactNative.js +0 -15
  146. package/lib-es/reactNative.js.map +0 -1
  147. package/react.js +0 -1
  148. package/reactNative.js +0 -1
  149. package/src/currencies/cryptoIcons.test.ts +0 -54
  150. package/src/currencies/cryptoIcons.ts +0 -21
  151. package/src/react.tsx +0 -43
  152. package/src/reactNative.ts +0 -23
  153. package/src/reactNativeSvg.d.ts +0 -19
@@ -1,16 +0,0 @@
1
- import React from "react";
2
- import type { CryptoCurrency, TokenCurrency } from "@ledgerhq/types-cryptoassets";
3
- type Icon = React.ComponentType<{
4
- size: number;
5
- color: string;
6
- }>;
7
- /**
8
- * @deprecated prefer using @ledgerhq/crypto-icons-ui directly + mapping provided by @ledgerhq/live-common/currencies/cryptoIcons
9
- */
10
- export declare function getCryptoCurrencyIcon(currency: CryptoCurrency): Icon | null | undefined;
11
- /**
12
- * @deprecated prefer using @ledgerhq/crypto-icons-ui directly + mapping provided by @ledgerhq/live-common/currencies/cryptoIcons
13
- */
14
- export declare function getTokenCurrencyIcon(token: TokenCurrency): Icon | null | undefined;
15
- export {};
16
- //# sourceMappingURL=reactNative.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"reactNative.d.ts","sourceRoot":"","sources":["../src/reactNative.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAGlF,KAAK,IAAI,GAAG,KAAK,CAAC,aAAa,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf,CAAC,CAAC;AAEH;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,CAEvF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,CAElF"}
@@ -1,15 +0,0 @@
1
- import * as icons from "@ledgerhq/crypto-icons-ui/native";
2
- import { inferCryptoCurrencyIcon } from "./currencies/cryptoIcons";
3
- /**
4
- * @deprecated prefer using @ledgerhq/crypto-icons-ui directly + mapping provided by @ledgerhq/live-common/currencies/cryptoIcons
5
- */
6
- export function getCryptoCurrencyIcon(currency) {
7
- return inferCryptoCurrencyIcon(icons, currency);
8
- }
9
- /**
10
- * @deprecated prefer using @ledgerhq/crypto-icons-ui directly + mapping provided by @ledgerhq/live-common/currencies/cryptoIcons
11
- */
12
- export function getTokenCurrencyIcon(token) {
13
- return inferCryptoCurrencyIcon(icons, token);
14
- }
15
- //# sourceMappingURL=reactNative.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"reactNative.js","sourceRoot":"","sources":["../src/reactNative.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,kCAAkC,CAAC;AAE1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAOnE;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAAwB;IAC5D,OAAO,uBAAuB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAoB;IACvD,OAAO,uBAAuB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAC/C,CAAC"}
package/react.js DELETED
@@ -1 +0,0 @@
1
- module.exports = require("./lib/react");
package/reactNative.js DELETED
@@ -1 +0,0 @@
1
- module.exports = require("./lib/reactNative");
@@ -1,54 +0,0 @@
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
- });
@@ -1,21 +0,0 @@
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
- }
package/src/react.tsx DELETED
@@ -1,43 +0,0 @@
1
- import React from "react";
2
- import type { CryptoCurrency, TokenCurrency } from "@ledgerhq/types-cryptoassets";
3
- import * as icons from "@ledgerhq/crypto-icons-ui/react";
4
- import { inferCryptoCurrencyIcon } from "./currencies/cryptoIcons";
5
-
6
- type Icon = React.ComponentType<{
7
- size: number;
8
- color?: string;
9
- }>;
10
-
11
- const polyfillMappingCache = new WeakMap<Icon, Icon>();
12
- /**
13
- * thin wrapper from the crypto-icons lib to the format expected by ledger-live-common
14
- * @deprecated prefer using @ledgerhq/crypto-icons-ui directly + mapping provided by @ledgerhq/live-common/currencies/cryptoIcons
15
- */
16
- function polyfillIconComponent(IconComponent: Icon | null | undefined): Icon | null | undefined {
17
- if (!IconComponent) return IconComponent;
18
- if (polyfillMappingCache.has(IconComponent)) return polyfillMappingCache.get(IconComponent);
19
- const PolyfillIconComponent = (props: { size: number; color?: string }) =>
20
- props.color === undefined ? (
21
- // in the previous behavior, we were fallbacking on "currentColor"
22
- // if you need this behavior, it will be preferrable to explicit set it. as we will drop this polyfill implementation.
23
- <IconComponent {...props} color="currentColor" />
24
- ) : (
25
- <IconComponent {...props} />
26
- );
27
- polyfillMappingCache.set(IconComponent, PolyfillIconComponent);
28
- return PolyfillIconComponent;
29
- }
30
-
31
- /**
32
- * @deprecated prefer using @ledgerhq/crypto-icons-ui directly + mapping provided by @ledgerhq/live-common/currencies/cryptoIcons
33
- */
34
- export function getCryptoCurrencyIcon(currency: CryptoCurrency): Icon | null | undefined {
35
- return polyfillIconComponent(inferCryptoCurrencyIcon(icons, currency));
36
- }
37
-
38
- /**
39
- * @deprecated prefer using @ledgerhq/crypto-icons-ui directly + mapping provided by @ledgerhq/live-common/currencies/cryptoIcons
40
- */
41
- export function getTokenCurrencyIcon(token: TokenCurrency): Icon | null | undefined {
42
- return polyfillIconComponent(inferCryptoCurrencyIcon(icons, token));
43
- }
@@ -1,23 +0,0 @@
1
- import React from "react";
2
- import * as icons from "@ledgerhq/crypto-icons-ui/native";
3
- import type { CryptoCurrency, TokenCurrency } from "@ledgerhq/types-cryptoassets";
4
- import { inferCryptoCurrencyIcon } from "./currencies/cryptoIcons";
5
-
6
- type Icon = React.ComponentType<{
7
- size: number;
8
- color: string;
9
- }>;
10
-
11
- /**
12
- * @deprecated prefer using @ledgerhq/crypto-icons-ui directly + mapping provided by @ledgerhq/live-common/currencies/cryptoIcons
13
- */
14
- export function getCryptoCurrencyIcon(currency: CryptoCurrency): Icon | null | undefined {
15
- return inferCryptoCurrencyIcon(icons, currency);
16
- }
17
-
18
- /**
19
- * @deprecated prefer using @ledgerhq/crypto-icons-ui directly + mapping provided by @ledgerhq/live-common/currencies/cryptoIcons
20
- */
21
- export function getTokenCurrencyIcon(token: TokenCurrency): Icon | null | undefined {
22
- return inferCryptoCurrencyIcon(icons, token);
23
- }
@@ -1,19 +0,0 @@
1
- declare module "react-native-svg" {
2
- import * as React from "react";
3
-
4
- export default class Svg extends React.Component<any, any> {}
5
- export class Path extends React.Component<any, any> {}
6
- export class Rect extends React.Component<any, any> {}
7
- export class Text extends React.Component<any, any> {}
8
- export class Defs extends React.Component<any, any> {}
9
- export class ClipPath extends React.Component<any, any> {}
10
- export class G extends React.Component<any, any> {}
11
- export class Stop extends React.Component<any, any> {}
12
- export class Mask extends React.Component<any, any> {}
13
- export class LinearGradient extends React.Component<any, any> {}
14
- export class Ellipse extends React.Component<any, any> {}
15
- export class Circle extends React.Component<any, any> {}
16
- export class Polygon extends React.Component<any, any> {}
17
- export class Polyline extends React.Component<any, any> {}
18
- export class Line extends React.Component<any, any> {}
19
- }