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

useFactoryRoleMembers

List who holds role on the factory, with the member count.

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

Description

List who holds role on the factory, with the member count.

This is the live half of the role-concentration check FACTORY_ROLE_CONCENTRATION_NOTE prescribes: run it over the five roles from useFactoryRoleConstants and compare the holder sets, instead of trusting a fixed string that describes one deployment at one moment.

count is bundled with the list rather than split into its own hook because it is what a UI needs in the same render to decide whether a revoke will be accepted: the factory floors DEFAULT_ADMIN_ROLE at one live member, so revoking or renouncing the last holder reverts LastAdmin. Disable the button at count === 1n rather than letting the user burn gas discovering it.

Unpaginated: factory role sets are operator-sized, not user-sized.

Signature

@tokenops/sdk/fhe-airdrop/advanced/react
ts
function useFactoryRoleMembers(args?: UseFactoryRoleMembersArgs): UseQueryResult<FactoryRoleMembership, Error>;

Parameters

Shape of the options object passed to the hook itself.

PropertyTypeDescription
roleHexThe role whose members to list - from {
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 useFactoryRoleMembers; pick another from the dropdown if you'd rather start there.

Example

@tokenops/sdk/fhe-airdrop/advanced/react · @example
tsx
const { data } = useFactoryRoleMembers({ role: roles?.DEFAULT_ADMIN_ROLE });
const lastAdmin = data?.count === 1n; // revoke/renounce would revert LastAdmin

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

See also

Other Read hooks in airdrop v2: