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.
Airdrop v2 · Events · 51@tokenops/sdk/fhe-airdrop

Airdrop v2 event reference.

The SDK parses three contract events plus the ACL event. Everything else here is vendored, unparsed - decode it yourself.

Parsed by the SDK· 4

EventArgs
ConfidentialAirdropCreated(indexed airdrop, indexed token, airdropType, mode, indexed creator, userSalt)
ComplianceManagerCloned(indexed airdrop, indexed managerClone, indexed complianceDelegate, managerImplementation)
ClaimedAndUnwrapInitiated(indexed claimant, beneficiary, indexed claimKey, unwrapRequestId)
Allowed(indexed caller, indexed account, indexed handle)

Factory - not parsed, decode yourself· 20

EventArgs
ConfidentialAirdropFunded(indexed airdrop, indexed token, amount)
FeeCollectorSet(indexed feeCollector)
SetDefaultGasFee(gasFee)
SetMaxGasFee(maxGasFee)
NativeTokenRescued(indexed recipient, amount)
SetCustomFee(indexed creator, gasFee)
CustomFeeDisabled(indexed creator)
EcdsaImplementationSet(indexed implementation)
MerkleImplementationSet(indexed implementation)
ComplianceManagerImplSet(indexed implementation)
ComplianceDelegateSet(indexed delegate)
DefaultDelegateToComplianceSet(on)
CompliancePolicySet(indexed creator, delegateToCompliance)
CompliancePolicyCleared(indexed creator)
DefaultUpgradeableSet(allowed)
UpgradeabilityPolicySet(indexed creator, allowed)
UpgradeabilityPolicyCleared(indexed creator)
RoleAdminChanged(indexed role, indexed previousAdminRole, indexed newAdminRole)
RoleGranted(indexed role, indexed account, indexed sender)
RoleRevoked(indexed role, indexed account, indexed sender)

Airdrop instance - shared base, not parsed· 9

EventArgs
AirdropInitialized(indexed token, airdropType, indexed admin, indexed feeCollector, gasFee, startTime, endTime, canExtendClaimWindow, unwrappable, complianceManager)
ClaimPreviewed(indexed recipient, indexed claimKey)
ClaimWindowExtended(oldEndTime, newEndTime)
Claimed(indexed claimant, beneficiary, indexed claimKey)
ComplianceBalanceDisclosed(indexed discloser, indexed party, encryptedAmount)
GasFeeWithdrawn(indexed recipient, amount)
HandleDisclosedToParty(indexed discloser, indexed party, encryptedAmount)
WithdrawnConfidential(indexed by, indexed recipient)
NativeTokenRescued(indexed recipient, amount)

Airdrop instance - access / pause / upgrade mixins, not parsed· 7

EventArgs
Initialized(version)
Paused(account)
Unpaused(account)
RoleAdminChanged(indexed role, indexed previousAdminRole, indexed newAdminRole)
RoleGranted(indexed role, indexed account, indexed sender)
RoleRevoked(indexed role, indexed account, indexed sender)
Upgraded(indexed implementation)

ECDSA-only, not parsed· 2

EventArgs
ECDSAAirdropInitialized(dedupMode)
EIP712DomainChanged()

Merkle-only, not parsed· 2

EventArgs
MerkleAirdropInitialized(indexed merkleRoot, isMerkleRootMutable)
MerkleRootSet(indexed oldRoot, indexed newRoot)

Compliance manager, not parsed· 7

EventArgs
ClientDelegateAdded(indexed delegate)
ClientDelegateRevoked(indexed delegate)
ComplianceDelegateSet(indexed delegate)
Initialized(version)
RoleAdminChanged(indexed role, indexed previousAdminRole, indexed newAdminRole)
RoleGranted(indexed role, indexed account, indexed sender)
RoleRevoked(indexed role, indexed account, indexed sender)
Indexer recipe: subscribe via viem's parseEventLogs({ abi, logs }) and persist by topic. The ACL.Allowed event from the FHE coprocessor is the canonical source for handle ownership — see the indexing events recipe (coming soon).Browse recipes