• Mark Tyneway's avatar
    state-surgery: add immutables package (#3211) · b1d5fd2c
    Mark Tyneway authored
    * 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: default avatarmergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
    b1d5fd2c
Name
Last commit
Last update
..
immutables.go Loading commit data...
immutables_test.go Loading commit data...