This repository contains copies of ERC-4337 infrastructure smart contracts that can be deployed to a local devnet (anvil), so developers can develop application locally before moving to testnet or mainnet.
We understand that the most common ways of replicating live chains locally are:
- use
anvilforking capability; - or use
anvil_setCodemethod to force the bytecode into a specify address with the bytecode obtained from the live network.
We however take a different approach.
As most contracts use deterministic deployment, we compile all smart contracts from source using the same settings as deployed to the live network, and deploy using the same salt, resulting in the same address.
The contracts are usually downloaded from verified deployments from ethereum, using the forge clone command.
The local deployment is handled using cannon, which provides more composability.
npm install -g @usecannon/cli
make install-foundry
make- eth-infinitism-entrypoint:0.6.0 (source)
- eth-infinitism-entrypoint:0.7.0 (source)
- eth-infinitism-entrypoint:0.8.0 (source)
- eth-infinitism-simple-account:0.6.0 (source)
- eth-infinitism-simple-account:0.7.0 (source)
- eth-infinitism-simple-account:0.8.0 (source)
- pimlico-entrypoint-simulations:0.7.0 (source)
- daimo-p256-verifier:1.0.0 (source)
- zerodev-factory-staker:0.3 (source)
- zerodev-kernel:0.3.0 (source)
- zerodev-kernel:0.3.1 (source)
- zerodev-kernel:0.3.2 (source)
- zerodev-kernel-sudo-policy:0.0.1 (source)
- zerodev-kernel-call-policy:0.0.1 (source)
- zerodev-kernel-call-policy:0.0.2 (source)
- zerodev-kernel-call-policy:0.0.3 (source)
- zerodev-kernel-call-policy:0.0.4 (source)
- zerodev-kernel-gas-policy:0.0.1 (source)
- zerodev-kernel-timestamp-policy:0.0.1 (source)
- zerodev-kernel-ratelimit-policy:0.0.1 (source)
- zerodev-kernel-signature-policy:0.0.1 (source)
- zerodev-kernel-ecdsa-signer:0.0.1 (source)
- zerodev-kernel-web-authn-signer:0.0.1 (source)
- zerodev-kernel-web-authn-signer:0.0.2 (source)
- zerodev-kernel-authn-validator:0.0.1 (source)
- zerodev-kernel-authn-validator:0.0.2 (source)
- alchemy-light-account:1.1.0 (source)
- alchemy-light-account:2.0.0 (source)
- alchemy-modular-account:2.0.0 (source)
- forge clone --help
- cast run --help
- cast create2 --help
- https://playground.sourcify.dev