Conversation
📝 WalkthroughWalkthroughThis PR updates dependency version pins for Tendermint and go-ethereum across the Makefile and multiple go.mod files, bumping to newer pseudo-versions and stabilizing Tendermint to a v0.3.4 tag. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
📝 Coding Plan
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 |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@Makefile`:
- Line 3: ETHEREUM_TARGET_VERSION is set to a git-tag string (morph-v2.2.0)
which gets sed'd directly into go.mod by update_mod and causes go mod tidy to
fail because go modules require a canonical pseudo-version; either change
ETHEREUM_TARGET_VERSION to a proper Go pseudo-version (e.g.
vX.Y.Z-0.TIMESTAMP-COMMIT) or change the update_mod logic to convert the tag
into a pseudo-version before writing into go.mod (lookup commit hash and
timestamp from git and construct a vMAJOR.MINOR.PATCH-0.TIMESTAMP-COMMIT string)
so the value written by the sed step and consumed by go mod tidy is valid.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 50b3b006-7c8e-43bb-a0fb-7708fbf522f3
⛔ Files ignored due to path filters (8)
bindings/go.sumis excluded by!**/*.sumcontracts/go.sumis excluded by!**/*.sumnode/go.sumis excluded by!**/*.sumops/l2-genesis/go.sumis excluded by!**/*.sumops/tools/go.sumis excluded by!**/*.sumoracle/go.sumis excluded by!**/*.sumtoken-price-oracle/go.sumis excluded by!**/*.sumtx-submitter/go.sumis excluded by!**/*.sum
📒 Files selected for processing (10)
Makefilebindings/go.modcontracts/go.modgo-ethereumnode/go.modops/l2-genesis/go.modops/tools/go.modoracle/go.modtoken-price-oracle/go.modtx-submitter/go.mod
| ETHEREUM_TARGET_VERSION := v1.10.14-0.20260303114154-29281e501802 | ||
| TENDERMINT_TARGET_VERSION := v0.3.4-0.20260226093240-9be76fe518c2 | ||
| ETHEREUM_SUBMODULE_COMMIT_OR_TAG := morph-v2.2.0 | ||
| ETHEREUM_TARGET_VERSION := morph-v2.2.0 |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "1) Current Makefile pins"
rg -n '^(ETHEREUM_SUBMODULE_COMMIT_OR_TAG|ETHEREUM_TARGET_VERSION|TENDERMINT_TARGET_VERSION)\s*:=' Makefile
echo
echo "2) Current go.mod morph go-ethereum requires (should be canonical versions)"
rg -n 'github.com/morph-l2/go-ethereum\s+v' --glob '**/go.mod'
echo
echo "3) Check ETHEREUM_TARGET_VERSION shape"
ver=$(sed -nE 's/^ETHEREUM_TARGET_VERSION :=[[:space:]]*([^[:space:]]+).*/\1/p' Makefile)
if [[ "$ver" =~ ^v[0-9]+\.[0-9]+\.[0-9]+(-[0-9A-Za-z.+-]+)?$ ]]; then
echo "OK: semver-like value -> $ver"
else
echo "FAIL: non-semver-like value -> $ver"
fiRepository: morph-l2/morph
Length of output: 1121
🏁 Script executed:
cat -n Makefile | head -30Repository: morph-l2/morph
Length of output: 1329
ETHEREUM_TARGET_VERSION can break update_mod output.
Line 3 sets morph-v2.2.0 (git-tag format), and Line 15 writes it directly into go.mod via sed; this produces a non-canonical module version. When Line 22 runs go mod tidy, it will fail because morph-v2.2.0 is not valid Go module syntax. All current go.mod files use the pseudo-version format v1.10.14-0.20260313031710-62952ec7d188.
💡 Proposed fix
-ETHEREUM_TARGET_VERSION := morph-v2.2.0
+ETHEREUM_TARGET_VERSION := v1.10.14-0.20260313031710-62952ec7d188Also applies to: 15-16, 22-22
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@Makefile` at line 3, ETHEREUM_TARGET_VERSION is set to a git-tag string
(morph-v2.2.0) which gets sed'd directly into go.mod by update_mod and causes go
mod tidy to fail because go modules require a canonical pseudo-version; either
change ETHEREUM_TARGET_VERSION to a proper Go pseudo-version (e.g.
vX.Y.Z-0.TIMESTAMP-COMMIT) or change the update_mod logic to convert the tag
into a pseudo-version before writing into go.mod (lookup commit hash and
timestamp from git and construct a vMAJOR.MINOR.PATCH-0.TIMESTAMP-COMMIT string)
so the value written by the sed step and consumed by go mod tidy is valid.
Summary by CodeRabbit