Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
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
Prev Previous commit
Next Next commit
use latest
  • Loading branch information
julienrbrt committed Mar 10, 2026
commit 28ffadf2d53846c7eebf59ab990d5468bc885203
8 changes: 4 additions & 4 deletions apps/evm/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@ module github.com/evstack/ev-node/apps/evm

go 1.25.6

//replace (
// github.com/evstack/ev-node => ../../
// github.com/evstack/ev-node/execution/evm => ../../execution/evm
//)
replace (
github.com/evstack/ev-node => ../../
github.com/evstack/ev-node/execution/evm => ../../execution/evm
)
Comment on lines +5 to +8

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.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

python - <<'PY'
from pathlib import Path

mod = Path("apps/evm/go.mod")
module_dir = mod.parent.resolve()

for raw in mod.read_text().splitlines():
    line = raw.strip()
    if "=>" not in line or line.startswith("//"):
        continue

    left, right = [part.strip() for part in line.split("=>", 1)]
    if left.startswith("replace "):
>
    elif left.startswith("github.com/"):
>
    else:
        continue

    if target.startswith("."):
        resolved = (module_dir / target).resolve()
        escapes = module_dir not in (resolved, *resolved.parents)
        print(f"{mod}: {target} -> {resolved}")
        print(f"escapes module dir: {escapes}")
PY

Repository: evstack/ev-node

Length of output: 227


🏁 Script executed:

# Check if go.work exists in repo root
ls -la go.work 2>/dev/null || echo "go.work not found"

# Check the actual module path in apps/evm/go.mod
head -5 apps/evm/go.mod

# Check Go version requirement
head -3 go.mod

Repository: evstack/ev-node

Length of output: 186


🏁 Script executed:

# Search for any references to go.work or workspace setup
rg "go.work" --type md --type txt --type sh .

# Check if there are any build/CI configurations that might show intended usage
fd -t f -e yml -e yaml -e Makefile | head -20

# Look for any documentation about building apps/evm standalone
rg "apps/evm" --type md . -A 3

Repository: evstack/ev-node

Length of output: 1538


These local replace directives break standalone releases of apps/evm.

The RELEASE.md documents apps/evm as a standalone module released via go get github.com/evstack/ev-node/apps/evm@v0.3.0. When users obtain this module, the ../../ and ../../execution/evm paths will not exist, making the module unusable.

Move these replacements to a go.work file in the repository root to manage local monorepo development without shipping broken module files. Go 1.25.6 fully supports workspaces.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@apps/evm/go.mod` around lines 5 - 8, The apps/evm module contains local
replace directives ("replace github.com/evstack/ev-node => ../../" and "replace
github.com/evstack/ev-node/execution/evm => ../../execution/evm") that break
standalone releases; remove these replace lines from the apps/evm go.mod and
instead add equivalent replace entries into a repo-root go.work workspace file
(using Go workspaces supported in Go 1.25.6) so local monorepo development works
but published modules remain usable via go get.


require (
github.com/ethereum/go-ethereum v1.17.1
Expand Down
4 changes: 0 additions & 4 deletions apps/evm/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -407,12 +407,8 @@ github.com/ethereum/go-bigmodexpfix v0.0.0-20250911101455-f9e208c548ab h1:rvv6MJ
github.com/ethereum/go-bigmodexpfix v0.0.0-20250911101455-f9e208c548ab/go.mod h1:IuLm4IsPipXKF7CW5Lzf68PIbZ5yl7FFd74l/E0o9A8=
github.com/ethereum/go-ethereum v1.17.1 h1:IjlQDjgxg2uL+GzPRkygGULPMLzcYWncEI7wbaizvho=
github.com/ethereum/go-ethereum v1.17.1/go.mod h1:7UWOVHL7K3b8RfVRea022btnzLCaanwHtBuH1jUCH/I=
github.com/evstack/ev-node v1.0.0-rc.5 h1:3qd3KWuwiLr5RKt1j8v2h5X3XZvwyYGbMUDskM+cAeI=
github.com/evstack/ev-node v1.0.0-rc.5/go.mod h1:VAaN0tbN1+SSm7sLzMhHZNUn9sgpf1eok5gu3YVbT38=
github.com/evstack/ev-node/core v1.0.0 h1:s0Tx0uWHme7SJn/ZNEtee4qNM8UO6PIxXnHhPbbKTz8=
github.com/evstack/ev-node/core v1.0.0/go.mod h1:n2w/LhYQTPsi48m6lMj16YiIqsaQw6gxwjyJvR+B3sY=
github.com/evstack/ev-node/execution/evm v1.0.0-rc.4 h1:9IKEVD8QRe6drXJFxnydM5ao6Gw5BPgXXIVCY3516WM=
github.com/evstack/ev-node/execution/evm v1.0.0-rc.4/go.mod h1:aDwQRKH79c49eBgGAkkTPJKSicRxGtxteSqmj0oqAQ4=
github.com/fatih/color v1.10.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM=
github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk=
github.com/fatih/color v1.15.0/go.mod h1:0h5ZqXfHYED7Bhv2ZJamyIOUej9KtShiJESRwBDUSsw=
Expand Down
2 changes: 1 addition & 1 deletion apps/testapp/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ module github.com/evstack/ev-node/apps/testapp

go 1.25.6

//replace github.com/evstack/ev-node => ../../.
replace github.com/evstack/ev-node => ../../.

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.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

python - <<'PY'
from pathlib import Path

mod = Path("apps/testapp/go.mod")
module_dir = mod.parent.resolve()

for raw in mod.read_text().splitlines():
    line = raw.strip()
    if "=>" not in line or line.startswith("//"):
        continue

    left, right = [part.strip() for part in line.split("=>", 1)]
    if left.startswith("replace "):
>
    elif left.startswith("github.com/"):
>
    else:
        continue

    if target.startswith("."):
        resolved = (module_dir / target).resolve()
        escapes = module_dir not in (resolved, *resolved.parents)
        print(f"{mod}: {target} -> {resolved}")
        print(f"escapes module dir: {escapes}")
PY

Repository: evstack/ev-node

Length of output: 134


Do not commit a relative replace in this nested module.

apps/testapp is its own module. A versioned checkout of github.com/evstack/ev-node/apps/testapp will not contain the target at ../../., breaking standalone builds of this module outside a full monorepo checkout. Use go.work for local wiring instead of shipping relative replace directives in published go.mod files.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@apps/testapp/go.mod` at line 5, The go.mod in apps/testapp contains a
relative replace directive ("replace github.com/evstack/ev-node => ../../.")
which must be removed because apps/testapp is a standalone module; delete that
replace line from the module's go.mod and instead wire local module replacements
via a workspace file (go.work) at the monorepo root when developing locally so
published/checked-out versions of github.com/evstack/ev-node/apps/testapp do not
depend on a relative path.


require (
github.com/evstack/ev-node v1.0.0-rc.5
Expand Down
2 changes: 0 additions & 2 deletions apps/testapp/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -367,8 +367,6 @@ github.com/envoyproxy/protoc-gen-validate v0.10.0/go.mod h1:DRjgyB0I43LtJapqN6Ni
github.com/envoyproxy/protoc-gen-validate v0.10.1/go.mod h1:DRjgyB0I43LtJapqN6NiRwroiAU2PaFuvk/vjgh61ss=
github.com/envoyproxy/protoc-gen-validate v1.0.1/go.mod h1:0vj8bNkYbSTNS2PIyH87KZaeN4x9zpL9Qt8fQC7d+vs=
github.com/envoyproxy/protoc-gen-validate v1.0.2/go.mod h1:GpiZQP3dDbg4JouG/NNS7QWXpgx6x8QiMKdmN72jogE=
github.com/evstack/ev-node v1.0.0-rc.5 h1:3qd3KWuwiLr5RKt1j8v2h5X3XZvwyYGbMUDskM+cAeI=
github.com/evstack/ev-node v1.0.0-rc.5/go.mod h1:VAaN0tbN1+SSm7sLzMhHZNUn9sgpf1eok5gu3YVbT38=
github.com/evstack/ev-node/core v1.0.0 h1:s0Tx0uWHme7SJn/ZNEtee4qNM8UO6PIxXnHhPbbKTz8=
github.com/evstack/ev-node/core v1.0.0/go.mod h1:n2w/LhYQTPsi48m6lMj16YiIqsaQw6gxwjyJvR+B3sY=
github.com/fatih/color v1.10.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM=
Expand Down
Loading