-
Mark Tyneway authored
To prevent issues with the immutable reference config for the L2 genesis generation going stale, add in explicit checks based on the solc compiler output. This is done by adding the solc output `immutableReferences` directly to the `_more.go` files in the bindings and accumulating all of them into a mapping in an init function. Then the immutables config is given typing, previously it was generic for simplicity. Now that it has typing, it is possible to ensure that all of the fields are set. It also uses the `reflect` package to remove footguns for the developer as new predeploys are added to L2. The tests should fail if there is a new predeploy added that does not have immutable config added.
23c7cd94