• Mark Tyneway's avatar
    contracts-bedrock: predeploys test · 64a1f118
    Mark Tyneway authored
    Ensures that the predeploys are set and have the correct admin
    slot set as well as have code present. It does not check what the
    specific code is so that this can be ran against forked networks.
    
    Now that we have the L2 contracts imported into the state via
    `vm.loadAllocs`, we can begin to port the implementation of `check-l2`
    into Solidity and reduce the amount of overhead a developer needs
    to make changes to the contracts. The goal is to make as few changes
    to other parts of the codebase when making changes to solidity files.
    
    [check-l2](https://github.com/ethereum-optimism/optimism/blob/develop/op-chain-ops/cmd/check-l2/main.go)
    runs against the devnet to ensure that the genesis state is correct. Now
    we can make those assertions directly in solidity and deprecate the
    concept of `check-l2`. We should be able to still run the solidity tests
    against forked backends if we write the code in a modular way, so that
    we can still run the tests against live networks or devnets.
    64a1f118
Predeploys.sol 4.07 KB