@talismn/balances-react 0.0.0-pr524-20230214074757 → 0.0.0-pr524-20230215174852

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,18 +1,37 @@
1
1
  # @talismn/balances-react
2
2
 
3
- ## 0.0.0-pr524-20230214074757
3
+ ## 0.0.0-pr524-20230215174852
4
4
 
5
5
  ### Patch Changes
6
6
 
7
- - 8adc7f0: feat: switched build tool to preconstruct
8
7
  - Updated dependencies [87a1348]
9
- - Updated dependencies [8adc7f0]
10
- - @talismn/chaindata-provider-extension@0.0.0-pr524-20230214074757
11
- - @talismn/chaindata-provider@0.0.0-pr524-20230214074757
12
- - @talismn/chain-connector-evm@0.0.0-pr524-20230214074757
13
- - @talismn/chain-connector@0.0.0-pr524-20230214074757
14
- - @talismn/token-rates@0.0.0-pr524-20230214074757
15
- - @talismn/balances@0.0.0-pr524-20230214074757
8
+ - @talismn/chaindata-provider-extension@0.0.0-pr524-20230215174852
9
+ - @talismn/chaindata-provider@0.0.0-pr524-20230215174852
10
+ - @talismn/balances@0.0.0-pr524-20230215174852
11
+ - @talismn/chain-connector@0.0.0-pr524-20230215174852
12
+ - @talismn/chain-connector-evm@0.0.0-pr524-20230215174852
13
+ - @talismn/token-rates@0.0.0-pr524-20230215174852
14
+
15
+ ## 0.3.2
16
+
17
+ ### Patch Changes
18
+
19
+ - 62d7a783: fix: allow @talismn/balances-react users to specify onfinality api key
20
+ - @talismn/balances@0.3.2
21
+
22
+ ## 0.3.1
23
+
24
+ ### Patch Changes
25
+
26
+ - 8adc7f06: feat: switched build tool to preconstruct
27
+ - Updated dependencies [8adc7f06]
28
+ - Updated dependencies [cfe8d276]
29
+ - @talismn/chaindata-provider-extension@0.4.1
30
+ - @talismn/chain-connector-evm@0.4.1
31
+ - @talismn/chaindata-provider@0.4.1
32
+ - @talismn/chain-connector@0.4.1
33
+ - @talismn/token-rates@0.1.13
34
+ - @talismn/balances@0.3.1
16
35
 
17
36
  ## 0.3.0
18
37
 
@@ -1,3 +1,6 @@
1
1
  import { AddressesByToken, BalanceModule, Balances } from "@talismn/balances";
2
2
  import { ChaindataProvider, Token } from "@talismn/chaindata-provider";
3
- export declare function useBalances(balanceModules: Array<BalanceModule<any, any, any, any>>, chaindataProvider: ChaindataProvider | null, addressesByToken: AddressesByToken<Token> | null): Balances | undefined;
3
+ export type Options = {
4
+ onfinalityApiKey?: string;
5
+ };
6
+ export declare function useBalances(balanceModules: Array<BalanceModule<any, any, any, any>>, chaindataProvider: ChaindataProvider | null, addressesByToken: AddressesByToken<Token> | null, options?: Options): Balances | undefined;
@@ -1,5 +1,8 @@
1
1
  import { Chain, ChainId, ChainList, ChaindataProvider, EvmNetwork, EvmNetworkId, EvmNetworkList, Token, TokenId, TokenList } from "@talismn/chaindata-provider";
2
- export declare function useChaindata(): (ChaindataProvider & {
2
+ export type Options = {
3
+ onfinalityApiKey?: string;
4
+ };
5
+ export declare function useChaindata(options?: Options): (ChaindataProvider & {
3
6
  generation?: number | undefined;
4
7
  }) | null;
5
8
  export declare function useChains(chaindata: (ChaindataProvider & {
@@ -18,7 +18,7 @@ var anylogger__default = /*#__PURE__*/_interopDefault(anylogger);
18
18
 
19
19
  var packageJson = {
20
20
  name: "@talismn/balances-react",
21
- version: "0.0.0-pr524-20230214074757",
21
+ version: "0.0.0-pr524-20230215174852",
22
22
  author: "Talisman",
23
23
  homepage: "https://talisman.xyz",
24
24
  license: "UNLICENSED",
@@ -81,14 +81,15 @@ var packageJson = {
81
81
  var log = anylogger__default["default"](packageJson.name);
82
82
 
83
83
  // TODO: Allow user to call useChaindata from multiple places
84
-
85
- function useChaindata() {
84
+ function useChaindata(options = {}) {
86
85
  const [chaindataProvider, setChaindataProvider] = react.useState(null);
87
86
 
88
87
  // this number is incremented each time the chaindataProvider has fetched new data
89
88
  const [generation, setGeneration] = react.useState(0);
90
89
  react.useEffect(() => {
91
- const chaindataProvider = new chaindataProviderExtension.ChaindataProviderExtension();
90
+ const chaindataProvider = new chaindataProviderExtension.ChaindataProviderExtension({
91
+ onfinalityApiKey: options.onfinalityApiKey
92
+ });
92
93
  let shouldHydrate = true;
93
94
  const timer = 300_000; // 300_000ms = 300s = 5 minutes
94
95
  const hydrate = async () => {
@@ -108,7 +109,7 @@ function useChaindata() {
108
109
  return () => {
109
110
  shouldHydrate = false;
110
111
  };
111
- }, []);
112
+ }, [options.onfinalityApiKey]);
112
113
  if (chaindataProvider) chaindataProvider.generation = generation;
113
114
  return chaindataProvider;
114
115
  }
@@ -121,7 +122,7 @@ function useChains(chaindata) {
121
122
  if (thisGeneration !== chaindata.generation) return;
122
123
  setChains(chains);
123
124
  });
124
- }, [chaindata === null || chaindata === void 0 ? void 0 : chaindata.generation]);
125
+ }, [chaindata, chaindata === null || chaindata === void 0 ? void 0 : chaindata.generation]);
125
126
  return chains || {};
126
127
  }
127
128
  function useChain(chaindata, chainId) {
@@ -130,7 +131,7 @@ function useChain(chaindata, chainId) {
130
131
  if (chaindata === null) return;
131
132
  if (!chainId) return;
132
133
  chaindata.getChain(chainId).then(setChain);
133
- }, [chaindata === null || chaindata === void 0 ? void 0 : chaindata.generation]);
134
+ }, [chainId, chaindata, chaindata === null || chaindata === void 0 ? void 0 : chaindata.generation]);
134
135
  return chain;
135
136
  }
136
137
  function useEvmNetworks(chaindata) {
@@ -142,7 +143,7 @@ function useEvmNetworks(chaindata) {
142
143
  if (thisGeneration !== chaindata.generation) return;
143
144
  setEvmNetworks(evmNetworks);
144
145
  });
145
- }, [chaindata === null || chaindata === void 0 ? void 0 : chaindata.generation]);
146
+ }, [chaindata, chaindata === null || chaindata === void 0 ? void 0 : chaindata.generation]);
146
147
  return evmNetworks || {};
147
148
  }
148
149
  function useEvmNetwork(chaindata, evmNetworkId) {
@@ -151,7 +152,7 @@ function useEvmNetwork(chaindata, evmNetworkId) {
151
152
  if (chaindata === null) return;
152
153
  if (!evmNetworkId) return;
153
154
  chaindata.getEvmNetwork(evmNetworkId).then(setEvmNetwork);
154
- }, [chaindata === null || chaindata === void 0 ? void 0 : chaindata.generation]);
155
+ }, [chaindata, chaindata === null || chaindata === void 0 ? void 0 : chaindata.generation, evmNetworkId]);
155
156
  return evmNetwork;
156
157
  }
157
158
  function useTokens(chaindata) {
@@ -163,7 +164,7 @@ function useTokens(chaindata) {
163
164
  if (thisGeneration !== chaindata.generation) return;
164
165
  setTokens(tokens);
165
166
  });
166
- }, [chaindata === null || chaindata === void 0 ? void 0 : chaindata.generation]);
167
+ }, [chaindata, chaindata === null || chaindata === void 0 ? void 0 : chaindata.generation]);
167
168
  return tokens || {};
168
169
  }
169
170
  function useToken(chaindata, tokenId) {
@@ -172,7 +173,7 @@ function useToken(chaindata, tokenId) {
172
173
  if (chaindata === null) return;
173
174
  if (!tokenId) return;
174
175
  chaindata.getToken(tokenId).then(setToken);
175
- }, [chaindata === null || chaindata === void 0 ? void 0 : chaindata.generation]);
176
+ }, [chaindata, chaindata === null || chaindata === void 0 ? void 0 : chaindata.generation, tokenId]);
176
177
  return token;
177
178
  }
178
179
 
@@ -205,8 +206,8 @@ function useTokenRates(tokens) {
205
206
  // the caller of useChains/useTokens/etc has provided.
206
207
  function useBalances(
207
208
  // TODO: Make this array of BalanceModules more type-safe
208
- balanceModules, chaindataProvider, addressesByToken) {
209
- useBalancesSubscriptions(balanceModules, chaindataProvider, addressesByToken);
209
+ balanceModules, chaindataProvider, addressesByToken, options = {}) {
210
+ useBalancesSubscriptions(balanceModules, chaindataProvider, addressesByToken, options);
210
211
  const chains = useChains(chaindataProvider);
211
212
  const evmNetworks = useEvmNetworks(chaindataProvider);
212
213
  const tokens = useTokens(chaindataProvider);
@@ -251,7 +252,7 @@ const subscriptions = {};
251
252
  // balance subscriptions
252
253
  function useBalancesSubscriptions(
253
254
  // TODO: Make this array of BalanceModules more type-safe
254
- balanceModules, chaindataProvider, addressesByToken) {
255
+ balanceModules, chaindataProvider, addressesByToken, options = {}) {
255
256
  // const subscriptions = useRef<
256
257
  // Record<string, { unsub: Promise<() => void>; refcount: number; generation: number }>
257
258
  // >({})
@@ -308,7 +309,7 @@ balanceModules, chaindataProvider, addressesByToken) {
308
309
  }
309
310
  };
310
311
  const chainConnector = useChainConnector(chaindataProvider);
311
- const chainConnectorEvm = useChainConnectorEvm(chaindataProvider);
312
+ const chainConnectorEvm = useChainConnectorEvm(chaindataProvider, options);
312
313
  const tokens = useTokens(chaindataProvider);
313
314
  react.useEffect(() => {
314
315
  if (chainConnector === null) return;
@@ -337,7 +338,7 @@ balanceModules, chaindataProvider, addressesByToken) {
337
338
  });
338
339
  const unsubAll = () => unsubs.forEach(unsub => unsub());
339
340
  return unsubAll;
340
- }, [addressesByToken, chainConnector, chainConnectorEvm, chaindataProvider, tokens]);
341
+ }, [addressesByToken, balanceModules, chainConnector, chainConnectorEvm, chaindataProvider, tokens]);
341
342
  }
342
343
 
343
344
  // TODO: Allow advanced users of this library to provide their own chain connector
@@ -350,12 +351,14 @@ function useChainConnector(chaindataProvider) {
350
351
  return chainConnector$1;
351
352
  }
352
353
  // TODO: Allow advanced users of this library to provide their own chain connector
353
- function useChainConnectorEvm(chaindataProvider) {
354
+ function useChainConnectorEvm(chaindataProvider, options = {}) {
354
355
  const [chainConnectorEvm$1, setChainConnectorEvm] = react.useState(null);
355
356
  react.useEffect(() => {
356
357
  if (chaindataProvider === null) return;
357
- setChainConnectorEvm(new chainConnectorEvm.ChainConnectorEvm(chaindataProvider));
358
- }, [chaindataProvider]);
358
+ setChainConnectorEvm(new chainConnectorEvm.ChainConnectorEvm(chaindataProvider, {
359
+ onfinalityApiKey: options.onfinalityApiKey
360
+ }));
361
+ }, [chaindataProvider, options.onfinalityApiKey]);
359
362
  return chainConnectorEvm$1;
360
363
  }
361
364
 
@@ -18,7 +18,7 @@ var anylogger__default = /*#__PURE__*/_interopDefault(anylogger);
18
18
 
19
19
  var packageJson = {
20
20
  name: "@talismn/balances-react",
21
- version: "0.0.0-pr524-20230214074757",
21
+ version: "0.0.0-pr524-20230215174852",
22
22
  author: "Talisman",
23
23
  homepage: "https://talisman.xyz",
24
24
  license: "UNLICENSED",
@@ -81,14 +81,15 @@ var packageJson = {
81
81
  var log = anylogger__default["default"](packageJson.name);
82
82
 
83
83
  // TODO: Allow user to call useChaindata from multiple places
84
-
85
- function useChaindata() {
84
+ function useChaindata(options = {}) {
86
85
  const [chaindataProvider, setChaindataProvider] = react.useState(null);
87
86
 
88
87
  // this number is incremented each time the chaindataProvider has fetched new data
89
88
  const [generation, setGeneration] = react.useState(0);
90
89
  react.useEffect(() => {
91
- const chaindataProvider = new chaindataProviderExtension.ChaindataProviderExtension();
90
+ const chaindataProvider = new chaindataProviderExtension.ChaindataProviderExtension({
91
+ onfinalityApiKey: options.onfinalityApiKey
92
+ });
92
93
  let shouldHydrate = true;
93
94
  const timer = 300_000; // 300_000ms = 300s = 5 minutes
94
95
  const hydrate = async () => {
@@ -108,7 +109,7 @@ function useChaindata() {
108
109
  return () => {
109
110
  shouldHydrate = false;
110
111
  };
111
- }, []);
112
+ }, [options.onfinalityApiKey]);
112
113
  if (chaindataProvider) chaindataProvider.generation = generation;
113
114
  return chaindataProvider;
114
115
  }
@@ -121,7 +122,7 @@ function useChains(chaindata) {
121
122
  if (thisGeneration !== chaindata.generation) return;
122
123
  setChains(chains);
123
124
  });
124
- }, [chaindata === null || chaindata === void 0 ? void 0 : chaindata.generation]);
125
+ }, [chaindata, chaindata === null || chaindata === void 0 ? void 0 : chaindata.generation]);
125
126
  return chains || {};
126
127
  }
127
128
  function useChain(chaindata, chainId) {
@@ -130,7 +131,7 @@ function useChain(chaindata, chainId) {
130
131
  if (chaindata === null) return;
131
132
  if (!chainId) return;
132
133
  chaindata.getChain(chainId).then(setChain);
133
- }, [chaindata === null || chaindata === void 0 ? void 0 : chaindata.generation]);
134
+ }, [chainId, chaindata, chaindata === null || chaindata === void 0 ? void 0 : chaindata.generation]);
134
135
  return chain;
135
136
  }
136
137
  function useEvmNetworks(chaindata) {
@@ -142,7 +143,7 @@ function useEvmNetworks(chaindata) {
142
143
  if (thisGeneration !== chaindata.generation) return;
143
144
  setEvmNetworks(evmNetworks);
144
145
  });
145
- }, [chaindata === null || chaindata === void 0 ? void 0 : chaindata.generation]);
146
+ }, [chaindata, chaindata === null || chaindata === void 0 ? void 0 : chaindata.generation]);
146
147
  return evmNetworks || {};
147
148
  }
148
149
  function useEvmNetwork(chaindata, evmNetworkId) {
@@ -151,7 +152,7 @@ function useEvmNetwork(chaindata, evmNetworkId) {
151
152
  if (chaindata === null) return;
152
153
  if (!evmNetworkId) return;
153
154
  chaindata.getEvmNetwork(evmNetworkId).then(setEvmNetwork);
154
- }, [chaindata === null || chaindata === void 0 ? void 0 : chaindata.generation]);
155
+ }, [chaindata, chaindata === null || chaindata === void 0 ? void 0 : chaindata.generation, evmNetworkId]);
155
156
  return evmNetwork;
156
157
  }
157
158
  function useTokens(chaindata) {
@@ -163,7 +164,7 @@ function useTokens(chaindata) {
163
164
  if (thisGeneration !== chaindata.generation) return;
164
165
  setTokens(tokens);
165
166
  });
166
- }, [chaindata === null || chaindata === void 0 ? void 0 : chaindata.generation]);
167
+ }, [chaindata, chaindata === null || chaindata === void 0 ? void 0 : chaindata.generation]);
167
168
  return tokens || {};
168
169
  }
169
170
  function useToken(chaindata, tokenId) {
@@ -172,7 +173,7 @@ function useToken(chaindata, tokenId) {
172
173
  if (chaindata === null) return;
173
174
  if (!tokenId) return;
174
175
  chaindata.getToken(tokenId).then(setToken);
175
- }, [chaindata === null || chaindata === void 0 ? void 0 : chaindata.generation]);
176
+ }, [chaindata, chaindata === null || chaindata === void 0 ? void 0 : chaindata.generation, tokenId]);
176
177
  return token;
177
178
  }
178
179
 
@@ -205,8 +206,8 @@ function useTokenRates(tokens) {
205
206
  // the caller of useChains/useTokens/etc has provided.
206
207
  function useBalances(
207
208
  // TODO: Make this array of BalanceModules more type-safe
208
- balanceModules, chaindataProvider, addressesByToken) {
209
- useBalancesSubscriptions(balanceModules, chaindataProvider, addressesByToken);
209
+ balanceModules, chaindataProvider, addressesByToken, options = {}) {
210
+ useBalancesSubscriptions(balanceModules, chaindataProvider, addressesByToken, options);
210
211
  const chains = useChains(chaindataProvider);
211
212
  const evmNetworks = useEvmNetworks(chaindataProvider);
212
213
  const tokens = useTokens(chaindataProvider);
@@ -251,7 +252,7 @@ const subscriptions = {};
251
252
  // balance subscriptions
252
253
  function useBalancesSubscriptions(
253
254
  // TODO: Make this array of BalanceModules more type-safe
254
- balanceModules, chaindataProvider, addressesByToken) {
255
+ balanceModules, chaindataProvider, addressesByToken, options = {}) {
255
256
  // const subscriptions = useRef<
256
257
  // Record<string, { unsub: Promise<() => void>; refcount: number; generation: number }>
257
258
  // >({})
@@ -308,7 +309,7 @@ balanceModules, chaindataProvider, addressesByToken) {
308
309
  }
309
310
  };
310
311
  const chainConnector = useChainConnector(chaindataProvider);
311
- const chainConnectorEvm = useChainConnectorEvm(chaindataProvider);
312
+ const chainConnectorEvm = useChainConnectorEvm(chaindataProvider, options);
312
313
  const tokens = useTokens(chaindataProvider);
313
314
  react.useEffect(() => {
314
315
  if (chainConnector === null) return;
@@ -337,7 +338,7 @@ balanceModules, chaindataProvider, addressesByToken) {
337
338
  });
338
339
  const unsubAll = () => unsubs.forEach(unsub => unsub());
339
340
  return unsubAll;
340
- }, [addressesByToken, chainConnector, chainConnectorEvm, chaindataProvider, tokens]);
341
+ }, [addressesByToken, balanceModules, chainConnector, chainConnectorEvm, chaindataProvider, tokens]);
341
342
  }
342
343
 
343
344
  // TODO: Allow advanced users of this library to provide their own chain connector
@@ -350,12 +351,14 @@ function useChainConnector(chaindataProvider) {
350
351
  return chainConnector$1;
351
352
  }
352
353
  // TODO: Allow advanced users of this library to provide their own chain connector
353
- function useChainConnectorEvm(chaindataProvider) {
354
+ function useChainConnectorEvm(chaindataProvider, options = {}) {
354
355
  const [chainConnectorEvm$1, setChainConnectorEvm] = react.useState(null);
355
356
  react.useEffect(() => {
356
357
  if (chaindataProvider === null) return;
357
- setChainConnectorEvm(new chainConnectorEvm.ChainConnectorEvm(chaindataProvider));
358
- }, [chaindataProvider]);
358
+ setChainConnectorEvm(new chainConnectorEvm.ChainConnectorEvm(chaindataProvider, {
359
+ onfinalityApiKey: options.onfinalityApiKey
360
+ }));
361
+ }, [chaindataProvider, options.onfinalityApiKey]);
359
362
  return chainConnectorEvm$1;
360
363
  }
361
364
 
@@ -10,7 +10,7 @@ import { fetchTokenRates } from '@talismn/token-rates';
10
10
 
11
11
  var packageJson = {
12
12
  name: "@talismn/balances-react",
13
- version: "0.0.0-pr524-20230214074757",
13
+ version: "0.0.0-pr524-20230215174852",
14
14
  author: "Talisman",
15
15
  homepage: "https://talisman.xyz",
16
16
  license: "UNLICENSED",
@@ -73,14 +73,15 @@ var packageJson = {
73
73
  var log = anylogger(packageJson.name);
74
74
 
75
75
  // TODO: Allow user to call useChaindata from multiple places
76
-
77
- function useChaindata() {
76
+ function useChaindata(options = {}) {
78
77
  const [chaindataProvider, setChaindataProvider] = useState(null);
79
78
 
80
79
  // this number is incremented each time the chaindataProvider has fetched new data
81
80
  const [generation, setGeneration] = useState(0);
82
81
  useEffect(() => {
83
- const chaindataProvider = new ChaindataProviderExtension();
82
+ const chaindataProvider = new ChaindataProviderExtension({
83
+ onfinalityApiKey: options.onfinalityApiKey
84
+ });
84
85
  let shouldHydrate = true;
85
86
  const timer = 300_000; // 300_000ms = 300s = 5 minutes
86
87
  const hydrate = async () => {
@@ -100,7 +101,7 @@ function useChaindata() {
100
101
  return () => {
101
102
  shouldHydrate = false;
102
103
  };
103
- }, []);
104
+ }, [options.onfinalityApiKey]);
104
105
  if (chaindataProvider) chaindataProvider.generation = generation;
105
106
  return chaindataProvider;
106
107
  }
@@ -113,7 +114,7 @@ function useChains(chaindata) {
113
114
  if (thisGeneration !== chaindata.generation) return;
114
115
  setChains(chains);
115
116
  });
116
- }, [chaindata === null || chaindata === void 0 ? void 0 : chaindata.generation]);
117
+ }, [chaindata, chaindata === null || chaindata === void 0 ? void 0 : chaindata.generation]);
117
118
  return chains || {};
118
119
  }
119
120
  function useChain(chaindata, chainId) {
@@ -122,7 +123,7 @@ function useChain(chaindata, chainId) {
122
123
  if (chaindata === null) return;
123
124
  if (!chainId) return;
124
125
  chaindata.getChain(chainId).then(setChain);
125
- }, [chaindata === null || chaindata === void 0 ? void 0 : chaindata.generation]);
126
+ }, [chainId, chaindata, chaindata === null || chaindata === void 0 ? void 0 : chaindata.generation]);
126
127
  return chain;
127
128
  }
128
129
  function useEvmNetworks(chaindata) {
@@ -134,7 +135,7 @@ function useEvmNetworks(chaindata) {
134
135
  if (thisGeneration !== chaindata.generation) return;
135
136
  setEvmNetworks(evmNetworks);
136
137
  });
137
- }, [chaindata === null || chaindata === void 0 ? void 0 : chaindata.generation]);
138
+ }, [chaindata, chaindata === null || chaindata === void 0 ? void 0 : chaindata.generation]);
138
139
  return evmNetworks || {};
139
140
  }
140
141
  function useEvmNetwork(chaindata, evmNetworkId) {
@@ -143,7 +144,7 @@ function useEvmNetwork(chaindata, evmNetworkId) {
143
144
  if (chaindata === null) return;
144
145
  if (!evmNetworkId) return;
145
146
  chaindata.getEvmNetwork(evmNetworkId).then(setEvmNetwork);
146
- }, [chaindata === null || chaindata === void 0 ? void 0 : chaindata.generation]);
147
+ }, [chaindata, chaindata === null || chaindata === void 0 ? void 0 : chaindata.generation, evmNetworkId]);
147
148
  return evmNetwork;
148
149
  }
149
150
  function useTokens(chaindata) {
@@ -155,7 +156,7 @@ function useTokens(chaindata) {
155
156
  if (thisGeneration !== chaindata.generation) return;
156
157
  setTokens(tokens);
157
158
  });
158
- }, [chaindata === null || chaindata === void 0 ? void 0 : chaindata.generation]);
159
+ }, [chaindata, chaindata === null || chaindata === void 0 ? void 0 : chaindata.generation]);
159
160
  return tokens || {};
160
161
  }
161
162
  function useToken(chaindata, tokenId) {
@@ -164,7 +165,7 @@ function useToken(chaindata, tokenId) {
164
165
  if (chaindata === null) return;
165
166
  if (!tokenId) return;
166
167
  chaindata.getToken(tokenId).then(setToken);
167
- }, [chaindata === null || chaindata === void 0 ? void 0 : chaindata.generation]);
168
+ }, [chaindata, chaindata === null || chaindata === void 0 ? void 0 : chaindata.generation, tokenId]);
168
169
  return token;
169
170
  }
170
171
 
@@ -197,8 +198,8 @@ function useTokenRates(tokens) {
197
198
  // the caller of useChains/useTokens/etc has provided.
198
199
  function useBalances(
199
200
  // TODO: Make this array of BalanceModules more type-safe
200
- balanceModules, chaindataProvider, addressesByToken) {
201
- useBalancesSubscriptions(balanceModules, chaindataProvider, addressesByToken);
201
+ balanceModules, chaindataProvider, addressesByToken, options = {}) {
202
+ useBalancesSubscriptions(balanceModules, chaindataProvider, addressesByToken, options);
202
203
  const chains = useChains(chaindataProvider);
203
204
  const evmNetworks = useEvmNetworks(chaindataProvider);
204
205
  const tokens = useTokens(chaindataProvider);
@@ -243,7 +244,7 @@ const subscriptions = {};
243
244
  // balance subscriptions
244
245
  function useBalancesSubscriptions(
245
246
  // TODO: Make this array of BalanceModules more type-safe
246
- balanceModules, chaindataProvider, addressesByToken) {
247
+ balanceModules, chaindataProvider, addressesByToken, options = {}) {
247
248
  // const subscriptions = useRef<
248
249
  // Record<string, { unsub: Promise<() => void>; refcount: number; generation: number }>
249
250
  // >({})
@@ -300,7 +301,7 @@ balanceModules, chaindataProvider, addressesByToken) {
300
301
  }
301
302
  };
302
303
  const chainConnector = useChainConnector(chaindataProvider);
303
- const chainConnectorEvm = useChainConnectorEvm(chaindataProvider);
304
+ const chainConnectorEvm = useChainConnectorEvm(chaindataProvider, options);
304
305
  const tokens = useTokens(chaindataProvider);
305
306
  useEffect(() => {
306
307
  if (chainConnector === null) return;
@@ -329,7 +330,7 @@ balanceModules, chaindataProvider, addressesByToken) {
329
330
  });
330
331
  const unsubAll = () => unsubs.forEach(unsub => unsub());
331
332
  return unsubAll;
332
- }, [addressesByToken, chainConnector, chainConnectorEvm, chaindataProvider, tokens]);
333
+ }, [addressesByToken, balanceModules, chainConnector, chainConnectorEvm, chaindataProvider, tokens]);
333
334
  }
334
335
 
335
336
  // TODO: Allow advanced users of this library to provide their own chain connector
@@ -342,12 +343,14 @@ function useChainConnector(chaindataProvider) {
342
343
  return chainConnector;
343
344
  }
344
345
  // TODO: Allow advanced users of this library to provide their own chain connector
345
- function useChainConnectorEvm(chaindataProvider) {
346
+ function useChainConnectorEvm(chaindataProvider, options = {}) {
346
347
  const [chainConnectorEvm, setChainConnectorEvm] = useState(null);
347
348
  useEffect(() => {
348
349
  if (chaindataProvider === null) return;
349
- setChainConnectorEvm(new ChainConnectorEvm(chaindataProvider));
350
- }, [chaindataProvider]);
350
+ setChainConnectorEvm(new ChainConnectorEvm(chaindataProvider, {
351
+ onfinalityApiKey: options.onfinalityApiKey
352
+ }));
353
+ }, [chaindataProvider, options.onfinalityApiKey]);
351
354
  return chainConnectorEvm;
352
355
  }
353
356
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@talismn/balances-react",
3
- "version": "0.0.0-pr524-20230214074757",
3
+ "version": "0.0.0-pr524-20230215174852",
4
4
  "author": "Talisman",
5
5
  "homepage": "https://talisman.xyz",
6
6
  "license": "UNLICENSED",
@@ -26,20 +26,20 @@
26
26
  "clean": "rm -rf dist && rm -rf .turbo rm -rf node_modules"
27
27
  },
28
28
  "dependencies": {
29
- "@talismn/balances": "^0.0.0-pr524-20230214074757",
30
- "@talismn/chain-connector": "^0.0.0-pr524-20230214074757",
31
- "@talismn/chain-connector-evm": "^0.0.0-pr524-20230214074757",
32
- "@talismn/chaindata-provider": "^0.0.0-pr524-20230214074757",
33
- "@talismn/chaindata-provider-extension": "^0.0.0-pr524-20230214074757",
34
- "@talismn/token-rates": "^0.0.0-pr524-20230214074757",
29
+ "@talismn/balances": "^0.0.0-pr524-20230215174852",
30
+ "@talismn/chain-connector": "^0.0.0-pr524-20230215174852",
31
+ "@talismn/chain-connector-evm": "^0.0.0-pr524-20230215174852",
32
+ "@talismn/chaindata-provider": "^0.0.0-pr524-20230215174852",
33
+ "@talismn/chaindata-provider-extension": "^0.0.0-pr524-20230215174852",
34
+ "@talismn/token-rates": "^0.0.0-pr524-20230215174852",
35
35
  "anylogger": "^1.0.11",
36
36
  "dexie": "^3.2.2",
37
37
  "dexie-react-hooks": "^1.1.1",
38
38
  "react-use": "^17.4.0"
39
39
  },
40
40
  "devDependencies": {
41
- "@talismn/eslint-config": "^0.0.0-pr524-20230214074757",
42
- "@talismn/tsconfig": "^0.0.0-pr524-20230214074757",
41
+ "@talismn/eslint-config": "^0.0.1",
42
+ "@talismn/tsconfig": "^0.0.2",
43
43
  "@types/jest": "^27.5.1",
44
44
  "@types/react": "^18.0.17",
45
45
  "eslint": "^8.4.0",