SDK 2.0 RC is out. Read the docs
ReaduseQuery

usePreflightCreateVesting

Read-only preflight for useCreateVesting / useBatchCreateVesting — wraps ConfidentialVestingManagerClient.preflightCreateVesting as a TanStack query.

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

Description

Read-only preflight for useCreateVesting / useBatchCreateVesting — wraps ConfidentialVestingManagerClient.preflightCreateVesting as a TanStack query.

The report carries token, hasCreatorRole, isOperatorSet, ready, blockers (human-readable strings) and blockerErrors (typed TokenOpsSdkErrors, index-aligned with blockers — branch on error.code).

Checks: structural params validation, VESTING_CREATOR_ROLE membership, and ERC-7984 operator approval of the manager on the distribution token. The creator's confidential token balance is NOT checked (encrypted; an underfunded create silently zeroes amounts instead of reverting) — see the headless method's TSDoc.

Hook is disabled until params and creator are both set. Refetch after the user grants the role or calls setOperator (e.g. via queryClient.invalidateQueries or a refetchInterval).

Signature

@tokenops/sdk/fhe-vesting/react
ts
function usePreflightCreateVesting(args: UsePreflightCreateVestingArgs): UseQueryResult<CreateVestingPreflightReport, Error>;

Parameters

Shape of the options object passed to the hook itself.

PropertyTypeDescription
paramsVestingParamsThe vesting schedule parameters to validate.
creatorAddressThe address that will send the create transaction.
Want to run a similar shape interactively? The Playground ships 8 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 usePreflightCreateVesting; pick another from the dropdown if you'd rather start there.

Example

@tokenops/sdk/fhe-vesting/react · @example
tsx
const { data: report } = usePreflightCreateVesting({
  address: managerAddress, params, creator,
});
if (report?.ready) { /* enable submit *\/ }

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

See also

Other Read hooks in vesting: