The Merkle Airdrop project provides a robust solution for generating and verifying Merkle proofs in Solidity. It includes contracts that can generate Merkle roots and proofs, as well as perform inclusion verification. This project is ideal for implementing airdrops, where users can claim tokens by proving their inclusion in a Merkle tree.
-
Merkle Tree Implementations:
Merkle.sol
: Implements the tree as a Full Binary Tree.CompleteMerkle.sol
: Uses Complete Binary Trees, compatible with some external libraries.
-
Customizable Hashing:
- Default implementations use sorted concatenation-based hashing.
- Custom hashing functions can be implemented by inheriting from
MurkyBase.sol
.
To run the project locally, follow these steps:
- Clone the repository.
- Install dependencies using
make install
. - Run tests with
forge test
.
The project includes tests with standardized data. Ensure all changes pass these tests. Slither analysis must also pass.
The code is not audited yet. Please conduct your own due diligence if you plan to use this code in production.