{"path":"apps/dashboard/src/hooks/use-mappers-client.ts","size":962,"locked":false,"binary":false,"truncated":false,"content":"import { useMemo } from \"react\";\nimport { useConnection, useWallet } from \"@solana/wallet-adapter-react\";\nimport { AnchorProvider } from \"@coral-xyz/anchor\";\nimport { MappersClient } from \"@mappers-protocol/sdk\";\n\nexport function useMappersClient(): MappersClient | null {\n  const { connection } = useConnection();\n  const wallet = useWallet();\n\n  return useMemo(() => {\n    if (!wallet.publicKey || !wallet.signTransaction || !wallet.signAllTransactions) {\n      return null;\n    }\n\n    const anchorWallet = {\n      publicKey: wallet.publicKey,\n      signTransaction: wallet.signTransaction.bind(wallet),\n      signAllTransactions: wallet.signAllTransactions.bind(wallet),\n    };\n\n    const provider = new AnchorProvider(connection, anchorWallet, {\n      commitment: \"confirmed\",\n      preflightCommitment: \"confirmed\",\n    });\n\n    return new MappersClient(provider);\n  }, [connection, wallet.publicKey, wallet.signTransaction, wallet.signAllTransactions]);\n}\n"}