import { useTurnkey, WalletSource } from "@turnkey/react-wallet-kit";
function SignMessageWithExternalWalletButton() {
const { handleSignMessage, wallets } = useTurnkey();
const doSignMessage = async () => {
try {
const externalWallet = wallets.find(
(wallet) => wallet.source === WalletSource.Connected
); // Find an external wallet
if (!externalWallet) {
throw new Error("No external wallet found");
}
const walletAccount = externalWallet.accounts[0]; // Use the first account of the external wallet
const message = "Hello, Turnkey!";
const signature = await handleSignMessage({
walletAccount,
message,
addEthereumPrefix: true, // Required for connected Ethereum wallets (e.g. MetaMask)
});
console.log("Message signed with external wallet:", signature);
} catch (error) {
console.error("Error signing message with external wallet:", error);
}
};
return (
<button onClick={doSignMessage}>Sign Message with External Wallet</button>
);
}