@ledgerhq/live-countervalues-react 0.2.45-nightly.2 → 0.3.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.
@@ -1,4 +1,4 @@
1
1
 
2
- > @ledgerhq/live-countervalues-react@0.2.45-nightly.1 build /home/runner/work/ledger-live/ledger-live/libs/live-countervalues-react
2
+ > @ledgerhq/live-countervalues-react@0.3.0 build /home/runner/work/ledger-live/ledger-live/libs/live-countervalues-react
3
3
  > tsc && tsc -m esnext --moduleResolution bundler --outDir lib-es
4
4
 
package/CHANGELOG.md CHANGED
@@ -1,32 +1,34 @@
1
1
  # @ledgerhq/live-countervalues-react
2
2
 
3
- ## 0.2.45-nightly.2
3
+ ## 0.3.0
4
4
 
5
- ### Patch Changes
6
-
7
- - Updated dependencies [[`0c8486e`](https://github.com/LedgerHQ/ledger-live/commit/0c8486ea830e9e2abf1dfc5d108117e1db733072), [`a8b4f57`](https://github.com/LedgerHQ/ledger-live/commit/a8b4f57bf7d82e6c2444a65901e927c3c3d64412), [`67e2a7c`](https://github.com/LedgerHQ/ledger-live/commit/67e2a7c5a74d000f22684254778dfec5b8b5163d)]:
8
- - @ledgerhq/cryptoassets@13.24.0-nightly.0
9
- - @ledgerhq/coin-framework@5.9.0-nightly.2
10
- - @ledgerhq/types-live@6.79.1-nightly.0
11
- - @ledgerhq/live-countervalues@0.6.0-nightly.2
5
+ ### Minor Changes
12
6
 
13
- ## 0.2.45-nightly.1
7
+ - [#11082](https://github.com/LedgerHQ/ledger-live/pull/11082) [`59c65db`](https://github.com/LedgerHQ/ledger-live/commit/59c65dbee3008fbd8283d0625f7448a2e558f77c) Thanks [@marcotoniut-ledger](https://github.com/marcotoniut-ledger)! - implement countervalues marketcaps' reducer
14
8
 
15
9
  ### Patch Changes
16
10
 
17
- - [#11161](https://github.com/LedgerHQ/ledger-live/pull/11161) [`f5f652e`](https://github.com/LedgerHQ/ledger-live/commit/f5f652e308477ff38176e5782eaf0e1bb96956ba) Thanks [@marcotoniut-ledger](https://github.com/marcotoniut-ledger)! - Countervalues' state moved to app-specific reducers for both desktop and mobile.
11
+ - Updated dependencies [[`b5cbffa`](https://github.com/LedgerHQ/ledger-live/commit/b5cbffac207569027e241db761a6aa70b3b1b636), [`2da9b4a`](https://github.com/LedgerHQ/ledger-live/commit/2da9b4a5dd9fec3fea188fc9fa107b2c3479d1be), [`5bb2111`](https://github.com/LedgerHQ/ledger-live/commit/5bb2111d6a0c84cd0d6508bbf33d184bc89f9da3), [`417e4fc`](https://github.com/LedgerHQ/ledger-live/commit/417e4fc8b92ebc95542ca915e14023fdb62497bb), [`9c63d6b`](https://github.com/LedgerHQ/ledger-live/commit/9c63d6b8d5fb629a19514ec36396c35eeefb96aa), [`8b0b4ef`](https://github.com/LedgerHQ/ledger-live/commit/8b0b4efaf2c0968cfb60c0cecebca9c575b00748)]:
12
+ - @ledgerhq/cryptoassets@13.24.0
13
+ - @ledgerhq/types-cryptoassets@7.25.0
14
+ - @ledgerhq/types-live@6.80.0
15
+ - @ledgerhq/coin-framework@6.0.0
16
+ - @ledgerhq/live-countervalues@0.6.0
18
17
 
19
- - Updated dependencies []:
20
- - @ledgerhq/coin-framework@5.9.0-nightly.1
21
- - @ledgerhq/live-countervalues@0.6.0-nightly.1
18
+ ## 0.3.0-next.0
19
+
20
+ ### Minor Changes
22
21
 
23
- ## 0.2.45-nightly.0
22
+ - [#11082](https://github.com/LedgerHQ/ledger-live/pull/11082) [`59c65db`](https://github.com/LedgerHQ/ledger-live/commit/59c65dbee3008fbd8283d0625f7448a2e558f77c) Thanks [@marcotoniut-ledger](https://github.com/marcotoniut-ledger)! - implement countervalues marketcaps' reducer
24
23
 
25
24
  ### Patch Changes
26
25
 
27
- - Updated dependencies [[`9c63d6b`](https://github.com/LedgerHQ/ledger-live/commit/9c63d6b8d5fb629a19514ec36396c35eeefb96aa), [`8b0b4ef`](https://github.com/LedgerHQ/ledger-live/commit/8b0b4efaf2c0968cfb60c0cecebca9c575b00748)]:
28
- - @ledgerhq/live-countervalues@0.6.0-nightly.0
29
- - @ledgerhq/coin-framework@5.9.0-nightly.0
26
+ - Updated dependencies [[`b5cbffa`](https://github.com/LedgerHQ/ledger-live/commit/b5cbffac207569027e241db761a6aa70b3b1b636), [`2da9b4a`](https://github.com/LedgerHQ/ledger-live/commit/2da9b4a5dd9fec3fea188fc9fa107b2c3479d1be), [`5bb2111`](https://github.com/LedgerHQ/ledger-live/commit/5bb2111d6a0c84cd0d6508bbf33d184bc89f9da3), [`417e4fc`](https://github.com/LedgerHQ/ledger-live/commit/417e4fc8b92ebc95542ca915e14023fdb62497bb), [`9c63d6b`](https://github.com/LedgerHQ/ledger-live/commit/9c63d6b8d5fb629a19514ec36396c35eeefb96aa), [`8b0b4ef`](https://github.com/LedgerHQ/ledger-live/commit/8b0b4efaf2c0968cfb60c0cecebca9c575b00748)]:
27
+ - @ledgerhq/cryptoassets@13.24.0-next.0
28
+ - @ledgerhq/types-cryptoassets@7.25.0-next.0
29
+ - @ledgerhq/types-live@6.80.0-next.0
30
+ - @ledgerhq/coin-framework@6.0.0-next.0
31
+ - @ledgerhq/live-countervalues@0.6.0-next.0
30
32
 
31
33
  ## 0.2.44
32
34
 
package/lib/index.d.ts CHANGED
@@ -3,28 +3,13 @@ import type { Currency, Unit } from "@ledgerhq/types-cryptoassets";
3
3
  import type { Account, AccountLike } from "@ledgerhq/types-live";
4
4
  import { BigNumber } from "bignumber.js";
5
5
  import React, { ReactElement } from "react";
6
- export { CountervaluesMarketcapProvider, useMarketcapIds } from "./CountervaluesMarketcapProvider";
7
- export interface PollingState {
8
- isPolling: boolean;
9
- triggerRef: number;
10
- }
11
- /**
12
- * Bridge enabling platform-specific persistence of countervalues state.
13
- * @note: make sure that the object is memoized to avoid re-renders.
14
- */
15
- export interface CountervaluesBridge {
16
- setPollingIsPolling(polling: boolean): void;
17
- setPollingTriggerLoad(triggerLoad: boolean): void;
18
- setState(state: CounterValuesState): void;
19
- setStateError(error: Error): void;
20
- setStatePending(pending: boolean): void;
21
- usePollingIsPolling(): boolean;
22
- usePollingTriggerLoad(): boolean;
23
- useStateError(): Error | null;
24
- useStatePending(): boolean;
25
- useState(): CounterValuesState;
26
- useUserSettings(): CountervaluesSettings;
27
- wipe(): void;
6
+ /** Bridge enabling platform-specific persistence of market-cap ids. */
7
+ export interface CountervaluesMarketcapBridge {
8
+ useIds(): string[];
9
+ useLastUpdated(): number | undefined;
10
+ setLoading(loading: boolean): void;
11
+ setIds(ids: string[]): void;
12
+ setError(message: string): void;
28
13
  }
29
14
  export type Polling = {
30
15
  wipe: () => void;
@@ -35,35 +20,29 @@ export type Polling = {
35
20
  error: Error | null | undefined;
36
21
  };
37
22
  export type Props = {
38
- /** Bridge enabling platform-specific persistence of countervalues state. */
39
- bridge: CountervaluesBridge;
40
23
  children: React.ReactNode;
41
- /** the time to wait before the first poll when app starts (allow things to render to not do all at boot time) */
24
+ userSettings: CountervaluesSettings;
42
25
  pollInitDelay?: number;
43
- /** the minimum time to wait before two automatic polls (then one that happen whatever network/appstate events) */
44
26
  autopollInterval?: number;
45
- /** debounce time before actually fetching */
46
27
  debounceDelay?: number;
47
28
  savedState?: CounterValuesStateRaw;
48
29
  };
49
- /**
50
- * Base Countervalues Context to use without polling logic.
51
- */
52
- export declare const CountervaluesContext: React.Context<CountervaluesBridge | null>;
30
+ /** Provides market-cap ids via the supplied bridge. */
31
+ export declare function CountervaluesMarketcapProvider({ children, bridge, }: {
32
+ children: React.ReactNode;
33
+ bridge: CountervaluesMarketcapBridge;
34
+ }): ReactElement;
53
35
  /**
54
36
  * Root countervalues provider (polling + calculation).
55
37
  */
56
- export declare function CountervaluesProvider({ children, bridge, ...rest }: Props): ReactElement;
38
+ export declare function CountervaluesProvider({ children, userSettings, pollInitDelay, debounceDelay, savedState, }: Props): ReactElement;
39
+ /** Returns market-cap ids. */
40
+ export declare function useMarketcapIds(): string[];
57
41
  /** Returns the full countervalues state. */
58
42
  export declare function useCountervaluesState(): CounterValuesState;
59
- /** Allows consumer to access the countervalues polling control object */
60
43
  export declare function useCountervaluesPolling(): Polling;
61
- /** Allows consumer to access the user settings that was used to fetch the countervalues */
62
- export declare function useCountervaluesUserSettings(): CountervaluesSettings;
63
- /**
64
- * Provides a way to calculate a countervalue from a value
65
- * Seems like a major bottleneck, see if it actually needs the full state or we can select only the needed data
66
- */
44
+ export declare function useCountervaluesUserSettingsContext(): CountervaluesSettings;
45
+ export declare function useCountervaluesExport(): CounterValuesStateRaw;
67
46
  export declare function useCalculate(query: {
68
47
  value: number;
69
48
  from: Currency;
@@ -72,7 +51,6 @@ export declare function useCalculate(query: {
72
51
  date?: Date | null | undefined;
73
52
  reverse?: boolean;
74
53
  }): number | null | undefined;
75
- /** Provides a way to calculate a countervalue from a value using a callback */
76
54
  export declare function useCalculateCountervalueCallback({ to, }: {
77
55
  to: Currency;
78
56
  }): (from: Currency, value: BigNumber) => BigNumber | null | undefined;
@@ -86,10 +64,6 @@ export declare function useSendAmount({ account, fiatCurrency, cryptoAmount, }:
86
64
  fiatUnit: Unit;
87
65
  calculateCryptoAmount: (fiatAmount: BigNumber) => BigNumber;
88
66
  };
89
- /**
90
- * Infer the tracking pairs for the top coins that the portfolio needs to display itself
91
- * if startDate is undefined, the feature is disabled
92
- */
93
67
  export declare function useTrackingPairsForTopCoins(marketcapIds: string[], countervalue: Currency, size: number, startDate: Date | undefined): {
94
68
  from: import("@ledgerhq/types-cryptoassets").CryptoCurrency;
95
69
  to: Currency;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"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"}
package/lib/index.js CHANGED
@@ -22,42 +22,83 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
24
  };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
25
28
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.useTrackingPairForAccounts = exports.useTrackingPairsForTopCoins = exports.useSendAmount = exports.useCalculateCountervalueCallback = exports.useCalculate = exports.useCountervaluesUserSettings = exports.useCountervaluesPolling = exports.useCountervaluesState = exports.CountervaluesProvider = exports.CountervaluesContext = exports.useMarketcapIds = exports.CountervaluesMarketcapProvider = void 0;
29
+ exports.useTrackingPairForAccounts = exports.useTrackingPairsForTopCoins = exports.useSendAmount = exports.useCalculateCountervalueCallback = exports.useCalculate = exports.useCountervaluesExport = exports.useCountervaluesUserSettingsContext = exports.useCountervaluesPolling = exports.useCountervaluesState = exports.useMarketcapIds = exports.CountervaluesProvider = exports.CountervaluesMarketcapProvider = void 0;
27
30
  const helpers_1 = require("@ledgerhq/coin-framework/account/helpers");
31
+ const index_1 = __importDefault(require("@ledgerhq/live-countervalues/api/index"));
28
32
  const logic_1 = require("@ledgerhq/live-countervalues/logic");
29
33
  const useDebounce_1 = require("@ledgerhq/live-hooks/useDebounce");
34
+ const logs_1 = require("@ledgerhq/logs");
30
35
  const bignumber_js_1 = require("bignumber.js");
31
36
  const react_1 = __importStar(require("react"));
32
- const CountervaluesMarketcapProvider_1 = require("./CountervaluesMarketcapProvider");
33
- var CountervaluesMarketcapProvider_2 = require("./CountervaluesMarketcapProvider");
34
- Object.defineProperty(exports, "CountervaluesMarketcapProvider", { enumerable: true, get: function () { return CountervaluesMarketcapProvider_2.CountervaluesMarketcapProvider; } });
35
- Object.defineProperty(exports, "useMarketcapIds", { enumerable: true, get: function () { return CountervaluesMarketcapProvider_2.useMarketcapIds; } });
36
- /**
37
- * Base Countervalues Context to use without polling logic.
38
- */
39
- exports.CountervaluesContext = (0, react_1.createContext)(null);
40
- function useCountervaluesBridgeContext() {
41
- const bridge = (0, react_1.useContext)(exports.CountervaluesContext);
42
- if (!bridge) {
43
- throw new Error("'useCountervaluesBridgeContext' must be used within a 'CountervaluesProvider'");
44
- }
45
- return bridge;
46
- }
37
+ const CountervaluesPollingContext = (0, react_1.createContext)({
38
+ wipe: () => { },
39
+ poll: () => { },
40
+ start: () => { },
41
+ stop: () => { },
42
+ pending: false,
43
+ error: null,
44
+ });
45
+ const CountervaluesUserSettingsContext = (0, react_1.createContext)({
46
+ // dummy values that are overriden by the context provider
47
+ trackingPairs: [],
48
+ autofillGaps: true,
49
+ refreshRate: 0,
50
+ marketCapBatchingAfterRank: 0,
51
+ });
52
+ const CountervaluesContext = (0, react_1.createContext)(logic_1.initialState);
53
+ const CountervaluesMarketcapIdsContext = (0, react_1.createContext)([]);
47
54
  function trackingPairsHash(a) {
48
55
  return a
49
56
  .map(p => `${p.from.ticker}:${p.to.ticker}:${p.startDate.toISOString().slice(0, 10) || ""}`)
50
57
  .sort()
51
58
  .join("|");
52
59
  }
60
+ const marketcapRefresh = 30 * 60000;
61
+ const marketcapRefreshOnError = 60000;
62
+ /** Provides market-cap ids via the supplied bridge. */
63
+ function CountervaluesMarketcapProvider({ children, bridge, }) {
64
+ const ids = bridge.useIds();
65
+ const lastUpdated = bridge.useLastUpdated();
66
+ const [, forceUpdate] = (0, react_1.useReducer)(x => x + 1, 0);
67
+ (0, react_1.useEffect)(() => {
68
+ let timeout = null;
69
+ const now = Date.now();
70
+ if (!lastUpdated || now - lastUpdated > marketcapRefresh) {
71
+ bridge.setLoading(true);
72
+ index_1.default.fetchIdsSortedByMarketcap().then(fetchedIds => {
73
+ bridge.setIds(fetchedIds);
74
+ timeout = setTimeout(() => forceUpdate(), marketcapRefresh);
75
+ }, error => {
76
+ (0, logs_1.log)("countervalues", "error fetching marketcap ids " + error);
77
+ bridge.setError(error.message);
78
+ timeout = setTimeout(() => forceUpdate(), marketcapRefreshOnError);
79
+ });
80
+ }
81
+ else {
82
+ timeout = setTimeout(() => forceUpdate(), marketcapRefresh - (now - lastUpdated));
83
+ }
84
+ return () => {
85
+ if (timeout)
86
+ clearTimeout(timeout);
87
+ };
88
+ }, [lastUpdated, bridge]);
89
+ return (react_1.default.createElement(CountervaluesMarketcapIdsContext.Provider, { value: ids }, children));
90
+ }
91
+ exports.CountervaluesMarketcapProvider = CountervaluesMarketcapProvider;
53
92
  /**
54
- * Call side effects outside of the primary render tree, avoiding costly child re-renders
93
+ * Root countervalues provider (polling + calculation).
55
94
  */
56
- function Effect({ bridge, savedState, debounceDelay = 1000, pollInitDelay = 3 * 1000, }) {
57
- const userSettings = bridge.useUserSettings();
58
- const { refreshRate, marketCapBatchingAfterRank } = userSettings;
95
+ function CountervaluesProvider({ children, userSettings, pollInitDelay = 3 * 1000, debounceDelay = 1000, savedState, }) {
96
+ const autopollInterval = userSettings.refreshRate;
59
97
  const debouncedUserSettings = (0, useDebounce_1.useDebounce)(userSettings, debounceDelay);
60
- const marketcapIds = (0, CountervaluesMarketcapProvider_1.useMarketcapIds)();
98
+ const [{ state, pending, error }, dispatch] = (0, react_1.useReducer)(fetchReducer, initialFetchState);
99
+ // TODO this is always using the initial value, doesn't react to changes.
100
+ const marketcapIds = (0, react_1.useContext)(CountervaluesMarketcapIdsContext);
101
+ const { marketCapBatchingAfterRank } = userSettings;
61
102
  const batchStrategySolver = (0, react_1.useMemo)(() => ({
62
103
  shouldBatchCurrencyFrom: (currency) => {
63
104
  if (currency.type === "FiatCurrency")
@@ -67,93 +108,104 @@ function Effect({ bridge, savedState, debounceDelay = 1000, pollInitDelay = 3 *
67
108
  },
68
109
  }), [marketCapBatchingAfterRank, marketcapIds]);
69
110
  // flag used to trigger a loadCountervalues
70
- const triggerLoad = bridge.usePollingTriggerLoad();
71
- // trigger poll only when userSettings changes in a debounced way
111
+ const [triggerLoad, setTriggerLoad] = (0, react_1.useState)(false);
112
+ // trigger poll only when userSettings changes. in a debounced way.
72
113
  (0, react_1.useEffect)(() => {
73
- bridge.setPollingTriggerLoad(true);
74
- }, [bridge, debouncedUserSettings]);
114
+ setTriggerLoad(true);
115
+ }, [debouncedUserSettings]);
75
116
  // loadCountervalues logic
76
- const currentState = bridge.useState();
77
- const pending = bridge.useStatePending();
78
- // loadCountervalues logic using bridge
79
117
  (0, react_1.useEffect)(() => {
80
118
  if (pending || !triggerLoad)
81
119
  return;
82
- bridge.setPollingTriggerLoad(false);
83
- bridge.setStatePending(true);
84
- (0, logic_1.loadCountervalues)(currentState, userSettings, batchStrategySolver, userSettings.granularitiesRates).then(s => {
85
- bridge.setState(s);
86
- bridge.setStatePending(false);
87
- }, e => {
88
- bridge.setStateError(e);
89
- bridge.setStatePending(false);
90
- });
91
- }, [pending, currentState, userSettings, triggerLoad, batchStrategySolver, bridge]);
120
+ setTriggerLoad(false);
121
+ dispatch({ type: "pending" });
122
+ (0, logic_1.loadCountervalues)(state, userSettings, batchStrategySolver, userSettings.granularitiesRates).then(newState => dispatch({ type: "success", payload: newState }), e => dispatch({ type: "error", payload: e }));
123
+ }, [pending, state, userSettings, triggerLoad, batchStrategySolver]);
92
124
  // save the state when it changes
93
125
  (0, react_1.useEffect)(() => {
94
126
  if (!savedState?.status || !Object.keys(savedState.status).length)
95
127
  return;
96
- bridge.setState((0, logic_1.importCountervalues)(savedState, userSettings));
97
- }, [bridge, savedState, userSettings]);
98
- // manage the auto polling loop
99
- const isPolling = bridge.usePollingIsPolling();
128
+ dispatch({
129
+ type: "setCounterValueState",
130
+ payload: (0, logic_1.importCountervalues)(savedState, userSettings),
131
+ });
132
+ }, [savedState, userSettings]);
133
+ // manage the auto polling loop and the interface for user land to trigger a reload
134
+ const [isPolling, setIsPolling] = (0, react_1.useState)(true);
100
135
  (0, react_1.useEffect)(() => {
101
136
  if (!isPolling)
102
137
  return;
103
138
  let pollingTimeout;
104
139
  function pollingLoop() {
105
- bridge.setPollingTriggerLoad(true);
106
- pollingTimeout = setTimeout(pollingLoop, refreshRate);
140
+ setTriggerLoad(true);
141
+ pollingTimeout = setTimeout(pollingLoop, autopollInterval);
107
142
  }
108
143
  pollingTimeout = setTimeout(pollingLoop, pollInitDelay);
109
144
  return () => clearTimeout(pollingTimeout);
110
- }, [refreshRate, pollInitDelay, isPolling, bridge]);
111
- return null;
112
- }
113
- /**
114
- * Root countervalues provider (polling + calculation).
115
- */
116
- function CountervaluesProvider({ children, bridge, ...rest }) {
117
- return (react_1.default.createElement(exports.CountervaluesContext.Provider, { value: bridge },
118
- react_1.default.createElement(Effect, { ...rest, bridge: bridge }),
119
- children));
145
+ }, [autopollInterval, pollInitDelay, isPolling]);
146
+ const polling = (0, react_1.useMemo)(() => ({
147
+ wipe: () => dispatch({ type: "wipe" }),
148
+ poll: () => setTriggerLoad(true),
149
+ start: () => setIsPolling(true),
150
+ stop: () => setIsPolling(false),
151
+ pending,
152
+ error,
153
+ }), [pending, error]);
154
+ return (react_1.default.createElement(CountervaluesPollingContext.Provider, { value: polling },
155
+ react_1.default.createElement(CountervaluesUserSettingsContext.Provider, { value: userSettings },
156
+ react_1.default.createElement(CountervaluesContext.Provider, { value: state }, children))));
120
157
  }
121
158
  exports.CountervaluesProvider = CountervaluesProvider;
159
+ const initialFetchState = { state: logic_1.initialState, pending: false };
160
+ function fetchReducer(state, action) {
161
+ switch (action.type) {
162
+ case "success":
163
+ return { state: action.payload, pending: false, error: undefined };
164
+ case "error":
165
+ return { ...state, pending: false, error: action.payload };
166
+ case "pending":
167
+ return { ...state, pending: true, error: undefined };
168
+ case "wipe":
169
+ return { state: logic_1.initialState, pending: false, error: undefined };
170
+ case "setCounterValueState":
171
+ return { ...state, state: action.payload };
172
+ default:
173
+ return state;
174
+ }
175
+ }
176
+ /** Returns market-cap ids. */
177
+ function useMarketcapIds() {
178
+ return (0, react_1.useContext)(CountervaluesMarketcapIdsContext);
179
+ }
180
+ exports.useMarketcapIds = useMarketcapIds;
122
181
  /** Returns the full countervalues state. */
123
182
  function useCountervaluesState() {
124
- return useCountervaluesBridgeContext().useState();
183
+ return (0, react_1.useContext)(CountervaluesContext);
125
184
  }
126
185
  exports.useCountervaluesState = useCountervaluesState;
127
- /** Allows consumer to access the countervalues polling control object */
186
+ // allows consumer to access the countervalues polling control object
128
187
  function useCountervaluesPolling() {
129
- const bridge = useCountervaluesBridgeContext();
130
- const pending = bridge.useStatePending();
131
- const error = bridge.useStateError();
132
- return (0, react_1.useMemo)(() => ({
133
- poll: () => bridge.setPollingTriggerLoad(true),
134
- start: () => bridge.setPollingIsPolling(true),
135
- stop: () => bridge.setPollingIsPolling(false),
136
- wipe: () => bridge.wipe(),
137
- pending,
138
- error,
139
- }), [bridge, error, pending]);
188
+ return (0, react_1.useContext)(CountervaluesPollingContext);
140
189
  }
141
190
  exports.useCountervaluesPolling = useCountervaluesPolling;
142
- /** Allows consumer to access the user settings that was used to fetch the countervalues */
143
- function useCountervaluesUserSettings() {
144
- return useCountervaluesBridgeContext().useUserSettings();
191
+ // allows consumer to access the user settings that was used to fetch the countervalues
192
+ function useCountervaluesUserSettingsContext() {
193
+ return (0, react_1.useContext)(CountervaluesUserSettingsContext);
145
194
  }
146
- exports.useCountervaluesUserSettings = useCountervaluesUserSettings;
147
- /**
148
- * Provides a way to calculate a countervalue from a value
149
- * Seems like a major bottleneck, see if it actually needs the full state or we can select only the needed data
150
- */
195
+ exports.useCountervaluesUserSettingsContext = useCountervaluesUserSettingsContext;
196
+ // provides an export of the countervalues state
197
+ function useCountervaluesExport() {
198
+ const state = useCountervaluesState();
199
+ return (0, react_1.useMemo)(() => (0, logic_1.exportCountervalues)(state), [state]);
200
+ }
201
+ exports.useCountervaluesExport = useCountervaluesExport;
202
+ // provides a way to calculate a countervalue from a value
151
203
  function useCalculate(query) {
152
204
  const state = useCountervaluesState();
153
- return (0, react_1.useMemo)(() => (0, logic_1.calculate)(state, query), [state, query]);
205
+ return (0, logic_1.calculate)(state, query);
154
206
  }
155
207
  exports.useCalculate = useCalculate;
156
- /** Provides a way to calculate a countervalue from a value using a callback */
208
+ // provides a way to calculate a countervalue from a value using a callback
157
209
  function useCalculateCountervalueCallback({ to, }) {
158
210
  const state = useCountervaluesState();
159
211
  return (0, react_1.useCallback)((from, value) => {
@@ -188,10 +240,8 @@ function useSendAmount({ account, fiatCurrency, cryptoAmount, }) {
188
240
  return { fiatAmount, fiatUnit, calculateCryptoAmount };
189
241
  }
190
242
  exports.useSendAmount = useSendAmount;
191
- /**
192
- * Infer the tracking pairs for the top coins that the portfolio needs to display itself
193
- * if startDate is undefined, the feature is disabled
194
- */
243
+ // infer the tracking pairs for the top coins that the portfolio needs to display itself
244
+ // if startDate is undefined, the feature is disabled
195
245
  function useTrackingPairsForTopCoins(marketcapIds, countervalue, size, startDate) {
196
246
  const dateTimestamp = startDate?.getTime();
197
247
  return (0, react_1.useMemo)(() => dateTimestamp
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sEAA8E;AAC9E,8DAM4C;AAO5C,kEAA+D;AAG/D,+CAAyC;AACzC,+CAOe;AACf,qFAAmE;AAEnE,mFAAmG;AAA1F,gJAAA,8BAA8B,OAAA;AAAE,iIAAA,eAAe,OAAA;AAyDxD;;GAEG;AACU,QAAA,oBAAoB,GAAG,IAAA,qBAAa,EAA6B,IAAI,CAAC,CAAC;AAEpF,SAAS,6BAA6B;IACpC,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,4BAAoB,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;IACjE,MAAM,qBAAqB,GAAG,IAAA,yBAAW,EAAC,YAAY,EAAE,aAAa,CAAC,CAAC;IAEvE,MAAM,YAAY,GAAG,IAAA,gDAAe,GAAE,CAAC;IAEvC,MAAM,mBAAmB,GAAG,IAAA,eAAO,EACjC,GAAG,EAAE,CAAC,CAAC;QACL,uBAAuB,EAAE,CAAC,QAAkB,EAAE,EAAE;YAC9C,IAAI,QAAQ,CAAC,IAAI,KAAK,cAAc;gBAAE,OAAO,KAAK,CAAC;YACnD,MAAM,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC5C,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,0BAA0B,CAAC;QACpD,CAAC;KACF,CAAC,EACF,CAAC,0BAA0B,EAAE,YAAY,CAAC,CAC3C,CAAC;IAEF,2CAA2C;IAC3C,MAAM,WAAW,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC;IAEnD,iEAAiE;IACjE,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC,EAAE,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAAC;IAEpC,0BAA0B;IAC1B,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IACvC,MAAM,OAAO,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC;IAEzC,uCAAuC;IACvC,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,OAAO,IAAI,CAAC,WAAW;YAAE,OAAO;QACpC,MAAM,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAEpC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAA,yBAAiB,EACf,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACnB,YAAY,CAAC,kBAAkB,CAChC,CAAC,IAAI,CACJ,CAAC,CAAC,EAAE;YACF,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACnB,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC,EACD,CAAC,CAAC,EAAE;YACF,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YACxB,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC,CACF,CAAC;IACJ,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,CAAC,CAAC,CAAC;IAEpF,iCAAiC;IACjC,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM;YAAE,OAAO;QAC1E,MAAM,CAAC,QAAQ,CAAC,IAAA,2BAAmB,EAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;IACjE,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;IAEvC,+BAA+B;IAC/B,MAAM,SAAS,GAAG,MAAM,CAAC,mBAAmB,EAAE,CAAC;IAC/C,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,IAAI,cAA6C,CAAC;QAClD,SAAS,WAAW;YAClB,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;YACnC,cAAc,GAAG,UAAU,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QACxD,CAAC;QACD,cAAc,GAAG,UAAU,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;QACxD,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IAC5C,CAAC,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IAEpD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAgB,qBAAqB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,EAAS;IACxE,OAAO,CACL,8BAAC,4BAAoB,CAAC,QAAQ,IAAC,KAAK,EAAE,MAAM;QAC1C,8BAAC,MAAM,OAAK,IAAI,EAAE,MAAM,EAAE,MAAM,GAAI;QACnC,QAAQ,CACqB,CACjC,CAAC;AACJ,CAAC;AAPD,sDAOC;AAED,4CAA4C;AAC5C,SAAgB,qBAAqB;IACnC,OAAO,6BAA6B,EAAE,CAAC,QAAQ,EAAE,CAAC;AACpD,CAAC;AAFD,sDAEC;AAED,yEAAyE;AACzE,SAAgB,uBAAuB;IACrC,MAAM,MAAM,GAAG,6BAA6B,EAAE,CAAC;IAC/C,MAAM,OAAO,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC;IACzC,MAAM,KAAK,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;IACrC,OAAO,IAAA,eAAO,EACZ,GAAG,EAAE,CAAC,CAAC;QACL,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC;QAC9C,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC;QAC7C,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC;QAC7C,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE;QACzB,OAAO;QACP,KAAK;KACN,CAAC,EACF,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CACzB,CAAC;AACJ,CAAC;AAfD,0DAeC;AAED,2FAA2F;AAC3F,SAAgB,4BAA4B;IAC1C,OAAO,6BAA6B,EAAE,CAAC,eAAe,EAAE,CAAC;AAC3D,CAAC;AAFD,oEAEC;AAED;;;GAGG;AACH,SAAgB,YAAY,CAAC,KAO5B;IACC,MAAM,KAAK,GAAG,qBAAqB,EAAE,CAAC;IACtC,OAAO,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,IAAA,iBAAS,EAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AAChE,CAAC;AAVD,oCAUC;AAED,+EAA+E;AAC/E,SAAgB,gCAAgC,CAAC,EAC/C,EAAE,GAGH;IACC,MAAM,KAAK,GAAG,qBAAqB,EAAE,CAAC;IACtC,OAAO,IAAA,mBAAW,EAChB,CAAC,IAAc,EAAE,KAAgB,EAAE,EAAE;QACnC,MAAM,YAAY,GAAG,IAAA,iBAAS,EAAC,KAAK,EAAE;YACpC,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE;YACvB,IAAI;YACJ,EAAE;YACF,eAAe,EAAE,IAAI;SACtB,CAAC,CAAC;QACH,OAAO,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,wBAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;IACvF,CAAC,EACD,CAAC,EAAE,EAAE,KAAK,CAAC,CACZ,CAAC;AACJ,CAAC;AAlBD,4EAkBC;AAED,yEAAyE;AACzE,SAAgB,aAAa,CAAC,EAC5B,OAAO,EACP,YAAY,EACZ,YAAY,GAKb;IAKC,MAAM,cAAc,GAAG,IAAA,4BAAkB,EAAC,OAAO,CAAC,CAAC;IACnD,MAAM,gBAAgB,GAAG,YAAY,CAAC;QACpC,IAAI,EAAE,cAAc;QACpB,EAAE,EAAE,YAAY;QAChB,KAAK,EAAE,YAAY,CAAC,QAAQ,EAAE;QAC9B,eAAe,EAAE,IAAI;KACtB,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,IAAI,wBAAS,CAAC,gBAAgB,IAAI,CAAC,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,qBAAqB,EAAE,CAAC;IACtC,MAAM,qBAAqB,GAAG,IAAA,mBAAW,EACvC,CAAC,UAAqB,EAAE,EAAE,CACxB,IAAI,wBAAS,CACX,IAAA,iBAAS,EAAC,KAAK,EAAE;QACf,IAAI,EAAE,cAAc;QACpB,EAAE,EAAE,YAAY;QAChB,KAAK,EAAE,UAAU,CAAC,QAAQ,EAAE;QAC5B,OAAO,EAAE,IAAI;KACd,CAAC,IAAI,CAAC,CACR,EACH,CAAC,KAAK,EAAE,cAAc,EAAE,YAAY,CAAC,CACtC,CAAC;IACF,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,qBAAqB,EAAE,CAAC;AACzD,CAAC;AApCD,sCAoCC;AAED;;;GAGG;AACH,SAAgB,2BAA2B,CACzC,YAAsB,EACtB,YAAsB,EACtB,IAAY,EACZ,SAA2B;IAE3B,MAAM,aAAa,GAAG,SAAS,EAAE,OAAO,EAAE,CAAC;IAC3C,OAAO,IAAA,eAAO,EACZ,GAAG,EAAE,CACH,aAAa;QACX,CAAC,CAAC,IAAA,+BAAuB,EAAC,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC;QACpF,CAAC,CAAC,EAAE,EACR,CAAC,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,IAAI,CAAC,CAClD,CAAC;AACJ,CAAC;AAdD,kEAcC;AAED,SAAgB,0BAA0B,CACxC,QAAmB,EACnB,YAAsB;IAEtB,kDAAkD;IAClD,MAAM,CAAC,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QACrB,MAAM,KAAK,GAAG,IAAA,oCAA4B,EAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QACnE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;IACnD,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;IAC7B,yDAAyD;IACzD,8DAA8D;IAC9D,uDAAuD;IACvD,OAAO,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,CAAC;AAbD,gEAaC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"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"}
package/lib-es/index.d.ts CHANGED
@@ -3,28 +3,13 @@ import type { Currency, Unit } from "@ledgerhq/types-cryptoassets";
3
3
  import type { Account, AccountLike } from "@ledgerhq/types-live";
4
4
  import { BigNumber } from "bignumber.js";
5
5
  import React, { ReactElement } from "react";
6
- export { CountervaluesMarketcapProvider, useMarketcapIds } from "./CountervaluesMarketcapProvider";
7
- export interface PollingState {
8
- isPolling: boolean;
9
- triggerRef: number;
10
- }
11
- /**
12
- * Bridge enabling platform-specific persistence of countervalues state.
13
- * @note: make sure that the object is memoized to avoid re-renders.
14
- */
15
- export interface CountervaluesBridge {
16
- setPollingIsPolling(polling: boolean): void;
17
- setPollingTriggerLoad(triggerLoad: boolean): void;
18
- setState(state: CounterValuesState): void;
19
- setStateError(error: Error): void;
20
- setStatePending(pending: boolean): void;
21
- usePollingIsPolling(): boolean;
22
- usePollingTriggerLoad(): boolean;
23
- useStateError(): Error | null;
24
- useStatePending(): boolean;
25
- useState(): CounterValuesState;
26
- useUserSettings(): CountervaluesSettings;
27
- wipe(): void;
6
+ /** Bridge enabling platform-specific persistence of market-cap ids. */
7
+ export interface CountervaluesMarketcapBridge {
8
+ useIds(): string[];
9
+ useLastUpdated(): number | undefined;
10
+ setLoading(loading: boolean): void;
11
+ setIds(ids: string[]): void;
12
+ setError(message: string): void;
28
13
  }
29
14
  export type Polling = {
30
15
  wipe: () => void;
@@ -35,35 +20,29 @@ export type Polling = {
35
20
  error: Error | null | undefined;
36
21
  };
37
22
  export type Props = {
38
- /** Bridge enabling platform-specific persistence of countervalues state. */
39
- bridge: CountervaluesBridge;
40
23
  children: React.ReactNode;
41
- /** the time to wait before the first poll when app starts (allow things to render to not do all at boot time) */
24
+ userSettings: CountervaluesSettings;
42
25
  pollInitDelay?: number;
43
- /** the minimum time to wait before two automatic polls (then one that happen whatever network/appstate events) */
44
26
  autopollInterval?: number;
45
- /** debounce time before actually fetching */
46
27
  debounceDelay?: number;
47
28
  savedState?: CounterValuesStateRaw;
48
29
  };
49
- /**
50
- * Base Countervalues Context to use without polling logic.
51
- */
52
- export declare const CountervaluesContext: React.Context<CountervaluesBridge | null>;
30
+ /** Provides market-cap ids via the supplied bridge. */
31
+ export declare function CountervaluesMarketcapProvider({ children, bridge, }: {
32
+ children: React.ReactNode;
33
+ bridge: CountervaluesMarketcapBridge;
34
+ }): ReactElement;
53
35
  /**
54
36
  * Root countervalues provider (polling + calculation).
55
37
  */
56
- export declare function CountervaluesProvider({ children, bridge, ...rest }: Props): ReactElement;
38
+ export declare function CountervaluesProvider({ children, userSettings, pollInitDelay, debounceDelay, savedState, }: Props): ReactElement;
39
+ /** Returns market-cap ids. */
40
+ export declare function useMarketcapIds(): string[];
57
41
  /** Returns the full countervalues state. */
58
42
  export declare function useCountervaluesState(): CounterValuesState;
59
- /** Allows consumer to access the countervalues polling control object */
60
43
  export declare function useCountervaluesPolling(): Polling;
61
- /** Allows consumer to access the user settings that was used to fetch the countervalues */
62
- export declare function useCountervaluesUserSettings(): CountervaluesSettings;
63
- /**
64
- * Provides a way to calculate a countervalue from a value
65
- * Seems like a major bottleneck, see if it actually needs the full state or we can select only the needed data
66
- */
44
+ export declare function useCountervaluesUserSettingsContext(): CountervaluesSettings;
45
+ export declare function useCountervaluesExport(): CounterValuesStateRaw;
67
46
  export declare function useCalculate(query: {
68
47
  value: number;
69
48
  from: Currency;
@@ -72,7 +51,6 @@ export declare function useCalculate(query: {
72
51
  date?: Date | null | undefined;
73
52
  reverse?: boolean;
74
53
  }): number | null | undefined;
75
- /** Provides a way to calculate a countervalue from a value using a callback */
76
54
  export declare function useCalculateCountervalueCallback({ to, }: {
77
55
  to: Currency;
78
56
  }): (from: Currency, value: BigNumber) => BigNumber | null | undefined;
@@ -86,10 +64,6 @@ export declare function useSendAmount({ account, fiatCurrency, cryptoAmount, }:
86
64
  fiatUnit: Unit;
87
65
  calculateCryptoAmount: (fiatAmount: BigNumber) => BigNumber;
88
66
  };
89
- /**
90
- * Infer the tracking pairs for the top coins that the portfolio needs to display itself
91
- * if startDate is undefined, the feature is disabled
92
- */
93
67
  export declare function useTrackingPairsForTopCoins(marketcapIds: string[], countervalue: Currency, size: number, startDate: Date | undefined): {
94
68
  from: import("@ledgerhq/types-cryptoassets").CryptoCurrency;
95
69
  to: Currency;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"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"}