Skip to content

feature: update go mod & submodule#914

Merged
FletcherMan merged 1 commit intomainfrom
feat/update_mod
Mar 13, 2026
Merged

feature: update go mod & submodule#914
FletcherMan merged 1 commit intomainfrom
feat/update_mod

Conversation

@tomatoishealthy
Copy link
Contributor

@tomatoishealthy tomatoishealthy commented Mar 13, 2026

Summary by CodeRabbit

  • Chores
    • Updated core dependencies to newer versions for improved stability and compatibility across modules.

@tomatoishealthy tomatoishealthy requested a review from a team as a code owner March 13, 2026 09:56
@tomatoishealthy tomatoishealthy requested review from panos-xyz and removed request for a team March 13, 2026 09:56
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Mar 13, 2026

📝 Walkthrough

Walkthrough

This 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

Cohort / File(s) Summary
Build Configuration
Makefile
Updated ETHEREUM_SUBMODULE_COMMIT_OR_TAG to morph-v2.2.0, ETHEREUM_TARGET_VERSION to morph-v2.2.0, and TENDERMINT_TARGET_VERSION to v0.3.4; control flow unchanged.
Submodule Reference
go-ethereum
Updated submodule commit reference from e6c501a8d68020dade42a78da87ec2516de77a0e to 62952ec7d188953ee7b3224c3693baffa97c8084.
Dependency Management
bindings/go.mod, contracts/go.mod, node/go.mod, ops/l2-genesis/go.mod, ops/tools/go.mod, oracle/go.mod, token-price-oracle/go.mod, tx-submitter/go.mod
Simplified Tendermint replace directives from pseudo-versions to v0.3.4 tag; updated go-ethereum dependencies from v1.10.14-0.20260312125309-280bfb9cfd1d to v1.10.14-0.20260313031710-62952ec7d188 across all modules.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Suggested reviewers

  • panos-xyz
  • FletcherMan
  • curryxbo

Poem

🐰 Dependency versions hop and dance,
Tendermint steady, geth's sweet advance,
From pseudo to stable, the pins align,
Cross all the modules, so neat and fine!
Version bumps done with a whisker's care. ✨

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'feature: update go mod & submodule' accurately describes the primary changes, which involve updating Go module dependencies across multiple go.mod files and a git submodule reference.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feat/update_mod
📝 Coding Plan
  • Generate coding plan for human review comments

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 and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

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 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

📥 Commits

Reviewing files that changed from the base of the PR and between c938fc9 and 931c8b3.

⛔ Files ignored due to path filters (8)
  • bindings/go.sum is excluded by !**/*.sum
  • contracts/go.sum is excluded by !**/*.sum
  • node/go.sum is excluded by !**/*.sum
  • ops/l2-genesis/go.sum is excluded by !**/*.sum
  • ops/tools/go.sum is excluded by !**/*.sum
  • oracle/go.sum is excluded by !**/*.sum
  • token-price-oracle/go.sum is excluded by !**/*.sum
  • tx-submitter/go.sum is excluded by !**/*.sum
📒 Files selected for processing (10)
  • Makefile
  • bindings/go.mod
  • contracts/go.mod
  • go-ethereum
  • node/go.mod
  • ops/l2-genesis/go.mod
  • ops/tools/go.mod
  • oracle/go.mod
  • token-price-oracle/go.mod
  • tx-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
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

🧩 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"
fi

Repository: morph-l2/morph

Length of output: 1121


🏁 Script executed:

cat -n Makefile | head -30

Repository: 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-62952ec7d188

Also 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.

@FletcherMan FletcherMan merged commit 54dc38e into main Mar 13, 2026
15 checks passed
@FletcherMan FletcherMan deleted the feat/update_mod branch March 13, 2026 10:20
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.

2 participants