Skip to content

refactor(execution/grpc): move execution service where it belongs#3302

Merged
julienrbrt merged 3 commits into
mainfrom
julien/execution-grpc
Apr 29, 2026
Merged

refactor(execution/grpc): move execution service where it belongs#3302
julienrbrt merged 3 commits into
mainfrom
julien/execution-grpc

Conversation

@julienrbrt
Copy link
Copy Markdown
Member

Follow-up of #3297 implements #3297 (review)

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 29, 2026

📝 Walkthrough

Walkthrough

Relocates protobuf type generation and imports for gRPC execution services from top-level types/pb/ to execution/grpc/types/pb/, including new Buf generation configuration, updated proto package options, and revised imports across execution gRPC module files.

Changes

Cohort / File(s) Summary
Build & Generation Configuration
.just/proto.just, buf.gen.grpc.yaml, buf.yaml, CHANGELOG.md
Adds new Buf generation template for gRPC with ConnectRPC support; removes FIELD_NO_DELETE breaking-rule exception for execution.proto; documents breaking changes related to execution service relocation and tx_batch payload changes.
Proto Definitions
execution/grpc/proto/evnode/v1/execution.proto, execution/grpc/types/pb/evnode/v1/v1connect/execution.connect.go
Updates go_package option to point generated code to execution/grpc/types/pb/evnode/v1; updates scope annotation in ExecutorService comment.
gRPC Client & Server
execution/grpc/client.go, execution/grpc/server.go, execution/grpc/handler.go
Switches protobuf type imports from types/pb/... to execution/grpc/types/pb/... for request/response handling and service registration.
Support Code & Dependencies
execution/grpc/tx_batch.go, execution/grpc/go.mod
Updates pb import path for TxBatch type; removes local replace directive and explicit ev-node requirement from module file.
Tests
execution/grpc/server_test.go, execution/grpc/tx_batch_test.go
Redirects test imports to use relocated protobuf types under execution/grpc/types/pb/evnode/v1.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Possibly related PRs

Suggested reviewers

  • tac0turtle

Poem

🐰 Hopping through modules, paths rearranged,
From types/pb to execution/grpc, freshly changed,
Protobuf types tucked where they belong,
Buf generation sings a harmonious song! 🎵

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (1 warning, 1 inconclusive)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Description check ❓ Inconclusive The description is minimal and only references a follow-up PR and prior review comment without providing substantive details about the change, its motivation, or impact. Add an overview explaining what the refactor accomplishes, why the reorganization is beneficial, and which components are affected (e.g., protobuf generation config, gRPC service location).
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly describes the main change: moving the execution service to its proper location under execution/grpc, which aligns with the file reorganization evident throughout the changeset.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

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

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch julien/execution-grpc

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
Review rate limit: 0/1 reviews remaining, refill in 60 minutes.

Comment @coderabbitai help to get the list of available commands and usage tips.

@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Apr 29, 2026

Claude Code is working…

I'll analyze this and get back to you.

View job run

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 29, 2026

The latest Buf updates on your PR. Results from workflow CI / buf-check (pull_request).

BuildFormatLintBreakingUpdated (UTC)
✅ passed⏩ skipped✅ passed❌ failed (11)Apr 29, 2026, 1:43 PM

@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 29, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 60.55%. Comparing base (4063698) to head (9a35a4d).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3302      +/-   ##
==========================================
- Coverage   62.72%   60.55%   -2.17%     
==========================================
  Files         124      126       +2     
  Lines       13248    13721     +473     
==========================================
- Hits         8310     8309       -1     
- Misses       4034     4508     +474     
  Partials      904      904              
Flag Coverage Δ
combined 60.55% <ø> (-2.17%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@julienrbrt julienrbrt requested a review from tac0turtle April 29, 2026 13:43
@julienrbrt
Copy link
Copy Markdown
Member Author

will fix the linting issue before merging.

Copy link
Copy Markdown
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 `@CHANGELOG.md`:
- Around line 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)".
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 7ef2bafb-da54-40bc-aaaf-56f49e01f144

📥 Commits

Reviewing files that changed from the base of the PR and between 4063698 and 9a35a4d.

⛔ Files ignored due to path filters (2)
  • execution/grpc/go.sum is excluded by !**/*.sum
  • execution/grpc/types/pb/evnode/v1/execution.pb.go is excluded by !**/*.pb.go
📒 Files selected for processing (13)
  • .just/proto.just
  • CHANGELOG.md
  • buf.gen.grpc.yaml
  • buf.yaml
  • execution/grpc/client.go
  • execution/grpc/go.mod
  • execution/grpc/handler.go
  • execution/grpc/proto/evnode/v1/execution.proto
  • execution/grpc/server.go
  • execution/grpc/server_test.go
  • execution/grpc/tx_batch.go
  • execution/grpc/tx_batch_test.go
  • execution/grpc/types/pb/evnode/v1/v1connect/execution.connect.go
💤 Files with no reviewable changes (1)
  • execution/grpc/go.mod

Comment thread CHANGELOG.md
Comment on lines +16 to +18
- **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)
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)".

@julienrbrt julienrbrt enabled auto-merge April 29, 2026 15:13
@julienrbrt julienrbrt disabled auto-merge April 29, 2026 15:13
@julienrbrt julienrbrt merged commit 05979c1 into main Apr 29, 2026
33 of 39 checks passed
@julienrbrt julienrbrt deleted the julien/execution-grpc branch April 29, 2026 15:13
julienrbrt added a commit that referenced this pull request May 8, 2026
* build(deps): Bump the all-go group across 8 directories with 7 updates (#3291)

* build(deps): Bump the all-go group across 8 directories with 7 updates

Bumps the all-go group with 5 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [github.com/aws/aws-sdk-go-v2/service/kms](https://github.com/aws/aws-sdk-go-v2) | `1.50.5` | `1.51.0` |
| [github.com/aws/smithy-go](https://github.com/aws/smithy-go) | `1.25.0` | `1.25.1` |
| [github.com/libp2p/go-libp2p-pubsub](https://github.com/libp2p/go-libp2p-pubsub) | `0.15.0` | `0.16.0` |
| [github.com/rs/zerolog](https://github.com/rs/zerolog) | `1.35.0` | `1.35.1` |
| [google.golang.org/api](https://github.com/googleapis/google-api-go-client) | `0.274.0` | `0.276.0` |

Bumps the all-go group with 1 update in the /apps/evm directory: [github.com/rs/zerolog](https://github.com/rs/zerolog).
Bumps the all-go group with 1 update in the /apps/grpc directory: [github.com/rs/zerolog](https://github.com/rs/zerolog).
Bumps the all-go group with 1 update in the /apps/testapp directory: [github.com/rs/zerolog](https://github.com/rs/zerolog).
Bumps the all-go group with 2 updates in the /execution/evm directory: [github.com/rs/zerolog](https://github.com/rs/zerolog) and [github.com/evstack/ev-node](https://github.com/evstack/ev-node).
Bumps the all-go group with 1 update in the /execution/grpc directory: [github.com/evstack/ev-node](https://github.com/evstack/ev-node).
Bumps the all-go group with 1 update in the /test/docker-e2e directory: [github.com/celestiaorg/tastora](https://github.com/celestiaorg/tastora).
Bumps the all-go group with 2 updates in the /test/e2e directory: [github.com/rs/zerolog](https://github.com/rs/zerolog) and [github.com/celestiaorg/tastora](https://github.com/celestiaorg/tastora).


Updates `github.com/aws/aws-sdk-go-v2/service/kms` from 1.50.5 to 1.51.0
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](aws/aws-sdk-go-v2@service/ssm/v1.50.5...service/s3/v1.51.0)

Updates `github.com/aws/smithy-go` from 1.25.0 to 1.25.1
- [Release notes](https://github.com/aws/smithy-go/releases)
- [Changelog](https://github.com/aws/smithy-go/blob/main/CHANGELOG.md)
- [Commits](aws/smithy-go@v1.25.0...v1.25.1)

Updates `github.com/libp2p/go-libp2p-pubsub` from 0.15.0 to 0.16.0
- [Release notes](https://github.com/libp2p/go-libp2p-pubsub/releases)
- [Commits](libp2p/go-libp2p-pubsub@v0.15.0...v0.16.0)

Updates `github.com/rs/zerolog` from 1.35.0 to 1.35.1
- [Commits](rs/zerolog@v1.35.0...v1.35.1)

Updates `google.golang.org/api` from 0.274.0 to 0.276.0
- [Release notes](https://github.com/googleapis/google-api-go-client/releases)
- [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md)
- [Commits](googleapis/google-api-go-client@v0.274.0...v0.276.0)

Updates `github.com/rs/zerolog` from 1.35.0 to 1.35.1
- [Commits](rs/zerolog@v1.35.0...v1.35.1)

Updates `github.com/rs/zerolog` from 1.35.0 to 1.35.1
- [Commits](rs/zerolog@v1.35.0...v1.35.1)

Updates `github.com/rs/zerolog` from 1.35.0 to 1.35.1
- [Commits](rs/zerolog@v1.35.0...v1.35.1)

Updates `github.com/rs/zerolog` from 1.35.0 to 1.35.1
- [Commits](rs/zerolog@v1.35.0...v1.35.1)

Updates `github.com/evstack/ev-node` from 1.1.0 to 1.1.1
- [Release notes](https://github.com/evstack/ev-node/releases)
- [Changelog](https://github.com/evstack/ev-node/blob/main/CHANGELOG.md)
- [Commits](v1.1.0...v1.1.1)

Updates `github.com/evstack/ev-node` from 1.1.0 to 1.1.1
- [Release notes](https://github.com/evstack/ev-node/releases)
- [Changelog](https://github.com/evstack/ev-node/blob/main/CHANGELOG.md)
- [Commits](v1.1.0...v1.1.1)

Updates `github.com/celestiaorg/tastora` from 0.17.0 to 0.19.0
- [Release notes](https://github.com/celestiaorg/tastora/releases)
- [Commits](celestiaorg/tastora@v0.17.0...v0.19.0)

Updates `github.com/rs/zerolog` from 1.35.0 to 1.35.1
- [Commits](rs/zerolog@v1.35.0...v1.35.1)

Updates `github.com/celestiaorg/tastora` from 0.16.1-0.20260312082036-2ee1b0a2ac4e to 0.19.0
- [Release notes](https://github.com/celestiaorg/tastora/releases)
- [Commits](celestiaorg/tastora@v0.17.0...v0.19.0)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/service/kms
  dependency-version: 1.51.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all-go
- dependency-name: github.com/aws/smithy-go
  dependency-version: 1.25.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-go
- dependency-name: github.com/libp2p/go-libp2p-pubsub
  dependency-version: 0.16.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all-go
- dependency-name: github.com/rs/zerolog
  dependency-version: 1.35.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-go
- dependency-name: google.golang.org/api
  dependency-version: 0.276.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all-go
- dependency-name: github.com/rs/zerolog
  dependency-version: 1.35.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-go
- dependency-name: github.com/rs/zerolog
  dependency-version: 1.35.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-go
- dependency-name: github.com/rs/zerolog
  dependency-version: 1.35.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-go
- dependency-name: github.com/rs/zerolog
  dependency-version: 1.35.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-go
- dependency-name: github.com/evstack/ev-node
  dependency-version: 1.1.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-go
- dependency-name: github.com/evstack/ev-node
  dependency-version: 1.1.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-go
- dependency-name: github.com/celestiaorg/tastora
  dependency-version: 0.19.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all-go
- dependency-name: github.com/rs/zerolog
  dependency-version: 1.35.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-go
- dependency-name: github.com/celestiaorg/tastora
  dependency-version: 0.19.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all-go
...

Signed-off-by: dependabot[bot] <support@github.com>

* tidy

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>

* build(deps): Bump postcss from 8.5.8 to 8.5.12 in /docs in the npm_and_yarn group across 1 directory (#3292)

build(deps): Bump postcss

Bumps the npm_and_yarn group with 1 update in the /docs directory: [postcss](https://github.com/postcss/postcss).


Updates `postcss` from 8.5.8 to 8.5.12
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](postcss/postcss@8.5.8...8.5.12)

---
updated-dependencies:
- dependency-name: postcss
  dependency-version: 8.5.12
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* ci: skip code jobs on docs-only changes (#3295)

Add a `changes` job using dorny/paths-filter to detect whether any
non-documentation files were modified. All heavy jobs (lint, docker,
test, docker-tests, proto) are gated behind this check and skipped
when the PR only touches docs/** or markdown files.

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>

* docs: brand-aligned syntax theme for code blocks (#3294)

* docs: better code readability

* chore: restore yarn.lock to main

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* docs(style): address PR review feedback

- Add `"type": "dark"` to ev-dark.json theme manifest
- Raise punctuation token contrast from #505050 to #767676 (WCAG AA)
- Align --vp-code-block-color CSS var with ev-dark default text (#dbd7ca)
- Use ThemeRegistration type instead of `as any` in config.ts

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix(cache): reduce tx cache retention (#3299)

* docs: high availability sequencer guide (#3293)

* docs: ev-node high availability

* docs: node placement

* docs(ha): address PR review feedback

Critical fixes:
- Fix snapshot_threshold math: 5000 ÷ 10 = 500s ≈ 8.3 min (not 83s)
- Fix trailing_logs math: 18000 ÷ 10 = 1800s = 30 min (not 5 min)

Medium fixes:
- Fix heartbeat_timeout description: it is a follower-side election trigger,
  not the interval at which the leader sends heartbeats
- Add explicit restart instruction after Step 5 data copy in single-to-ha.md
  so the chain keeps producing blocks during preparation (Steps 6-8)
- Replace priv_validator_key.json with signer.json in single-to-ha.md
  to match cluster-setup.md and the E2E tests

Minor fixes:
- Exclude self from raft.peers in all examples (cluster-setup.md node-1
  yaml/CLI/systemd, single-to-ha.md node-1 and node-2)
- Add "exclude local node" note to raft.peers description in overview.md
- Fix P2P port in overview.md Interaction with P2P section (7676 → 26656)
- Add text language tag to all bare fenced blocks (MD040): multiaddr
  example, RTT equations, and all log snippets

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* docs(ha): absorb raft_production.md into ha/overview.md

raft_production.md had no sidebar entry and its content was fully
superseded by the new ha/ guides. Extract the three pieces that were
unique to it — bootstrap flag docs, auto-detection startup mode
explanation, and static-membership limitation note — into
ha/overview.md, then delete the file.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* docs(ha): use EnvironmentFile for signer passphrase

Passing --evnode.signer.passphrase inline exposes the secret in
ps aux, journalctl, and shell history.

- Add EnvironmentFile=/etc/ev-node/env (chmod 600) to the systemd
  unit in cluster-setup.md with setup instructions
- Replace all inline <YOUR_PASSPHRASE> occurrences with
  $EV_SIGNER_PASSPHRASE sourced from /etc/ev-node/env in every
  evm start / evm init snippet across both guides

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* docs(ha): explicit node-2 peers and action-based rolling restart

- Replace "peers list is identical" stub in node-2 config with an
  explicit peers list that excludes node-2 itself, and add a note
  that each node must omit itself from raft.peers
- Replace "Wait ~30 seconds" in rolling restart with journalctl
  one-liners that exit as soon as the node logs follower/leader state,
  giving a deterministic signal instead of an arbitrary timeout

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* docs(ha): fix raft.peers self-inclusion startup bug

The abbreviated node-2 snippet with "# peers list is identical" caused
a startup failure: with raft_addr=0.0.0.0:5001 the bootstrap code's
literal address comparison does not recognise node-2@10.0.0.2:5001 as
self, so node-2 is appended twice and deduplicateServers returns
"duplicate peers found in config".

- Fix intro text: "only raft.node_id and raft_addr differ" →
  "raft.node_id is unique; raft.peers and p2p.peers must exclude self"
- Expand node-2 snippet to a full evnode.yaml with the correct peers
  list (node-1, node-3, node-4, node-5 — no node-2) and an inline
  explanation of the wildcard address pitfall
- Align overview.md trailing_logs example to 1 block/s (matching
  block_time: "1s" used throughout) and note the 10 block/s rate too

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* docs(ha): fix passphrase flag and failover kill cardinality check

Replace non-existent --evnode.signer.passphrase with the actual
--evnode.signer.passphrase_file flag throughout cluster-setup and
single-to-ha guides. Update passphrase setup to create a chmod 600
file at /etc/ev-node/passphrase referenced directly by the flag.

Add mapfile-based cardinality check in the failover test fallback
kill command to guard against killing the wrong process.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* docs(ha): fix RPC endpoints, init ordering, and snap_count CLI flag

Replace incorrect CometBFT RPC calls (port 26657/status) with the
actual ev-node HTTP API (port 7331 /health/ready, /raft/node) and
EVM execution layer (cast block latest) throughout both guides.

Align single-to-ha Step 2 init ordering with cluster-setup: create
passphrase file before evm init so the signer key is encrypted from
the start, and pass --evnode.node.aggregator and passphrase_file flags.

Fix Step 9a fallback kill in single-to-ha to use mapfile cardinality
check, matching the pattern already applied in cluster-setup.

Add --evnode.raft.snap_count=3 to the CLI start example to match
the YAML config block.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>

* perf(store): save metadata async (#3298)

* perf(store): save metadata async

* cl

* Optimize metadata writes with batching

* feedback

* De-duplicate batched writes by key in cached store

* fix

* updates

* chore(deps): security  (#3296)

* fix security deps

* fix helpers

* feat: add grpc socket and flattn tx batches to allow for lower allocations (#3297)

* add grpc socket and flattn tx batches to allow for lower allocations

* redo proto

* docs: update changelog for grpc execution transport

* remove extra txs

* refactor(execution/grpc): move execution service where it belongs (#3302)

* refactor(execution/grpc): move execution service where it belongs

* reduce diff

* fix lint

* feat(execution/grpc): adding support for grpc otlp (#3300)

* feat: adding support for grpc oltp

* chore: fix linting

* cl

---------

Co-authored-by: Julien Robert <julien@rbrt.fr>

* chore: fix some minor issues in comments (#3304)

* build(deps): Bump dorny/paths-filter from 3 to 4 (#3308)

Bumps [dorny/paths-filter](https://github.com/dorny/paths-filter) from 3 to 4.
- [Release notes](https://github.com/dorny/paths-filter/releases)
- [Changelog](https://github.com/dorny/paths-filter/blob/master/CHANGELOG.md)
- [Commits](dorny/paths-filter@v3...v4)

---
updated-dependencies:
- dependency-name: dorny/paths-filter
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* feat(pkg/sequencers): add queue limit in solo sequencer (#3312)

* feat(pkg/sequencers): add queue limit in solo sequencer

* use option

* cl

* move test files

* fix: address key rotation CI failures

* fix: repair markdown link checks

* test: stabilize sync loop persistence test

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
Co-authored-by: auricom <27022259+auricom@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Marko <marko@baricevic.me>
Co-authored-by: Cian Hatton <github.qpeyb@simplelogin.fr>
Co-authored-by: criciss <cricis@msn.com>
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