Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
################## update dependencies ####################
ETHEREUM_SUBMODULE_COMMIT_OR_TAG := 0eda19148ddd2c6d8cf252a242def9f940445a24
ETHEREUM_TARGET_VERSION := v1.10.14-0.20260702033856-0eda19148ddd
TENDERMINT_TARGET_VERSION := v0.3.8-0.20260625105428-a5de063445a3
ETHEREUM_SUBMODULE_COMMIT_OR_TAG := morph-v2.2.4
ETHEREUM_TARGET_VERSION := morph-v2.2.4
Comment on lines +2 to +3

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.

TENDERMINT_TARGET_VERSION := v0.3.8


ETHEREUM_MODULE_NAME := github.com/morph-l2/go-ethereum
Expand Down
2 changes: 1 addition & 1 deletion bindings/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ module morph-l2/bindings

go 1.24.0

replace github.com/tendermint/tendermint => github.com/morph-l2/tendermint v0.3.8-0.20260625105428-a5de063445a3
replace github.com/tendermint/tendermint => github.com/morph-l2/tendermint v0.3.8

require github.com/morph-l2/go-ethereum v1.10.14-0.20260702033856-0eda19148ddd

Expand Down
2 changes: 1 addition & 1 deletion common/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ module morph-l2/common

go 1.24.0

replace github.com/tendermint/tendermint => github.com/morph-l2/tendermint v0.3.8-0.20260625105428-a5de063445a3
replace github.com/tendermint/tendermint => github.com/morph-l2/tendermint v0.3.8

require (
github.com/holiman/uint256 v1.2.4
Expand Down
2 changes: 1 addition & 1 deletion contracts/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ module morph-l2/contract

go 1.24.0

replace github.com/tendermint/tendermint => github.com/morph-l2/tendermint v0.3.8-0.20260625105428-a5de063445a3
replace github.com/tendermint/tendermint => github.com/morph-l2/tendermint v0.3.8

require (
github.com/iden3/go-iden3-crypto v0.0.16
Expand Down
2 changes: 1 addition & 1 deletion node/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ module morph-l2/node

go 1.24.0

replace github.com/tendermint/tendermint => github.com/morph-l2/tendermint v0.3.8-0.20260625105428-a5de063445a3
replace github.com/tendermint/tendermint => github.com/morph-l2/tendermint v0.3.8

require (
github.com/cenkalti/backoff/v4 v4.1.3
Expand Down
4 changes: 2 additions & 2 deletions node/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -416,8 +416,8 @@ github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lN
github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
github.com/morph-l2/go-ethereum v1.10.14-0.20260702033856-0eda19148ddd h1:p81r2Jx+iLt3sRNICEFt7K9SN68ardffrWhB15ggeAw=
github.com/morph-l2/go-ethereum v1.10.14-0.20260702033856-0eda19148ddd/go.mod h1:nkVzHjQWCOjvukQW8ittlwX+Xz9gmVHrP7mUi7zoHTs=
github.com/morph-l2/tendermint v0.3.8-0.20260625105428-a5de063445a3 h1:ZpUi8rHb4KOcW8Eua5VSQksWBI+8F25mxdtzjJl4h/M=
github.com/morph-l2/tendermint v0.3.8-0.20260625105428-a5de063445a3/go.mod h1:qpiwqfcCB89dBYfqVJOc/HjGxDp3OdDlthgttJJYyRs=
github.com/morph-l2/tendermint v0.3.8 h1:lMiHmgANcbM+htEJyAepQn9vZb/9Poa+0LQKETxN8qM=
github.com/morph-l2/tendermint v0.3.8/go.mod h1:qpiwqfcCB89dBYfqVJOc/HjGxDp3OdDlthgttJJYyRs=
github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A=
Expand Down
8 changes: 4 additions & 4 deletions node/types/networks.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,18 +10,18 @@ var (
// L1 Mainnet Contract Addresses
MainnetRollupContractAddress = common.HexToAddress("0x759894ced0e6af42c26668076ffa84d02e3cef60")
MainnetSyncDepositContractAddress = common.HexToAddress("0x3931ade842f5bb8763164bdd81e5361dce6cc1ef")
MainnetL1SequencerContractAddress = common.HexToAddress("")
MainnetL1SequencerContractAddress = common.HexToAddress("0xcE11E1a0E9A69323FAd5848bc601f9156eBdD14a")

// L1 Hoodi Contract Addresses
HoodiRollupContractAddress = common.HexToAddress("0x57e0e6dde89dc52c01fe785774271504b1e04664")
HoodiSyncDepositContractAddress = common.HexToAddress("0xd7f39d837f4790b215ba67e0ab63665912648dbe")
HoodiL1SequencerContractAddress = common.HexToAddress("")
HoodiL1SequencerContractAddress = common.HexToAddress("0x3f167e33B42406de0a76e850eCdB3eD41Ad45C1E")
)

// Network-specific default block timestamps (Unix milliseconds) at which consensus switches to
// centralized sequencer mode. They are used when --mainnet / --hoodi is selected and the generic
// sequencerUpgradeTime flag is unset. A value <= 0 disables timestamp-triggered upgrade.
var (
MainnetCentralizedSequencerUpgradeTime int64 = 0 // ms
HoodiCentralizedSequencerUpgradeTime int64 = 0 // ms
MainnetCentralizedSequencerUpgradeTime int64 = 1785218400000 // ms
HoodiCentralizedSequencerUpgradeTime int64 = 1784613600000 // ms
)
2 changes: 1 addition & 1 deletion ops/l2-genesis/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ module morph-l2/morph-deployer

go 1.24.0

replace github.com/tendermint/tendermint => github.com/morph-l2/tendermint v0.3.8-0.20260625105428-a5de063445a3
replace github.com/tendermint/tendermint => github.com/morph-l2/tendermint v0.3.8

require (
github.com/holiman/uint256 v1.2.4
Expand Down
2 changes: 1 addition & 1 deletion ops/tools/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ module morph-l2/tools

go 1.24.0

replace github.com/tendermint/tendermint => github.com/morph-l2/tendermint v0.3.8-0.20260625105428-a5de063445a3
replace github.com/tendermint/tendermint => github.com/morph-l2/tendermint v0.3.8

require (
github.com/morph-l2/go-ethereum v1.10.14-0.20260702033856-0eda19148ddd
Expand Down
4 changes: 2 additions & 2 deletions ops/tools/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -163,8 +163,8 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJ
github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
github.com/morph-l2/go-ethereum v1.10.14-0.20260702033856-0eda19148ddd h1:p81r2Jx+iLt3sRNICEFt7K9SN68ardffrWhB15ggeAw=
github.com/morph-l2/go-ethereum v1.10.14-0.20260702033856-0eda19148ddd/go.mod h1:nkVzHjQWCOjvukQW8ittlwX+Xz9gmVHrP7mUi7zoHTs=
github.com/morph-l2/tendermint v0.3.8-0.20260625105428-a5de063445a3 h1:ZpUi8rHb4KOcW8Eua5VSQksWBI+8F25mxdtzjJl4h/M=
github.com/morph-l2/tendermint v0.3.8-0.20260625105428-a5de063445a3/go.mod h1:qpiwqfcCB89dBYfqVJOc/HjGxDp3OdDlthgttJJYyRs=
github.com/morph-l2/tendermint v0.3.8 h1:lMiHmgANcbM+htEJyAepQn9vZb/9Poa+0LQKETxN8qM=
github.com/morph-l2/tendermint v0.3.8/go.mod h1:qpiwqfcCB89dBYfqVJOc/HjGxDp3OdDlthgttJJYyRs=
github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A=
github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE=
Expand Down
2 changes: 1 addition & 1 deletion tx-submitter/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ module morph-l2/tx-submitter

go 1.24.0

replace github.com/tendermint/tendermint => github.com/morph-l2/tendermint v0.3.8-0.20260625105428-a5de063445a3
replace github.com/tendermint/tendermint => github.com/morph-l2/tendermint v0.3.8

require (
github.com/consensys/gnark-crypto v0.16.0
Expand Down
Loading