diff --git a/web/account/siwe.react.js b/web/account/siwe.react.js
--- a/web/account/siwe.react.js
+++ b/web/account/siwe.react.js
@@ -5,7 +5,6 @@
import {
ConnectButton,
darkTheme,
- getDefaultWallets,
RainbowKitProvider,
useConnectModal,
} from '@rainbow-me/rainbowkit';
@@ -13,7 +12,7 @@
import _merge from 'lodash/fp/merge';
import * as React from 'react';
import { FaEthereum } from 'react-icons/fa';
-import { useAccount, useSigner, WagmiConfig } from 'wagmi';
+import { useAccount, useSigner } from 'wagmi';
import {
getSIWENonce,
@@ -32,18 +31,14 @@
siweMessageSigningExplanationStatements,
siweStatementWithoutPublicKey,
} from 'lib/utils/siwe-utils.js';
-import { configureWagmiChains, createWagmiClient } from 'lib/utils/wagmi-utils';
import Button from '../components/button.react';
import LoadingIndicator from '../loading-indicator.react';
import { useSelector } from '../redux/redux-utils';
import { webLogInExtraInfoSelector } from '../selectors/account-selectors.js';
+import { wagmiChains } from '../utils/wagmi-utils';
import css from './siwe.css';
-const { chains, provider } = configureWagmiChains(process.env.COMM_ALCHEMY_KEY);
-const { connectors } = getDefaultWallets({ appName: 'comm', chains });
-const wagmiClient = createWagmiClient({ connectors, provider });
-
const getSIWENonceLoadingStatusSelector = createLoadingStatusSelector(
getSIWENonceActionTypes,
);
@@ -191,11 +186,9 @@
});
}, []);
return (
-
-
-
-
-
+
+
+
);
}
diff --git a/web/app.react.js b/web/app.react.js
--- a/web/app.react.js
+++ b/web/app.react.js
@@ -9,6 +9,7 @@
import { DndProvider } from 'react-dnd';
import { HTML5Backend } from 'react-dnd-html5-backend';
import { useDispatch } from 'react-redux';
+import { WagmiConfig } from 'wagmi';
import {
fetchEntriesActionTypes,
@@ -55,6 +56,7 @@
import getTitle from './title/getTitle';
import { type NavInfo } from './types/nav-types';
import { canonicalURLFromReduxState, navInfoFromURL } from './url-utils';
+import { WagmiENSCacheProvider, wagmiClient } from './utils/wagmi-utils';
// We want Webpack's css-loader and style-loader to handle the Fontawesome CSS,
// so we disable the autoAddCss logic and import the CSS file. Otherwise every
@@ -153,12 +155,16 @@
-
-
-
-
- {content}
- {this.props.modals}
+
+
+
+
+
+
+ {content}
+ {this.props.modals}
+
+
diff --git a/web/utils/wagmi-utils.js b/web/utils/wagmi-utils.js
new file mode 100644
--- /dev/null
+++ b/web/utils/wagmi-utils.js
@@ -0,0 +1,26 @@
+// @flow
+
+import { getDefaultWallets } from '@rainbow-me/rainbowkit';
+import * as React from 'react';
+import { useProvider } from 'wagmi';
+
+import { ENSCacheProvider } from 'lib/components/ens-cache-provider.react';
+import { configureWagmiChains, createWagmiClient } from 'lib/utils/wagmi-utils';
+
+const { chains, provider } = configureWagmiChains(process.env.COMM_ALCHEMY_KEY);
+const { connectors } = getDefaultWallets({ appName: 'comm', chains });
+const wagmiClient: mixed = createWagmiClient({ connectors, provider });
+const wagmiChains: mixed = chains;
+
+type Props = {
+ +children: React.Node,
+};
+function WagmiENSCacheProvider(props: Props): React.Node {
+ const { children } = props;
+ const wagmiProvider = useProvider();
+ return (
+ {children}
+ );
+}
+
+export { wagmiClient, wagmiChains, WagmiENSCacheProvider };