Skip to content

Feat: update single sequencer network config#1014

Merged
tomatoishealthy merged 4 commits into
mainfrom
feat/network-upgrade-with-single-sequencer
Jul 8, 2026
Merged

Feat: update single sequencer network config#1014
tomatoishealthy merged 4 commits into
mainfrom
feat/network-upgrade-with-single-sequencer

Conversation

@tomatoishealthy

@tomatoishealthy tomatoishealthy commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

Summary by CodeRabbit

  • Bug Fixes
    • Updated network settings with the correct L1 sequencer contract addresses for Mainnet and Hoodi.
    • Enabled scheduled centralized sequencer upgrades by applying proper activation timestamps for both networks.
  • Chores
    • Refreshed the Tendermint version used across modules to v0.3.8.
    • Updated the go-ethereum subproject revision used by the build.

@tomatoishealthy tomatoishealthy requested a review from a team as a code owner July 2, 2026 07:51
@tomatoishealthy tomatoishealthy requested review from panos-xyz and removed request for a team July 2, 2026 07:51
@coderabbitai

coderabbitai Bot commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

This change updates default sequencer network constants and refreshes Ethereum and Tendermint dependency pins used by the build and module replacement files.

Changes

Network Constants Update

Layer / File(s) Summary
Sequencer contract values
node/types/networks.go
MainnetL1SequencerContractAddress and HoodiL1SequencerContractAddress now use concrete hex addresses, and both centralized sequencer upgrade timestamps are set to non-zero Unix-millisecond values.

Dependency Pin Refresh

Layer / File(s) Summary
Build pins and submodule commit
Makefile, go-ethereum
The Makefile’s Ethereum/Tendermint version constants are updated, and the tracked go-ethereum submodule commit advances to a new revision.
Tendermint replace directives
bindings/go.mod, common/go.mod, contracts/go.mod, node/go.mod, ops/l2-genesis/go.mod, ops/tools/go.mod, tx-submitter/go.mod
The Tendermint replacement targets across the module files are updated to github.com/morph-l2/tendermint v0.3.8.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

  • morph-l2/morph#723: Also updates the go-ethereum dependency/submodule pinning.
  • morph-l2/morph#858: Also updates Tendermint version wiring in the Makefile and module replacement directives.
  • morph-l2/morph#959: Also bumps the go-ethereum submodule and related build version pins.

Suggested reviewers: panos-xyz, chengwenxi, FletcherMan

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title matches the main change: updating single-sequencer network configuration and related dependency pins.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/network-upgrade-with-single-sequencer

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.

@tomatoishealthy tomatoishealthy force-pushed the feat/network-upgrade-with-single-sequencer branch from bed228f to 0c893f0 Compare July 3, 2026 07:15
@tomatoishealthy tomatoishealthy changed the title Feat: update Hoodi L1 sequencer addr Feat: update single sequencer network config Jul 8, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@Makefile`:
- Around line 2-3: The version constants are being reused for both the Ethereum
submodule checkout and the Go module rewrite, but the go.mod update path needs a
Go-valid module version instead of the raw submodule tag. Update the Makefile
targets around ETHEREUM_SUBMODULE_COMMIT_OR_TAG and ETHEREUM_TARGET_VERSION so
the checkout can keep using the tag while the module version rewrite uses a
semver or pseudo-version accepted by go mod tidy.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 63de9274-fdfd-4f35-b340-a93969c91f2d

📥 Commits

Reviewing files that changed from the base of the PR and between 065f9db and f79a17b.

⛔ Files ignored due to path filters (2)
  • node/go.sum is excluded by !**/*.sum
  • ops/tools/go.sum is excluded by !**/*.sum
📒 Files selected for processing (9)
  • Makefile
  • bindings/go.mod
  • common/go.mod
  • contracts/go.mod
  • go-ethereum
  • node/go.mod
  • ops/l2-genesis/go.mod
  • ops/tools/go.mod
  • tx-submitter/go.mod

Comment thread Makefile
Comment on lines +2 to +3
ETHEREUM_SUBMODULE_COMMIT_OR_TAG := morph-v2.2.4
ETHEREUM_TARGET_VERSION := morph-v2.2.4

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🩺 Stability & Availability | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Description: Check how ETHEREUM_MODULE_NAME and TENDERMINT_MODULE_NAME are defined,
# and how the Ethereum version appears in go.mod files.

# 1. Find the module name definitions in the Makefile
sed -n '1,10p' Makefile

# 2. Check how the Ethereum module version appears in go.mod files
fd -e mod . | xargs grep -n 'ethereum' 2>/dev/null | head -40

# 3. Check how the Tendermint module version appears in go.mod files
fd -e mod . | xargs grep -n 'tendermint' 2>/dev/null | head -40

Repository: morph-l2/morph

Length of output: 2706


🌐 Web query:

Go module replace directive version valid semantic version arbitrary tag go mod tidy replace module path version docs

💡 Result:

In a Go replace directive, the version on the right-hand side is subject to specific requirements depending on the type of replacement [1][2]. For remote module replacements (non-filesystem paths), a version is required on the right-hand side of the arrow (=>) [1][2]. This version must be a valid, resolved version string (e.g., v1.2.3, or a pseudo-version like v0.0.0-20260708000000-abcdef123456) that the Go command can resolve [1][2]. Arbitrary Git branch names (such as master or main) are not valid versions and cannot be used directly in a replace directive [3]. To use code from a specific branch or commit of a fork: 1. You must ensure the target commit is accessible or reachable via a valid pseudo-version [3]. 2. You can use the go get command with the branch name to resolve the correct pseudo-version for that commit (e.g., go get example.com/fork@branchname) [3]. 3. Once resolved, you update your go.mod replace directive to use the specific version (pseudo-version) identified by the Go toolchain [3]. Regarding go mod tidy: * The go mod tidy command does not automatically remove unused replace directives [4]. * The replace directive only has an effect if the module and version on the left-hand side are currently present in your build list (required by your module or one of its dependencies) [1][2]. * If you include a replace directive for a module that is not required, the directive will be ignored [1][2][4]. * If your replacement target has its own dependencies that conflict with or are not handled by the replacement, go mod tidy may attempt to add them to your go.mod file, which can occasionally lead to errors if not configured correctly [5]. In summary, you cannot use arbitrary tags or branch names as versions in replace directives; you must use valid, resolvable semantic versions or pseudo-versions [1][3][2].

Citations:


🏁 Script executed:

#!/bin/bash
sed -n '1,80p' Makefile

Repository: morph-l2/morph

Length of output: 2250


Split the Go module version from the submodule tag
morph-v2.2.4 is fine for git checkout, but not for the go.mod rewrite. go mod tidy expects a Go-valid version on the module line, so this target will fail unless the update path uses a semver/pseudo-version instead.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@Makefile` around lines 2 - 3, The version constants are being reused for both
the Ethereum submodule checkout and the Go module rewrite, but the go.mod update
path needs a Go-valid module version instead of the raw submodule tag. Update
the Makefile targets around ETHEREUM_SUBMODULE_COMMIT_OR_TAG and
ETHEREUM_TARGET_VERSION so the checkout can keep using the tag while the module
version rewrite uses a semver or pseudo-version accepted by go mod tidy.

@tomatoishealthy tomatoishealthy merged commit f96a477 into main Jul 8, 2026
15 checks passed
@tomatoishealthy tomatoishealthy deleted the feat/network-upgrade-with-single-sequencer branch July 8, 2026 06:36
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.

3 participants