@wagmi/core 0.5.6 → 0.5.8

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.
Files changed (54) hide show
  1. package/chains/dist/wagmi-core-chains.cjs.dev.js +2 -2
  2. package/chains/dist/wagmi-core-chains.cjs.prod.js +2 -2
  3. package/chains/dist/wagmi-core-chains.esm.js +2 -2
  4. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.dev.js +10 -6
  5. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.prod.js +10 -6
  6. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.esm.js +10 -6
  7. package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.cjs.dev.js +3 -3
  8. package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.cjs.prod.js +3 -3
  9. package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.esm.js +3 -3
  10. package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.dev.js +3 -3
  11. package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.prod.js +3 -3
  12. package/connectors/mock/dist/wagmi-core-connectors-mock.esm.js +3 -3
  13. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.dev.js +3 -3
  14. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.prod.js +3 -3
  15. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.esm.js +3 -3
  16. package/dist/{chains-868f0ac6.cjs.prod.js → chains-789e0c2e.cjs.prod.js} +2 -1
  17. package/dist/{chains-a22bcfea.esm.js → chains-8c76af1b.esm.js} +2 -1
  18. package/dist/{chains-4fdb21bc.cjs.dev.js → chains-ec1de502.cjs.dev.js} +2 -1
  19. package/dist/debounce-0862bf88.esm.js +18 -0
  20. package/dist/debounce-2d836dc9.cjs.prod.js +20 -0
  21. package/dist/debounce-46ac0312.cjs.dev.js +20 -0
  22. package/dist/declarations/src/actions/network-status/watchBlockNumber.d.ts +1 -0
  23. package/dist/declarations/src/client.d.ts +11 -1
  24. package/dist/declarations/src/connectors/base.d.ts +1 -0
  25. package/dist/declarations/src/constants/abis.d.ts +148 -0
  26. package/dist/declarations/src/constants/index.d.ts +1 -1
  27. package/dist/declarations/src/constants/rpcs.d.ts +1 -1
  28. package/dist/declarations/src/internal.d.ts +1 -0
  29. package/dist/declarations/src/utils/debounce.d.ts +1 -0
  30. package/dist/declarations/src/utils/index.d.ts +1 -0
  31. package/dist/{getProvider-b220fed1.cjs.prod.js → getProvider-1b3eeda8.cjs.dev.js} +60 -20
  32. package/dist/{getProvider-a3c8cf52.esm.js → getProvider-5b4b62c3.esm.js} +61 -21
  33. package/dist/{getProvider-3a26f086.cjs.dev.js → getProvider-ad4ce6a4.cjs.prod.js} +60 -20
  34. package/dist/{rpcs-6e1b1718.esm.js → rpcs-8d636858.esm.js} +1 -0
  35. package/dist/{rpcs-3326627e.cjs.dev.js → rpcs-d2cd65f1.cjs.dev.js} +1 -0
  36. package/dist/{rpcs-45537550.cjs.prod.js → rpcs-edec227e.cjs.prod.js} +1 -0
  37. package/dist/wagmi-core.cjs.dev.js +294 -63
  38. package/dist/wagmi-core.cjs.prod.js +294 -63
  39. package/dist/wagmi-core.esm.js +297 -66
  40. package/internal/dist/wagmi-core-internal.cjs.d.ts +1 -0
  41. package/internal/dist/wagmi-core-internal.cjs.dev.js +9 -0
  42. package/internal/dist/wagmi-core-internal.cjs.js +7 -0
  43. package/internal/dist/wagmi-core-internal.cjs.prod.js +9 -0
  44. package/internal/dist/wagmi-core-internal.esm.js +1 -0
  45. package/internal/package.json +4 -0
  46. package/package.json +7 -1
  47. package/providers/alchemy/dist/wagmi-core-providers-alchemy.cjs.dev.js +1 -1
  48. package/providers/alchemy/dist/wagmi-core-providers-alchemy.cjs.prod.js +1 -1
  49. package/providers/alchemy/dist/wagmi-core-providers-alchemy.esm.js +1 -1
  50. package/providers/coinbaseNode/dist/wagmi-core-providers-coinbaseNode.cjs.d.ts +11 -0
  51. package/providers/coinbaseNode/dist/wagmi-core-providers-coinbaseNode.cjs.js +16 -0
  52. package/providers/infura/dist/wagmi-core-providers-infura.cjs.dev.js +1 -1
  53. package/providers/infura/dist/wagmi-core-providers-infura.cjs.prod.js +1 -1
  54. package/providers/infura/dist/wagmi-core-providers-infura.esm.js +1 -1
@@ -4,7 +4,7 @@ export declare const defaultInfuraApiKey = "84842078b09946638c03157f83405213";
4
4
  export declare type RpcProviderName = 'alchemy' | 'infura' | 'public';
5
5
  declare type AlchemyChains = Extract<ChainName, 'mainnet' | 'ropsten' | 'rinkeby' | 'goerli' | 'kovan' | 'optimism' | 'optimismKovan' | 'optimismGoerli' | 'polygon' | 'polygonMumbai' | 'arbitrum' | 'arbitrumRinkeby' | 'arbitrumGoerli'>;
6
6
  export declare const alchemyRpcUrls: Record<AlchemyChains, string>;
7
- declare type InfuraChains = Extract<ChainName, 'mainnet' | 'ropsten' | 'rinkeby' | 'goerli' | 'kovan' | 'optimism' | 'optimismKovan' | 'optimismGoerli' | 'polygon' | 'polygonMumbai' | 'arbitrum' | 'arbitrumRinkeby' | 'arbitrumGoerli'>;
7
+ declare type InfuraChains = Extract<ChainName, 'mainnet' | 'ropsten' | 'rinkeby' | 'goerli' | 'kovan' | 'sepolia' | 'optimism' | 'optimismKovan' | 'optimismGoerli' | 'polygon' | 'polygonMumbai' | 'arbitrum' | 'arbitrumRinkeby' | 'arbitrumGoerli'>;
8
8
  export declare const infuraRpcUrls: Record<InfuraChains, string>;
9
9
  declare type PublicChains = Extract<ChainName, 'mainnet' | 'ropsten' | 'rinkeby' | 'goerli' | 'kovan' | 'sepolia' | 'optimism' | 'optimismKovan' | 'optimismGoerli' | 'polygon' | 'polygonMumbai' | 'arbitrum' | 'arbitrumRinkeby' | 'arbitrumGoerli'>;
10
10
  export declare const publicRpcUrls: Record<PublicChains, string>;
@@ -0,0 +1 @@
1
+ export { debounce } from './utils';
@@ -0,0 +1 @@
1
+ export declare function debounce(fn: (...args: any) => void, waitTime?: number): (...args: any) => void;
@@ -1,5 +1,6 @@
1
1
  export { configureChains } from './configureChains';
2
2
  export type { ConfigureChainsConfig } from './configureChains';
3
+ export { debounce } from './debounce';
3
4
  export { deepEqual } from './deepEqual';
4
5
  export { getInjectedName } from './getInjectedName';
5
6
  export { logWarn } from './logger';
@@ -5,7 +5,7 @@ var create = require('zustand/vanilla');
5
5
  var ethers = require('ethers');
6
6
  var utils = require('ethers/lib/utils');
7
7
  var EventEmitter = require('eventemitter3');
8
- var chains = require('./chains-868f0ac6.cjs.prod.js');
8
+ var chains = require('./chains-ec1de502.cjs.dev.js');
9
9
 
10
10
  function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
11
11
 
@@ -785,10 +785,14 @@ class Client {
785
785
 
786
786
  _defineProperty(this, "config", void 0);
787
787
 
788
+ _defineProperty(this, "providers", new Map());
789
+
788
790
  _defineProperty(this, "storage", void 0);
789
791
 
790
792
  _defineProperty(this, "store", void 0);
791
793
 
794
+ _defineProperty(this, "webSocketProviders", new Map());
795
+
792
796
  _classPrivateFieldInitSpec(this, _isAutoConnecting, {
793
797
  writable: true,
794
798
  value: void 0
@@ -799,7 +803,15 @@ class Client {
799
803
  value: void 0
800
804
  });
801
805
 
802
- // Check status for autoConnect flag
806
+ this.config = {
807
+ autoConnect,
808
+ connectors,
809
+ logger,
810
+ provider: _provider,
811
+ storage,
812
+ webSocketProvider: _webSocketProvider
813
+ }; // Check status for autoConnect flag
814
+
803
815
  let status = 'disconnected';
804
816
 
805
817
  let _chainId;
@@ -819,13 +831,13 @@ class Client {
819
831
 
820
832
  this.store = create__default["default"](middleware.subscribeWithSelector(middleware.persist(() => ({
821
833
  connectors: typeof connectors === 'function' ? connectors() : connectors,
822
- provider: typeof _provider === 'function' ? _provider({
834
+ provider: this.getProvider({
823
835
  chainId: _chainId
824
- }) : _provider,
836
+ }),
825
837
  status,
826
- webSocketProvider: typeof _webSocketProvider === 'function' ? _webSocketProvider({
838
+ webSocketProvider: this.getWebSocketProvider({
827
839
  chainId: _chainId
828
- }) : _webSocketProvider
840
+ })
829
841
  }), {
830
842
  name: storeKey,
831
843
  getStorage: () => storage,
@@ -843,14 +855,6 @@ class Client {
843
855
  },
844
856
  version: 1
845
857
  })));
846
- this.config = {
847
- autoConnect,
848
- connectors,
849
- logger,
850
- provider: _provider,
851
- storage,
852
- webSocketProvider: _webSocketProvider
853
- };
854
858
  this.storage = storage;
855
859
 
856
860
  _classPrivateFieldSet(this, _lastUsedConnector, storage === null || storage === void 0 ? void 0 : storage.getItem('wallet'));
@@ -969,6 +973,40 @@ class Client {
969
973
  return this.data;
970
974
  }
971
975
 
976
+ getProvider() {
977
+ let {
978
+ bust,
979
+ chainId
980
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
981
+ let provider_ = this.providers.get(chainId !== null && chainId !== void 0 ? chainId : -1);
982
+ if (provider_ && !bust) return provider_;
983
+ const {
984
+ provider
985
+ } = this.config;
986
+ provider_ = typeof provider === 'function' ? provider({
987
+ chainId
988
+ }) : provider;
989
+ this.providers.set(chainId !== null && chainId !== void 0 ? chainId : -1, provider_);
990
+ return provider_;
991
+ }
992
+
993
+ getWebSocketProvider() {
994
+ let {
995
+ bust,
996
+ chainId
997
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
998
+ let webSocketProvider_ = this.webSocketProviders.get(chainId !== null && chainId !== void 0 ? chainId : -1);
999
+ if (webSocketProvider_ && !bust) return webSocketProvider_;
1000
+ const {
1001
+ webSocketProvider
1002
+ } = this.config;
1003
+ webSocketProvider_ = typeof webSocketProvider === 'function' ? webSocketProvider({
1004
+ chainId
1005
+ }) : webSocketProvider;
1006
+ if (webSocketProvider_) this.webSocketProviders.set(chainId !== null && chainId !== void 0 ? chainId : -1, webSocketProvider_);
1007
+ return webSocketProvider_;
1008
+ }
1009
+
972
1010
  setLastUsedConnector() {
973
1011
  var _this$storage;
974
1012
 
@@ -1028,12 +1066,14 @@ function _addEffects2() {
1028
1066
  return data === null || data === void 0 ? void 0 : (_data$chain2 = data.chain) === null || _data$chain2 === void 0 ? void 0 : _data$chain2.id;
1029
1067
  }, chainId => {
1030
1068
  this.setState(x => ({ ...x,
1031
- provider: subscribeProvider ? provider({
1069
+ provider: this.getProvider({
1070
+ bust: true,
1032
1071
  chainId
1033
- }) : x.provider,
1034
- webSocketProvider: subscribeWebSocketProvider ? webSocketProvider({
1072
+ }),
1073
+ webSocketProvider: this.getWebSocketProvider({
1074
+ bust: true,
1035
1075
  chainId
1036
- }) : x.webSocketProvider
1076
+ })
1037
1077
  }));
1038
1078
  });
1039
1079
  }
@@ -1057,9 +1097,9 @@ function getProvider() {
1057
1097
  chainId
1058
1098
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
1059
1099
  const client = getClient();
1060
- if (chainId && typeof client.config.provider === 'function') return client.config.provider({
1100
+ if (chainId) return client.getProvider({
1061
1101
  chainId
1062
- });
1102
+ }) || client.provider;
1063
1103
  return client.provider;
1064
1104
  }
1065
1105
 
@@ -3,7 +3,7 @@ import create from 'zustand/vanilla';
3
3
  import { providers } from 'ethers';
4
4
  import { getAddress, hexValue } from 'ethers/lib/utils';
5
5
  import EventEmitter from 'eventemitter3';
6
- import { d as defaultChains } from './chains-a22bcfea.esm.js';
6
+ import { d as defaultChains } from './chains-8c76af1b.esm.js';
7
7
 
8
8
  function _checkPrivateRedeclaration(obj, privateCollection) {
9
9
  if (privateCollection.has(obj)) {
@@ -778,10 +778,14 @@ class Client {
778
778
 
779
779
  _defineProperty(this, "config", void 0);
780
780
 
781
+ _defineProperty(this, "providers", new Map());
782
+
781
783
  _defineProperty(this, "storage", void 0);
782
784
 
783
785
  _defineProperty(this, "store", void 0);
784
786
 
787
+ _defineProperty(this, "webSocketProviders", new Map());
788
+
785
789
  _classPrivateFieldInitSpec(this, _isAutoConnecting, {
786
790
  writable: true,
787
791
  value: void 0
@@ -792,7 +796,15 @@ class Client {
792
796
  value: void 0
793
797
  });
794
798
 
795
- // Check status for autoConnect flag
799
+ this.config = {
800
+ autoConnect,
801
+ connectors,
802
+ logger,
803
+ provider: _provider,
804
+ storage,
805
+ webSocketProvider: _webSocketProvider
806
+ }; // Check status for autoConnect flag
807
+
796
808
  let status = 'disconnected';
797
809
 
798
810
  let _chainId;
@@ -812,13 +824,13 @@ class Client {
812
824
 
813
825
  this.store = create(subscribeWithSelector(persist(() => ({
814
826
  connectors: typeof connectors === 'function' ? connectors() : connectors,
815
- provider: typeof _provider === 'function' ? _provider({
827
+ provider: this.getProvider({
816
828
  chainId: _chainId
817
- }) : _provider,
829
+ }),
818
830
  status,
819
- webSocketProvider: typeof _webSocketProvider === 'function' ? _webSocketProvider({
831
+ webSocketProvider: this.getWebSocketProvider({
820
832
  chainId: _chainId
821
- }) : _webSocketProvider
833
+ })
822
834
  }), {
823
835
  name: storeKey,
824
836
  getStorage: () => storage,
@@ -836,14 +848,6 @@ class Client {
836
848
  },
837
849
  version: 1
838
850
  })));
839
- this.config = {
840
- autoConnect,
841
- connectors,
842
- logger,
843
- provider: _provider,
844
- storage,
845
- webSocketProvider: _webSocketProvider
846
- };
847
851
  this.storage = storage;
848
852
 
849
853
  _classPrivateFieldSet(this, _lastUsedConnector, storage === null || storage === void 0 ? void 0 : storage.getItem('wallet'));
@@ -962,6 +966,40 @@ class Client {
962
966
  return this.data;
963
967
  }
964
968
 
969
+ getProvider() {
970
+ let {
971
+ bust,
972
+ chainId
973
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
974
+ let provider_ = this.providers.get(chainId !== null && chainId !== void 0 ? chainId : -1);
975
+ if (provider_ && !bust) return provider_;
976
+ const {
977
+ provider
978
+ } = this.config;
979
+ provider_ = typeof provider === 'function' ? provider({
980
+ chainId
981
+ }) : provider;
982
+ this.providers.set(chainId !== null && chainId !== void 0 ? chainId : -1, provider_);
983
+ return provider_;
984
+ }
985
+
986
+ getWebSocketProvider() {
987
+ let {
988
+ bust,
989
+ chainId
990
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
991
+ let webSocketProvider_ = this.webSocketProviders.get(chainId !== null && chainId !== void 0 ? chainId : -1);
992
+ if (webSocketProvider_ && !bust) return webSocketProvider_;
993
+ const {
994
+ webSocketProvider
995
+ } = this.config;
996
+ webSocketProvider_ = typeof webSocketProvider === 'function' ? webSocketProvider({
997
+ chainId
998
+ }) : webSocketProvider;
999
+ if (webSocketProvider_) this.webSocketProviders.set(chainId !== null && chainId !== void 0 ? chainId : -1, webSocketProvider_);
1000
+ return webSocketProvider_;
1001
+ }
1002
+
965
1003
  setLastUsedConnector() {
966
1004
  var _this$storage;
967
1005
 
@@ -1021,12 +1059,14 @@ function _addEffects2() {
1021
1059
  return data === null || data === void 0 ? void 0 : (_data$chain2 = data.chain) === null || _data$chain2 === void 0 ? void 0 : _data$chain2.id;
1022
1060
  }, chainId => {
1023
1061
  this.setState(x => ({ ...x,
1024
- provider: subscribeProvider ? provider({
1062
+ provider: this.getProvider({
1063
+ bust: true,
1025
1064
  chainId
1026
- }) : x.provider,
1027
- webSocketProvider: subscribeWebSocketProvider ? webSocketProvider({
1065
+ }),
1066
+ webSocketProvider: this.getWebSocketProvider({
1067
+ bust: true,
1028
1068
  chainId
1029
- }) : x.webSocketProvider
1069
+ })
1030
1070
  }));
1031
1071
  });
1032
1072
  }
@@ -1050,10 +1090,10 @@ function getProvider() {
1050
1090
  chainId
1051
1091
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
1052
1092
  const client = getClient();
1053
- if (chainId && typeof client.config.provider === 'function') return client.config.provider({
1093
+ if (chainId) return client.getProvider({
1054
1094
  chainId
1055
- });
1095
+ }) || client.provider;
1056
1096
  return client.provider;
1057
1097
  }
1058
1098
 
1059
- export { AddChainError as A, ConnectorAlreadyConnectedError as C, InjectedConnector as I, ProviderChainsNotFound as P, ResourceUnavailableError as R, SwitchChainNotSupportedError as S, UserRejectedRequestError as U, _classPrivateMethodInitSpec as _, ConnectorNotFoundError as a, ChainMismatchError as b, ContractMethodDoesNotExistError as c, getProvider as d, ChainDoesNotSupportMulticallError as e, ContractMethodRevertedError as f, getClient as g, ContractMethodNoResultError as h, ContractResultDecodeError as i, createClient as j, Client as k, Connector as l, ChainNotConfiguredError as m, normalizeChainId as n, ProviderRpcError as o, RpcError as p, SwitchChainError as q, createStorage as r, noopStorage as s, _defineProperty as t, _classPrivateFieldInitSpec as u, _classPrivateFieldGet as v, _classPrivateFieldSet as w, _classPrivateMethodGet as x };
1099
+ export { AddChainError as A, ConnectorAlreadyConnectedError as C, InjectedConnector as I, ProviderChainsNotFound as P, ResourceUnavailableError as R, SwitchChainNotSupportedError as S, UserRejectedRequestError as U, _classPrivateMethodInitSpec as _, ConnectorNotFoundError as a, ChainMismatchError as b, ContractResultDecodeError as c, ContractMethodDoesNotExistError as d, getProvider as e, ChainDoesNotSupportMulticallError as f, getClient as g, ContractMethodRevertedError as h, ContractMethodNoResultError as i, createClient as j, Client as k, Connector as l, ChainNotConfiguredError as m, normalizeChainId as n, ProviderRpcError as o, RpcError as p, SwitchChainError as q, createStorage as r, noopStorage as s, _defineProperty as t, _classPrivateFieldInitSpec as u, _classPrivateFieldGet as v, _classPrivateFieldSet as w, _classPrivateMethodGet as x };
@@ -5,7 +5,7 @@ var create = require('zustand/vanilla');
5
5
  var ethers = require('ethers');
6
6
  var utils = require('ethers/lib/utils');
7
7
  var EventEmitter = require('eventemitter3');
8
- var chains = require('./chains-4fdb21bc.cjs.dev.js');
8
+ var chains = require('./chains-789e0c2e.cjs.prod.js');
9
9
 
10
10
  function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
11
11
 
@@ -785,10 +785,14 @@ class Client {
785
785
 
786
786
  _defineProperty(this, "config", void 0);
787
787
 
788
+ _defineProperty(this, "providers", new Map());
789
+
788
790
  _defineProperty(this, "storage", void 0);
789
791
 
790
792
  _defineProperty(this, "store", void 0);
791
793
 
794
+ _defineProperty(this, "webSocketProviders", new Map());
795
+
792
796
  _classPrivateFieldInitSpec(this, _isAutoConnecting, {
793
797
  writable: true,
794
798
  value: void 0
@@ -799,7 +803,15 @@ class Client {
799
803
  value: void 0
800
804
  });
801
805
 
802
- // Check status for autoConnect flag
806
+ this.config = {
807
+ autoConnect,
808
+ connectors,
809
+ logger,
810
+ provider: _provider,
811
+ storage,
812
+ webSocketProvider: _webSocketProvider
813
+ }; // Check status for autoConnect flag
814
+
803
815
  let status = 'disconnected';
804
816
 
805
817
  let _chainId;
@@ -819,13 +831,13 @@ class Client {
819
831
 
820
832
  this.store = create__default["default"](middleware.subscribeWithSelector(middleware.persist(() => ({
821
833
  connectors: typeof connectors === 'function' ? connectors() : connectors,
822
- provider: typeof _provider === 'function' ? _provider({
834
+ provider: this.getProvider({
823
835
  chainId: _chainId
824
- }) : _provider,
836
+ }),
825
837
  status,
826
- webSocketProvider: typeof _webSocketProvider === 'function' ? _webSocketProvider({
838
+ webSocketProvider: this.getWebSocketProvider({
827
839
  chainId: _chainId
828
- }) : _webSocketProvider
840
+ })
829
841
  }), {
830
842
  name: storeKey,
831
843
  getStorage: () => storage,
@@ -843,14 +855,6 @@ class Client {
843
855
  },
844
856
  version: 1
845
857
  })));
846
- this.config = {
847
- autoConnect,
848
- connectors,
849
- logger,
850
- provider: _provider,
851
- storage,
852
- webSocketProvider: _webSocketProvider
853
- };
854
858
  this.storage = storage;
855
859
 
856
860
  _classPrivateFieldSet(this, _lastUsedConnector, storage === null || storage === void 0 ? void 0 : storage.getItem('wallet'));
@@ -969,6 +973,40 @@ class Client {
969
973
  return this.data;
970
974
  }
971
975
 
976
+ getProvider() {
977
+ let {
978
+ bust,
979
+ chainId
980
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
981
+ let provider_ = this.providers.get(chainId !== null && chainId !== void 0 ? chainId : -1);
982
+ if (provider_ && !bust) return provider_;
983
+ const {
984
+ provider
985
+ } = this.config;
986
+ provider_ = typeof provider === 'function' ? provider({
987
+ chainId
988
+ }) : provider;
989
+ this.providers.set(chainId !== null && chainId !== void 0 ? chainId : -1, provider_);
990
+ return provider_;
991
+ }
992
+
993
+ getWebSocketProvider() {
994
+ let {
995
+ bust,
996
+ chainId
997
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
998
+ let webSocketProvider_ = this.webSocketProviders.get(chainId !== null && chainId !== void 0 ? chainId : -1);
999
+ if (webSocketProvider_ && !bust) return webSocketProvider_;
1000
+ const {
1001
+ webSocketProvider
1002
+ } = this.config;
1003
+ webSocketProvider_ = typeof webSocketProvider === 'function' ? webSocketProvider({
1004
+ chainId
1005
+ }) : webSocketProvider;
1006
+ if (webSocketProvider_) this.webSocketProviders.set(chainId !== null && chainId !== void 0 ? chainId : -1, webSocketProvider_);
1007
+ return webSocketProvider_;
1008
+ }
1009
+
972
1010
  setLastUsedConnector() {
973
1011
  var _this$storage;
974
1012
 
@@ -1028,12 +1066,14 @@ function _addEffects2() {
1028
1066
  return data === null || data === void 0 ? void 0 : (_data$chain2 = data.chain) === null || _data$chain2 === void 0 ? void 0 : _data$chain2.id;
1029
1067
  }, chainId => {
1030
1068
  this.setState(x => ({ ...x,
1031
- provider: subscribeProvider ? provider({
1069
+ provider: this.getProvider({
1070
+ bust: true,
1032
1071
  chainId
1033
- }) : x.provider,
1034
- webSocketProvider: subscribeWebSocketProvider ? webSocketProvider({
1072
+ }),
1073
+ webSocketProvider: this.getWebSocketProvider({
1074
+ bust: true,
1035
1075
  chainId
1036
- }) : x.webSocketProvider
1076
+ })
1037
1077
  }));
1038
1078
  });
1039
1079
  }
@@ -1057,9 +1097,9 @@ function getProvider() {
1057
1097
  chainId
1058
1098
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
1059
1099
  const client = getClient();
1060
- if (chainId && typeof client.config.provider === 'function') return client.config.provider({
1100
+ if (chainId) return client.getProvider({
1061
1101
  chainId
1062
- });
1102
+ }) || client.provider;
1063
1103
  return client.provider;
1064
1104
  }
1065
1105
 
@@ -21,6 +21,7 @@ const infuraRpcUrls = {
21
21
  rinkeby: 'https://rinkeby.infura.io/v3',
22
22
  goerli: 'https://goerli.infura.io/v3',
23
23
  kovan: 'https://kovan.infura.io/v3',
24
+ sepolia: 'https://sepolia.infura.io/v3',
24
25
  optimism: 'https://optimism-mainnet.infura.io/v3',
25
26
  optimismKovan: 'https://optimism-kovan.infura.io/v3',
26
27
  optimismGoerli: 'https://optimism-goerli.infura.io/v3',
@@ -23,6 +23,7 @@ const infuraRpcUrls = {
23
23
  rinkeby: 'https://rinkeby.infura.io/v3',
24
24
  goerli: 'https://goerli.infura.io/v3',
25
25
  kovan: 'https://kovan.infura.io/v3',
26
+ sepolia: 'https://sepolia.infura.io/v3',
26
27
  optimism: 'https://optimism-mainnet.infura.io/v3',
27
28
  optimismKovan: 'https://optimism-kovan.infura.io/v3',
28
29
  optimismGoerli: 'https://optimism-goerli.infura.io/v3',
@@ -23,6 +23,7 @@ const infuraRpcUrls = {
23
23
  rinkeby: 'https://rinkeby.infura.io/v3',
24
24
  goerli: 'https://goerli.infura.io/v3',
25
25
  kovan: 'https://kovan.infura.io/v3',
26
+ sepolia: 'https://sepolia.infura.io/v3',
26
27
  optimism: 'https://optimism-mainnet.infura.io/v3',
27
28
  optimismKovan: 'https://optimism-kovan.infura.io/v3',
28
29
  optimismGoerli: 'https://optimism-goerli.infura.io/v3',