Airdrop Example
This example demonstrates V2 contract integration using the Airdrop contract, which supports both E-Passport and EU ID Card verification with registration/claim phases and Merkle tree token distribution.
Airdrop-Specific Features
This contract demonstrates:
Two-phase distribution: Registration → Claim separation
Merkle tree allocation: Fair token distribution
Multi-document registration: Both E-Passport and EU ID cards supported
Anti-duplicate measures: Nullifier and user identifier tracking
Registration Logic
The registration phase validates user eligibility and prevents duplicate registrations:
Key Validations:
Registration phase must be open
Nullifier hasn't been used (prevents same document registering twice)
Valid user identifier provided
User identifier hasn't already registered (prevents address reuse)
State Variables
For standard V2 integration patterns (constructor, getConfigId), see Basic Integration Guide.
Registration Verification Hook:
Claim Function Implementation
Configuration Management
The contract includes methods for managing verification configuration:
Administrative Functions
Airdrop Flow
Deploy: Owner deploys with hub address, scope, and token
Configure: Set verification config ID and Merkle root using
setConfigId()andsetMerkleRoot()Open Registration: Users prove identity to register
Close Registration: Move to claim phase
Open Claims: Registered users claim via Merkle proofs
Distribution Complete: Tokens distributed to verified users
For verification configuration setup, see Hub Verification Process.
Last updated