@talismn/balances-react 0.1.10 → 0.1.12
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 +28 -0
- package/dist/hooks/useBalances.js +4 -2
- package/dist/hooks/useTokenRates.d.ts +3 -0
- package/dist/hooks/useTokenRates.js +20 -0
- package/package.json +10 -10
package/CHANGELOG.md
CHANGED
@@ -1,5 +1,33 @@
|
|
1
1
|
# @talismn/balances-react
|
2
2
|
|
3
|
+
## 0.1.12
|
4
|
+
|
5
|
+
### Patch Changes
|
6
|
+
|
7
|
+
- ca50757: feat: implemented token fiat rates in @talismn/balances
|
8
|
+
- Updated dependencies [ca50757]
|
9
|
+
- @talismn/balances@0.1.12
|
10
|
+
- @talismn/chaindata-provider@0.1.6
|
11
|
+
- @talismn/balances-evm-erc20@0.1.12
|
12
|
+
- @talismn/balances-evm-native@0.1.12
|
13
|
+
- @talismn/balances-example@0.1.12
|
14
|
+
- @talismn/balances-substrate-native@0.1.12
|
15
|
+
- @talismn/balances-substrate-orml@0.1.12
|
16
|
+
- @talismn/chain-connector@0.1.6
|
17
|
+
- @talismn/chaindata-provider-extension@0.1.6
|
18
|
+
|
19
|
+
## 0.1.11
|
20
|
+
|
21
|
+
### Patch Changes
|
22
|
+
|
23
|
+
- Updated dependencies [9cefc14]
|
24
|
+
- @talismn/balances-evm-erc20@0.1.11
|
25
|
+
- @talismn/balances@0.1.11
|
26
|
+
- @talismn/balances-evm-native@0.1.11
|
27
|
+
- @talismn/balances-example@0.1.11
|
28
|
+
- @talismn/balances-substrate-native@0.1.11
|
29
|
+
- @talismn/balances-substrate-orml@0.1.11
|
30
|
+
|
3
31
|
## 0.1.10
|
4
32
|
|
5
33
|
### Patch Changes
|
@@ -16,6 +16,7 @@ import { useEffect, useState } from "react";
|
|
16
16
|
import { useDebounce } from "react-use";
|
17
17
|
import log from "../log";
|
18
18
|
import { useChains, useEvmNetworks, useTokens } from "./useChaindata";
|
19
|
+
import { useTokenRates } from "./useTokenRates";
|
19
20
|
export function useBalances(
|
20
21
|
// TODO: Make this array of BalanceModules more type-safe
|
21
22
|
balanceModules, chaindataProvider, addressesByToken) {
|
@@ -23,6 +24,7 @@ balanceModules, chaindataProvider, addressesByToken) {
|
|
23
24
|
const chains = useChains(chaindataProvider);
|
24
25
|
const evmNetworks = useEvmNetworks(chaindataProvider);
|
25
26
|
const tokens = useTokens(chaindataProvider);
|
27
|
+
const tokenRates = useTokenRates(tokens);
|
26
28
|
const balances = useLiveQuery(() => __awaiter(this, void 0, void 0, function* () {
|
27
29
|
return new Balances(yield db.balances
|
28
30
|
.filter((balance) => {
|
@@ -36,8 +38,8 @@ balanceModules, chaindataProvider, addressesByToken) {
|
|
36
38
|
return false;
|
37
39
|
return true;
|
38
40
|
})
|
39
|
-
.toArray(), { chains, evmNetworks, tokens });
|
40
|
-
}), [balanceModules, addressesByToken, chains, evmNetworks, tokens]);
|
41
|
+
.toArray(), { chains, evmNetworks, tokens, tokenRates });
|
42
|
+
}), [balanceModules, addressesByToken, chains, evmNetworks, tokens, tokenRates]);
|
41
43
|
// debounce every 100ms to prevent hammering UI with updates
|
42
44
|
const [debouncedBalances, setDebouncedBalances] = useState(balances);
|
43
45
|
useDebounce(() => balances && setDebouncedBalances(balances), 100, [balances]);
|
@@ -0,0 +1,20 @@
|
|
1
|
+
import { fetchTokenRates } from "@talismn/token-rates";
|
2
|
+
import { useEffect, useRef, useState } from "react";
|
3
|
+
export function useTokenRates(tokens) {
|
4
|
+
const generation = useRef(0);
|
5
|
+
const [tokenRates, setTokenRates] = useState();
|
6
|
+
useEffect(() => {
|
7
|
+
if (!tokens)
|
8
|
+
return;
|
9
|
+
// when we make a new request, we want to ignore any old requests which haven't yet completed
|
10
|
+
// otherwise we risk replacing the most recent data with older data
|
11
|
+
generation.current = (generation.current + 1) % Number.MAX_SAFE_INTEGER;
|
12
|
+
const thisGeneration = generation.current;
|
13
|
+
fetchTokenRates(tokens).then((tokenRates) => {
|
14
|
+
if (thisGeneration !== generation.current)
|
15
|
+
return;
|
16
|
+
setTokenRates(tokenRates);
|
17
|
+
});
|
18
|
+
}, [tokens]);
|
19
|
+
return tokenRates || {};
|
20
|
+
}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@talismn/balances-react",
|
3
|
-
"version": "0.1.
|
3
|
+
"version": "0.1.12",
|
4
4
|
"author": "Talisman",
|
5
5
|
"homepage": "https://talisman.xyz",
|
6
6
|
"license": "UNLICENSED",
|
@@ -30,15 +30,15 @@
|
|
30
30
|
"clean": "rm -rf dist && rm -rf .turbo rm -rf node_modules"
|
31
31
|
},
|
32
32
|
"dependencies": {
|
33
|
-
"@talismn/balances": "^0.1.
|
34
|
-
"@talismn/balances-evm-erc20": "^0.1.
|
35
|
-
"@talismn/balances-evm-native": "^0.1.
|
36
|
-
"@talismn/balances-example": "^0.1.
|
37
|
-
"@talismn/balances-substrate-native": "^0.1.
|
38
|
-
"@talismn/balances-substrate-orml": "^0.1.
|
39
|
-
"@talismn/chain-connector": "^0.1.
|
40
|
-
"@talismn/chaindata-provider": "^0.1.
|
41
|
-
"@talismn/chaindata-provider-extension": "^0.1.
|
33
|
+
"@talismn/balances": "^0.1.12",
|
34
|
+
"@talismn/balances-evm-erc20": "^0.1.12",
|
35
|
+
"@talismn/balances-evm-native": "^0.1.12",
|
36
|
+
"@talismn/balances-example": "^0.1.12",
|
37
|
+
"@talismn/balances-substrate-native": "^0.1.12",
|
38
|
+
"@talismn/balances-substrate-orml": "^0.1.12",
|
39
|
+
"@talismn/chain-connector": "^0.1.6",
|
40
|
+
"@talismn/chaindata-provider": "^0.1.6",
|
41
|
+
"@talismn/chaindata-provider-extension": "^0.1.6",
|
42
42
|
"anylogger": "^1.0.11",
|
43
43
|
"dexie": "^3.2.2",
|
44
44
|
"dexie-react-hooks": "^1.1.1",
|