Skip to main content
Mutation hook for signing messages using an ethers signer from useParaEthersSigner.
Requires @getpara/ethers-v6-integration and ethers as peer dependencies.
Get the signer parameter from useParaEthersSigner.

Import

import { useParaEthersSignMessage } from "@getpara/react-native-wallet/evm/ethers";

Usage

import { useParaEthersSigner, useParaEthersSignMessage } from "@getpara/react-native-wallet/evm/ethers";
import { JsonRpcProvider } from "ethers";

const provider = new JsonRpcProvider("https://ethereum-sepolia-rpc.publicnode.com");

function SignMessage() {
  const { ethersSigner } = useParaEthersSigner({ provider });
  const { signMessageAsync, isPending, data: signature } = useParaEthersSignMessage(ethersSigner);

  return (
    <div>
      <button onClick={() => signMessageAsync("Hello")} disabled={isPending}>
        {isPending ? "Signing..." : "Sign Message"}
      </button>
      {signature && <p>Signature: {signature}</p>}
    </div>
  );
}
mutate/mutateAsync are also available alongside the named aliases. All other UseMutationResult fields (data, error, isSuccess, isError, reset, etc.) work as expected.