Airdrop · Errors · 3@tokenops/sdk/fhe-airdrop

Airdrop errors you can catch by class.

EIP-712-gated claims surface specific replay + validity errors. Most are recoverable without a fresh signature; some demand a re-signed Claim.

For the catch-ladder pattern + how SDK-level and viem-passthrough errors fit alongside these, read Concepts › Typed errors + recovery.

ClassWhen thrownRecovery
AlreadyClaimedErrorThe Claim signature was already redeemed on this clone, same signature submitted twice, or recipient retrying after a successful first claim.Signatures are single-use by design. Operator must sign a fresh Claim with a new nonce if a top-up to the same recipient is intended. useAirdropIsSignatureClaimed pre-checks before gas. useAirdropIsSignatureClaimed
ClaimWindowClosedErroruseAirdropClaim called before startTime or after endTime.err.context.endedAt carries the timestamp. Render a countdown or surface the window-closed banner. useAirdropIsClaimWindowActive
InvalidSignatureErrorEIP-712 signature does not recover to a holder of CLAIM_AUTHORIZER_ROLE on this clone.Either the admin lost the role mid-flight or the recipient is using a signature for a different airdrop. Pre-check with useAirdropIsSignatureValid before paying gas. useAirdropIsSignatureValid
Each class extends the SDK's base TokenOpsSdkError and carries the offending values under err.context — render specific messages instead of generic "transaction failed."Read the catch ladder