useSignClaimAuthorization
Admin signs the off-chain EIP-712 Claim(recipient, encryptedAmountHandle) message.
@tokenops/sdk/fhe-airdrop/react{ mutate, mutateAsync, isPending, error, data }Description
Sign a Claim(address recipient, bytes32 encryptedAmount) EIP-712
authorization. The signer (pulled from wagmi's useWalletClient()) must
hold DEFAULT_ADMIN_ROLE on the airdrop clone for the produced signature
to be accepted by useClaim / useGetClaimAmount.
Mutation throws TokenOpsSdkError if no wallet is connected.
Signature
function useSignClaimAuthorization(options?: UseSignClaimAuthorizationOptions): UseMutationResult<Hex, Error, UseSignClaimAuthorizationArgs>;Parameters
Shape of the object you pass to .mutate(args).
| Property | Type | Description |
|---|---|---|
| airdropAddressrequired | Address | The deployed airdrop clone address (EIP-712 verifying contract). |
| recipientrequired | Address | Address authorised to claim. |
| encryptedAmountHandlerequired | Hex | externalEuint64 handle bytes32 — pass encrypted.handle from encryptUint64. |
Example
const sign = useSignClaimAuthorization();
const signature = await sign.mutateAsync({
airdropAddress,
recipient,
encryptedAmountHandle: encrypted.handle,
});Pulled directly from the hook's TSDoc block — the same snippet your IDE shows on hover.
Errors
This mutation can reject with SDK-level, product-level, or viem-passthrough errors. Product classes carry the offending value as fields — render them inline instead of a generic "transaction failed." See Airdrop › Errors for the per-class recovery table.
Invalidation recipe
After this mutation succeeds, invalidate the queries it affects so consumer UI re-fetches fresh state. The SDK never auto-invalidates — that's a consumer decision (different apps cache different shapes).
import { useQueryClient } from "@tanstack/react-query";
const queryClient = useQueryClient();
const signClaimAuthorization = useSignClaimAuthorization(/* options */);
signClaimAuthorization.mutate(args, {
onSuccess() {
// Coarse invalidation: refresh every cached read on this product surface.
queryClient.invalidateQueries({
queryKey: ["tokenops-sdk", "fhe-airdrop"],
});
},
});