Skip to content

Commit f1b85b9

Browse files
authored
feat(connector): auto display ens avatar (#977)
* feat(wagmi): support display ens avatar * test(wagmi): add mock for ens hook * chore: add changeset * fix(connector): review comments
1 parent 5c82102 commit f1b85b9

13 files changed

+65
-28
lines changed

.changeset/honest-pumpkins-act.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
'@ant-design/web3-common': minor
3+
'@ant-design/web3-wagmi': minor
4+
'@ant-design/web3': minor
5+
---
6+
7+
feat: auto display ens avatar

packages/common/src/types.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
export interface Account {
22
address: string;
33
name?: string;
4+
avatar?: string;
45
}
56

67
export enum ChainIds {

packages/wagmi/src/wagmi-provider/__tests__/balance.test.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ vi.mock('wagmi', () => {
5454
};
5555
},
5656
useEnsName: () => ({}),
57+
useEnsAvatar: () => ({}),
5758
};
5859
});
5960

packages/wagmi/src/wagmi-provider/__tests__/config-with-eip6963-and-wallets.test.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ vi.mock('wagmi', async () => {
2222
};
2323
},
2424
useEnsName: () => ({}),
25+
useEnsAvatar: () => ({}),
2526
};
2627
});
2728

packages/wagmi/src/wagmi-provider/__tests__/connect-with-universal-wallet.test.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ vi.mock('wagmi', () => {
7979
return {};
8080
},
8181
useEnsName: () => ({}),
82+
useEnsAvatar: () => ({}),
8283
};
8384
});
8485

packages/wagmi/src/wagmi-provider/__tests__/connect.test.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ vi.mock('wagmi', () => {
7979
return {};
8080
},
8181
useEnsName: () => ({}),
82+
useEnsAvatar: () => ({}),
8283
};
8384
});
8485

packages/wagmi/src/wagmi-provider/__tests__/ens.test.tsx

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,9 @@ vi.mock('wagmi', () => {
5454
}
5555
return {};
5656
},
57+
useEnsAvatar: () => ({
58+
data: 'test-avatar',
59+
}),
5760
};
5861
});
5962

@@ -87,4 +90,32 @@ describe('WagmiWeb3ConfigProvider ens', () => {
8790
expect(baseElement.querySelector('.custom-text')?.textContent).toBe('wanderingearth.eth');
8891
});
8992
});
93+
94+
it('should display avatar', async () => {
95+
const CustomConnector = () => {
96+
const { account } = useProvider();
97+
return (
98+
<div>
99+
<div className="custom-text">{account ? account?.avatar : 'Connect'}</div>
100+
</div>
101+
);
102+
};
103+
104+
const App = () => (
105+
<AntDesignWeb3ConfigProvider
106+
ens
107+
availableChains={[mainnet]}
108+
availableConnectors={[]}
109+
walletFactorys={[MetaMask()]}
110+
chainAssets={[Mainnet]}
111+
>
112+
<CustomConnector />
113+
</AntDesignWeb3ConfigProvider>
114+
);
115+
const { baseElement } = render(<App />);
116+
117+
await waitFor(() => {
118+
expect(baseElement.querySelector('.custom-text')?.textContent).toBe('test-avatar');
119+
});
120+
});
90121
});

packages/wagmi/src/wagmi-provider/__tests__/nft.test.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ vi.mock('wagmi', () => {
5050
return {};
5151
},
5252
useEnsName: () => ({}),
53+
useEnsAvatar: () => ({}),
5354
};
5455
});
5556

packages/wagmi/src/wagmi-provider/__tests__/switch-chain-unconnected.test.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ vi.mock('wagmi', () => {
5454
};
5555
},
5656
useEnsName: () => ({}),
57+
useEnsAvatar: () => ({}),
5758
};
5859
});
5960

packages/wagmi/src/wagmi-provider/__tests__/switch-chain.test.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ vi.mock('wagmi', () => {
7070
};
7171
},
7272
useEnsName: () => ({}),
73+
useEnsAvatar: () => ({}),
7374
};
7475
});
7576

0 commit comments

Comments
 (0)