state-surgery: add immutables package (#3211)
* state-surgery: add immutables package
Add a package for dealing with immutables so that
the deployed bytecode can be set directly in state.
Each contract from the `op-bindings` package is imported
and deployed to a simulated backend. The `op-bindings`
package is enforced to be up to date by CI. Each of the
contracts was double checked that the arguments passed are
not immutables, the existing immutable values are hardcoded
into the contract itself. To handle the case where immutables
are dynamic, we will need to read in config and pass that
through. The methodology on how to do that is documented
in a TODO message.
The build step runs in CI meaning that changes to the
contract constructor interfaces will result in this
package failing to build.
This code could be slightly modularized to be used in
`op-e2e` for creating the initial L2 state. Will leave
that for an additional follow up PR.
* state-surgery: additional sanity check
Co-authored-by:
mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Showing
Please register or sign in to comment