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.
ReaduseQuery

useAirdropDeploymentMode

Read which deployment shell an airdrop instance is: a minimal-proxy "clone", or a "uups" ERC-1967 proxy that useAirdropUpgradeToAndCall can actually move.

Import
@tokenops/sdk/fhe-airdrop/react
Return
{ data, isLoading, error, refetch }
Lifecycle
Read

Description

Read which deployment shell an airdrop instance is: a minimal-proxy "clone", or a "uups" ERC-1967 proxy that useAirdropUpgradeToAndCall can actually move. Gate any upgrade UI on this.

One eth_getStorageAt against the ERC-1967 implementation slot, no ABI involved. It is the only reliable discriminator: proxiableUUID reverts on both shells when called at an instance address, and UPGRADE_INTERFACE_VERSION answers "5.0.0" for both.

Signature

@tokenops/sdk/fhe-airdrop/react
ts
function useAirdropDeploymentMode(args: UseAirdropDeploymentModeArgs): UseQueryResult<DeploymentMode, Error>;
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 useAirdropDeploymentMode; pick another from the dropdown if you'd rather start there.

Example

@tokenops/sdk/fhe-airdrop/react · @example
tsx
const { data: mode } = useAirdropDeploymentMode({ address: airdropAddress });
const canUpgrade = mode === "uups";

Pulled directly from the hook's TSDoc block — the same snippet your IDE shows on hover.

See also

Other Read hooks in airdrop v2: