@talismn/balances-react 0.1.8 → 0.1.9
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 +16 -0
- package/dist/hooks/useBalances.js +15 -4
- package/package.json +10 -10
package/CHANGELOG.md
CHANGED
@@ -1,5 +1,21 @@
|
|
1
1
|
# @talismn/balances-react
|
2
2
|
|
3
|
+
## 0.1.9
|
4
|
+
|
5
|
+
### Patch Changes
|
6
|
+
|
7
|
+
- d66c5bc: fix: evm native tokens
|
8
|
+
- Updated dependencies [d66c5bc]
|
9
|
+
- @talismn/balances@0.1.9
|
10
|
+
- @talismn/balances-evm-native@0.1.9
|
11
|
+
- @talismn/balances-example@0.1.9
|
12
|
+
- @talismn/balances-substrate-native@0.1.9
|
13
|
+
- @talismn/balances-substrate-orml@0.1.9
|
14
|
+
- @talismn/chaindata-provider@0.1.5
|
15
|
+
- @talismn/balances-evm-erc20@0.1.9
|
16
|
+
- @talismn/chain-connector@0.1.5
|
17
|
+
- @talismn/chaindata-provider-extension@0.1.5
|
18
|
+
|
3
19
|
## 0.1.8
|
4
20
|
|
5
21
|
### Patch Changes
|
@@ -9,6 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
9
9
|
};
|
10
10
|
import { Balances, balances as balancesFn, } from "@talismn/balances";
|
11
11
|
import { ChainConnector } from "@talismn/chain-connector";
|
12
|
+
import { ChainConnectorEvm } from "@talismn/chain-connector-evm";
|
12
13
|
import { Dexie } from "dexie";
|
13
14
|
import { useLiveQuery } from "dexie-react-hooks";
|
14
15
|
import { useEffect, useState } from "react";
|
@@ -53,12 +54,12 @@ balanceModules, chaindataProvider, addressesByToken) {
|
|
53
54
|
// const subscriptions = useRef<
|
54
55
|
// Record<string, { unsub: Promise<() => void>; refcount: number; generation: number }>
|
55
56
|
// >({})
|
56
|
-
const addSubscription = (key, balanceModule,
|
57
|
+
const addSubscription = (key, balanceModule, chainConnectors, chaindataProvider, addressesByToken) => {
|
57
58
|
var _a;
|
58
59
|
// create subscription if it doesn't already exist
|
59
60
|
if (!subscriptions[key] || subscriptions[key].refcount === 0) {
|
60
61
|
const generation = ((((_a = subscriptions[key]) === null || _a === void 0 ? void 0 : _a.generation) || 0) + 1) % Number.MAX_SAFE_INTEGER;
|
61
|
-
const unsub = balancesFn(balanceModule,
|
62
|
+
const unsub = balancesFn(balanceModule, chainConnectors, chaindataProvider, addressesByToken, (error, balances) => {
|
62
63
|
if (error)
|
63
64
|
return log.error(`Failed to fetch ${balanceModule.type} balances`, error);
|
64
65
|
if (!balances)
|
@@ -102,9 +103,12 @@ balanceModules, chaindataProvider, addressesByToken) {
|
|
102
103
|
}
|
103
104
|
};
|
104
105
|
const chainConnector = useChainConnector(chaindataProvider);
|
106
|
+
const chainConnectorEvm = useChainConnectorEvm();
|
105
107
|
useEffect(() => {
|
106
108
|
if (chainConnector === null)
|
107
109
|
return;
|
110
|
+
if (chainConnectorEvm === null)
|
111
|
+
return;
|
108
112
|
if (chaindataProvider === null)
|
109
113
|
return;
|
110
114
|
if (addressesByToken === null)
|
@@ -112,13 +116,13 @@ balanceModules, chaindataProvider, addressesByToken) {
|
|
112
116
|
const unsubs = balanceModules.map((balanceModule) => {
|
113
117
|
const subscriptionKey = `${balanceModule.type}-${JSON.stringify(addressesByToken)}`;
|
114
118
|
// add balance subscription for this module
|
115
|
-
addSubscription(subscriptionKey, balanceModule, chainConnector, chaindataProvider, addressesByToken);
|
119
|
+
addSubscription(subscriptionKey, balanceModule, { substrate: chainConnector, evm: chainConnectorEvm }, chaindataProvider, addressesByToken);
|
116
120
|
// return an unsub method, to be called when this effect unmounts
|
117
121
|
return () => removeSubscription(subscriptionKey, balanceModule, addressesByToken);
|
118
122
|
});
|
119
123
|
const unsubAll = () => unsubs.forEach((unsub) => unsub());
|
120
124
|
return unsubAll;
|
121
|
-
}, [addressesByToken, chainConnector]);
|
125
|
+
}, [addressesByToken, chainConnector, chainConnectorEvm]);
|
122
126
|
}
|
123
127
|
// TODO: Allow advanced users of this library to provide their own chain connector
|
124
128
|
function useChainConnector(chaindataProvider) {
|
@@ -130,6 +134,13 @@ function useChainConnector(chaindataProvider) {
|
|
130
134
|
}, [chaindataProvider]);
|
131
135
|
return chainConnector;
|
132
136
|
}
|
137
|
+
function useChainConnectorEvm() {
|
138
|
+
const [chainConnectorEvm, setChainConnectorEvm] = useState(null);
|
139
|
+
useEffect(() => {
|
140
|
+
setChainConnectorEvm(new ChainConnectorEvm());
|
141
|
+
}, []);
|
142
|
+
return chainConnectorEvm;
|
143
|
+
}
|
133
144
|
export class BalancesDatabase extends Dexie {
|
134
145
|
constructor() {
|
135
146
|
super("Balances");
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@talismn/balances-react",
|
3
|
-
"version": "0.1.
|
3
|
+
"version": "0.1.9",
|
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.9",
|
34
|
+
"@talismn/balances-evm-erc20": "^0.1.9",
|
35
|
+
"@talismn/balances-evm-native": "^0.1.9",
|
36
|
+
"@talismn/balances-example": "^0.1.9",
|
37
|
+
"@talismn/balances-substrate-native": "^0.1.9",
|
38
|
+
"@talismn/balances-substrate-orml": "^0.1.9",
|
39
|
+
"@talismn/chain-connector": "^0.1.5",
|
40
|
+
"@talismn/chaindata-provider": "^0.1.5",
|
41
|
+
"@talismn/chaindata-provider-extension": "^0.1.5",
|
42
42
|
"anylogger": "^1.0.11",
|
43
43
|
"dexie": "^3.2.2",
|
44
44
|
"dexie-react-hooks": "^1.1.1",
|