There are two reference
Multicall contracts that seemingly have different use. The first one was deployed by MakerDAO and is (afaik) used for read functions only. The second one was deployed by Indexed.finance and is used for write functions (eg. SelfPermit for ERC712).
This makes for a confusing situation where Multicall refers to two different contracts.
In my case, i know how to use MakerDAO's
web3js, but I'm confused about how to use Indexed.finance's
Multicall to call several write functions (eg. SelfPermit + Swap on Trident's contracts).
Could someone clarify the difference between both contracts and provide a basic reference web3 usage of Indexed.finance's