UNPKG

@mojito-inc/connect-wallet

Version:

Connecting wallet via metamask, wallet connect, email

26 lines (23 loc) 1.05 kB
import { useMemo } from 'react'; import { Magic } from 'magic-sdk'; import { SolanaExtension } from '@magic-ext/solana'; import { clusterApiUrl } from '@solana/web3.js'; import { useMagicConfig } from '../provider/MagicWalletProvider.js'; import { useWalletType } from '../provider/WalletTypeProvider.js'; const useMagic = () => { const { walletType } = useWalletType(); const isSolanaWallet = useMemo(() => walletType === 'solana', [walletType]); const { magicWalletId, env, customRPCUrl } = useMagicConfig(); const magic = magicWalletId && isSolanaWallet && typeof window !== 'undefined' ? new Magic(magicWalletId !== null && magicWalletId !== void 0 ? magicWalletId : '', { // testMode: true, deferPreload: false, useStorageCache: false, extensions: [ new SolanaExtension({ rpcUrl: customRPCUrl || clusterApiUrl(env !== null && env !== void 0 ? env : 'devnet'), }), ], }) : null; return { magic }; }; export { useMagic };