@talismn/balances-react 0.1.8 → 0.1.10

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 CHANGED
@@ -1,5 +1,33 @@
1
1
  # @talismn/balances-react
2
2
 
3
+ ## 0.1.10
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [850a4d0]
8
+ - @talismn/balances@0.1.10
9
+ - @talismn/balances-evm-native@0.1.10
10
+ - @talismn/balances-evm-erc20@0.1.10
11
+ - @talismn/balances-example@0.1.10
12
+ - @talismn/balances-substrate-native@0.1.10
13
+ - @talismn/balances-substrate-orml@0.1.10
14
+
15
+ ## 0.1.9
16
+
17
+ ### Patch Changes
18
+
19
+ - d66c5bc: fix: evm native tokens
20
+ - Updated dependencies [d66c5bc]
21
+ - @talismn/balances@0.1.9
22
+ - @talismn/balances-evm-native@0.1.9
23
+ - @talismn/balances-example@0.1.9
24
+ - @talismn/balances-substrate-native@0.1.9
25
+ - @talismn/balances-substrate-orml@0.1.9
26
+ - @talismn/chaindata-provider@0.1.5
27
+ - @talismn/balances-evm-erc20@0.1.9
28
+ - @talismn/chain-connector@0.1.5
29
+ - @talismn/chaindata-provider-extension@0.1.5
30
+
3
31
  ## 0.1.8
4
32
 
5
33
  ### 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, chainConnector, chaindataProvider, addressesByToken) => {
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, chainConnector, chaindataProvider, addressesByToken, (error, balances) => {
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.8",
3
+ "version": "0.1.10",
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.8",
34
- "@talismn/balances-evm-erc20": "^0.1.8",
35
- "@talismn/balances-evm-native": "^0.1.8",
36
- "@talismn/balances-example": "^0.1.8",
37
- "@talismn/balances-substrate-native": "^0.1.8",
38
- "@talismn/balances-substrate-orml": "^0.1.8",
39
- "@talismn/chain-connector": "^0.1.4",
40
- "@talismn/chaindata-provider": "^0.1.4",
41
- "@talismn/chaindata-provider-extension": "^0.1.4",
33
+ "@talismn/balances": "^0.1.10",
34
+ "@talismn/balances-evm-erc20": "^0.1.10",
35
+ "@talismn/balances-evm-native": "^0.1.10",
36
+ "@talismn/balances-example": "^0.1.10",
37
+ "@talismn/balances-substrate-native": "^0.1.10",
38
+ "@talismn/balances-substrate-orml": "^0.1.10",
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",