useSetDefaultDelegateToCompliance
Set the factory-wide default for whether new instances delegate compliance disclosure to the platform delegate.
@tokenops/sdk/fhe-airdrop/advanced/react{ mutate, mutateAsync, isPending, error, data }Description
Set the factory-wide default for whether new instances delegate compliance
disclosure to the platform delegate. Requires COMPLIANCE_WIRING_ROLE.
The default starts ON at factory construction; on: false is the deliberate
global opt-out. A per-creator useSetCompliancePolicy override still wins.
Invalidates: the fn "effectiveDelegateToCompliance" PREFIX and the
fn "compliancePolicy" PREFIX - every cached creator at once, because this
write is chain-wide: any creator without an override moves with the
default, and useFactoryCompliancePolicy's bundle carries the
resolved effective field. Contrast useSetCompliancePolicy, which
stays keyed on the one creator it targets. Also every cached
usePreflightCreateAirdrop report on this factory, whose
commitments.complianceDelegate this write moves.
Signature
function useSetDefaultDelegateToCompliance(options?: AirdropClientOptions): UseMutationResult<Hex, Error, SetDefaultDelegateToComplianceArgs>;Parameters
Shape of the object you pass to .mutate(args) is the SDK type SetDefaultDelegateToComplianceArgs. Inspect the type for the full shape (discriminated unions collapse to a tagged variant at call time).
Example
const setDefault = useSetDefaultDelegateToCompliance();
await setDefault.mutateAsync({ on: true });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 generic-fallback errors. Product classes carry the offending value as fields — render them inline instead of a generic "transaction failed." See Airdrop v2 › 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 setDefaultDelegateToCompliance = useSetDefaultDelegateToCompliance(/* options */);
setDefaultDelegateToCompliance.mutate(args, {
onSuccess() {
// Coarse invalidation: refresh every cached read on this product surface.
queryClient.invalidateQueries({
queryKey: ["tokenops-sdk", "fhe-airdrop"],
});
},
});See also
Other Configure hooks in airdrop v2:
useDisableCustomFeeDrop a creator's per-creator fee override, reverting them to the factory's defaultGasFee.useSetComplianceDelegateSet the platform-designated compliance delegate that every new compliance-manager clone wires in.useSetComplianceManagerImplPoint future compliance-manager clones at a new implementation.useSetCompliancePolicyOverride the factory's default delegate-to-compliance policy for one creator.