• Mark Tyneway's avatar
    op-chain-ops: strict immutable reference checking · 23c7cd94
    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
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...
bedrock-devnet Loading commit data...
cannon Loading commit data...
docs Loading commit data...
endpoint-monitor Loading commit data...
indexer Loading commit data...
op-batcher Loading commit data...
op-bindings Loading commit data...
op-bootnode Loading commit data...
op-chain-ops Loading commit data...
op-challenger Loading commit data...
op-e2e Loading commit data...
op-exporter Loading commit data...
op-heartbeat Loading commit data...
op-node Loading commit data...
op-preimage Loading commit data...
op-program Loading commit data...
op-proposer Loading commit data...
op-service Loading commit data...
op-ufm Loading commit data...
op-wheel 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...
ufm-test-services Loading commit data...
.abigenrc Loading commit data...
.dockerignore Loading commit data...
.editorconfig Loading commit data...
.envrc.example Loading commit data...
.eslintrc.js Loading commit data...
.foundryrc Loading commit data...
.gethrc Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.gitmodules Loading commit data...
.markdownlint.json Loading commit data...
.npmrc Loading commit data...
.nvmrc Loading commit data...
.pnpmfile.cjs Loading commit data...
.prettierrc.js Loading commit data...
.semgrepignore Loading commit data...
.snyk Loading commit data...
CITATION.cff 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...
codecov.yml Loading commit data...
docker-bake.hcl Loading commit data...
go.mod Loading commit data...
go.sum Loading commit data...
nx.json Loading commit data...
package.json Loading commit data...
pnpm-lock.yaml Loading commit data...
pnpm-workspace.yaml Loading commit data...
tsconfig.json Loading commit data...