@spalladino Thanks for the answer. Here are two other posts that can show where I came from.
Basically, what we would like to achieve is an automatic batch minting mechanism that is invoked not by the contract or project owner but by any contract calller, i.e., anyone could call a function in a smart contract and invoke a batch minting of ERC721 tokens.
We are currently using a for loop, which is linear and sequential in a single transaction. The name multicall gives me a sense that it has a parallel mechanism built in, sort of like multi-processing in Python. It looks like it is not. multicall is also sending calling messages in a linear fashion, correct? I would also assume it takes similar amount of gas to a function with a for loop and high-level calls, for a task like making a transfer, correct?
Now, coming back to the way of using multicall, is it possible to create an array of calldata and get it passed to this function in Solidity, as described in the original question?
Thanks.