• 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
.changeset Loading commit data...
.circleci Loading commit data...
.github Loading commit data...
.husky Loading commit data...
.vscode Loading commit data...
.yarn/releases Loading commit data...
batch-submitter Loading commit data...
bss-core Loading commit data...
gas-oracle Loading commit data...
indexer Loading commit data...
infra/op-replica Loading commit data...
integration-tests Loading commit data...
l2geth Loading commit data...
l2geth-exporter Loading commit data...
op-batcher Loading commit data...
op-bindings Loading commit data...
op-e2e Loading commit data...
op-exporter Loading commit data...
op-node Loading commit data...
op-proposer Loading commit data...
op-service Loading commit data...
ops Loading commit data...
ops-bedrock Loading commit data...
packages Loading commit data...
patches Loading commit data...
proxyd Loading commit data...
specs Loading commit data...
state-surgery Loading commit data...
technical-documents Loading commit data...
teleportr Loading commit data...
.dockerignore Loading commit data...
.editorconfig Loading commit data...
.eslintrc.js Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.gitmodules Loading commit data...
.markdownlint.json Loading commit data...
.nvmrc Loading commit data...
.prettierrc.js Loading commit data...
.semgrepignore Loading commit data...
.yarnrc Loading commit data...
CONTRIBUTING.md Loading commit data...
LICENSE Loading commit data...
Makefile Loading commit data...
README.md Loading commit data...
SECURITY.md Loading commit data...
cloudbuild.yaml Loading commit data...
go.work Loading commit data...
go.work.sum Loading commit data...
lerna.json Loading commit data...
package.json Loading commit data...
tsconfig.json Loading commit data...
yarn.lock Loading commit data...