useVerifyMessage
Description
This hook provides functionality to verify a signature for a given message.
Returns
data (
boolean
): The signature generated.error (
Error | null
): An error object if the transaction failed, otherwisenull
.isPending (
boolean
): A boolean indicating whether the transaction is currently pending.isSuccess (
boolean
): A boolean indicating whether the transaction was successfully sent.isError (
boolean
): A boolean indicating whether an error occurred during the transaction process.verifyMessage : A function that verify if the signature corresponds to the given message.
verifyMessageAsync : A function that verify if the signature and returns a promise that resolves to the verification result.
Example
import { useVerifyMessage } from "@cometh/connect-react-hooks";
import { useState } from "react";
import type { Hex } from "viem";
function MessageVerifier() {
const [message, setMessage] = useState("");
const [signature, setSignature] = useState<Hex>("");
const { verifyMessageAsync, isPending, isError, error, data } = useVerifyMessage();
const handleVerify = async () => {
try {
const isValid = await verifyMessageAsync({ message, signature });
console.log("Signature is valid:", isValid);
} catch (err) {
console.error("Error verifying message:", err);
}
};
return (
<div>
<input
placeholder="Enter message"
value={message}
onChange={(e) => setMessage(e.target.value)}
/>
<input
placeholder="Enter signature (hex)"
value={signature}
onChange={(e) => setSignature(e.target.value as Hex)}
/>
<button onClick={handleVerify} disabled={isPending}>
Verify Signature
</button>
{isPending && <p>Verifying signature...</p>}
{isError && <p>Error: {error as string}</p>}
{data !== undefined && <p>Signature is {data ? "valid" : "invalid"}</p>}
</div>
);
}
export default MessageVerifier;
Last updated