Feat: update single sequencer network config#1014
Conversation
📝 WalkthroughWalkthroughThis change updates default sequencer network constants and refreshes Ethereum and Tendermint dependency pins used by the build and module replacement files. ChangesNetwork Constants Update
Dependency Pin Refresh
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
bed228f to
0c893f0
Compare
There was a problem hiding this comment.
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
⛔ Files ignored due to path filters (2)
node/go.sumis excluded by!**/*.sumops/tools/go.sumis excluded by!**/*.sum
📒 Files selected for processing (9)
Makefilebindings/go.modcommon/go.modcontracts/go.modgo-ethereumnode/go.modops/l2-genesis/go.modops/tools/go.modtx-submitter/go.mod
| ETHEREUM_SUBMODULE_COMMIT_OR_TAG := morph-v2.2.4 | ||
| ETHEREUM_TARGET_VERSION := morph-v2.2.4 |
There was a problem hiding this comment.
🩺 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 -40Repository: 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:
- 1: https://go.dev/ref/mod?id=go-work-file-replace
- 2: https://tip.golang.org/ref/mod
- 3: https://stackoverflow.com/questions/72312460/how-to-replace-a-go-module-with-a-major-version-to-a-fork-master
- 4: proposal: cmd/go: 'go mod tidy' should remove stale 'replace' directives golang/go#30516
- 5: cmd/go: "mod tidy" tries to require the latest version of a replacement module golang/go#70137
🏁 Script executed:
#!/bin/bash
sed -n '1,80p' MakefileRepository: 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.
Summary by CodeRabbit
v0.3.8.