@mojito-inc/connect-wallet
Version:
Connecting wallet via metamask, wallet connect, email
23 lines (20 loc) • 1.04 kB
JavaScript
import * as React from 'react';
import { useMemo } from 'react';
import { ConnectionProvider, WalletProvider } from '@solana/wallet-adapter-react';
import { PhantomWalletAdapter } from '@solana/wallet-adapter-wallets';
import { clusterApiUrl } from '@solana/web3.js';
import { useWalletType } from './WalletTypeProvider.js';
const SolanaWalletProvider = ({ children, env, customRPCUrl }) => {
const { walletType } = useWalletType();
const isSolanaWallet = useMemo(() => walletType === 'solana', [walletType]);
const endPoint = useMemo(() => {
return customRPCUrl || clusterApiUrl(env !== null && env !== void 0 ? env : 'devnet');
}, [env, customRPCUrl]);
// check if the wallet is solana or not
if (!isSolanaWallet) {
return children;
}
return (React.createElement(ConnectionProvider, { endpoint: endPoint },
React.createElement(WalletProvider, { wallets: [new PhantomWalletAdapter()], autoConnect: true }, children)));
};
export { SolanaWalletProvider as default };