I am writing an ERC20 token contract (contract token) with a mint of 2 million tokens. I am also writing a Merkle tree airdrop contract and sending it to this contract (contract Merkle tree). So, let's say the Merkle tree contract has been supplied/sent 1 million tokens from the token contract.
When other users call the function to claim the tokens, will the Merkle tree airdrop contract automatically take the tokens and send them to the other users who pay the transaction fee? Or will it trigger the ERC20 smart contract? I am currently studying about Merkle tree airdrop smart contracts. Please help me, thank you.