laconic-wallet/src/context/AccountsContext.tsx
Adwait Gharpure 8ed4c33beb
Refactor code for WalletConnect Integration (#59)
* Disconnect pairing request when app is reset

* Move files to respective folders

* Add comments to describe flow

* Add new line

* remove request session context

* Fix imports

* Move hook to folder

* Add undefined type

* Move types to src

* Move util functions to correct files

* Remove typeroots from tsconfig

---------

Co-authored-by: Adw8 <adwait@deepstacksoft.com>
2024-03-18 10:57:20 +05:30

31 lines
780 B
TypeScript

import React, { createContext, useContext, useState } from 'react';
import { AccountsState } from '../types';
const AccountsContext = createContext<{
accounts: AccountsState;
setAccounts: (account: AccountsState) => void;
}>({
accounts: { ethAccounts: [], cosmosAccounts: [] },
setAccounts: () => {},
});
const useAccounts = () => {
const accountsContext = useContext(AccountsContext);
return accountsContext;
};
const AccountsProvider = ({ children }: { children: any }) => {
const [accounts, setAccounts] = useState<AccountsState>({
ethAccounts: [],
cosmosAccounts: [],
});
return (
<AccountsContext.Provider value={{ accounts, setAccounts }}>
{children}
</AccountsContext.Provider>
);
};
export { useAccounts, AccountsProvider };