All Projects

๐Ÿช‚ ERC-2612 Airdrop Distribution System

Production smart contract system for on-chain airdrop distribution with EIP-712 signature-based claiming, campaign lifecycle management, role-based access control, bonus reward tracking, and abuse prevention. Solidity tests written in Foundry. TypeScript scripts load rewards from CSV and execute distributions.

Blockchain EngineerGluwa / 2023

Stack

Solidity 0.8.24Foundry (Forge)HardhatTypeScriptEIP-712ERC-2612OpenZeppelin v5

ERC-2612 Airdrop Distribution System

๐Ÿ”ญ Overview

A production-grade smart contract system for distributing token airdrops on-chain. Uses EIP-712 typed structured data signatures for gas-efficient, permissioned claiming โ€” users submit a signed claim rather than relying on a merkle tree or manual distribution.

๐Ÿ› ๏ธ Architecture

๐Ÿ“œ Smart Contract (Solidity 0.8.24 + OpenZeppelin v5)

  • ๐Ÿ” EIP-712 signature validation: each eligible recipient receives an off-chain signature; claiming requires submitting a valid signature โ€” prevents unauthorized claims without on-chain allowlist storage
  • ๐Ÿ“… Campaign lifecycle management: start/deadline timestamps, campaign pause/resume, admin role controls
  • ๐Ÿ‘ฅ Role-based access control: OpenZeppelin AccessControl โ€” ADMIN_ROLE, SIGNER_ROLE, DISTRIBUTOR_ROLE
  • ๐ŸŽ Bonus reward tracking: separate bonus allocation per recipient, claimable independently
  • ๐Ÿ›ก๏ธ Abuse prevention: per-address claiming status tracked on-chain, signature replay protection

๐Ÿงช Foundry Test Suite

  • ๐Ÿ” Property-based tests for cryptographic claim flows โ€” testing valid signatures, invalid signatures, expired signatures, and replay attacks
  • ๐Ÿ“… Campaign lifecycle tests: start, deadline enforcement, pause/resume behavior
  • ๐Ÿ‘ฅ Role access control tests: unauthorized role operations, role grant/revoke flows
  • โ›ฝ Gas optimization tests: measuring claim transaction costs under various load patterns

๐Ÿ“‹ TypeScript Distribution Scripts

  • ๐Ÿ“Š CSV-based reward loading: reads recipient addresses and allocations from spreadsheet
  • โœ๏ธ Bulk EIP-712 signature generation for all recipients
  • ๐Ÿ“ฆ Staged airdrop execution with batch transaction support
  • ๐Ÿ›ก๏ธ Abuse detection pipeline: flags addresses matching known bot/sybil patterns before signing

โญ Key Highlights

  • ๐Ÿ” EIP-712 typed signatures: gas-efficient claiming without on-chain allowlists
  • ๐Ÿงช Foundry test suite covering cryptographic flows, lifecycle management, and access control
  • ๐Ÿ“Š CSV-driven distribution pipeline enabling non-technical team members to manage reward lists
  • ๐Ÿ›ก๏ธ Abuse detection before signature generation โ€” bad actors get no signatures, not just reverted claims