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.
Roles · RBACuseQuery

useFactoryHasRole

Whether holder holds role on the factory.

Import
@tokenops/sdk/fhe-airdrop/advanced/react
Return
{ data, isLoading, error, refetch }
Lifecycle
Roles · RBAC

Description

Whether holder holds role on the factory.

Stays disabled (no request fired) until both role and holder are defined, so a UI can call it unconditionally while a form is still being filled in.

Named apart from the instance-level useAirdropHasRole and the clone-level useComplianceHasRole because these are three different contracts' role sets; the cache never confuses them either, since the key's address segment is the factory.

Signature

@tokenops/sdk/fhe-airdrop/advanced/react
ts
function useFactoryHasRole(args?: UseFactoryHasRoleArgs): UseQueryResult<boolean, Error>;

Parameters

Shape of the options object passed to the hook itself.

PropertyTypeDescription
roleHexA bytes32 role identifier - from {
holderAddressThe account to check.
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 useFactoryHasRole; pick another from the dropdown if you'd rather start there.

Example

@tokenops/sdk/fhe-airdrop/advanced/react · @example
tsx
const { data: isFeeManager } = useFactoryHasRole({ role: roles?.FEE_MANAGER_ROLE, holder });

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

See also

Other Roles · RBAC hooks in airdrop v2: