@lifi/wallet-management
Version:
LI.FI Wallet Management solution.
29 lines • 1.11 kB
JavaScript
import { useConfig as useBigmiConfig } from '@bigmi/react';
import { ChainType } from '@lifi/sdk';
import { useWallet } from '@solana/wallet-adapter-react';
import { useConfig as useWagmiConfig } from 'wagmi';
import { disconnect, getAccount } from 'wagmi/actions';
export const useAccountDisconnect = () => {
const bigmiConfig = useBigmiConfig();
const wagmiConfig = useWagmiConfig();
const { disconnect: solanaDisconnect } = useWallet();
const handleDisconnect = async (config) => {
const connectedAccount = getAccount(config);
if (connectedAccount.connector) {
await disconnect(config, { connector: connectedAccount.connector });
}
};
return async (account) => {
switch (account.chainType) {
case ChainType.EVM:
await handleDisconnect(wagmiConfig);
break;
case ChainType.UTXO:
await handleDisconnect(bigmiConfig);
break;
default:
await solanaDisconnect();
}
};
};
//# sourceMappingURL=useAccountDisconnect.js.map