@ledgerhq/live-countervalues-react 0.15.1 → 0.16.0-nightly.20260624030532
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.
- package/CHANGELOG.md +14 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +7 -3
- package/lib/index.js.map +1 -1
- package/lib-es/index.d.ts.map +1 -1
- package/lib-es/index.js +8 -4
- package/lib-es/index.js.map +1 -1
- package/package.json +5 -5
- package/src/index.tsx +12 -4
- package/src/react.test.ts +105 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# @ledgerhq/live-countervalues-react
|
|
2
2
|
|
|
3
|
+
## 0.16.0-nightly.20260624030532
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#18773](https://github.com/LedgerHQ/ledger-live/pull/18773) [`b383bd5`](https://github.com/LedgerHQ/ledger-live/commit/b383bd51879861ab707bbf4795ac1b76393acb98) Thanks [@deepyjr](https://github.com/deepyjr)! - Filter unsupported countervalue tracking pairs before polling.
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- Updated dependencies [[`36200f9`](https://github.com/LedgerHQ/ledger-live/commit/36200f969272f31c6737146b154b7dca8139d4cc), [`636a4cb`](https://github.com/LedgerHQ/ledger-live/commit/636a4cbc5ae01364af425e3837cecf1ce4d3f3bc), [`9f8ab96`](https://github.com/LedgerHQ/ledger-live/commit/9f8ab9672ababc02909e7553d433ee326c37762e), [`ad68778`](https://github.com/LedgerHQ/ledger-live/commit/ad68778ad71686c9e4f397276917e606a099f573), [`1f41eee`](https://github.com/LedgerHQ/ledger-live/commit/1f41eee5b4dc6aa50accd94e5a0d6c98fcf76e23), [`93a84fb`](https://github.com/LedgerHQ/ledger-live/commit/93a84fbadb2b1a0e529e2ffa08ca1de790355934), [`1f11587`](https://github.com/LedgerHQ/ledger-live/commit/1f11587b4681429aa9be2dc50035f292e0394108), [`b383bd5`](https://github.com/LedgerHQ/ledger-live/commit/b383bd51879861ab707bbf4795ac1b76393acb98), [`df6ca42`](https://github.com/LedgerHQ/ledger-live/commit/df6ca422fa70171162974ea71519da5c5eeb55d8), [`4ace552`](https://github.com/LedgerHQ/ledger-live/commit/4ace55213a4f1869980aab5160683bb120c65292), [`b3ffa2f`](https://github.com/LedgerHQ/ledger-live/commit/b3ffa2f4bf735f2cfeed2a8028ea92d4bc3588e3), [`25101e2`](https://github.com/LedgerHQ/ledger-live/commit/25101e2991ea7c9ab54c7f3e4e5bc0bda8056d0b), [`37eba10`](https://github.com/LedgerHQ/ledger-live/commit/37eba10db15542fb7859bafac772e6d280650872), [`ca20506`](https://github.com/LedgerHQ/ledger-live/commit/ca20506c138a1cfb9c254f61e6bb930aea4c6ab8)]:
|
|
12
|
+
- @ledgerhq/live-countervalues@0.21.0-nightly.20260624030532
|
|
13
|
+
- @ledgerhq/types-live@6.113.0-nightly.20260624030532
|
|
14
|
+
- @ledgerhq/types-cryptoassets@7.39.0-nightly.20260624030532
|
|
15
|
+
- @ledgerhq/ledger-wallet-framework@2.2.1-nightly.20260624030532
|
|
16
|
+
|
|
3
17
|
## 0.15.1
|
|
4
18
|
|
|
5
19
|
### Patch Changes
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"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"}
|
package/lib/index.js
CHANGED
|
@@ -70,8 +70,12 @@ function trackingPairsHash(a) {
|
|
|
70
70
|
function Effect({ bridge, savedState, debounceDelay = 1000, pollInitDelay = 3 * 1000, }) {
|
|
71
71
|
const userSettings = bridge.useUserSettings();
|
|
72
72
|
const { refreshRate, marketCapBatchingAfterRank } = userSettings;
|
|
73
|
-
const debouncedUserSettings = (0, useDebounce_1.useDebounce)(userSettings, debounceDelay);
|
|
74
73
|
const marketcapIds = bridge.useMarketcapIds();
|
|
74
|
+
const filteredUserSettings = (0, react_1.useMemo)(() => ({
|
|
75
|
+
...userSettings,
|
|
76
|
+
trackingPairs: (0, logic_1.filterSupportedTrackingPairs)(userSettings.trackingPairs, marketcapIds),
|
|
77
|
+
}), [marketcapIds, userSettings]);
|
|
78
|
+
const debouncedUserSettings = (0, useDebounce_1.useDebounce)(filteredUserSettings, debounceDelay);
|
|
75
79
|
const batchStrategySolver = (0, react_1.useMemo)(() => ({
|
|
76
80
|
shouldBatchCurrencyFrom: (currency) => {
|
|
77
81
|
if (currency.type === "FiatCurrency")
|
|
@@ -95,14 +99,14 @@ function Effect({ bridge, savedState, debounceDelay = 1000, pollInitDelay = 3 *
|
|
|
95
99
|
return;
|
|
96
100
|
bridge.setPollingTriggerLoad(false);
|
|
97
101
|
bridge.setStatePending(true);
|
|
98
|
-
(0, logic_1.loadCountervalues)(currentState,
|
|
102
|
+
(0, logic_1.loadCountervalues)(currentState, filteredUserSettings, batchStrategySolver, filteredUserSettings.granularitiesRates).then(s => {
|
|
99
103
|
bridge.setState(s);
|
|
100
104
|
bridge.setStatePending(false);
|
|
101
105
|
}, e => {
|
|
102
106
|
bridge.setStateError(e);
|
|
103
107
|
bridge.setStatePending(false);
|
|
104
108
|
});
|
|
105
|
-
}, [pending, currentState,
|
|
109
|
+
}, [pending, currentState, filteredUserSettings, triggerLoad, batchStrategySolver, bridge]);
|
|
106
110
|
// restore state from persisted raw (history only so we know it's first run and check holes)
|
|
107
111
|
(0, react_1.useEffect)(() => {
|
|
108
112
|
if (!savedState || typeof savedState !== "object")
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"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"}
|
package/lib-es/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"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"}
|
package/lib-es/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { getAccountCurrency } from "@ledgerhq/ledger-wallet-framework/account/helpers";
|
|
2
|
-
import { calculate, importCountervalues, inferTrackingPairForAccounts, loadCountervalues, } from "@ledgerhq/live-countervalues/logic";
|
|
2
|
+
import { calculate, filterSupportedTrackingPairs, importCountervalues, inferTrackingPairForAccounts, loadCountervalues, } from "@ledgerhq/live-countervalues/logic";
|
|
3
3
|
import { useDebounce } from "@ledgerhq/live-hooks/useDebounce";
|
|
4
4
|
import { BigNumber } from "bignumber.js";
|
|
5
5
|
import React, { createContext, useCallback, useContext, useEffect, useMemo, } from "react";
|
|
@@ -26,8 +26,12 @@ function trackingPairsHash(a) {
|
|
|
26
26
|
function Effect({ bridge, savedState, debounceDelay = 1000, pollInitDelay = 3 * 1000, }) {
|
|
27
27
|
const userSettings = bridge.useUserSettings();
|
|
28
28
|
const { refreshRate, marketCapBatchingAfterRank } = userSettings;
|
|
29
|
-
const debouncedUserSettings = useDebounce(userSettings, debounceDelay);
|
|
30
29
|
const marketcapIds = bridge.useMarketcapIds();
|
|
30
|
+
const filteredUserSettings = useMemo(() => ({
|
|
31
|
+
...userSettings,
|
|
32
|
+
trackingPairs: filterSupportedTrackingPairs(userSettings.trackingPairs, marketcapIds),
|
|
33
|
+
}), [marketcapIds, userSettings]);
|
|
34
|
+
const debouncedUserSettings = useDebounce(filteredUserSettings, debounceDelay);
|
|
31
35
|
const batchStrategySolver = useMemo(() => ({
|
|
32
36
|
shouldBatchCurrencyFrom: (currency) => {
|
|
33
37
|
if (currency.type === "FiatCurrency")
|
|
@@ -51,14 +55,14 @@ function Effect({ bridge, savedState, debounceDelay = 1000, pollInitDelay = 3 *
|
|
|
51
55
|
return;
|
|
52
56
|
bridge.setPollingTriggerLoad(false);
|
|
53
57
|
bridge.setStatePending(true);
|
|
54
|
-
loadCountervalues(currentState,
|
|
58
|
+
loadCountervalues(currentState, filteredUserSettings, batchStrategySolver, filteredUserSettings.granularitiesRates).then(s => {
|
|
55
59
|
bridge.setState(s);
|
|
56
60
|
bridge.setStatePending(false);
|
|
57
61
|
}, e => {
|
|
58
62
|
bridge.setStateError(e);
|
|
59
63
|
bridge.setStatePending(false);
|
|
60
64
|
});
|
|
61
|
-
}, [pending, currentState,
|
|
65
|
+
}, [pending, currentState, filteredUserSettings, triggerLoad, batchStrategySolver, bridge]);
|
|
62
66
|
// restore state from persisted raw (history only so we know it's first run and check holes)
|
|
63
67
|
useEffect(() => {
|
|
64
68
|
if (!savedState || typeof savedState !== "object")
|
package/lib-es/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mDAAmD,CAAC;AACvF,OAAO,EACL,SAAS,EACT,mBAAmB,EACnB,4BAA4B,EAC5B,iBAAiB,GAClB,MAAM,oCAAoC,CAAC;AAO5C,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAG/D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,EAAE,EAEZ,aAAa,EACb,WAAW,EACX,UAAU,EACV,SAAS,EACT,OAAO,GACR,MAAM,OAAO,CAAC;AA0Df;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,aAAa,CAA6B,IAAI,CAAC,CAAC;AAEpF,SAAS,6BAA6B;IACpC,MAAM,MAAM,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAC;IAChD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,+EAA+E,CAChF,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,iBAAiB,CAAC,CAAiB;IAC1C,OAAO,CAAC;SACL,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;SAC3F,IAAI,EAAE;SACN,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAS,MAAM,CAAC,EACd,MAAM,EACN,UAAU,EACV,aAAa,GAAG,IAAI,EACpB,aAAa,GAAG,CAAC,GAAG,IAAI,GACsE;IAC9F,MAAM,YAAY,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC;IAC9C,MAAM,EAAE,WAAW,EAAE,0BAA0B,EAAE,GAAG,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ledgerhq/live-countervalues-react",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.16.0-nightly.20260624030532",
|
|
4
4
|
"description": "Ledger Live countervalues React module",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Ledger"
|
|
@@ -25,10 +25,10 @@
|
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"bignumber.js": "9",
|
|
28
|
-
"@ledgerhq/types-live": "6.
|
|
29
|
-
"@ledgerhq/types-cryptoassets": "7.
|
|
30
|
-
"@ledgerhq/live-countervalues": "0.
|
|
31
|
-
"@ledgerhq/ledger-wallet-framework": "^2.2.
|
|
28
|
+
"@ledgerhq/types-live": "6.113.0-nightly.20260624030532",
|
|
29
|
+
"@ledgerhq/types-cryptoassets": "7.39.0-nightly.20260624030532",
|
|
30
|
+
"@ledgerhq/live-countervalues": "0.21.0-nightly.20260624030532",
|
|
31
|
+
"@ledgerhq/ledger-wallet-framework": "^2.2.1-nightly.20260624030532",
|
|
32
32
|
"@ledgerhq/live-hooks": "0.6.0"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
package/src/index.tsx
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { getAccountCurrency } from "@ledgerhq/ledger-wallet-framework/account/helpers";
|
|
2
2
|
import {
|
|
3
3
|
calculate,
|
|
4
|
+
filterSupportedTrackingPairs,
|
|
4
5
|
importCountervalues,
|
|
5
6
|
inferTrackingPairForAccounts,
|
|
6
7
|
loadCountervalues,
|
|
@@ -113,9 +114,16 @@ function Effect({
|
|
|
113
114
|
}: Pick<Props, "autopollInterval" | "bridge" | "debounceDelay" | "pollInitDelay" | "savedState">) {
|
|
114
115
|
const userSettings = bridge.useUserSettings();
|
|
115
116
|
const { refreshRate, marketCapBatchingAfterRank } = userSettings;
|
|
116
|
-
const debouncedUserSettings = useDebounce(userSettings, debounceDelay);
|
|
117
117
|
|
|
118
118
|
const marketcapIds = bridge.useMarketcapIds();
|
|
119
|
+
const filteredUserSettings = useMemo(
|
|
120
|
+
() => ({
|
|
121
|
+
...userSettings,
|
|
122
|
+
trackingPairs: filterSupportedTrackingPairs(userSettings.trackingPairs, marketcapIds),
|
|
123
|
+
}),
|
|
124
|
+
[marketcapIds, userSettings],
|
|
125
|
+
);
|
|
126
|
+
const debouncedUserSettings = useDebounce(filteredUserSettings, debounceDelay);
|
|
119
127
|
|
|
120
128
|
const batchStrategySolver = useMemo(
|
|
121
129
|
() => ({
|
|
@@ -148,9 +156,9 @@ function Effect({
|
|
|
148
156
|
bridge.setStatePending(true);
|
|
149
157
|
loadCountervalues(
|
|
150
158
|
currentState,
|
|
151
|
-
|
|
159
|
+
filteredUserSettings,
|
|
152
160
|
batchStrategySolver,
|
|
153
|
-
|
|
161
|
+
filteredUserSettings.granularitiesRates,
|
|
154
162
|
).then(
|
|
155
163
|
s => {
|
|
156
164
|
bridge.setState(s);
|
|
@@ -161,7 +169,7 @@ function Effect({
|
|
|
161
169
|
bridge.setStatePending(false);
|
|
162
170
|
},
|
|
163
171
|
);
|
|
164
|
-
}, [pending, currentState,
|
|
172
|
+
}, [pending, currentState, filteredUserSettings, triggerLoad, batchStrategySolver, bridge]);
|
|
165
173
|
|
|
166
174
|
// restore state from persisted raw (history only so we know it's first run and check holes)
|
|
167
175
|
useEffect(() => {
|
package/src/react.test.ts
CHANGED
|
@@ -1,9 +1,27 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React from "react";
|
|
2
|
+
import {
|
|
3
|
+
CountervaluesProvider,
|
|
4
|
+
useTrackingPairForAccounts,
|
|
5
|
+
type CountervaluesBridge,
|
|
6
|
+
} from ".";
|
|
2
7
|
import { genAccount } from "@ledgerhq/ledger-wallet-framework/mocks/account";
|
|
3
|
-
import { renderHook, act } from "@testing-library/react";
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
8
|
+
import { renderHook, act, render, waitFor } from "@testing-library/react";
|
|
9
|
+
import {
|
|
10
|
+
inferTrackingPairForAccounts,
|
|
11
|
+
initialState,
|
|
12
|
+
loadCountervalues,
|
|
13
|
+
} from "@ledgerhq/live-countervalues/logic";
|
|
14
|
+
import type {
|
|
15
|
+
CountervaluesSettings,
|
|
16
|
+
CounterValuesState,
|
|
17
|
+
TrackingPair,
|
|
18
|
+
} from "@ledgerhq/live-countervalues/types";
|
|
19
|
+
import type { Currency, FiatCurrency, TokenCurrency } from "@ledgerhq/types-cryptoassets";
|
|
20
|
+
|
|
21
|
+
jest.mock("@ledgerhq/live-countervalues/logic", () => ({
|
|
22
|
+
...jest.requireActual("@ledgerhq/live-countervalues/logic"),
|
|
23
|
+
loadCountervalues: jest.fn(),
|
|
24
|
+
}));
|
|
7
25
|
|
|
8
26
|
const usd: FiatCurrency = {
|
|
9
27
|
type: "FiatCurrency",
|
|
@@ -128,3 +146,85 @@ describe("useTrackingPairForAccounts", () => {
|
|
|
128
146
|
});
|
|
129
147
|
});
|
|
130
148
|
});
|
|
149
|
+
|
|
150
|
+
describe("CountervaluesProvider", () => {
|
|
151
|
+
const bitcoin = genAccount("bitcoin").currency;
|
|
152
|
+
const unsupportedToken: TokenCurrency = {
|
|
153
|
+
type: "TokenCurrency",
|
|
154
|
+
id: "ethereum/erc20/lc_staked_shared_eth_0xc4dcb059dd98b45b090da8982234c61d0b9e84f9",
|
|
155
|
+
contractAddress: "0xc4dcb059dd98b45b090da8982234c61d0b9e84f9",
|
|
156
|
+
parentCurrencyId: "ethereum",
|
|
157
|
+
tokenType: "erc20",
|
|
158
|
+
name: "Ledger Staked Shared ETH",
|
|
159
|
+
ticker: "osETH",
|
|
160
|
+
delisted: false,
|
|
161
|
+
disableCountervalue: false,
|
|
162
|
+
units: [{ name: "osETH", code: "osETH", magnitude: 18 }],
|
|
163
|
+
};
|
|
164
|
+
const supportedPair = trackingPair(bitcoin);
|
|
165
|
+
const unsupportedPair = trackingPair(unsupportedToken);
|
|
166
|
+
const mockLoadCountervalues = jest.mocked(loadCountervalues);
|
|
167
|
+
|
|
168
|
+
beforeEach(() => {
|
|
169
|
+
jest.clearAllMocks();
|
|
170
|
+
mockLoadCountervalues.mockResolvedValue(initialState);
|
|
171
|
+
});
|
|
172
|
+
|
|
173
|
+
it("should filter unsupported tracking pairs before polling when marketcap ids are loaded", async () => {
|
|
174
|
+
const bridge = createBridge({
|
|
175
|
+
marketcapIds: [bitcoin.id],
|
|
176
|
+
trackingPairs: [supportedPair, unsupportedPair],
|
|
177
|
+
});
|
|
178
|
+
|
|
179
|
+
render(React.createElement(CountervaluesProvider, { bridge, children: null }));
|
|
180
|
+
|
|
181
|
+
await waitFor(() => expect(mockLoadCountervalues).toHaveBeenCalledTimes(1));
|
|
182
|
+
expect(mockLoadCountervalues.mock.calls[0][1].trackingPairs).toEqual([supportedPair]);
|
|
183
|
+
});
|
|
184
|
+
|
|
185
|
+
it("should keep tracking pairs unchanged before marketcap ids are loaded", async () => {
|
|
186
|
+
const trackingPairs = [supportedPair, unsupportedPair];
|
|
187
|
+
const bridge = createBridge({ marketcapIds: [], trackingPairs });
|
|
188
|
+
|
|
189
|
+
render(React.createElement(CountervaluesProvider, { bridge, children: null }));
|
|
190
|
+
|
|
191
|
+
await waitFor(() => expect(mockLoadCountervalues).toHaveBeenCalledTimes(1));
|
|
192
|
+
expect(mockLoadCountervalues.mock.calls[0][1].trackingPairs).toBe(trackingPairs);
|
|
193
|
+
});
|
|
194
|
+
});
|
|
195
|
+
|
|
196
|
+
function trackingPair(from: Currency): TrackingPair {
|
|
197
|
+
return { from, to: usd, startDate: new Date("2026-06-19T00:00:00.000Z") };
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
function createBridge({
|
|
201
|
+
marketcapIds,
|
|
202
|
+
trackingPairs,
|
|
203
|
+
}: {
|
|
204
|
+
marketcapIds: string[];
|
|
205
|
+
trackingPairs: TrackingPair[];
|
|
206
|
+
}): CountervaluesBridge {
|
|
207
|
+
const settings: CountervaluesSettings = {
|
|
208
|
+
trackingPairs,
|
|
209
|
+
autofillGaps: true,
|
|
210
|
+
refreshRate: 60_000,
|
|
211
|
+
marketCapBatchingAfterRank: 20,
|
|
212
|
+
};
|
|
213
|
+
const state: CounterValuesState = initialState;
|
|
214
|
+
|
|
215
|
+
return {
|
|
216
|
+
setPollingIsPolling: jest.fn(),
|
|
217
|
+
setPollingTriggerLoad: jest.fn(),
|
|
218
|
+
setState: jest.fn(),
|
|
219
|
+
setStateError: jest.fn(),
|
|
220
|
+
setStatePending: jest.fn(),
|
|
221
|
+
useMarketcapIds: () => marketcapIds,
|
|
222
|
+
usePollingIsPolling: () => false,
|
|
223
|
+
usePollingTriggerLoad: () => true,
|
|
224
|
+
useStateError: () => null,
|
|
225
|
+
useStatePending: () => false,
|
|
226
|
+
useState: () => state,
|
|
227
|
+
useUserSettings: () => settings,
|
|
228
|
+
wipe: jest.fn(),
|
|
229
|
+
};
|
|
230
|
+
}
|