useSetDefaultUpgradeable
Set the factory-wide default for whether a create* may deploy mode: "uups".
@tokenops/sdk/fhe-airdrop/advanced/react{ mutate, mutateAsync, isPending, error, data }Description
Set the factory-wide default for whether a create* may deploy
mode: "uups". Requires UPGRADE_MANAGER_ROLE.
Invalidates: the fn "effectiveUpgradeable",
fn "upgradeabilityPolicy" and fn preflightCreate` PREFIXES.
Prefix invalidation is correct here because the write is chain-wide: every
cached creator without an override moves with the default, and a preflight
result is exactly the thing that flips between allowed and
UpgradeabilityNotAllowedError`.
Signature
function useSetDefaultUpgradeable(options?: AirdropClientOptions): UseMutationResult<Hex, Error, SetDefaultUpgradeableArgs>;Parameters
Shape of the object you pass to .mutate(args) is the SDK type SetDefaultUpgradeableArgs. Inspect the type for the full shape (discriminated unions collapse to a tagged variant at call time).
Example
const setDefault = useSetDefaultUpgradeable();
await setDefault.mutateAsync({ allowed: false });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 setDefaultUpgradeable = useSetDefaultUpgradeable(/* options */);
setDefaultUpgradeable.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.