Skip to content

Commit

Permalink
Fix ENS resolution if mainnet not supported
Browse files Browse the repository at this point in the history
  • Loading branch information
philogicae committed Feb 15, 2024
1 parent 2328989 commit 3b78a0c
Show file tree
Hide file tree
Showing 4 changed files with 28 additions and 0 deletions.
5 changes: 5 additions & 0 deletions packages/connectkit/src/components/Common/Avatar/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import { normalize } from 'viem/ens';
import { ResetContainer } from '../../../styles';
import { useContext } from '../../ConnectKit';
import useIsMounted from '../../../hooks/useIsMounted';
import { useEnsFallbackConfig } from '../../../hooks/useEnsFallbackConfig';

type Hash = `0x${string}`;

Expand All @@ -30,17 +31,21 @@ const Avatar: React.FC<{
const imageRef = useRef<any>(null);
const [loaded, setLoaded] = useState(true);

const ensFallbackConfig = useEnsFallbackConfig();
const { data: ensAddress } = useEnsAddress({
chainId: 1,
name: name,
config: ensFallbackConfig,
});
const { data: ensName } = useEnsName({
chainId: 1,
address: address ?? ensAddress ?? undefined,
config: ensFallbackConfig,
});
const { data: ensAvatar } = useEnsAvatar({
chainId: 1,
name: normalize(ensName ?? ''),
config: ensFallbackConfig,
});

const ens = {
Expand Down
5 changes: 5 additions & 0 deletions packages/connectkit/src/components/ConnectButton/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ import { useSIWE } from '../../siwe';
import useLocales from '../../hooks/useLocales';
import { Chain } from 'viem';
import { useChainIsSupported } from '../../hooks/useChainIsSupported';
import { useEnsFallbackConfig } from '../../hooks/useEnsFallbackConfig';

const contentVariants: Variants = {
initial: {
Expand Down Expand Up @@ -126,9 +127,11 @@ const ConnectButtonRenderer: React.FC<ConnectButtonRendererProps> = ({
const { address, isConnected, chain } = useAccount();
const isChainSupported = useChainIsSupported(chain?.id);

const ensFallbackConfig = useEnsFallbackConfig();
const { data: ensName } = useEnsName({
chainId: 1,
address: address,
config: ensFallbackConfig,
});

function hide() {
Expand Down Expand Up @@ -178,9 +181,11 @@ function ConnectKitButtonInner({
const { address, chain } = useAccount();
const isChainSupported = useChainIsSupported(chain?.id);

const ensFallbackConfig = useEnsFallbackConfig();
const { data: ensName } = useEnsName({
chainId: 1,
address: address,
config: ensFallbackConfig,
});
const defaultLabel = locales.connectWallet;

Expand Down
3 changes: 3 additions & 0 deletions packages/connectkit/src/components/Pages/Profile/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ import CopyToClipboard from '../../Common/CopyToClipboard';
import { AnimatePresence } from 'framer-motion';
import { useThemeContext } from '../../ConnectKitThemeProvider/ConnectKitThemeProvider';
import useLocales from '../../../hooks/useLocales';
import { useEnsFallbackConfig } from '../../../hooks/useEnsFallbackConfig';

const Profile: React.FC<{ closeModal?: () => void }> = ({ closeModal }) => {
const context = useContext();
Expand All @@ -49,9 +50,11 @@ const Profile: React.FC<{ closeModal?: () => void }> = ({ closeModal }) => {
const { disconnect } = useDisconnect();

const { address, isConnected, connector, chain } = useAccount();
const ensFallbackConfig = useEnsFallbackConfig();
const { data: ensName } = useEnsName({
chainId: 1,
address: address,
config: ensFallbackConfig,
});
const { data: balance } = useBalance({
address,
Expand Down
15 changes: 15 additions & 0 deletions packages/connectkit/src/hooks/useEnsFallbackConfig.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import type { Config } from '@wagmi/core';
import { http, createConfig } from 'wagmi';
import { mainnet } from 'wagmi/chains';
import { useChainIsSupported } from '../hooks/useChainIsSupported';

const ensFallbackConfig = createConfig({
chains: [mainnet],
transports: {
[mainnet.id]: http(),
},
});

export function useEnsFallbackConfig(): Config | undefined {
return !useChainIsSupported(1) ? ensFallbackConfig : undefined;
}

0 comments on commit 3b78a0c

Please sign in to comment.