Open
Description
What feature should we add?
I quite enjoy and appreciate the multicall.py project, which utilizes web3py for transport. However, this package is in need of some maintenance, and since Multicall3 is fairly ubiquitous among most EVM chains, web3py might benefit from having a native module, similar to how it supports ENS.
Basic needs:
- Ability to easily make single or multiple calls
- Transparently compatible with Sync or Async Web3 instances
- A constant default address, regardless of which Provider/Network you're using
- ...but with the ability to override the address (in the case of zkSync)
- A flag for whether any sub-calls within a multicall can fail (IOW:
blockAndAggregate
vstryBlockAndAggregate
) - Definable GAS_LIMIT for read calls, which differ on some smaller chains.
Nice to have:
- Assign results to a defined key (no transformation needed)
- Access to Multicall block functions, such as
getBlockNumber()
,getEthBalance()
, to add to a Multicall execution - seth-style calls (e.g.
['balanceOf(address)(uint256)', my_address]
), without having to initiate a Contract instance
Metadata
Assignees
Labels
No labels
Activity