-
Notifications
You must be signed in to change notification settings - Fork 25
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: custom rollup config #69
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…d to replace w new proof
* load op stack rollup cfg fixes * Parse the rust rollup config and default return the entire range * fix: import paths for rollup cfg * add * update * docs * lint --------- Co-authored-by: Ubuntu <ubuntu@op-sepolia-archive-1.maas>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Add support for a rollups outside of the
superchain-registry
via a dynamicRollupConfig
.Overview
Program Changes
fault-proof
andrange
programs now take in aBootInfoWithBytes
config that contains therollup_config_bytes
. These bytes are hashed inside of the program to get therollupConfigHash
which is committed to within therollupConfigStruct
. TheRollupConfig
is used in theBlockExecutor
.rollupConfigHash
committed to in each range proof is the same, and therollupConfigHash
is then verified to match the one stored in the contract on-chain. This guarantees that only 1rollupConfigHash
can be used at a time.Script Changes
rollup-configs/{chain_id}.json
. This path is used during witness generation, so it's important that the relevant rollup configuration is present at that path.BootInfoStruct
to include therollup_config_hash
.Contract Changes
rollupConfigHash
wheneverproposeL2Output
root is called onZKL2OutputOracle
.zkl2ooconfig.json
, build & invoke thefetch-rollup-config
binary, which updates thevkey
,startingBlockNumber
,chainId
,l2BlockTime
,rollupConfigHash
,startingOutputRoot
andstartingTimestamp
. To use a manually setstartingBlockNumber
, setUSE_CACHED_STARTING_BLOCK
in your environment.Miscellaneous
zkl2ooconfig.json
, rather than re-initializing it.native_host_runner
correctly.ec_recover
precompile as it's infrequently used..env.example
to the root.TODO's
Remaining:
cargo run --bin fetch_rollup_config
before deploying contracts.