-
Notifications
You must be signed in to change notification settings - Fork 5
/
wallet-client.ts
46 lines (40 loc) · 1.03 KB
/
wallet-client.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
import { useConnectModal } from '@rainbow-me/rainbowkit';
import { useMemo } from 'react';
import { useAccount, useDisconnect, useProvider, useSigner } from 'wagmi';
export const useWalletClient = () => {
const { openConnectModal } = useConnectModal();
const { isConnected, isConnecting, isDisconnected, connector, address } =
useAccount();
const provider = useProvider();
const { data: signer, isLoading: isLoadingSigner } = useSigner();
const { disconnect, disconnectAsync } = useDisconnect();
const useWalletClientReturn = useMemo(
() => ({
address,
provider,
signer,
connector,
isConnected,
isConnecting,
isDisconnected,
openConnectModal,
disconnect,
disconnectAsync,
isLoadingSigner,
}),
[
address,
provider,
signer,
connector,
isConnected,
isConnecting,
isDisconnected,
openConnectModal,
disconnect,
disconnectAsync,
isLoadingSigner,
]
);
return useWalletClientReturn;
};