2.0 RC docsView 1.x docs
v2.0.0-rc.1 release candidate
The API is frozen and later candidates carry fixes only, except the receipt-free and Safe create surface of /fhe-airdrop, which is @beta. Published on the next dist-tag; latest stays on 1.6.0 until 2.0.0.
ConfigureuseMutation

useSetDefaultDelegateToCompliance

Set the factory-wide default for whether new instances delegate compliance disclosure to the platform delegate.

Import
@tokenops/sdk/fhe-airdrop/advanced/react
Return
{ mutate, mutateAsync, isPending, error, data }
Lifecycle
Configure

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

@tokenops/sdk/fhe-airdrop/advanced/react
ts
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).

Want to run a similar shape interactively? The Playground ships 12 ready presets across vesting / airdrop / disperse / faucet — deploy a manager, create a vesting, claim, and run the product equivalents. The deep-link above auto-selects the closest preset to useSetDefaultDelegateToCompliance; pick another from the dropdown if you'd rather start there.

Example

@tokenops/sdk/fhe-airdrop/advanced/react · @example
tsx
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).

patterns/invalidation.ts
ts
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: