Raw Vesting 2.0 ABI exports.
Plain JSON arrays for viem, wagmi or any ABI tooling. Counts are read from the installed package. The clients add what the ABIs cannot: gas headroom, typed revert mapping and receipt parsing.
Available ABIs
confidentialVestingFactoryAbi@tokenops/sdk/fhe-vestingConfidentialVestingFactory: createManager / createManagerWithOptions, address prediction, default and per-creator fees, and its AccessControl surface.
28 fns10 eventsconfidentialVestingManagerAbi@tokenops/sdk/fhe-vestingThe per-user manager clone, merged with its extension: the vesting lifecycle, encrypted views, disclosure, withdrawals, pause and RBAC.
75 fns23 eventserc7984OperatorAbi@tokenops/sdk/fhe-vestingMinimal ERC-7984 isOperator / setOperator fragment, called on the distribution token. Backs setOperator / revokeOperator, which /fhe-vesting now exports.
2 fns1 events
Direct viem usage
The SDK client classes are the recommended surface — they handle encryptor resolution, branded ids, retries, telemetry. But the ABIs themselves ship for one-off reads, indexing, or third-party tooling integration.
import { getContract } from "viem";
import { confidentialVestingManagerAbi } from "@tokenops/sdk/fhe-vesting";
// Attach directly to viem if you'd rather skip the SDK client class —
// useful for one-off reads or for surfacing the contract in your own tooling.
const contract = getContract({
address: contractAddress,
abi: confidentialVestingManagerAbi,
client: { public: publicClient, wallet: walletClient },
});
// Now you have a viem-typed contract — every method exists on contract.read /
// contract.write. The SDK client class wraps this with retries, encryptor resolution, branded ids —
// but the underlying ABI is the same.