import { type PublicKey, type Transaction } from '@solana/web3.js'; import { useMemo } from 'react'; import { useWallet } from './useWallet.js'; export interface AnchorWallet { publicKey: PublicKey; signTransaction(transaction: Transaction): Promise; signAllTransactions(transactions: Transaction[]): Promise; } export function useAnchorWallet(): AnchorWallet | undefined { const { publicKey, signTransaction, signAllTransactions } = useWallet(); return useMemo( () => publicKey && signTransaction && signAllTransactions ? { publicKey, signTransaction, signAllTransactions } : undefined, [publicKey, signTransaction, signAllTransactions] ); }