This project consists of two main components:
- BagelToken: A custom ERC20 token with minting functionality.
- MerkleAirdrop: A contract to manage token distribution through a Merkle tree-based airdrop.
- The MerkleAirdrop contract allows eligible users to claim a predetermined amount of BagelToken based on their inclusion in a Merkle tree.
- The BagelToken is an ERC20 token that can be minted by the owner and distributed to users via the airdrop contract.
To work with this project, you will need the following:
- Node.js and npm installed.
- Foundry for compiling and deploying smart contracts.
- zkSync CLI for interacting with zkSync.
- Install the following dependencies in your project:
murky/=lib/murky/ @openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/ foundry-devops/=lib/foundry-devops forge-std/=lib/forge-std/src/
git clone https://github.com/Maa-ly/Foundry-Airdrop.git cd Foundry-Airdrop