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
1 change: 1 addition & 0 deletions .just/proto.just
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ proto-gen:
@echo "--> Generating Protobuf files"
buf generate --path="./proto/evnode" --template="buf.gen.yaml" --config="buf.yaml"
buf generate --path="./proto/execution/evm" --template="buf.gen.evm.yaml" --config="buf.yaml"
buf generate --template="buf.gen.grpc.yaml" --config="buf.yaml"

# Lint protobuf files (requires Docker)
[group('proto')]
Expand Down
4 changes: 3 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

- Optimization of mutex usage in cache for reaper [#3286](https://github.com/evstack/ev-node/pull/3286)
- Add Unix domain socket support for gRPC execution endpoints via `unix:///path/to/socket` [#3297](https://github.com/evstack/ev-node/pull/3297)
- **BREAKING:** Replace legacy gRPC execution `txs` payload fields with `tx_batch` so clients and servers use contiguous transaction buffers [#3297](https://github.com/evstack/ev-node/pull/3297)
- **BREAKING:** (execution/grpc)
- Move execution service where it belongs in execution/grpc. []()
- Replace legacy gRPC execution `txs` payload fields with `tx_batch` so clients and servers use contiguous transaction buffers [#3297](https://github.com/evstack/ev-node/pull/3297)
Comment on lines +16 to +18
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 | 🟡 Minor

Fix the empty markdown link.

[]() on Line 17 will trip markdownlint and renders as a broken changelog entry. Replace it with the actual PR reference or remove the link syntax.

Suggested fix
-  - Move execution service where it belongs in execution/grpc. []()
+  - Move execution service where it belongs in execution/grpc. [`#3302`](https://github.com/evstack/ev-node/pull/3302)
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- **BREAKING:** (execution/grpc)
- Move execution service where it belongs in execution/grpc. []()
- Replace legacy gRPC execution `txs` payload fields with `tx_batch` so clients and servers use contiguous transaction buffers [#3297](https://github.com/evstack/ev-node/pull/3297)
- **BREAKING:** (execution/grpc)
- Move execution service where it belongs in execution/grpc. [`#3302`](https://github.com/evstack/ev-node/pull/3302)
- Replace legacy gRPC execution `txs` payload fields with `tx_batch` so clients and servers use contiguous transaction buffers [`#3297`](https://github.com/evstack/ev-node/pull/3297)
🧰 Tools
🪛 markdownlint-cli2 (0.22.1)

[warning] 17-17: No empty links

(MD042, no-empty-links)

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

In `@CHANGELOG.md` around lines 16 - 18, The changelog contains an empty markdown
link token "[]()" in the list item "Move execution service where it belongs in
execution/grpc. []()"; remove the empty link or replace it with the correct PR
reference (e.g., add the PR number and URL) so the line reads without a broken
link; update the same list item in CHANGELOG.md by editing the text "Move
execution service where it belongs in execution/grpc. []()" to either "Move
execution service where it belongs in execution/grpc." or "Move execution
service where it belongs in execution/grpc. [`#PR_NUMBER`](PR_URL)".

- Optimize metadata writes by making it async in cache store [#3298](https://github.com/evstack/ev-node/pull/3298)
- Reduce tx cache retention to avoid OOM under (really) heavy tx load [#3299](https://github.com/evstack/ev-node/pull/3299)

Expand Down
11 changes: 11 additions & 0 deletions buf.gen.grpc.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
version: v2

plugins:
- remote: buf.build/protocolbuffers/go
out: execution/grpc/types/pb
opt: paths=source_relative
- remote: buf.build/connectrpc/go
out: execution/grpc/types/pb
opt: paths=source_relative
inputs:
- directory: execution/grpc/proto
4 changes: 1 addition & 3 deletions buf.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ version: v2

modules:
- path: proto
- path: execution/grpc/proto
lint:
use:
- COMMENTS
Expand All @@ -14,6 +15,3 @@ lint:
breaking:
use:
- FILE
ignore_only:
FIELD_NO_DELETE:
- proto/evnode/v1/execution.proto
4 changes: 2 additions & 2 deletions execution/grpc/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ import (
"google.golang.org/protobuf/types/known/timestamppb"

"github.com/evstack/ev-node/core/execution"
pb "github.com/evstack/ev-node/types/pb/evnode/v1"
"github.com/evstack/ev-node/types/pb/evnode/v1/v1connect"
pb "github.com/evstack/ev-node/execution/grpc/types/pb/evnode/v1"
"github.com/evstack/ev-node/execution/grpc/types/pb/evnode/v1/v1connect"
)

// Ensure Client implements the execution.Executor interface
Expand Down
3 changes: 0 additions & 3 deletions execution/grpc/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,9 @@ module github.com/evstack/ev-node/execution/grpc

go 1.25.7

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

require (
connectrpc.com/connect v1.19.2
connectrpc.com/grpcreflect v1.3.0
github.com/evstack/ev-node v1.1.1
github.com/evstack/ev-node/core v1.0.0
golang.org/x/net v0.53.0
google.golang.org/protobuf v1.36.11
Expand Down
2 changes: 0 additions & 2 deletions execution/grpc/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@ connectrpc.com/connect v1.19.2 h1:McQ83FGdzL+t60peksi0gXC7MQ/iLKgLduAnThbM0mo=
connectrpc.com/connect v1.19.2/go.mod h1:tN20fjdGlewnSFeZxLKb0xwIZ6ozc3OQs2hTXy4du9w=
connectrpc.com/grpcreflect v1.3.0 h1:Y4V+ACf8/vOb1XOc251Qun7jMB75gCUNw6llvB9csXc=
connectrpc.com/grpcreflect v1.3.0/go.mod h1:nfloOtCS8VUQOQ1+GTdFzVg2CJo4ZGaat8JIovCtDYs=
github.com/evstack/ev-node v1.1.1 h1:J9h5PKx177XdvNWLZCDOkWJEGRIrPzYxkCFhbGkVUm8=
github.com/evstack/ev-node v1.1.1/go.mod h1:/d/i+SSTDFnxffoijcrwmlt0LgfUU8D4S3HQqucwtu8=
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/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
Expand Down
2 changes: 1 addition & 1 deletion execution/grpc/handler.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import (
"golang.org/x/net/http2/h2c"

"github.com/evstack/ev-node/core/execution"
"github.com/evstack/ev-node/types/pb/evnode/v1/v1connect"
"github.com/evstack/ev-node/execution/grpc/types/pb/evnode/v1/v1connect"
)

// NewExecutorServiceHandler creates a new HTTP handler for the ExecutorService.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ package evnode.v1;

import "google/protobuf/timestamp.proto";

option go_package = "github.com/evstack/ev-node/types/pb/evnode/v1";
option go_package = "github.com/evstack/ev-node/execution/grpc/types/pb/evnode/v1";

// ExecutorService defines the execution layer interface for EVNode
// ExecutorService defines the execution layer interface for execution/grpc
service ExecutorService {
// InitChain initializes a new blockchain instance with genesis parameters
rpc InitChain(InitChainRequest) returns (InitChainResponse) {}
Expand Down
2 changes: 1 addition & 1 deletion execution/grpc/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import (
"connectrpc.com/connect"

"github.com/evstack/ev-node/core/execution"
pb "github.com/evstack/ev-node/types/pb/evnode/v1"
pb "github.com/evstack/ev-node/execution/grpc/types/pb/evnode/v1"
)

// Server is a gRPC server that wraps an execution.Executor implementation.
Expand Down
2 changes: 1 addition & 1 deletion execution/grpc/server_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import (
"google.golang.org/protobuf/types/known/timestamppb"

"github.com/evstack/ev-node/core/execution"
pb "github.com/evstack/ev-node/types/pb/evnode/v1"
pb "github.com/evstack/ev-node/execution/grpc/types/pb/evnode/v1"
)

func TestServer_InitChain(t *testing.T) {
Expand Down
2 changes: 1 addition & 1 deletion execution/grpc/tx_batch.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package grpc
import (
"fmt"

pb "github.com/evstack/ev-node/types/pb/evnode/v1"
pb "github.com/evstack/ev-node/execution/grpc/types/pb/evnode/v1"
)

// maxTxBatchTxSize is the largest transaction length representable in TxBatch.TxSizes:
Expand Down
2 changes: 1 addition & 1 deletion execution/grpc/tx_batch_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import (
"bytes"
"testing"

pb "github.com/evstack/ev-node/types/pb/evnode/v1"
pb "github.com/evstack/ev-node/execution/grpc/types/pb/evnode/v1"
)

func mustEncodeTxBatch(t *testing.T, txs [][]byte) *pb.TxBatch {
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading