Skip to content

feat: complete post-centralization cleanup - #1037

Open
SegueII wants to merge 16 commits into
mainfrom
centralization-cleanup
Open

feat: complete post-centralization cleanup#1037
SegueII wants to merge 16 commits into
mainfrom
centralization-cleanup

Conversation

@SegueII

@SegueII SegueII commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Summary

  • replace legacy L1 staking authority with an independent slashable Submitter role and upgrade Rollup submission/accountability semantics
  • preserve canonical historical reads across the cutover while simplifying current batch submission, static validator/batch configuration, and downstream consumers
  • add deployment and retirement tooling, reproducible bindings, runtime configuration, deterministic coverage, and blocking CI gates

Test plan

  • Contracts build, Forge suites, Submitter/Rollup tests, Solidity lint, and storage-layout comparison
  • Bindings regeneration, ABI/archive verification, tests, and lint
  • Common and tx-submitter race tests, vet, build, and lint
  • Node core/derivation race tests, vet, lint, and shared calldata fixtures
  • Shadow prover, challenge service, and gas-oracle tests, builds, fmt, and clippy
  • Deployment/retirement integration tests, devnet configuration tests, workflow validation, and actionlint
  • Production RPC, Safe/ProxyAdmin, legacy fork/relay, multi-role node, cold-start/reorg/blob, and Docker rehearsals (external release gates)

Closes #999

Made with Cursor

@SegueII
SegueII requested a review from a team as a code owner August 11, 2026 18:23
@SegueII
SegueII requested review from twcctop and removed request for a team August 11, 2026 18:23

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Claude Code Review

Claude Code Review is paused for this repository. To reconnect it, an admin of this repository's GitHub organization (or the account owner, for personal repositories) who can also manage your Claude organization's Code Review settings needs to re-link GitHub in Code Review settings. This is a one-time step.

Tip: disable this comment in your organization's Code Review settings.

@coderabbitai

coderabbitai Bot commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Too many files!

This PR contains 187 files, which is 87 over the limit of 100.

To get a review, reduce the PR to 100 files or fewer by splitting it into smaller PRs or changing its base branch.

Upgrade to a paid plan to raise the limit.

This review couldn't start because sufficient usage credits or metered capacity aren't available. Add credits or update usage-based reviews in the billing tab, then retry.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 5485834b-98e4-472b-a276-7dd52663bfc0

📥 Commits

Reviewing files that changed from the base of the PR and between 3d21e1f and 2550618.

⛔ Files ignored due to path filters (1)
  • gas-oracle/app/Cargo.lock is excluded by !**/*.lock
📒 Files selected for processing (187)
  • .github/workflows/bindings.yml
  • .github/workflows/cherry-pick.yml
  • .github/workflows/common.yml
  • .github/workflows/contracts.yml
  • .github/workflows/deployer.yml
  • .github/workflows/gas-oracle.yml
  • .github/workflows/node.yml
  • .github/workflows/ops.yml
  • .github/workflows/prover.yml
  • .github/workflows/tx-submitter.yml
  • bindings/Makefile
  • bindings/bin/l1staking_deployed.hex
  • bindings/bin/rollup_deployed.hex
  • bindings/bin/submitter_deployed.hex
  • bindings/bindings/centralization_cleanup_test.go
  • bindings/bindings/l1staking.go
  • bindings/bindings/l1staking_more.go
  • bindings/bindings/rollup.go
  • bindings/bindings/rollup_more.go
  • bindings/bindings/submitter.go
  • bindings/bindings/submitter_more.go
  • bindings/compile.sh
  • bindings/gen_bindings.sh
  • build/lint.go
  • common/batch/batch_cache.go
  • common/batch/batch_cache_genesis_header_test.go
  • common/batch/batch_cache_test.go
  • common/batch/batch_header.go
  • common/batch/batch_header_zero_test.go
  • common/batch/batch_query.go
  • common/batch/batch_query_test.go
  • common/batch/batch_restart_test.go
  • common/batch/batch_storage_test.go
  • common/batch/canonical_bootstrap_test.go
  • common/batch/commit_test.go
  • common/batch/config.go
  • common/batch/config_test.go
  • common/batch/helpers_test.go
  • common/batch/interfaces.go
  • common/batch/l2_gov.go
  • common/batch/snapshot.go
  • contracts/abi/archive/README.md
  • contracts/abi/archive/legacy-l1-staking/IL1Staking.json
  • contracts/abi/archive/legacy-l1-staking/L1Staking.json
  • contracts/abi/archive/manifest.json
  • contracts/abi/archive/pre-submitter/Rollup.json
  • contracts/contracts/Staking.md
  • contracts/contracts/l1/rollup/BLS.sol
  • contracts/contracts/l1/rollup/IRollup.sol
  • contracts/contracts/l1/rollup/ISubmitter.sol
  • contracts/contracts/l1/rollup/Rollup.sol
  • contracts/contracts/l1/rollup/Submitter.sol
  • contracts/contracts/l1/staking/IL1Staking.sol
  • contracts/contracts/l1/staking/L1Staking.sol
  • contracts/contracts/test/L1Staking.t.sol
  • contracts/contracts/test/Rollup.t.sol
  • contracts/contracts/test/Submitter.t.sol
  • contracts/contracts/test/base/L1MessageBase.t.sol
  • contracts/deploy/013-DeployProxys.ts
  • contracts/deploy/014-DeployImpls.ts
  • contracts/deploy/015-SubmitterInstall.ts
  • contracts/deploy/016-RollupInit.ts
  • contracts/deploy/018-StakingInit.ts
  • contracts/deploy/019-AdminTransfer.ts
  • contracts/deploy/020-ContractInit.ts
  • contracts/deploy/021-StakingRegister.ts
  • contracts/deploy/021-SubmitterRegister.ts
  • contracts/deploy/index.ts
  • contracts/hardhat.config.ts
  • contracts/integration-test/retire-l1-staking.spec.ts
  • contracts/integration-test/submitter-deploy.spec.ts
  • contracts/ops/legacy-l1-staking-retirement.example.json
  • contracts/package.json
  • contracts/scripts/clean-generated-abi.js
  • contracts/scripts/retire-l1-staking.ts
  • contracts/scripts/verify-abi-archive.js
  • contracts/src/deploy-config/holesky.ts
  • contracts/src/deploy-config/hoodi.ts
  • contracts/src/deploy-config/l1.ts
  • contracts/src/deploy-config/qanetl1.ts
  • contracts/src/deploy-config/sepolia.ts
  • contracts/src/deploy-config/testnetl1.ts
  • contracts/src/deploy-utils.ts
  • contracts/src/types.ts
  • contracts/storage-layout/archive/Rollup.pre-submitter.json
  • contracts/tasks/deploy.ts
  • contracts/tasks/staking_upgrade.ts
  • gas-oracle/.env.dev
  • gas-oracle/Makefile
  • gas-oracle/app/Cargo.toml
  • gas-oracle/app/rust-toolchain
  • gas-oracle/app/rustfmt.toml
  • gas-oracle/app/src/abi/Rollup.json
  • gas-oracle/app/src/abi/mod.rs
  • gas-oracle/app/src/abi/pre_submitter/Rollup.json
  • gas-oracle/app/src/da_scalar/blob.rs
  • gas-oracle/app/src/da_scalar/blob_client.rs
  • gas-oracle/app/src/da_scalar/calculate.rs
  • gas-oracle/app/src/da_scalar/error.rs
  • gas-oracle/app/src/da_scalar/l1_scalar.rs
  • gas-oracle/app/src/da_scalar/mod.rs
  • gas-oracle/app/src/gas_price_oracle.rs
  • gas-oracle/app/src/l1_base_fee.rs
  • gas-oracle/app/src/lib.rs
  • gas-oracle/app/src/metrics.rs
  • gas-oracle/app/src/rollup_compat.rs
  • gas-oracle/app/src/signer.rs
  • node/cmd/node/main.go
  • node/core/centralization_cleanup_test.go
  • node/core/config.go
  • node/core/executor.go
  • node/core/sequencers.go
  • node/derivation/calldata_fixture_test.go
  • node/derivation/canonical_commit.go
  • node/derivation/canonical_commit_test.go
  • node/derivation/config.go
  • node/derivation/config_test.go
  • node/derivation/derivation.go
  • node/derivation/derivation_test.go
  • node/derivation/testdata/rollup_calldata_fixtures.json
  • node/flags/flags.go
  • node/go.mod
  • node/ops-morph/docker-compose.yml
  • node/ops-morph/testnet/docker-compose.yml
  • node/ops-morph/testnet/launch.sh
  • node/types/abi/pre_submitter_rollup.json
  • node/types/batch.go
  • ops/devnet-morph/devnet/__init__.py
  • ops/devnet-morph/tests/test_devnet_config.py
  • ops/docker/.env
  • ops/docker/Dockerfile.oracle
  • ops/docker/docker-compose-cluster.yml
  • ops/docker/docker-compose-devnet.yml
  • prover/Makefile
  • prover/bin/challenge/.env.dev
  • prover/bin/challenge/src/abi/Rollup.json
  • prover/bin/challenge/src/abi/Submitter.json
  • prover/bin/challenge/src/abi/mod.rs
  • prover/bin/challenge/src/abi/pre_submitter/LegacyL1Staking.json
  • prover/bin/challenge/src/abi/pre_submitter/Rollup.json
  • prover/bin/challenge/src/bin/auto_challenge.rs
  • prover/bin/challenge/src/external_sign.rs
  • prover/bin/challenge/src/handler.rs
  • prover/bin/challenge/src/lib.rs
  • prover/bin/challenge/src/main.rs
  • prover/bin/challenge/src/metrics.rs
  • prover/bin/challenge/src/proof_signer.rs
  • prover/bin/challenge/src/rollup_compat.rs
  • prover/bin/challenge/src/util.rs
  • prover/bin/shadow-prove/.env.dev
  • prover/bin/shadow-prove/abi/Rollup.json
  • prover/bin/shadow-prove/abi/pre_submitter/Rollup.json
  • prover/bin/shadow-prove/src/abi.rs
  • prover/bin/shadow-prove/src/execute.rs
  • prover/bin/shadow-prove/src/lib.rs
  • prover/bin/shadow-prove/src/main.rs
  • prover/bin/shadow-prove/src/rollup_compat.rs
  • prover/bin/shadow-prove/src/shadow_prove.rs
  • prover/bin/shadow-prove/src/shadow_rollup.rs
  • prover/bin/shadow-prove/src/util.rs
  • tx-submitter/README.md
  • tx-submitter/constants/methods.go
  • tx-submitter/entry.go
  • tx-submitter/event/indexer.go
  • tx-submitter/event/storage.go
  • tx-submitter/event/storage_test.go
  • tx-submitter/flags/flags.go
  • tx-submitter/iface/client.go
  • tx-submitter/iface/rollup.go
  • tx-submitter/mock/event_storage.go
  • tx-submitter/mock/l1staking.go
  • tx-submitter/mock/l2client.go
  • tx-submitter/mock/rollup.go
  • tx-submitter/mock/submitter.go
  • tx-submitter/params/leveldb_keys.go
  • tx-submitter/services/batch_fecher.go
  • tx-submitter/services/pendingtx.go
  • tx-submitter/services/pendingtx_test.go
  • tx-submitter/services/rollup.go
  • tx-submitter/services/rollup_handle_test.go
  • tx-submitter/services/rollup_test.go
  • tx-submitter/services/rotator.go
  • tx-submitter/types/batch_cache.go
  • tx-submitter/utils/config.go
  • tx-submitter/utils/config_test.go
  • tx-submitter/utils/utils.go
  • tx-submitter/utils/utils_test.go

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Warning

Billing warning: we have not been able to collect payment for this subscription for more than 72 hours. Please update the payment method or pay any pending invoices in Billing to avoid service interruption.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Complete post-centralization contract and service cleanup

1 participant