16. Predeploys
Predeployed contracts exist on Optimism at predetermined addresses in the genesis state.
Predeploys are used instead of precompiles to make it easier for multi-client implementations as well as allowing for more integration with hardhat/foundry network forking.
Predeploy addresses exists in 1 byte namespace
0x42000000000000000000000000000000000000xx
.Bedrock predeploys:
- L1Block
- L2ToL1MessagePasser
- L2ERC721Bridge
- OptimismMintableERC721Factory
- ProxyAdmin
- BaseFeeVault
- L1FeeVault