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.
API reference · v2.0.0-rc.1 · 547 exports

Every public export, A-Z.

The escape hatch when you know the name, across every 2.0 subpath. Filter by kind, search the description, click through to the hook detail page - every other kind renders unlinked. The full type signature ships in the published .d.ts; this page is the navigable index over it.

547
NameKindDescription
AccessDeniedError#ErrorOpenZeppelin AccessControl rejected the caller.
AclNotPropagatedError#ErrorThe relayer refused a decryption because the gateway has not yet observed an ACL change that is already effective on-chain: a delegation added with addDelegate, or an FHE.allow grant mined moments ago.
AIRDROP_CONTRACTS_COMMIT#ConstantContract commit every vendored ABI in this module resolves against.
AirdropBaseClient#ClientThe surface every airdrop v2 instance shares, regardless of how it authorises a claim.
AirdropBaseClientConfig#TypeType export from @tokenops/sdk/fhe-airdrop.
airdropFactoryAbi#ConstantConstant export from @tokenops/sdk/fhe-airdrop.
AirdropRegistry#TypeThe slice of ConfidentialAirdropFactoryClient the genuineness check reads.
AirdropVariant#TypeThe two campaign variants, as used to label a prediction guard's context.
AirdropVariantParams#TypeA variant tag paired with that variant's params, so the two cannot be mismatched.
AlreadyClaimedError#ErrorA claim was already settled for this replay-protection dimension.
AlreadyInitializedError#ErrorContract has already been initialized — initialize() may only run once.
AlreadyRegisteredError#ErrorThe user has already registered — register(token) is single-use per user.
assertPredictionFresh#FunctionJudge the two init-code-hash observations a prediction-consuming flow takes on either side of its work.
AssertPredictionFreshArgs#TypeInputs for assertPredictionFresh.
assertSaltAvailable#FunctionRefuse a create whose predicted address is already occupied.
AssertSaltAvailableArgs#TypeInputs for assertSaltAvailable.
assertTestnetFaucetChain#FunctionHard testnet-only guard.
BatchCreateVestingArgs#TypeType export from @tokenops/sdk/fhe-vesting.
BatchDiscloseHandlesArgs#TypeArguments for batchDiscloseHandlesToParty().
BatchDiscloseToPartyResult#TypeResult of ConfidentialVestingManagerClient.batchDiscloseToParty / ConfidentialVestingManagerClient.adminBatchDiscloseToParty.
BatchLimits#TypeBatch size limits.
BatchTooLargeError#ErrorBatch size exceeds the contract's configured maximum.
buildMerkleCampaign#FunctionEncrypt every recipient's cumulative total, then build the tree those ciphertexts belong to.
BuildMerkleCampaignArgs#TypeInputs for buildMerkleCampaign.
buildMerkleTree#FunctionBuild the Merkle tree a MerkleConfidentialAirdrop verifies against, from handles produced anywhere.
BuildMerkleTreeArgs#TypeInputs for buildMerkleTree.
BuiltCampaign#TypeType export from @tokenops/sdk/fhe-airdrop.
BuiltMerkleTree#TypeA built tree: the root to publish, and every input leaf with its proof attached.
CalculatedFee#TypeCalculated fee for a specific disperse call.
CalculateFeeArgs#TypeArguments for calculateFee().
CampaignEntry#TypeOne recipient's encrypted, proof-bearing claim input - everything merkle.claim needs.
CampaignRecipient#TypeOne recipient's committed allocation, keyed for CampaignEntry.merkleProof construction.
CLAIM_TYPEHASH#ConstantCLAIM_TYPEHASH, computed client-side from CLAIM_TYPES exactly as Solidity computes its bytes32 public constant CLAIM_TYPEHASH.
CLAIM_TYPES#ConstantThe Claim struct's EIP-712 type declaration, field-for-field in the contract's declared order.
ClaimArgs#TypeArguments for ConfidentialVestingManagerClient.claim and ConfidentialVestingManagerClient.adminClaim, discriminated by feeType (read via getFeeInfo()).
ClaimLockedError#ErrorVesting has a timelock and the current block timestamp has not yet reached it.
ClaimNotStartedError#ErrorClaim reverted with ClaimNotStarted: block.timestamp is still before the instance's startTime.
ClaimPreflightTarget#TypeThe subset of an instance client preflightClaim reads.
ClaimWindowClosedError#ErrorClaim reverted with ClaimWindowFinished: block.timestamp is past the instance's endTime (end is inclusive on-chain).
ClawbackRequiresPauseError#ErrorwithdrawConfidential reverted with ClawbackRequiresPause: the campaign is unpaused and still inside its claim window, so the clawback is refused.
CommonAirdropParams#TypeCreate-time fields shared by both variants.
ComplianceManagerClient#ClientClient for one ComplianceRoleManager clone — the per-airdrop-instance contract that holds account-level user-decryption delegations, so a compliance team or platform operator can decrypt an airdrop's handles without the airdrop contract ...
ComplianceManagerClientConfig#TypeType export from @tokenops/sdk/fhe-airdrop.
CompliancePolicy#TypeThe on-chain CompliancePolicy struct returned by getCompliancePolicy.
complianceRoleManagerAbi#ConstantConstant export from @tokenops/sdk/fhe-airdrop.
computeSubtotals#FunctionFunction export from @tokenops/sdk/fhe-disperse.
confidentialAirdropBaseAbi#ConstantConstant export from @tokenops/sdk/fhe-airdrop.
ConfidentialAirdropFactoryClient#ClientTyped wrapper around the deployed airdrop v2 AirdropFactory.
ConfidentialAirdropFactoryClientConfig#TypeType export from @tokenops/sdk/fhe-airdrop.
ConfidentialDisperseClient#ClientTyped SDK wrapper for the deployed DisperseConfidential singleton.
ConfidentialDisperseClientConfig#TypeType export from @tokenops/sdk/fhe-disperse.
confidentialTokenopsTestTokenAbi#ConstantConstant export from @tokenops/sdk/testnet-faucet.
confidentialVestingFactoryAbi#ConstantConstant export from @tokenops/sdk/fhe-vesting.
ConfidentialVestingFactoryAdvancedClient#ClientAdvanced extension of ConfidentialVestingFactoryClient that re-exposes the CREATE2 address prediction read.
ConfidentialVestingFactoryClient#ClientTyped wrapper around the deployed ConfidentialVestingFactory.
ConfidentialVestingFactoryClientConfig#TypeType export from @tokenops/sdk/fhe-vesting.
confidentialVestingManagerAbi#ConstantConstant export from @tokenops/sdk/fhe-vesting.
ConfidentialVestingManagerClient#ClientTyped wrapper around a deployed ConfidentialVestingManager clone.
ConfidentialVestingManagerClientConfig#TypeType export from @tokenops/sdk/fhe-vesting.
ConsoleTelemetry#ConstantConsole-backed SdkTelemetry adapter.
ContractRevertError#ErrorGeneric wrapper for any on-chain revert the SDK decodes but does not have a more specific typed subclass for.
CreateAirdropArgs#TypeArguments shared by both factory.createEcdsaAirdrop / createMerkleAirdrop entrypoints.
createAirdropBaseClient#ClientCreate an AirdropBaseClient.
CreateAirdropResult#TypeType export from @tokenops/sdk/fhe-airdrop.
CreateCommitmentMismatchError#ErrorA create reverted because one of its CreateCommitments no longer matches what the factory would deploy: the airdrop implementation, the compliance-manager implementation or the creator's resolved platform delegate moved between quote and...
CreateCommitments#TypeThe three values a create commits to.
createComplianceManagerClient#ClientCreate a ComplianceManagerClient.
createConfidentialAirdropFactoryClient#ClientCreate a ConfidentialAirdropFactoryClient.
createConfidentialDisperseClient#ClientCreate a ConfidentialDisperseClient.
createConfidentialVestingFactoryAdvancedClient#ClientCreate a ConfidentialVestingFactoryAdvancedClient.
createConfidentialVestingFactoryClient#ClientCreate a ConfidentialVestingFactoryClient.
createConfidentialVestingManagerClient#ClientCreate a ConfidentialVestingManagerClient.
createEcdsaAirdropClient#ClientCreate an EcdsaAirdropClient.
CreateManagerArgs#TypeType export from @tokenops/sdk/fhe-vesting.
CreateManagerResult#TypeRich-return shape from ConfidentialVestingFactoryClient.createManager.
CreateMerkleAirdropArgs#TypeCreate arguments for the Merkle variant: the shared shape plus the plan a create may realise.
createMerkleAirdropClient#ClientCreate a MerkleAirdropClient.
createSepoliaEncryptorWeb#FunctionConstruct an SDK-shaped Encryptor backed by a ZamaSDK with the web() relayer transport against the public Sepolia (or mainnet) relayer.
CreateSepoliaEncryptorWebOpts#TypeConfiguration for createSepoliaEncryptorWeb.
createTestnetFaucetClient#ClientCreate a TestnetFaucetClient.
CreateVestingArgs#TypeDiscriminated union: provide EITHER an encryptor (the SDK encrypts the plaintext amount) OR a pre-built encryptedInput.
CreateVestingPreflightReport#TypeReport returned by ConfidentialVestingManagerClient.preflightCreateVesting.
CustomFee#TypeType export from @tokenops/sdk/fhe-vesting.
DecryptionFailedError#ErrorDecryption flow (user-decrypt, public-decrypt) failed.
DEDUP_MODE#ConstantReplay-protection policy for ECDSA campaigns.
DedupIdConsumedError#ErrorECDSA claim reverted with DedupIdAlreadyClaimed: this dedupId's slot was already consumed under PerDedupId/Both.
DedupMode#TypeType export from @tokenops/sdk/fhe-airdrop.
DEFAULT_GAS_HEADROOM_PERCENT#ConstantDefault headroom, in percent, added on top of eth_estimateGas for every SDK write.
DEPLOYMENT_MODE#ConstantDeployment shell selected at create time.
DeploymentAddressUnavailableError#ErrorThrown when the SDK cannot resolve a deployed contract address for the caller's chain.
DeploymentAddressUnavailableReason#TypeType export from @tokenops/sdk/..
DeploymentMode#TypeType export from @tokenops/sdk/fhe-airdrop.
DiscloseArgs#TypeType export from @tokenops/sdk/fhe-vesting.
DiscloseHandleArgs#TypeArguments for discloseHandleToParty().
DiscloseToPartyResult#TypeResult of ConfidentialVestingManagerClient.discloseToParty / ConfidentialVestingManagerClient.adminDiscloseToParty.
DisclosureResult#TypeResult of discloseHandleToParty() / batchDiscloseHandlesToParty().
DisclosureType#ConstantSelector for discloseToParty / adminDiscloseToParty.
DisperseArgs#TypeArguments for disperse().
disperseConfidentialAbi#ConstantConstant export from @tokenops/sdk/fhe-disperse.
DisperseDistribution#TypePer-wallet (wallet modes) or single (direct mode) distribution row, parsed from a WalletDistribution / DirectDistribution event in the disperse receipt.
DisperseEncryptedReserveNotGrantedError#ErrorThrown by getEncryptedFeeReserve() when no ACL Allowed event granting the caller access to the fee reserve handle is found in the receipt.
DisperseMode#TypeDisperse mode.
DisperseResult#TypeResult of disperse().
DisperseSubwalletNotFoundError#ErrorThrown by register() when no UserRegistered event matching the singleton address is found in the transaction receipt.
disperseWalletAbi#ConstantConstant export from @tokenops/sdk/fhe-disperse.
EcdsaAirdropClient#ClientClient for one ECDSAConfidentialAirdrop instance — the variant whose claims are authorised by an off-chain EIP-712 signature from a SIGNER_ROLE holder, rather than a Merkle proof.
EcdsaAirdropClientConfig#TypeThe instance's replay policy is not configured here; read it from the chain with EcdsaAirdropClient.readDedupMode.
EcdsaAirdropParams#TypeType export from @tokenops/sdk/fhe-airdrop.
EcdsaClaimArgs#TypeInputs shared by EcdsaAirdropClient.claim and EcdsaAirdropClient.claimAndUnwrap.
EcdsaClaimPreflightSignature#TypeThe signature material preflightClaim needs to check an ECDSA claim.
ecdsaConfidentialAirdropAbi#ConstantConstant export from @tokenops/sdk/fhe-airdrop.
EcdsaGetClaimAmountArgs#TypeInputs for EcdsaAirdropClient.getClaimAmount.
EIP712_DOMAIN_NAME#ConstantEIP-712 domain name every ECDSAConfidentialAirdrop instance shares.
EIP712_DOMAIN_VERSION#ConstantEIP-712 domain version every ECDSAConfidentialAirdrop instance shares.
Eip712Domain#TypeThe ERC-5267 eip712Domain() tuple, as named fields.
encodeInstanceRoleSplit#FunctionEncode a planInstanceRoleSplit plan as the ordered calls a Safe executes in one MultiSend batch - the multisig counterpart of grantInstanceRoles.
encryptCampaignAmounts#FunctionEncrypt a plaintext roster into per-recipient handles, without building a tree.
EncryptCampaignAmountsArgs#TypeInputs for encryptCampaignAmounts.
EncryptedCampaignLeaf#TypeOne recipient's encrypted allocation, ready to be fed to buildMerkleTree.
EncryptedInput#TypeType export from @tokenops/sdk/fhe-vesting.
EncryptedInputs#TypeType export from @tokenops/sdk/fhe-vesting.
EncryptedViewResult#TypeType export from @tokenops/sdk/fhe-vesting.
EncryptionFailedError#ErrorEncryption flow (input proof generation) failed.
Encryptor#TypeThe encryption contract the SDK depends on.
EncryptorInitPhase#TypeLifecycle phase reported by the onPhase callback of createSepoliaEncryptor / createSepoliaEncryptorWeb (@tokenops/sdk/fhe/web).
EncryptorSource#TypeEager or lazy Encryptor reference.
encryptUint64#FunctionEncrypt a single uint64 value into an externalEuint64 handle + KMS input proof.
EncryptUint64Args#TypeType export from @tokenops/sdk/fhe-vesting.
encryptUint64Batch#FunctionEncrypt N uint64 values into N handles bound by a single input proof.
EncryptUint64BatchArgs#TypeType export from @tokenops/sdk/fhe-vesting.
EncryptWorkerErrorEvent#TypeThe error event fields @zama-fhe/sdk reads from the encrypt worker.
EncryptWorkerLike#TypeThe part of a DOM Worker the offloadWorker factory must return: every member @zama-fhe/sdk 3.6 calls on it.
EncryptWorkerMessageEvent#TypeThe message event fields @zama-fhe/sdk reads from the encrypt worker.
ERC7984_OPERATOR_MAX_DEADLINE#ConstantFar-future uint48 deadline.
erc7984OperatorAbi#ConstantConstant export from @tokenops/sdk/fhe.
FACTORY_ROLE_CONCENTRATION_NOTE#ConstantStates the role-concentration fact per chain: this management surface wraps every fee, implementation, compliance and upgradeability admin entry point the factory exposes.
FaucetMetadata#TypeConsolidated faucet metadata — both tokens, the wrapper rate, and the maxTotalSupply ceiling.
FaucetSupplyExhaustedError#ErrorThe confidential faucet's backing is saturated — inferredTotalSupply has reached maxTotalSupply (type(uint64).max), so mint / wrap revert with ERC7984TotalSupplyOverflow until existing CTTT is unwrapped to free capacity.
FaucetTokenMetadata#TypeStatic metadata for one side of the faucet token pair.
FeatureDisabledError#ErrorA feature toggle baked into the contract clone is off.
FeeCollectorSelfAdministeredError#ErrorplanInstanceRoleSplit (roles.ts) refuses to plan a FEE_COLLECTOR_ROLE grant: the role is its own role-admin (not DEFAULT_ADMIN_ROLE), so a grant issued from the caller's admin role would simply fail on-chain with AccessControlUnauthorize...
FeeConfig#TypeGlobal fee configuration (on-chain feeConfig struct).
FeeType#ConstantFactory fee model.
feeTypeName#FunctionStringify a FeeType for human-readable / JSON-output contexts.
FHE_SPLIT_DENOMINATOR#ConstantFixed plaintext denominator used by every confidential split call.
FheHandleNotAllowedError#ErrorCaller does not hold an FHEVM ACL grant on the encrypted handle they're trying to use (e.g.
FheValueInput#TypeFHE input values, discriminated by ciphertext type.
FundInput#TypeThe encrypted pool amount for a fund-style write, as exactly one of a plaintext the SDK encrypts or a ciphertext the caller already built.
GasFeeNotAcceptedError#Errorcreate* refused the fee the factory resolved for this creator: it landed above their CommonAirdropParams.maxAcceptedGasFee.
GasHeadroomOption#TypeClient-level gas option, accepted by every SDK client and React hook.
GasOverride#TypePer-call gas override, accepted by every write that takes an argument object.
getConfidentialTestTokenAddress#FunctionAddress of the ConfidentialTokenopsTestToken (CTTT) UUPS proxy — the 6-decimal ERC-7984 confidential wrapper with an open backed faucet mint.
GetEncryptedFeeReserveArgs#TypeArguments for getEncryptedFeeReserve().
getTestTokenAddress#FunctionAddress of the standard TokenopsTestToken (TTT) — the 18-decimal ERC-20 with an open mint that backs the confidential faucet.
grantInstanceRoles#FunctionExecute an InstanceRoleAssignment against a live instance: planInstanceRoleSplit the steps, then submit them one at a time, **waiting for each step's receipt before submitting the next.** That confirmation is not optional bookkeeping — i...
InitCodeHashArgs#TypeInputs for the init-code-hash reads.
InitiateTransferArgs#TypeType export from @tokenops/sdk/fhe-vesting.
InstanceRoleAssignment#TypeThe roles a campaign creator may hand off after createEcdsaAirdrop / createMerkleAirdrop.
InstanceRoleCall#TypeOne call of a Safe MultiSend batch: a zero-value grantRole / revokeRole on the instance.
InstanceRoleConstants#TypeThe bytes32 constants encodeInstanceRoleSplit encodes, keyed by RoleName.
InsufficientBalanceError#ErrorBalance is too low to cover the requested operation.
InsufficientFeeError#ErrorNative ETH (gas) fee or token fee did not match what the contract requires.
InsufficientGasFundsError#ErrorWallet account does not hold enough native balance to cover the transaction's gas estimate.
InvalidArgumentError#ErrorThrown when an argument fails an SDK-side precondition (non-empty array, uint range, matching lengths, valid address, etc.).
InvalidSignatureError#ErrorEIP-712 signature was malformed or did not recover to an authorized signer.
isAclPropagationError#ErrorError export from @tokenops/sdk/fhe-airdrop.
IsSignatureValidArgs#TypeInputs for EcdsaAirdropClient.isSignatureValid.
isTestnetFaucetChainId#Functiontrue when chainId is a chain the faucet is permitted to run on.
isTokenOpsSdkError#ErrorBrand-based predicate.
leafOf#FunctionCompute a Merkle leaf byte-for-byte identical to the contract's _leafOf — see the module comment for the verified derivation.
LeafOfArgs#TypeInputs for leafOf.
MAINNET_CHAIN_ID#ConstantMainnet chain id (1).
MAX_EUINT64_PER_INPUT_PROOF#ConstantMost euint64 values one input proof can carry.
MERKLE_BATCH_LIMIT#ConstantRecipients per relayer request: an input ciphertext packs at most 2048 bits, so 2048 / 64 euint64 values share one proof (MAX_EUINT64_PER_INPUT_PROOF from @tokenops/sdk/fhe).
MerkleAirdropClient#ClientClient for one MerkleConfidentialAirdrop instance — the variant whose claims are authorised by inclusion in a published Merkle tree rather than an off-chain signature.
MerkleAirdropParams#TypeType export from @tokenops/sdk/fhe-airdrop.
MerkleClaimArgs#TypeInputs shared by MerkleAirdropClient.claim and MerkleAirdropClient.claimAndUnwrap.
merkleConfidentialAirdropAbi#ConstantConstant export from @tokenops/sdk/fhe-airdrop.
MerkleGetClaimAmountArgs#TypeInputs for MerkleAirdropClient.getClaimAmount.
MerkleLeafInput#TypeThe minimum a leaf must carry.
MerkleUupsUnsupportedError#ErrorA Merkle campaign's per-account claim state (claimedAmount) sits at an ERC-7201 namespaced slot that a previous revision of the contract typed differently.
MinedWrite#TypeThe mined counterpart of PendingWrite: the receipt was read and every receipt-derived field is set.
MintConfidentialArgs#TypeArguments for TestnetFaucetClient.mintConfidential — the open, fully-backed faucet mint on ConfidentialTokenopsTestToken (CTTT).
MintConfidentialResult#TypeResult of TestnetFaucetClient.mintConfidential, decoded from the ConfidentialMint event in the transaction receipt.
MintUnderlyingArgs#TypeArguments for TestnetFaucetClient.mintUnderlying — the open mint on the standard ERC-20 TokenopsTestToken (TTT).
MintUnderlyingResult#TypeResult of TestnetFaucetClient.mintUnderlying.
MissingAccountError#ErrorError export from @tokenops/sdk/..
MissingClientError#ErrorThrown by React hooks when their headless client (factory / manager / airdrop / disperse) could not be constructed — usually because the wagmi publicClient isn't ready yet or the chain id has no resolvable address.
MissingEncryptorError#ErrorError export from @tokenops/sdk/..
MissingPeerDependencyError#ErrorAn optional peer dependency the called helper loads at runtime (such as @zama-fhe/sdk for the encryptor factories) is not installed or did not resolve to the expected module.
MissingPublicClientError#ErrorError export from @tokenops/sdk/..
MissingWalletClientError#ErrorError export from @tokenops/sdk/..
NativeRescueRequiresZeroFeeError#ErrorrescueNativeToken reverted with NativeRescueRequiresZeroFee: the instance charges a gas fee, so its ETH is fee revenue and belongs to withdrawGasFee.
NetworkError#ErrorNetwork-level failure reaching the RPC endpoint (HTTP non-2xx, timeout, DNS, socket close).
NonStockWrapperError#ErrorclaimAndUnwrap routes the claim straight into the wrapper's unwrap, which burns from the airdrop instance's own pooled ERC7984ERC20Wrapper balance rather than from any per-claimant sub-balance — the instance holds one aggregate confident...
NoopTelemetry#ConstantConstant export from @tokenops/sdk/telemetry.
NoPendingTransferError#ErrorNo pending transfer exists — cancel/accept fails until one is initiated.
NotPendingRecipientError#ErrorCaller is not the pending recipient of this transfer.
NotRegisteredError#ErrorThe user has not yet called register(token).
NotVestingRecipientError#ErrorCaller is not the recipient of this vesting schedule.
OperatorNotApprovedError#ErrorThe ERC-7984 token rejected the product contract as a spender — ERC7984UnauthorizedSpender(address holder, address spender) (selector 0x79f2cb38).
PartialClaimArgs#TypeArguments for ConfidentialVestingManagerClient.partialClaim and ConfidentialVestingManagerClient.adminPartialClaim.
PausedError#ErrorContract is paused.
PendingCreateAirdropResult#TypeWhat a create returns with waitForReceipt: false (ReceiptMode): the same fields as CreateAirdropResult, taken from the CreateCommitments the create was sent with rather than from a receipt.
PendingCreateManagerResult#TypeWhat ConfidentialVestingFactoryClient.createManager returns with waitForReceipt: false (ReceiptMode): the submission hash only.
PendingDisclosureResult#TypeWhat discloseHandleToParty() / batchDiscloseHandlesToParty() return with waitForReceipt: false: the submission hash only.
PendingDisperseResult#TypeWhat disperse() returns with waitForReceipt: false: the submission hash only.
PendingRegisterResult#TypeWhat register() returns with waitForReceipt: false: the submission hash only.
PendingSplitVestingResult#TypeWhat ConfidentialVestingManagerClient.splitVesting returns with waitForReceipt: false (ReceiptMode): the submission hash only.
PendingTransfer#TypeType export from @tokenops/sdk/fhe-vesting.
PendingWithdrawTokenFeeResult#TypeWhat withdrawTokenFee() returns with waitForReceipt: false: the submission hash only.
PendingWrite#TypeMarks a write result returned before its transaction was observed executing, because the write was sent with waitForReceipt: false (a Safe / multisig signer whose submission is a safeTxHash that never mines until threshold owners co-sign).
planInstanceRoleSplit#FunctionTurn an InstanceRoleAssignment into an ordered list of grantRole/revokeRole steps — a pure function, precisely so its ordering guarantees are testable without a chain.
planMerkleCampaign#FunctionBuild a campaign for an instance that does not exist yet, so its root can be baked in at create time.
PlanMerkleCampaignArgs#TypeInputs for planMerkleCampaign.
PlannedCampaign#TypeType export from @tokenops/sdk/fhe-airdrop.
PredictArgs#TypeInputs for the address-prediction oracles.
predictComplianceManagerClone#FunctionPredict the compliance-manager clone the factory deploys for an instance.
PredictionDriftError#ErrorThe factory's init-code hash for a variant changed between the moment an address was predicted and the moment the prediction was about to be used.
PredictManagerArgs#TypeType export from @tokenops/sdk/fhe-vesting/advanced.
preflightClaim#FunctionReport what would stop claim / claimAndUnwrap right now, without sending anything.
PreflightClaimArgs#TypeInputs for preflightClaim.
preflightCreate#FunctionRun every create-time guardrail read-only and report what would block the transaction, instead of throwing on the first problem.
PreflightCreateArgs#TypeInputs for preflightCreate.
PreflightCreateResult#TypeType export from @tokenops/sdk/fhe-airdrop.
PreflightDisperseArgs#TypeArguments for preflightDisperse().
PreflightReport#TypeComprehensive pre-flight report returned by ConfidentialDisperseClient.preflightDisperse.
PreflightResult#TypeResult of a read-only preflight on a write operation.
ReceiptEventAmbiguousError#ErrorThrown when receipt-event extraction finds more than one matching event from the target contract.
ReceiptEventNotFoundError#ErrorThrown when extracting an event from a transaction receipt finds zero matching entries — typically a silent revert, a misrouted log, or (most commonly for FHE flows) an ACL Allowed grant that didn't fire because the contract entrypoint t...
ReceiptMode#TypeThe waitForReceipt option of every receipt-free write.
RecipientCheck#TypePer-recipient validation result inside a PreflightReport.
ReentrancyError#ErrorOpenZeppelin ReentrancyGuardTransient blocked a nested call.
RegisterArgs#TypeArguments for register().
RegisterResult#TypeResult of register().
RelayerAuth#TypeRelayer authentication, forwarded as the chain's auth.
RelayerUnreachableError#ErrorNetwork call to the Zama relayer failed (HTTP non-2xx, timeout, DNS, etc.).
requireConfidentialTestTokenAddress#FunctionFunction export from @tokenops/sdk/testnet-faucet.
requireTestTokenAddress#FunctionFunction export from @tokenops/sdk/testnet-faucet.
resolveEncryptor#FunctionNormalize an EncryptorSource to the underlying Encryptor, invoking the factory if lazy.
revokeOperator#FunctionRevoke a previously granted ERC-7984 operator authorization.
RevokeOperatorArgs#TypeArguments for revokeOperator.
RoleGrantOutcome#TypeThe outcome of one step from grantInstanceRoles.
RoleGrantStep#TypeOne grantRole/revokeRole transaction grantInstanceRoles will submit, in order.
RoleName#TypeThe on-chain role names this module knows how to grant or revoke.
RotatedCampaign#TypeA rebuilt campaign together with the transaction that published its root.
rotateMerkleRoot#FunctionRepublish a campaign with updated cumulative totals: rebuild every entry against the live instance, then set the new root.
RotateMerkleRootArgs#TypeInputs for rotateMerkleRoot.
SaltCollisionError#ErrorA create* was about to be sent for a (variant, mode, deployer, userSalt) tuple whose predicted address already holds code.
ScaledRatio#TypeType export from @tokenops/sdk/fhe-vesting.
scaleRatio#FunctionScale a plaintext ratio so the output denominator equals the privacy-preserving split constant (FHE_SPLIT_DENOMINATOR, default 90_090_000) while keeping both values within uint128.
ScaleRatioArgs#TypeType export from @tokenops/sdk/fhe-vesting.
ScaleRatioWidth#TypeBit-width to validate the scaled numerator/denominator against.
SDK_VERSION#ConstantSDK version baked at build time.
SdkTelemetry#TypeType export from @tokenops/sdk/telemetry.
SdkTelemetryTags#TypeTag values accepted by SdkTelemetry.scope.
SEPOLIA_CHAIN_ID#ConstantSepolia testnet chain id (11155111).
SepoliaEncryptorLogger#TypeLogger accepted by the Sepolia encryptor helpers.
SepoliaEncryptorWeb#TypeReturned by createSepoliaEncryptorWeb.
setOperator#FunctionAuthorize spender to pull ERC-7984 tokens from account until deadline.
SetOperatorArgs#TypeType export from @tokenops/sdk/fhe-vesting.
share#FunctionGuided builders for the two split shapes the SDK supports as exact-integer numerators over FHE_SPLIT_DENOMINATOR (90_090_000 = LCM(1..16, 10_000)).
SignatureExpiredError#ErrorECDSA claim reverted with SignatureExpired: block.timestamp is past the signature's deadline.
signClaimAuthorization#FunctionBuild the v2 EIP-712 signature over a Claim(address recipient, bytes32 encryptedAmount, bytes32 dedupId, uint256 deadline) struct — the four-field digest ECDSAConfidentialAirdrop verifies.
SigningFailedError#ErrorWallet signature failed for a reason other than the user explicitly rejecting it (timeout, wallet crash, malformed request, etc.).
SingletonNotApprovedError#ErrorThe sender has not approved the singleton as an ERC-7984 operator on the token.
SplitVestingArgs#TypeType export from @tokenops/sdk/fhe-vesting.
SplitVestingResult#TypeResult of ConfidentialVestingManagerClient.splitVesting.
SubwalletApprovalState#TypeApproval state of a user's subwallet pair for a specific token.
SubwalletsNotApprovedError#ErrorWallet-mode disperse: the user's registered sub-wallet pair has not (fully) approved the singleton as an ERC-7984 operator on the token, so the singleton cannot move funds held by the sub-wallets.
TESTNET_FAUCET_SUPPORTED_CHAIN_IDS#ConstantChain ids on which the testnet faucet is allowed to operate.
TestnetFaucetClient#ClientTyped SDK client for the **testnet-only** TokenOps faucet token pair.
TestnetFaucetClientConfig#TypeType export from @tokenops/sdk/testnet-faucet.
TokenOpsContractError#ErrorGeneric contract-interaction error with a free-form context object.
TokenOpsSdkError#ErrorBase class for every error the SDK throws.
TokenOpsSdkErrorCode#TypeStable, string-literal error codes.
TokenOpsTelemetry#ConstantConstant export from @tokenops/sdk/telemetry.
TokenOpsTelemetryOptions#TypeType export from @tokenops/sdk/telemetry.
tokenopsTestTokenAbi#ConstantConstant export from @tokenops/sdk/testnet-faucet.
TokenOpsValidationError#ErrorFree-form validation error thrown by SDK helpers that don't have a more specific typed subclass yet (e.g.
TransferAlreadyPendingError#ErrorA vesting transfer is already pending — initiate fails until accepted/cancelled/expired.
TransferExpiredError#ErrorPending transfer has expired and can no longer be accepted.
TransferFailedError#ErrorNative ETH or ERC-20 transfer failed at the contract layer (e.g.
UINT96_MAX#ConstantThe largest value CommonAirdropParams.maxAcceptedGasFee can carry - the uint96 ceiling.
UnauthorizedRedirectError#ErrorA third party tried to redirect someone else's Merkle payout.
UnknownWriteFailureError#ErrorFallback for write failures the SDK could not classify against either an on-chain revert frame or a known viem non-revert error class.
UnrecognisedAirdropError#ErrorThe canonical factory's registry does not contain this address, so it is not an airdrop this SDK deployed.
UnsupportedChainError#ErrorThe chain is not one the called surface runs on.
UnwrapRequest#TypeThe unwrap a claimAndUnwrap started, decoded from the instance's ClaimedAndUnwrapInitiated event.
UnwrapRequestSource#TypeWhat AirdropBaseClient.parseUnwrapRequest reads: a viem receipt, or its logs.
UpgradeabilityNotAllowedError#ErrorFactory create* reverted with UpgradeabilityNotAllowed: the creator's effective upgradeability policy is off.
UpgradeabilityPolicy#TypeThe on-chain UpgradeabilityPolicy struct returned by getUpgradeabilityPolicy.
useAcceptVestingTransfer#HookAccept an inbound vesting transfer (counterparty side).
useAccessClaimableAmount#HookSubmits a transaction to read the currently-claimable amount as an euint128 handle.
useAccessEcdsaClaimAmount#HookSubmits a transaction. Previews a signed encrypted allocation as an encrypted handle.
useAccessEncryptedFeeReserve#HookMUTATION — submits a transaction (costs gas). Mirrors the on-chain accessEncryptedFeeReserve(token) function: grants the caller persistent decrypt access to the encrypted token fee reserve as an euint64 handle.
useAccessMerkleClaimAmount#HookSubmits a transaction. Previews the outstanding amount for a proof-bearing Merkle entry as an encrypted handle.
useAccessSettledAmount#HookSubmits a transaction to read the already-claimed (settled) amount of a vesting as an euint128 handle.
useAccessTotalAllocation#HookSubmits a transaction to read the total allocation of a vesting as an euint128 handle.
useAccessVestedAmount#HookSubmits a transaction to read the vested amount at a given timestamp as an euint128 handle.
useAddComplianceDelegate#HookGrant delegate permanent user-decryption delegation over this compliance clone's airdrop.
useAdminBatchDiscloseBalanceToParties#HookSubmits a transaction. Discloses the instance's confidential pool balance to several parties at once.
useAdminBatchDiscloseToParty#HookAdmin variant of useBatchDiscloseToParty — caller must hold DISCLOSURE_ADMIN_ROLE.
useAdminClaim#HookAdmin variant of useClaim — caller must hold CLAIMER_ROLE.
useAdminDiscloseBalanceToParty#HookSubmits a transaction. Discloses the instance's confidential pool balance to party.
useAdminDiscloseToParty#HookAdmin variant of useDiscloseToParty — caller must hold DISCLOSURE_ADMIN_ROLE.
useAdminGetClaimableAmount#HookAdmin variant of useAccessClaimableAmount — caller must hold DISCLOSURE_ADMIN_ROLE.
useAdminGetCurrentBalance#HookSubmits a transaction. Reads the instance's remaining confidential pool balance as an euint64 handle the caller may decrypt - pass data.handle to the Zama relayer's userDecrypt.
useAdminGetSettledAmount#HookAdmin variant of useAccessSettledAmount — caller must hold DISCLOSURE_ADMIN_ROLE.
useAdminGetTokenBalance#HookAdmin: read the manager clone's confidential ERC-7984 token balance as an euint64 handle.
useAdminGetTotalAllocation#HookAdmin variant of useAccessTotalAllocation — caller must hold DISCLOSURE_ADMIN_ROLE.
useAdminGetVestedAmount#HookAdmin variant of useAccessVestedAmount — caller must hold DISCLOSURE_ADMIN_ROLE.
useAdminPartialClaim#HookAdmin variant of usePartialClaim — caller must hold CLAIMER_ROLE.
useAirdropConfig#HookRead an airdrop instance's immutable configuration in one round trip.
useAirdropDeploymentMode#HookRead which deployment shell an airdrop instance is: a minimal-proxy "clone", or a "uups" ERC-1967 proxy that useAirdropUpgradeToAndCall can actually move.
useAirdropGasFee#HookRead the per-claim ETH fee (wei) an instance charges; 0n on a fee-free campaign.
useAirdropGrantRole#HookGrant one role on one airdrop instance.
useAirdropHasRole#HookWhether holder holds role on an airdrop instance.
useAirdropPause#HookSet an airdrop instance's pause flag.
useAirdropPaused#HookWhether claiming is currently halted (PausableUpgradeable.paused()).
useAirdropRenounceRole#HookGive up a role on an airdrop instance yourself.
useAirdropRevokeRole#HookRevoke one role from one holder on one airdrop instance.
useAirdropRoleAdmin#HookWhich role's holders may grant and revoke role on an airdrop instance.
useAirdropRoleConstants#HookRead an airdrop instance's role identifiers in one fan-out.
useAirdropRoleMembers#HookList who holds role on an airdrop instance, with the member count.
useAirdropToken#HookRead the ERC-7984 token an airdrop instance distributes.
useAirdropUpgradeToAndCall#HookPoint an airdrop instance's ERC-1967 proxy at a new implementation, optionally calling into it in the same transaction.
useAirdropWindow#HookRead an airdrop instance's claim-window snapshot in one round trip.
useAllRecipients#HookEvery recipient currently registered on this manager.
useAllRecipientsLength#HookCount of registered recipients (cheap pre-paging check).
useAllRecipientsSliced#HookRead a [start, end) slice of the recipients set.
useApproveTokenOnWallets#HookApprove the singleton as an ERC-7984 operator over the caller's registered subwallets for a single token.
useBatchCreateVesting#HookBatch variant of useCreateVesting — open N vestings in one tx with one batch input proof.
useBatchDiscloseHandlesToParty#HookBatch ACL grant across many handles in one tx.
useBatchDiscloseHandlesToParty#HookBatch ACL grant across many handles in one tx.
useBatchDiscloseHandlesToParty#HookBatch ACL grant across many handles in one tx.
useBatchDiscloseToParty#HookBatch variant of useDiscloseToParty.
useBatchRevokeVesting#HookBatch variant of useRevokeVesting.
useBuildMerkleCampaign#HookEncrypt a roster and build the Merkle tree those ciphertexts belong to, for an instance that already exists — the mutable-root path.
useCalculateFee#HookQuote the on-chain fee config for a given disperse batch shape (count + mode).
useCancelVestingTransfer#HookCancel an outbound transfer before the counterparty accepts.
useClaim#HookRecipient-side claim. For FeeType.Gas managers pass value (read it with useManagerFeeInfo); omit value for FeeType.DistributionToken.
useClaimedAmount#HookRead account's cumulative delivered total on a MerkleConfidentialAirdrop instance, as an encrypted handle — pass it to the Zama relayer's userDecrypt to see the plaintext.
useClearCompliancePolicy#HookDrop a creator's useSetCompliancePolicy override, reverting them to the factory default.
useClearUpgradeabilityPolicy#HookDrop a creator's useSetUpgradeabilityPolicy override, reverting them to the factory default.
useComplianceGrantRole#HookGrant one role on a compliance-manager clone.
useComplianceHasRole#HookWhether holder holds role on a compliance-manager clone.
useComplianceInfo#HookRead a compliance-manager clone's whole wiring in one round trip - the airdrop it serves, its platform delegate, and its client-delegate set.
useComplianceManager#HookRead an airdrop instance's own compliance-manager clone — the only contract the instance itself grants persistent ACL on its pool and claim handles.
useComplianceManagerOf#HookResolve the ComplianceRoleManager clone bound to an airdrop instance, by asking the factory.
useComplianceRenounceRole#HookGive up a role on a compliance-manager clone yourself.
useComplianceRevokeRole#HookRevoke one role from one holder on a compliance-manager clone.
useComplianceRoleConstants#HookRead a compliance-manager clone's role identifiers.
useComplianceRoleMembers#HookList who holds role on a compliance-manager clone, with the member count.
useConfidentialBalance#HookRead the encrypted confidential balance handle (euint64 ciphertext) for account — defaults to the connected wallet.
useConfidentialVestingFactoryImplementation#HookRead the FHE-vesting factory's current implementation() address — the LibClone target every new manager clone delegates to.
useCreateAndFundEcdsaAirdrop#HookDeploy an ECDSA-authorised airdrop instance and seed its pool in one transaction.
useCreateAndFundMerkleAirdrop#HookDeploy a Merkle-proof airdrop instance and seed its pool in one transaction.
useCreateEcdsaAirdrop#HookDeploy an ECDSA-authorised airdrop instance via the factory.
useCreateManager#HookDeploy a per-user vesting manager clone via the factory.
useCreateManagerAndGetAddress#HookDeploy a manager and wait for the receipt — returns the deterministic clone address.
useCreateMerkleAirdrop#HookDeploy a Merkle-proof airdrop instance via the factory.
useCreateVesting#HookOpen a new vesting schedule on a manager — encrypts the amount client-side, submits the tx.
useDecryptedHandle#HookSubscribe to a single encrypted handle and reactively decrypt via the connected wallet.
useDedupMode#HookRead an ECDSA airdrop instance's replay-protection policy from the chain.
useDeploymentBlockNumber#HookRead the block number at which the singleton was deployed — useful as the fromBlock argument to getLogs when subscribing to events.
useDirectVestingTransfer#HookRecipient-driven one-step transfer — moves a vesting to a new owner without waiting for counterparty acceptance.
useDisableCustomFee#HookAdmin: disable the per-creator fee override for creator.
useDisableCustomFee#HookAdmin: remove a per-user fee override, falling back to the global defaults.
useDisableCustomFee#HookDrop a creator's per-creator fee override, reverting them to the factory's defaultGasFee.
useDiscloseHandleToParty#HookGrant ACL on a single ciphertext handle to a third party (e.g. an auditor).
useDiscloseHandleToParty#HookGrant ACL on a single ciphertext handle to a third party (e.g. an auditor).
useDiscloseHandleToParty#HookGrant ACL on a single ciphertext handle to a third party (e.g. an auditor).
useDiscloseToParty#HookGrant ACL on a single encrypted field of a vesting (total allocation, settled, vested, or claimable) to a third party.
useDisperse#HookMulti-recipient confidential transfer in one tx — batch-encrypts amounts + per-recipient ACL.
useEcdsaClaim#HookClaim a signed encrypted allocation on an ECDSAConfidentialAirdrop instance.
useEcdsaClaimAndUnwrap#HookClaim a signed encrypted allocation and route it straight into the wrapper's unwrap, making to the underlying ERC-20 beneficiary.
useEcdsaDomain#HookRead an ECDSA instance's CLAIM_TYPEHASH, domain separator and ERC-5267 domain in one round trip - the three deployment-verification reads nobody wants one at a time (same call as useAirdropWindow).
useEcdsaInitCodeHash#HookInit-code hash of the ECDSA proxy the factory would deploy for mode.
useEffectiveDelegateToCompliance#HookWhether creator's NEXT create* will wire the platform compliance delegate into the instance's compliance-manager clone - their setCompliancePolicy override when they have one, else the factory default.
useEffectiveUpgradeable#HookWhether creator's NEXT create* may deploy mode: "uups" — the factory default, overridden per-creator via setUpgradeabilityPolicy.
useEncryptCampaignAmounts#HookEncrypt a plaintext roster into per-recipient handles, without building a tree.
useEnsureOperator#HookEnsure spender is an ERC-7984 operator for the connected account on token, sending a setOperator transaction only when the grant is missing.
useEnsureOperator#HookEnsure spender is an ERC-7984 operator for the connected account on token, sending a setOperator transaction only when the grant is missing.
useEnsureOperator#HookEnsure spender is an ERC-7984 operator for the connected account on token, sending a setOperator transaction only when the grant is missing.
useExtendClaimWindow#HookAdmin extends the claim deadline.
useFactoryComplianceDelegate#HookThe platform-designated compliance delegate the FACTORY wires into every new compliance-manager clone.
useFactoryCompliancePolicy#HookThe admin's per-creator compliance view: the stored override AND the value the factory resolves for that creator.
useFactoryCustomFee#HookRead the per-creator fee override set on the factory for creator.
useFactoryCustomFee#HookRead one creator's per-claim fee override.
useFactoryDefaultFeeType#HookRead the factory-wide default fee model (FeeType.Gas or FeeType.DistributionToken) applied to newly-created manager clones.
useFactoryDefaultGasFee#HookRead the factory-wide default gas fee (in wei) — applied to new FeeType.Gas manager clones at deployment.
useFactoryDefaultTokenFee#HookRead the factory-wide default token fee in basis points — applied to new FeeType.DistributionToken manager clones at deployment.
useFactoryFeeCollector#HookRead the factory's current fee collector address.
useFactoryFees#HookRead the airdrop factory's chain-wide fee configuration: feeCollector, defaultGasFee and maxGasFee in one round trip.
useFactoryGrantRole#HookGrant one factory role.
useFactoryHasRole#HookWhether holder holds role on the factory.
useFactoryImplementations#HookRead all three of the factory's implementation pointers in one round trip - the row an admin panel shows together, so they are bundled rather than shipped as three one-line hooks over three parallel eth_calls.
useFactoryInitCodeHash#HookRead the init-code hash the factory would use to CREATE2 a manager clone with the given token + deployer (+ optional immutable flags).
useFactoryRegistry#HookPage through every instance the factory has deployed, plus the total count — the two reads a "list my campaigns" admin view needs together.
useFactoryRenounceRole#HookGive up a factory role yourself.
useFactoryRevokeRole#HookRevoke one factory role from one holder.
useFactoryRoleConstants#HookRead the factory's role identifiers in one fan-out.
useFactoryRoleMembers#HookList who holds role on the factory, with the member count.
useFactoryUpgradeabilityPolicy#HookThe admin panel's full upgradeability answer for one creator, in one round trip: the factory default, the per-creator override, and the resolved value.
useFaucetDecimals#HookRead the decimals of the confidential token (CTTT) — 6.
useFaucetMetadata#HookRead consolidated faucet metadata in a single hook — both tokens' name/symbol/decimals/address, the conversion rate, and the maxTotalSupply ceiling.
useFaucetRate#HookRead the decimal-conversion rate between underlying and confidential units: 1 CTTT 6-decimal unit is backed by rate TTT 18-decimal base units (10^(18-6) = 10^12).
useFundAirdrop#HookTop up an already-deployed instance's pool through the factory.
useGetBatchLimits#HookRead the maximum batch size for each of the three disperse modes ("wallet", "direct", "wallet-token-fee").
useGetFeeConfig#HookRead the singleton's { gasFeeEnabled, tokenFeeEnabled, defaultGasFee, defaultTokenFee } fee config.
useGetFees#HookRead consolidated fee information for user — combines per-user resolved fees (getFeeAmounts) with the global feeConfig toggles in one read.
useGetWallets#HookRead the deployer's two registered subwallet addresses.
useGrantInstanceRoles#HookSplit an airdrop instance's roles after create — one grantRole / revokeRole transaction per requested assignment, submitted in the order planInstanceRoleSplit computes.
useGrantRole#HookAccessControl: grant role to holder.
useGrantRole#HookAccessControl: grant role to holder on the singleton.
useHasApprovedSubwallets#HookCheck whether a user's registered subwallets have approved the singleton as an ERC-7984 operator for token.
useHasRole#HookRead AccessControl: is holder a member of role on this manager? The role hashes are stable across deployments — see useRoleConstants if you need to look them up dynamically.
useHasRole#HookRead AccessControl: is account a member of role on the singleton? All five role constants (DEFAULT_ADMIN_ROLE, FEE_MANAGER_ROLE, FEE_COLLECTOR_ROLE, PAUSER_ROLE, WITHDRAWER_ROLE) are exported from @tokenops/sdk/fhe-disperse/react.
useInferredTotalSupply#HookRead the wrapper's inferred total supply: underlying held in custody divided by rate, an upper bound on the confidential total supply, in CTTT 6-decimal units.
useInitiateVestingTransfer#HookRecipient initiates a two-step transfer of a vesting position to another recipient.
useIsActiveDelegate#HookWhether delegate currently holds user-decryption delegation over this compliance-manager clone's airdrop.
useIsAirdrop#HookAsk the canonical factory whether it created candidate - the genuineness check.
useIsMerkleRootMutable#HookWhether this MerkleConfidentialAirdrop instance permits root rotation at all.
useIsOperator#HookRead spender's ERC-7984 operator status for holder on token.
useIsOperator#HookRead spender's ERC-7984 operator status for holder on token.
useIsOperator#HookRead spender's ERC-7984 operator status for holder on token.
useIsPaused#HookRead the singleton's paused flag.
useIsRecipient#HookRead whether account is currently a recipient on this manager clone.
useIsRegistered#HookHas this deployer already called register?
useIsSignatureValid#HookWhether an ECDSA claim authorization would be accepted right now for recipient, without spending an FHE op or a transaction.
useManagerDeploymentBlockNumber#HookRead the manager clone's immutable DEPLOYMENT_BLOCK_NUMBER — the block at which the factory deployed this clone via LibClone.
useManagerFee#HookRead the manager clone's immutable FEE (in wei for FeeType.Gas, in basis points for FeeType.DistributionToken).
useManagerFeeInfo#HookResolves { feeType, fee } — caller passes the right branch to useClaim.
useManagerFeeType#HookRead the manager clone's immutable FEE_TYPE (FeeType.Gas or FeeType.DistributionToken).
useManagerIsPausable#HookRead whether the manager clone has pause/unpause enabled (immutable).
useManagerIsSplitEnabled#HookRead whether the manager clone has split-vesting enabled (immutable).
useManagerMaxBatchSize#HookRead the manager clone's maxBatchSize — upper bound for batchCreateVesting.
useManagerMaxRevokeBatchSize#HookRead the manager clone's maxRevokeBatchSize — upper bound for batchRevokeVesting.
useManagerPaused#HookRead whether the manager clone is currently paused.
useManagerToken#HookThe manager clone's immutable underlying token address.
useMaxTotalSupply#HookRead the max confidential total supply the wrapper supports (type(uint64).max).
useMerkleClaim#HookClaim the outstanding amount for a proof-bearing entry on a MerkleConfidentialAirdrop instance.
useMerkleClaimAndUnwrap#HookClaim a proof-bearing Merkle entry and route the allocation straight into the wrapper's unwrap, making to the underlying ERC-20 beneficiary.
useMerkleInitCodeHash#HookInit-code hash of the Merkle proxy the factory would deploy for mode - the Merkle counterpart of useEcdsaInitCodeHash, with the same before/after bracketing job and the same /advanced/react home.
useMerkleRoot#HookRead a MerkleConfidentialAirdrop instance's currently published root.
useMintConfidential#HookMint backed confidential test tokens (CTTT) to a recipient.
useMintUnderlying#HookMint standard (non-confidential) ERC-20 test tokens (TTT) to a recipient.
usePartialClaim#HookClaim less than the unlocked amount — leaves the remainder encrypted on the clone.
usePause#HookPauser: pause the manager clone — blocks claim, partialClaim, splitVesting, initiateVestingTransfer, acceptVestingTransfer, and directVestingTransfer.
usePause#HookAdmin: pause all disperse operations on the singleton.
usePendingVestingTransfer#HookRead the pending transfer (if any) on a vesting — returns { newRecipient, initiatedAt, expiresAt }.
usePlanMerkleCampaign#HookBuild a campaign for a Merkle instance that does not exist yet, so its root can be baked in at create time — the immutable-root path.
usePredictEcdsaAirdropAddress#HookWhere an ECDSA create* from deployer with this (mode, userSalt) pair would land.
usePredictManagerAddress#HookCREATE2 the manager clone address before deploying — pre-flight UI flows.
usePredictMerkleAirdropAddress#HookWhere a Merkle create* from deployer with this (mode, userSalt) pair would land.
usePredictWallets#HookCompute the deterministic subwallet addresses for a deployer without registering.
usePreflightClaim#HookReport what would stop a claim right now - chain support, the pause flag, both ends of the claim window, whether claimant can cover the exact-equality gas fee, the Merkle argument-relation rules when account/entrypoint are given, and for an ECDSA campaign given signature, whether the authorisation is valid and unconsumed.
usePreflightCreateAirdrop#HookRead-only preflight for useCreateEcdsaAirdrop / useCreateMerkleAirdrop.
usePreflightCreateVesting#HookRead-only preflight for useCreateVesting / useBatchCreateVesting — wraps ConfidentialVestingManagerClient.preflightCreateVesting as a TanStack query.
usePreflightDisperse#HookDry-run validator — checks operator + balance + paused state before broadcasting.
UserDecryptNotAllowedError#ErrorZama ACL refused to grant decryption for the caller on the requested handle.
useRecipientVestings#HookRead all vesting IDs owned by recipient.
useRecipientVestingsLength#HookRead the number of vesting schedules owned by recipient.
useRecipientVestingsSliced#HookRead a [start, end) slice of recipient's vesting IDs.
useRecoverERC20FromWallets#HookRecover ERC-20 tokens accidentally sent to the caller's registered wallets.
useRecoverFromWallets#HookRecover residual confidential ERC-7984 tokens from the caller's registered wallets to to.
useRefreshComplianceBalance#HookSubmits a transaction. Re-grants the compliance-manager clone on the instance's current pool balance and returns the handle it was granted on.
useRegister#HookFirst-time setup for a deployer — singleton creates the two ERC-1167 subwallets.
useRenounceRole#HookAccessControl: renounce role from msg.sender.
useRescueConfidentialTokens#HookSweep stranded confidential tokens out of the singleton contract (admin-only).
useRescueERC20#HookSweep stranded plain ERC-20 tokens (e.g. someone sent the wrong token).
useRescueERC20#HookSweep stranded plain ERC-20 tokens (e.g. someone sent the wrong token).
useRescueNativeToken#HookSweep ETH stranded on a zero-fee airdrop instance (a forced send, or a transfer to the predicted address before deploy) to recipient.
useRescueOtherConfidentialToken#HookSweep a different ERC-7984 token that was sent to an airdrop instance by mistake.
useResetGasFee#HookAdmin: reset the factory's default gas fee to zero.
useResetTokenFee#HookAdmin: reset the factory's default token fee to zero.
useResolveGasFee#HookThe per-claim fee a create* from creator would freeze into the new instance right now: their setCustomFee override when enabled, else the factory default.
useRevokeComplianceDelegate#HookRevoke a client delegate's user-decryption delegation.
useRevokeRole#HookAccessControl: revoke role from holder.
useRevokeRole#HookAccessControl: revoke role from holder on the singleton.
useRevokeTokenOnWallets#HookRevoke operator approval on the subwallets (rollback).
useRevokeVesting#HookAdmin revocation — clears the schedule (revocable variants only) and returns funds.
UserFees#TypeResolved fee configuration for a given user.
useRoleConstants#HookRead all eight AccessControl role hashes off the manager in one fan-out.
useRotateMerkleRoot#HookRebuild a campaign against updated totals and publish the new root in one call.
UserRejectedSignatureError#ErrorUser cancelled the wallet signature prompt.
useSetComplianceDelegate#HookSet the platform-designated compliance delegate that every new compliance-manager clone wires in.
useSetComplianceManagerImpl#HookPoint future compliance-manager clones at a new implementation.
useSetCompliancePolicy#HookOverride the factory's default delegate-to-compliance policy for one creator.
useSetCustomFee#HookAdmin: install a per-creator fee override on the factory.
useSetCustomFee#HookAdmin: install a per-user fee override (gas fee in wei, token fee in BPS).
useSetCustomFee#HookOverride the factory's default per-claim gas fee for one creator.
useSetDefaultDelegateToCompliance#HookSet the factory-wide default for whether new instances delegate compliance disclosure to the platform delegate.
useSetDefaultFeeType#HookAdmin: set the factory's default fee model (FeeType.Gas or FeeType.DistributionToken) for new manager clones.
useSetDefaultGasFee#HookAdmin: set the factory-wide default gas fee (in wei).
useSetDefaultGasFee#HookSet the per-claim gas fee that new instances default to when their creator has no setCustomFee override.
useSetDefaultTokenFee#HookAdmin: set the factory-wide default token fee (basis points).
useSetDefaultUpgradeable#HookSet the factory-wide default for whether a create* may deploy mode: "uups".
useSetEcdsaImplementation#HookPoint future createEcdsaAirdrop* calls at a new ECDSA implementation.
useSetFeeCollector#HookAdmin: set the factory's fee collector address.
useSetFeeCollector#HookSet the account seeded with FEE_COLLECTOR_ROLE on instances the factory creates after this call.
useSetFeeConfig#HookAdmin: update the global fee configuration — enable/disable gas and token fees, set the defaults.
useSetMaxBatchSize#HookAdmin: bump or lower maxBatchSize (cap for useBatchCreateVesting).
useSetMaxBatchSizeDirect#HookAdmin: set the maximum batch size for "direct" mode disperses.
useSetMaxBatchSizeHolding#HookAdmin: set the maximum batch size for "wallet" mode disperses.
useSetMaxBatchSizeTokenFee#HookAdmin: set the maximum batch size for "wallet-token-fee" mode disperses.
useSetMaxGasFee#HookSet the factory's ceiling on every fee setDefaultGasFee / setCustomFee may configure, and on the fee resolved at create.
useSetMaxRevokeBatchSize#HookAdmin: bump or lower maxRevokeBatchSize (cap for useBatchRevokeVesting).
useSetMerkleImplementation#HookPoint future createMerkleAirdrop* calls at a new Merkle implementation.
useSetMerkleRoot#HookRotate the published root on a MerkleConfidentialAirdrop instance.
useSetUpgradeabilityPolicy#HookOverride the factory's default upgradeability policy for one creator.
useSignClaimAuthorization#HookAdmin signs the off-chain EIP-712 Claim(address recipient,bytes32 encryptedAmount) message.
useSplitVesting#HookSplit one vesting into two with custom proportions; both stay encrypted.
useTokenOf#HookResolve the token the factory recorded for an airdrop instance at create - what fundAirdrop pulls, regardless of what the instance reports today.
useTransferFeeCollectorRole#HookTransfer the FEE_COLLECTOR_ROLE to newCollector.
useUnderlyingBalance#HookRead the plaintext underlying TokenopsTestToken (TTT) balance for account (defaults to the connected wallet), in TTT 18-decimal base units.
useUnderlyingDecimals#HookRead the decimals of the underlying token (TTT) — 18.
useUnderlyingTokenAddress#HookRead the underlying TokenopsTestToken (TTT) address backing the CTTT wrapper.
useUnpause#HookPauser: unpause the manager clone.
useUnpause#HookAdmin: unpause the singleton.
useUnwrapRequest#HookThe unwrap request a claimAndUnwrap started: waits for hash to be mined and decodes the instance's ClaimedAndUnwrapInitiated event.
useVestingInfo#HookPlaintext schedule shape (start / end / cliff / interval) + encrypted-handle metadata.
useWalletImplementation#HookRead the WALLET_IMPLEMENTATION address — the singleton clones this deterministically (Clones.cloneDeterministic) for each registered user to derive their wallet pair.
useWithdrawAdmin#HookAdmin: withdraw an encrypted amount of the manager's distribution token to msg.sender.
useWithdrawConfidential#HookSweep an airdrop instance's entire remaining confidential balance to recipient.
useWithdrawGasFee#HookFee collector: withdraw collected gas-fee ETH (FeeType.Gas managers).
useWithdrawGasFee#HookWithdraw an airdrop instance's accrued per-claim fee ETH to recipient.
useWithdrawGasFee#HookFee-collector: withdraw amount wei of accumulated ETH gas fees from the singleton to to.
useWithdrawOtherConfidentialToken#HookAdmin: rescue an ERC-7984 (confidential) token other than this manager's configured token.
useWithdrawOtherToken#HookAdmin: rescue an ERC-20 (non-confidential) other than this manager's configured token.
useWithdrawTokenFee#HookFee collector: withdraw collected distribution-token fees (FeeType.DistributionToken managers).
useWithdrawTokenFee#HookFee-collector: withdraw accumulated encrypted token fees.
validateCampaignRecipients#FunctionReject the campaign shapes that produce an unusable or misleading tree, before any encryption work is done.
VestingExpiredError#ErrorVesting has ended (block.timestamp > endTimestamp); admin actions like revoke are no longer valid.
VestingInfo#TypeRead-only snapshot returned by getVestingInfo.
VestingNotFoundError#ErrorVesting schedule with this ID does not exist.
VestingNotRevocableError#ErrorVesting was created with isRevocable: false and cannot be revoked.
VestingParams#TypePlaintext mirror of IConfidentialVestingManagerTypes.VestingParams.
VestingRevokedError#ErrorVesting has already been revoked.
WalletChainMismatchError#ErrorThe connected wallet is on a different chain than the contract we tried to call.
WalletRejectedError#ErrorWallet UI cancelled the request — e.g.
WithdrawAdminArgs#TypeArguments for withdrawAdmin.
WithdrawTokenFeeArgs#TypeArguments for withdrawTokenFee.
WithdrawTokenFeeResult#TypeResult of withdrawTokenFee().
withTelemetry#FunctionHelper used inside SDK clients: span + error forwarding.
WriteAccountOverride#TypeWho sends the transaction, when it should not be the wallet client's own account, and the gas limit to send it with, when the SDK's padded estimate should not decide it.