File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -76,6 +76,34 @@ export default function useWallet() {
7676 return client ;
7777 } ;
7878
79+ const status = useMemo ( ( ) => {
80+ if ( activeAccount === undefined ) {
81+ return "initializing" ;
82+ }
83+
84+ if ( activeAccount === null && connectedAccounts . length ) {
85+ return "connected" ;
86+ }
87+
88+ if ( activeAccount === null && ! connectedAccounts . length ) {
89+ return "disconnected" ;
90+ }
91+
92+ if ( activeAccount && activeAccount . address ) {
93+ return "active" ;
94+ }
95+
96+ return "error" ;
97+ } , [ activeAccount ] ) ;
98+
99+ const isActive = useMemo ( ( ) => {
100+ return status === "active" ;
101+ } , [ status ] ) ;
102+
103+ const isReady = useMemo ( ( ) => {
104+ return status !== "initializing" ;
105+ } , [ status ] ) ;
106+
79107 const selectActiveAccount = async (
80108 providerId : PROVIDER_ID ,
81109 address : string
@@ -250,6 +278,9 @@ export default function useWallet() {
250278 connectedActiveAccounts,
251279 activeAccount,
252280 activeAddress : activeAccount ?. address ,
281+ status,
282+ isActive,
283+ isReady,
253284 signer,
254285 signTransactions,
255286 sendTransactions,
Original file line number Diff line number Diff line change @@ -16,7 +16,7 @@ export const walletStoreSelector = (state: WalletStore) => ({
1616
1717export type WalletStore = {
1818 accounts : Account [ ] ;
19- activeAccount : Account | null ;
19+ activeAccount : Account | null | undefined ;
2020 setActiveAccount : ( account : Account ) => void ;
2121 clearActiveAccount : ( id : PROVIDER_ID ) => void ;
2222 addAccounts : ( accounts : Account [ ] ) => void ;
@@ -25,7 +25,7 @@ export type WalletStore = {
2525
2626const emptyState : WalletStore = {
2727 accounts : [ ] ,
28- activeAccount : null ,
28+ activeAccount : undefined ,
2929 setActiveAccount : ( account : Account ) => { } ,
3030 clearActiveAccount : ( id : PROVIDER_ID ) => { } ,
3131 addAccounts : ( accounts : Account [ ] ) => { } ,
You can’t perform that action at this time.
0 commit comments