@ledgerhq/live-countervalues-react 0.2.44-nightly.2 → 0.2.44
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/.turbo/turbo-build.log +1 -1
- package/CHANGELOG.md +19 -17
- package/lib/index.d.ts +13 -29
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +121 -90
- package/lib/index.js.map +1 -1
- package/lib-es/index.d.ts +13 -29
- package/lib-es/index.d.ts.map +1 -1
- package/lib-es/index.js +114 -83
- package/lib-es/index.js.map +1 -1
- package/package.json +7 -7
- package/src/index.tsx +174 -137
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
|
|
2
|
-
> @ledgerhq/live-countervalues-react@0.2.44
|
|
2
|
+
> @ledgerhq/live-countervalues-react@0.2.44 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,33 +1,35 @@
|
|
|
1
1
|
# @ledgerhq/live-countervalues-react
|
|
2
2
|
|
|
3
|
-
## 0.2.44
|
|
3
|
+
## 0.2.44
|
|
4
4
|
|
|
5
5
|
### Patch Changes
|
|
6
6
|
|
|
7
|
-
- Updated dependencies [[`
|
|
8
|
-
- @ledgerhq/
|
|
9
|
-
- @ledgerhq/
|
|
10
|
-
- @ledgerhq/
|
|
7
|
+
- Updated dependencies [[`4eee376`](https://github.com/LedgerHQ/ledger-live/commit/4eee3767b513dfb58a156cf2ce8086e31a7d55bf), [`72c2a6c`](https://github.com/LedgerHQ/ledger-live/commit/72c2a6c91cfee66fac3505774ba16049fba1c0cf), [`6312f3a`](https://github.com/LedgerHQ/ledger-live/commit/6312f3a039e3018dfd78d231fa91ecf8fc82a118), [`8423a9f`](https://github.com/LedgerHQ/ledger-live/commit/8423a9fbba0d54d18ff35c0519a82829fc8042e0), [`6792990`](https://github.com/LedgerHQ/ledger-live/commit/6792990d8130ec297192bb7d6b98aef024e81dfa), [`d5f6793`](https://github.com/LedgerHQ/ledger-live/commit/d5f6793c6ae52178e93a19efc75931994bf930a8), [`132af3d`](https://github.com/LedgerHQ/ledger-live/commit/132af3db5863fb6e54587dd53d4db7b0ec19259e)]:
|
|
8
|
+
- @ledgerhq/types-live@6.79.0
|
|
9
|
+
- @ledgerhq/cryptoassets@13.23.0
|
|
10
|
+
- @ledgerhq/types-cryptoassets@7.24.0
|
|
11
|
+
- @ledgerhq/coin-framework@5.8.0
|
|
12
|
+
- @ledgerhq/live-countervalues@0.5.15
|
|
11
13
|
|
|
12
|
-
## 0.2.44-
|
|
14
|
+
## 0.2.44-next.1
|
|
13
15
|
|
|
14
16
|
### Patch Changes
|
|
15
17
|
|
|
16
|
-
-
|
|
18
|
+
- Updated dependencies [[`8423a9f`](https://github.com/LedgerHQ/ledger-live/commit/8423a9fbba0d54d18ff35c0519a82829fc8042e0)]:
|
|
19
|
+
- @ledgerhq/types-live@6.79.0-next.1
|
|
20
|
+
- @ledgerhq/coin-framework@5.8.0-next.1
|
|
21
|
+
- @ledgerhq/live-countervalues@0.5.15-next.1
|
|
17
22
|
|
|
18
|
-
-
|
|
19
|
-
- @ledgerhq/coin-framework@5.7.1-nightly.1
|
|
20
|
-
- @ledgerhq/cryptoassets@13.22.1-nightly.0
|
|
21
|
-
- @ledgerhq/live-countervalues@0.5.15-nightly.1
|
|
22
|
-
|
|
23
|
-
## 0.2.44-nightly.0
|
|
23
|
+
## 0.2.44-next.0
|
|
24
24
|
|
|
25
25
|
### Patch Changes
|
|
26
26
|
|
|
27
|
-
- Updated dependencies [[`6312f3a`](https://github.com/LedgerHQ/ledger-live/commit/6312f3a039e3018dfd78d231fa91ecf8fc82a118)]:
|
|
28
|
-
- @ledgerhq/types-live@6.
|
|
29
|
-
- @ledgerhq/
|
|
30
|
-
- @ledgerhq/
|
|
27
|
+
- Updated dependencies [[`4eee376`](https://github.com/LedgerHQ/ledger-live/commit/4eee3767b513dfb58a156cf2ce8086e31a7d55bf), [`72c2a6c`](https://github.com/LedgerHQ/ledger-live/commit/72c2a6c91cfee66fac3505774ba16049fba1c0cf), [`6312f3a`](https://github.com/LedgerHQ/ledger-live/commit/6312f3a039e3018dfd78d231fa91ecf8fc82a118), [`6792990`](https://github.com/LedgerHQ/ledger-live/commit/6792990d8130ec297192bb7d6b98aef024e81dfa), [`d5f6793`](https://github.com/LedgerHQ/ledger-live/commit/d5f6793c6ae52178e93a19efc75931994bf930a8), [`132af3d`](https://github.com/LedgerHQ/ledger-live/commit/132af3db5863fb6e54587dd53d4db7b0ec19259e)]:
|
|
28
|
+
- @ledgerhq/types-live@6.79.0-next.0
|
|
29
|
+
- @ledgerhq/cryptoassets@13.23.0-next.0
|
|
30
|
+
- @ledgerhq/types-cryptoassets@7.24.0-next.0
|
|
31
|
+
- @ledgerhq/coin-framework@5.8.0-next.0
|
|
32
|
+
- @ledgerhq/live-countervalues@0.5.15-next.0
|
|
31
33
|
|
|
32
34
|
## 0.2.43
|
|
33
35
|
|
package/lib/index.d.ts
CHANGED
|
@@ -1,16 +1,8 @@
|
|
|
1
|
-
import type { CounterValuesState, CounterValuesStateRaw, CountervaluesSettings, TrackingPair } from "@ledgerhq/live-countervalues/types";
|
|
2
|
-
import type { Currency, Unit } from "@ledgerhq/types-cryptoassets";
|
|
3
|
-
import type { Account, AccountLike } from "@ledgerhq/types-live";
|
|
4
1
|
import { BigNumber } from "bignumber.js";
|
|
5
2
|
import React, { ReactElement } from "react";
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
useLastUpdated(): number | undefined;
|
|
10
|
-
setLoading(loading: boolean): void;
|
|
11
|
-
setIds(ids: string[]): void;
|
|
12
|
-
setError(message: string): void;
|
|
13
|
-
}
|
|
3
|
+
import type { CounterValuesState, CounterValuesStateRaw, CountervaluesSettings, TrackingPair } from "@ledgerhq/live-countervalues/types";
|
|
4
|
+
import type { Account, AccountLike } from "@ledgerhq/types-live";
|
|
5
|
+
import type { Currency, Unit } from "@ledgerhq/types-cryptoassets";
|
|
14
6
|
export type Polling = {
|
|
15
7
|
wipe: () => void;
|
|
16
8
|
poll: () => void;
|
|
@@ -27,21 +19,20 @@ export type Props = {
|
|
|
27
19
|
debounceDelay?: number;
|
|
28
20
|
savedState?: CounterValuesStateRaw;
|
|
29
21
|
};
|
|
30
|
-
|
|
31
|
-
|
|
22
|
+
export declare function useTrackingPairsForTopCoins(marketcapIds: string[], countervalue: Currency, size: number, startDate: Date | undefined): {
|
|
23
|
+
from: import("@ledgerhq/types-cryptoassets").CryptoCurrency;
|
|
24
|
+
to: Currency;
|
|
25
|
+
startDate: Date;
|
|
26
|
+
}[];
|
|
27
|
+
export declare function useTrackingPairForAccounts(accounts: Account[], countervalue: Currency): TrackingPair[];
|
|
28
|
+
export declare function CountervaluesMarketcap({ children }: {
|
|
32
29
|
children: React.ReactNode;
|
|
33
|
-
bridge: CountervaluesMarketcapBridge;
|
|
34
30
|
}): ReactElement;
|
|
35
|
-
|
|
36
|
-
* Root countervalues provider (polling + calculation).
|
|
37
|
-
*/
|
|
38
|
-
export declare function CountervaluesProvider({ children, userSettings, pollInitDelay, debounceDelay, savedState, }: Props): ReactElement;
|
|
39
|
-
/** Returns market-cap ids. */
|
|
40
|
-
export declare function useMarketcapIds(): string[];
|
|
41
|
-
/** Returns the full countervalues state. */
|
|
42
|
-
export declare function useCountervaluesState(): CounterValuesState;
|
|
31
|
+
export declare function Countervalues({ children, userSettings, pollInitDelay, debounceDelay, savedState, }: Props): ReactElement;
|
|
43
32
|
export declare function useCountervaluesPolling(): Polling;
|
|
44
33
|
export declare function useCountervaluesUserSettingsContext(): CountervaluesSettings;
|
|
34
|
+
export declare function useCountervaluesState(): CounterValuesState;
|
|
35
|
+
export declare function useMarketcapIds(): string[];
|
|
45
36
|
export declare function useCountervaluesExport(): CounterValuesStateRaw;
|
|
46
37
|
export declare function useCalculate(query: {
|
|
47
38
|
value: number;
|
|
@@ -54,7 +45,6 @@ export declare function useCalculate(query: {
|
|
|
54
45
|
export declare function useCalculateCountervalueCallback({ to, }: {
|
|
55
46
|
to: Currency;
|
|
56
47
|
}): (from: Currency, value: BigNumber) => BigNumber | null | undefined;
|
|
57
|
-
/** Helper for send-flow: returns fiat amount and reverse calculation. */
|
|
58
48
|
export declare function useSendAmount({ account, fiatCurrency, cryptoAmount, }: {
|
|
59
49
|
account: AccountLike;
|
|
60
50
|
fiatCurrency: Currency;
|
|
@@ -64,10 +54,4 @@ export declare function useSendAmount({ account, fiatCurrency, cryptoAmount, }:
|
|
|
64
54
|
fiatUnit: Unit;
|
|
65
55
|
calculateCryptoAmount: (fiatAmount: BigNumber) => BigNumber;
|
|
66
56
|
};
|
|
67
|
-
export declare function useTrackingPairsForTopCoins(marketcapIds: string[], countervalue: Currency, size: number, startDate: Date | undefined): {
|
|
68
|
-
from: import("@ledgerhq/types-cryptoassets").CryptoCurrency;
|
|
69
|
-
to: Currency;
|
|
70
|
-
startDate: Date;
|
|
71
|
-
}[];
|
|
72
|
-
export declare function useTrackingPairForAccounts(accounts: Account[], countervalue: Currency): TrackingPair[];
|
|
73
57
|
//# sourceMappingURL=index.d.ts.map
|
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
|
@@ -26,14 +26,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
26
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.
|
|
29
|
+
exports.useSendAmount = exports.useCalculateCountervalueCallback = exports.useCalculate = exports.useCountervaluesExport = exports.useMarketcapIds = exports.useCountervaluesState = exports.useCountervaluesUserSettingsContext = exports.useCountervaluesPolling = exports.Countervalues = exports.CountervaluesMarketcap = exports.useTrackingPairForAccounts = exports.useTrackingPairsForTopCoins = void 0;
|
|
30
|
+
const bignumber_js_1 = require("bignumber.js");
|
|
31
|
+
const react_1 = __importStar(require("react"));
|
|
30
32
|
const helpers_1 = require("@ledgerhq/coin-framework/account/helpers");
|
|
31
|
-
const index_1 = __importDefault(require("@ledgerhq/live-countervalues/api/index"));
|
|
32
33
|
const logic_1 = require("@ledgerhq/live-countervalues/logic");
|
|
34
|
+
const index_1 = __importDefault(require("@ledgerhq/live-countervalues/api/index"));
|
|
33
35
|
const useDebounce_1 = require("@ledgerhq/live-hooks/useDebounce");
|
|
34
36
|
const logs_1 = require("@ledgerhq/logs");
|
|
35
|
-
const bignumber_js_1 = require("bignumber.js");
|
|
36
|
-
const react_1 = __importStar(require("react"));
|
|
37
37
|
const CountervaluesPollingContext = (0, react_1.createContext)({
|
|
38
38
|
wipe: () => { },
|
|
39
39
|
poll: () => { },
|
|
@@ -59,54 +59,73 @@ function trackingPairsHash(a) {
|
|
|
59
59
|
}
|
|
60
60
|
const marketcapRefresh = 30 * 60000;
|
|
61
61
|
const marketcapRefreshOnError = 60000;
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
62
|
+
const initialIds = [];
|
|
63
|
+
/**
|
|
64
|
+
* Internal only. fetch the marketcap and keep it in sync.
|
|
65
|
+
* the data is shared through a context, you can useMarketcapIds to get it.
|
|
66
|
+
*/
|
|
67
|
+
function useMarketcap() {
|
|
68
|
+
const [ids, setIds] = (0, react_1.useState)(initialIds);
|
|
69
|
+
const [fetchNonce, setFetchNonce] = (0, react_1.useState)(0);
|
|
67
70
|
(0, react_1.useEffect)(() => {
|
|
68
71
|
let timeout = null;
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
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
|
-
}
|
|
72
|
+
index_1.default.fetchIdsSortedByMarketcap().then(ids => {
|
|
73
|
+
setIds(ids);
|
|
74
|
+
timeout = setTimeout(() => setFetchNonce(n => n + 1), marketcapRefresh);
|
|
75
|
+
}, error => {
|
|
76
|
+
(0, logs_1.log)("countervalues", "error fetching marketcap ids " + error);
|
|
77
|
+
timeout = setTimeout(() => setFetchNonce(n => n + 1), marketcapRefreshOnError);
|
|
78
|
+
});
|
|
84
79
|
return () => {
|
|
85
|
-
if (timeout)
|
|
80
|
+
if (timeout) {
|
|
86
81
|
clearTimeout(timeout);
|
|
82
|
+
}
|
|
87
83
|
};
|
|
88
|
-
}, [
|
|
89
|
-
return
|
|
84
|
+
}, [fetchNonce]);
|
|
85
|
+
return ids;
|
|
90
86
|
}
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
87
|
+
// infer the tracking pairs for the top coins that the portfolio needs to display itself
|
|
88
|
+
// if startDate is undefined, the feature is disabled
|
|
89
|
+
function useTrackingPairsForTopCoins(marketcapIds, countervalue, size, startDate) {
|
|
90
|
+
const dateTimestamp = startDate?.getTime();
|
|
91
|
+
return (0, react_1.useMemo)(() => dateTimestamp
|
|
92
|
+
? (0, logic_1.trackingPairForTopCoins)(marketcapIds, size, countervalue, new Date(dateTimestamp))
|
|
93
|
+
: [], [marketcapIds, countervalue, dateTimestamp, size]);
|
|
94
|
+
}
|
|
95
|
+
exports.useTrackingPairsForTopCoins = useTrackingPairsForTopCoins;
|
|
96
|
+
function useTrackingPairForAccounts(accounts, countervalue) {
|
|
97
|
+
// first we cache the tracking pairs with its hash
|
|
98
|
+
const c = (0, react_1.useMemo)(() => {
|
|
99
|
+
const pairs = (0, logic_1.inferTrackingPairForAccounts)(accounts, countervalue);
|
|
100
|
+
return { pairs, hash: trackingPairsHash(pairs) };
|
|
101
|
+
}, [accounts, countervalue]);
|
|
102
|
+
// we only want to return the pairs when the hash changes
|
|
103
|
+
// to not recalculate pairs as fast as accounts resynchronizes
|
|
104
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
105
|
+
return (0, react_1.useMemo)(() => c.pairs, [c.hash]);
|
|
106
|
+
}
|
|
107
|
+
exports.useTrackingPairForAccounts = useTrackingPairForAccounts;
|
|
108
|
+
function CountervaluesMarketcap({ children }) {
|
|
109
|
+
const marketcapIds = useMarketcap();
|
|
110
|
+
return (react_1.default.createElement(CountervaluesMarketcapIdsContext.Provider, { value: marketcapIds }, children));
|
|
111
|
+
}
|
|
112
|
+
exports.CountervaluesMarketcap = CountervaluesMarketcap;
|
|
113
|
+
function Countervalues({ children, userSettings, pollInitDelay = 3 * 1000, debounceDelay = 1000, savedState, }) {
|
|
96
114
|
const autopollInterval = userSettings.refreshRate;
|
|
97
115
|
const debouncedUserSettings = (0, useDebounce_1.useDebounce)(userSettings, debounceDelay);
|
|
98
116
|
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
117
|
const marketcapIds = (0, react_1.useContext)(CountervaluesMarketcapIdsContext);
|
|
101
118
|
const { marketCapBatchingAfterRank } = userSettings;
|
|
102
|
-
const batchStrategySolver = (0, react_1.useMemo)(() =>
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
119
|
+
const batchStrategySolver = (0, react_1.useMemo)(() => {
|
|
120
|
+
return {
|
|
121
|
+
shouldBatchCurrencyFrom: (currency) => {
|
|
122
|
+
if (currency.type === "FiatCurrency")
|
|
123
|
+
return false;
|
|
124
|
+
const i = marketcapIds.indexOf(currency.id);
|
|
125
|
+
return i === -1 || i > marketCapBatchingAfterRank;
|
|
126
|
+
},
|
|
127
|
+
};
|
|
128
|
+
}, [marketCapBatchingAfterRank, marketcapIds]);
|
|
110
129
|
// flag used to trigger a loadCountervalues
|
|
111
130
|
const [triggerLoad, setTriggerLoad] = (0, react_1.useState)(false);
|
|
112
131
|
// trigger poll only when userSettings changes. in a debounced way.
|
|
@@ -118,8 +137,20 @@ function CountervaluesProvider({ children, userSettings, pollInitDelay = 3 * 100
|
|
|
118
137
|
if (pending || !triggerLoad)
|
|
119
138
|
return;
|
|
120
139
|
setTriggerLoad(false);
|
|
121
|
-
dispatch({
|
|
122
|
-
|
|
140
|
+
dispatch({
|
|
141
|
+
type: "pending",
|
|
142
|
+
});
|
|
143
|
+
(0, logic_1.loadCountervalues)(state, userSettings, batchStrategySolver, userSettings.granularitiesRates).then(state => {
|
|
144
|
+
dispatch({
|
|
145
|
+
type: "success",
|
|
146
|
+
payload: state,
|
|
147
|
+
});
|
|
148
|
+
}, error => {
|
|
149
|
+
dispatch({
|
|
150
|
+
type: "error",
|
|
151
|
+
payload: error,
|
|
152
|
+
});
|
|
153
|
+
});
|
|
123
154
|
}, [pending, state, userSettings, triggerLoad, batchStrategySolver]);
|
|
124
155
|
// save the state when it changes
|
|
125
156
|
(0, react_1.useEffect)(() => {
|
|
@@ -128,8 +159,8 @@ function CountervaluesProvider({ children, userSettings, pollInitDelay = 3 * 100
|
|
|
128
159
|
dispatch({
|
|
129
160
|
type: "setCounterValueState",
|
|
130
161
|
payload: (0, logic_1.importCountervalues)(savedState, userSettings),
|
|
131
|
-
});
|
|
132
|
-
}, [savedState
|
|
162
|
+
}); // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
163
|
+
}, [savedState]);
|
|
133
164
|
// manage the auto polling loop and the interface for user land to trigger a reload
|
|
134
165
|
const [isPolling, setIsPolling] = (0, react_1.useState)(true);
|
|
135
166
|
(0, react_1.useEffect)(() => {
|
|
@@ -144,7 +175,11 @@ function CountervaluesProvider({ children, userSettings, pollInitDelay = 3 * 100
|
|
|
144
175
|
return () => clearTimeout(pollingTimeout);
|
|
145
176
|
}, [autopollInterval, pollInitDelay, isPolling]);
|
|
146
177
|
const polling = (0, react_1.useMemo)(() => ({
|
|
147
|
-
wipe: () =>
|
|
178
|
+
wipe: () => {
|
|
179
|
+
dispatch({
|
|
180
|
+
type: "wipe",
|
|
181
|
+
});
|
|
182
|
+
},
|
|
148
183
|
poll: () => setTriggerLoad(true),
|
|
149
184
|
start: () => setIsPolling(true),
|
|
150
185
|
stop: () => setIsPolling(false),
|
|
@@ -155,34 +190,35 @@ function CountervaluesProvider({ children, userSettings, pollInitDelay = 3 * 100
|
|
|
155
190
|
react_1.default.createElement(CountervaluesUserSettingsContext.Provider, { value: userSettings },
|
|
156
191
|
react_1.default.createElement(CountervaluesContext.Provider, { value: state }, children))));
|
|
157
192
|
}
|
|
158
|
-
exports.
|
|
159
|
-
const initialFetchState = {
|
|
193
|
+
exports.Countervalues = Countervalues;
|
|
194
|
+
const initialFetchState = {
|
|
195
|
+
state: logic_1.initialState,
|
|
196
|
+
pending: false,
|
|
197
|
+
};
|
|
160
198
|
function fetchReducer(state, action) {
|
|
161
199
|
switch (action.type) {
|
|
162
200
|
case "success":
|
|
163
|
-
return {
|
|
201
|
+
return {
|
|
202
|
+
state: action.payload,
|
|
203
|
+
pending: false,
|
|
204
|
+
error: undefined,
|
|
205
|
+
};
|
|
164
206
|
case "error":
|
|
165
207
|
return { ...state, pending: false, error: action.payload };
|
|
166
208
|
case "pending":
|
|
167
209
|
return { ...state, pending: true, error: undefined };
|
|
168
210
|
case "wipe":
|
|
169
|
-
return {
|
|
211
|
+
return {
|
|
212
|
+
state: logic_1.initialState,
|
|
213
|
+
pending: false,
|
|
214
|
+
error: undefined,
|
|
215
|
+
};
|
|
170
216
|
case "setCounterValueState":
|
|
171
217
|
return { ...state, state: action.payload };
|
|
172
218
|
default:
|
|
173
219
|
return state;
|
|
174
220
|
}
|
|
175
221
|
}
|
|
176
|
-
/** Returns market-cap ids. */
|
|
177
|
-
function useMarketcapIds() {
|
|
178
|
-
return (0, react_1.useContext)(CountervaluesMarketcapIdsContext);
|
|
179
|
-
}
|
|
180
|
-
exports.useMarketcapIds = useMarketcapIds;
|
|
181
|
-
/** Returns the full countervalues state. */
|
|
182
|
-
function useCountervaluesState() {
|
|
183
|
-
return (0, react_1.useContext)(CountervaluesContext);
|
|
184
|
-
}
|
|
185
|
-
exports.useCountervaluesState = useCountervaluesState;
|
|
186
222
|
// allows consumer to access the countervalues polling control object
|
|
187
223
|
function useCountervaluesPolling() {
|
|
188
224
|
return (0, react_1.useContext)(CountervaluesPollingContext);
|
|
@@ -193,9 +229,19 @@ function useCountervaluesUserSettingsContext() {
|
|
|
193
229
|
return (0, react_1.useContext)(CountervaluesUserSettingsContext);
|
|
194
230
|
}
|
|
195
231
|
exports.useCountervaluesUserSettingsContext = useCountervaluesUserSettingsContext;
|
|
232
|
+
// allows consumer to access the countervalues state
|
|
233
|
+
function useCountervaluesState() {
|
|
234
|
+
return (0, react_1.useContext)(CountervaluesContext);
|
|
235
|
+
}
|
|
236
|
+
exports.useCountervaluesState = useCountervaluesState;
|
|
237
|
+
// allows consumer to access the coins ids sorted by marketcap. It's basically all the coins that the API supports.
|
|
238
|
+
function useMarketcapIds() {
|
|
239
|
+
return (0, react_1.useContext)(CountervaluesMarketcapIdsContext);
|
|
240
|
+
}
|
|
241
|
+
exports.useMarketcapIds = useMarketcapIds;
|
|
196
242
|
// provides an export of the countervalues state
|
|
197
243
|
function useCountervaluesExport() {
|
|
198
|
-
const state =
|
|
244
|
+
const state = (0, react_1.useContext)(CountervaluesContext);
|
|
199
245
|
return (0, react_1.useMemo)(() => (0, logic_1.exportCountervalues)(state), [state]);
|
|
200
246
|
}
|
|
201
247
|
exports.useCountervaluesExport = useCountervaluesExport;
|
|
@@ -219,7 +265,6 @@ function useCalculateCountervalueCallback({ to, }) {
|
|
|
219
265
|
}, [to, state]);
|
|
220
266
|
}
|
|
221
267
|
exports.useCalculateCountervalueCallback = useCalculateCountervalueCallback;
|
|
222
|
-
/** Helper for send-flow: returns fiat amount and reverse calculation. */
|
|
223
268
|
function useSendAmount({ account, fiatCurrency, cryptoAmount, }) {
|
|
224
269
|
const cryptoCurrency = (0, helpers_1.getAccountCurrency)(account);
|
|
225
270
|
const fiatCountervalue = useCalculate({
|
|
@@ -231,34 +276,20 @@ function useSendAmount({ account, fiatCurrency, cryptoAmount, }) {
|
|
|
231
276
|
const fiatAmount = new bignumber_js_1.BigNumber(fiatCountervalue ?? 0);
|
|
232
277
|
const fiatUnit = fiatCurrency.units[0];
|
|
233
278
|
const state = useCountervaluesState();
|
|
234
|
-
const calculateCryptoAmount = (0, react_1.useCallback)((fiatAmount) =>
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
279
|
+
const calculateCryptoAmount = (0, react_1.useCallback)((fiatAmount) => {
|
|
280
|
+
const cryptoAmount = new bignumber_js_1.BigNumber((0, logic_1.calculate)(state, {
|
|
281
|
+
from: cryptoCurrency,
|
|
282
|
+
to: fiatCurrency,
|
|
283
|
+
value: fiatAmount.toNumber(),
|
|
284
|
+
reverse: true,
|
|
285
|
+
}) ?? 0);
|
|
286
|
+
return cryptoAmount;
|
|
287
|
+
}, [state, cryptoCurrency, fiatCurrency]);
|
|
288
|
+
return {
|
|
289
|
+
fiatAmount,
|
|
290
|
+
fiatUnit,
|
|
291
|
+
calculateCryptoAmount,
|
|
292
|
+
};
|
|
241
293
|
}
|
|
242
294
|
exports.useSendAmount = useSendAmount;
|
|
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
|
|
245
|
-
function useTrackingPairsForTopCoins(marketcapIds, countervalue, size, startDate) {
|
|
246
|
-
const dateTimestamp = startDate?.getTime();
|
|
247
|
-
return (0, react_1.useMemo)(() => dateTimestamp
|
|
248
|
-
? (0, logic_1.trackingPairForTopCoins)(marketcapIds, size, countervalue, new Date(dateTimestamp))
|
|
249
|
-
: [], [marketcapIds, countervalue, dateTimestamp, size]);
|
|
250
|
-
}
|
|
251
|
-
exports.useTrackingPairsForTopCoins = useTrackingPairsForTopCoins;
|
|
252
|
-
function useTrackingPairForAccounts(accounts, countervalue) {
|
|
253
|
-
// first we cache the tracking pairs with its hash
|
|
254
|
-
const c = (0, react_1.useMemo)(() => {
|
|
255
|
-
const pairs = (0, logic_1.inferTrackingPairForAccounts)(accounts, countervalue);
|
|
256
|
-
return { pairs, hash: trackingPairsHash(pairs) };
|
|
257
|
-
}, [accounts, countervalue]);
|
|
258
|
-
// we only want to return the pairs when the hash changes
|
|
259
|
-
// to not recalculate pairs as fast as accounts resynchronizes
|
|
260
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
261
|
-
return (0, react_1.useMemo)(() => c.pairs, [c.hash]);
|
|
262
|
-
}
|
|
263
|
-
exports.useTrackingPairForAccounts = useTrackingPairForAccounts;
|
|
264
295
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sEAA8E;AAC9E,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"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"}
|
package/lib-es/index.d.ts
CHANGED
|
@@ -1,16 +1,8 @@
|
|
|
1
|
-
import type { CounterValuesState, CounterValuesStateRaw, CountervaluesSettings, TrackingPair } from "@ledgerhq/live-countervalues/types";
|
|
2
|
-
import type { Currency, Unit } from "@ledgerhq/types-cryptoassets";
|
|
3
|
-
import type { Account, AccountLike } from "@ledgerhq/types-live";
|
|
4
1
|
import { BigNumber } from "bignumber.js";
|
|
5
2
|
import React, { ReactElement } from "react";
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
useLastUpdated(): number | undefined;
|
|
10
|
-
setLoading(loading: boolean): void;
|
|
11
|
-
setIds(ids: string[]): void;
|
|
12
|
-
setError(message: string): void;
|
|
13
|
-
}
|
|
3
|
+
import type { CounterValuesState, CounterValuesStateRaw, CountervaluesSettings, TrackingPair } from "@ledgerhq/live-countervalues/types";
|
|
4
|
+
import type { Account, AccountLike } from "@ledgerhq/types-live";
|
|
5
|
+
import type { Currency, Unit } from "@ledgerhq/types-cryptoassets";
|
|
14
6
|
export type Polling = {
|
|
15
7
|
wipe: () => void;
|
|
16
8
|
poll: () => void;
|
|
@@ -27,21 +19,20 @@ export type Props = {
|
|
|
27
19
|
debounceDelay?: number;
|
|
28
20
|
savedState?: CounterValuesStateRaw;
|
|
29
21
|
};
|
|
30
|
-
|
|
31
|
-
|
|
22
|
+
export declare function useTrackingPairsForTopCoins(marketcapIds: string[], countervalue: Currency, size: number, startDate: Date | undefined): {
|
|
23
|
+
from: import("@ledgerhq/types-cryptoassets").CryptoCurrency;
|
|
24
|
+
to: Currency;
|
|
25
|
+
startDate: Date;
|
|
26
|
+
}[];
|
|
27
|
+
export declare function useTrackingPairForAccounts(accounts: Account[], countervalue: Currency): TrackingPair[];
|
|
28
|
+
export declare function CountervaluesMarketcap({ children }: {
|
|
32
29
|
children: React.ReactNode;
|
|
33
|
-
bridge: CountervaluesMarketcapBridge;
|
|
34
30
|
}): ReactElement;
|
|
35
|
-
|
|
36
|
-
* Root countervalues provider (polling + calculation).
|
|
37
|
-
*/
|
|
38
|
-
export declare function CountervaluesProvider({ children, userSettings, pollInitDelay, debounceDelay, savedState, }: Props): ReactElement;
|
|
39
|
-
/** Returns market-cap ids. */
|
|
40
|
-
export declare function useMarketcapIds(): string[];
|
|
41
|
-
/** Returns the full countervalues state. */
|
|
42
|
-
export declare function useCountervaluesState(): CounterValuesState;
|
|
31
|
+
export declare function Countervalues({ children, userSettings, pollInitDelay, debounceDelay, savedState, }: Props): ReactElement;
|
|
43
32
|
export declare function useCountervaluesPolling(): Polling;
|
|
44
33
|
export declare function useCountervaluesUserSettingsContext(): CountervaluesSettings;
|
|
34
|
+
export declare function useCountervaluesState(): CounterValuesState;
|
|
35
|
+
export declare function useMarketcapIds(): string[];
|
|
45
36
|
export declare function useCountervaluesExport(): CounterValuesStateRaw;
|
|
46
37
|
export declare function useCalculate(query: {
|
|
47
38
|
value: number;
|
|
@@ -54,7 +45,6 @@ export declare function useCalculate(query: {
|
|
|
54
45
|
export declare function useCalculateCountervalueCallback({ to, }: {
|
|
55
46
|
to: Currency;
|
|
56
47
|
}): (from: Currency, value: BigNumber) => BigNumber | null | undefined;
|
|
57
|
-
/** Helper for send-flow: returns fiat amount and reverse calculation. */
|
|
58
48
|
export declare function useSendAmount({ account, fiatCurrency, cryptoAmount, }: {
|
|
59
49
|
account: AccountLike;
|
|
60
50
|
fiatCurrency: Currency;
|
|
@@ -64,10 +54,4 @@ export declare function useSendAmount({ account, fiatCurrency, cryptoAmount, }:
|
|
|
64
54
|
fiatUnit: Unit;
|
|
65
55
|
calculateCryptoAmount: (fiatAmount: BigNumber) => BigNumber;
|
|
66
56
|
};
|
|
67
|
-
export declare function useTrackingPairsForTopCoins(marketcapIds: string[], countervalue: Currency, size: number, startDate: Date | undefined): {
|
|
68
|
-
from: import("@ledgerhq/types-cryptoassets").CryptoCurrency;
|
|
69
|
-
to: Currency;
|
|
70
|
-
startDate: Date;
|
|
71
|
-
}[];
|
|
72
|
-
export declare function useTrackingPairForAccounts(accounts: Account[], countervalue: Currency): TrackingPair[];
|
|
73
57
|
//# sourceMappingURL=index.d.ts.map
|
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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"}
|