Bundlers
Structure
Each Bundler is a domain-specific abstract layer of contract that implements some functions that can be bundled in a single call by EOAs to a single contract.
-
All bundlers inherit from
BaseBundler
that enables bundling multiple function calls into a singlemulticall(bytes[] calldata data)
call to the end bundler contract. -
Each chain-specific bundler is available under its chain-specific folder (e.g.
ethereum
). -
Some chain-specific domains are also scoped to the chain-specific folder because they are not expected to be used on any other chain (e.g. DAI and its specific
permit
function is only available on Ethereum - seeEthereumPermitBundler
. -
User-end bundlers are provided in each chain-specific folder, instantiating all the intermediary domain-specific bundlers and associated parameters (such as chain-specific protocol addresses, e.g.
EthereumBundler
).