# Airdrop Utils

Airdrop utils module contains the verify function to check if a Merkle proof combined with an address and amount are part of the Merkle tree root.&#x20;

### <mark style="color:blue;">verify</mark>

**Checks if the sender is allowed to redeem an `amount` from an airdrop using Merkle proofs. It returns the index of his Merkle proof to add to the Bitmap struct.**&#x20;

```rust
public fun verify(
    root: vector<u8>,
    proof: vector<vector<u8>>, 
    amount: u64, 
    sender: address
): u256
```

* **@param root:** The Merkle tree root that keeps track of all the airdrops.
* **@param proof:**  The proof that the sender can redeem the `amount` from the airdrop.
* **@param amount:** The airdrop amount.&#x20;
* **@param sender:** The address of the airdrop user.
* **@return** u256. An index.&#x20;

**Aborts**

* if the leaf or proof are invalid.&#x20;
