[r3.4] hive: pin more things#20399
Merged
AskAlexSharov merged 2 commits intorelease/3.4from Apr 8, 2026
Merged
Conversation
Pin `ethereum/execution-apis` ref in hive rpc-compat tests, the same way `hive_ref` already pins the hive framework itself. - Add `execution_apis_ref` to `hive-versions.json` - Before hive builds the rpc-compat simulator image, clone execution-apis at the pinned ref, copy the `tests/` dir into the build context, and patch the Dockerfile to use the local copy (the Dockerfile already has a commented-out `ADD tests` for this purpose) - Only runs for the `rpc/compat` matrix entry, not engine sims The rpc-compat simulator's Dockerfile clones `ethereum/execution-apis` at `main` HEAD on every build (`ARG branch=main`). On April 6 at ~15:00 UTC, ethereum/execution-apis#747 added `testing_buildBlockV1` tests (200 → 208 tests). Erigon doesn't implement this method, causing 4 new failures and breaking ci-gate on **all PRs**. The hive framework was already pinned via `hive_ref`, but the test data it fetches was not. To bump execution-apis in the future, update `execution_apis_ref` in `hive-versions.json`. - [ ] ci-gate passes (rpc-compat runs pinned 200 tests, 0 failures) - [ ] Engine sims unaffected (step is skipped via matrix condition) --------- Co-authored-by: yperbasis <andrey.ashikhmin@gmail.com> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This PR updates `engine_forkchoiceUpdatedV2` to return `-38003: Invalid payload attributes` when the wrong `payloadAttributes` version is used. In particular, FCUv2 payload-attribute version mismatches such as: - missing `withdrawals` at or after Shanghai - unexpected `withdrawals` before Shanghai should be treated as `Invalid payload attributes`, not `Invalid params`. ## Why This change aligns the client with the latest Engine API spec update in: - ethereum/execution-apis#761 It also follows the implementation discussion and prior client-side change in: - ethereum/go-ethereum#33918 The spec was clarified so that FCUv2 now behaves consistently with newer forkchoiceUpdated versions for payloadAttributes structure/version mismatches. ## What changed - Updated FCUv2 payload attributes validation to return `-38003` for payloadAttributes version mismatches. - Added/updated regression coverage for the affected FCUv2 cases. ## Hive impact This fixes the Hive `engine-withdrawals` failure caused by returning the wrong error code for FCUv2 payloadAttributes mismatches. Relevant Hive failure: - https://hive.ethpandaops.io/#/test/generic/1773130326-4e173a80b2b6f0634fd0139743cbe0de After this change, the client returns the expected error code for the affected FCUv2 cases. If my understanding or interpretation of the spec change is incorrect, please let me know and I can adjust the implementation accordingly. --------- Co-authored-by: muzry.li <muzry.li1@ambergroup.io>
860a7d6 to
258af2c
Compare
Contributor
There was a problem hiding this comment.
[SharovBot]
LGTM.
This looks like the right backport shape:
-
Pinning
- adds
- pins both and
- patches the rpc-compat simulator Dockerfile so upstream drift stops breaking CI
-
Engine API fix
- now validates withdrawals presence for V2+/Capella payload attributes before proceeding and returns () instead of falling through to the wrong path
- extracting keeps the rules shared/consistent with
-
Tests
- the new tests cover both invalid directions:
- missing withdrawals after Shanghai
- withdrawals present before Shanghai
- the new tests cover both invalid directions:
So this PR both stabilizes the moving Hive input and fixes the engine-side payload-attributes validation mismatch that rpc-compat was surfacing.
AskAlexSharov
added a commit
that referenced
this pull request
Apr 8, 2026
- Cherry-pick of #20370 --------- Co-authored-by: yperbasis <andrey.ashikhmin@gmail.com> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Co-authored-by: Muzry <muzrry@gmail.com> Co-authored-by: muzry.li <muzry.li1@ambergroup.io>
github-merge-queue bot
pushed a commit
that referenced
this pull request
Apr 10, 2026
## Summary Cherry-pick of release/3.4 PRs: - #20368 rpc: use synctest for TestClientCancelHTTP to fix CI flakiness - #20373 integrity: blk/sec fix - #20372 execution/state: use index-based range over log topics to avoid copy - #20367 fix: preserve stored chain config when genesis hash doesn't match known chain - #20374 ParseVersion: optimize - #20369 batchSize: more precise estimate - #20399 hive: pin more things --------- Co-authored-by: erigon-copilot[bot] <265817861+erigon-copilot[bot]@users.noreply.github.com> Co-authored-by: root <giulio.rebuffo@gmail.com> Co-authored-by: yperbasis <andrey.ashikhmin@gmail.com> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Co-authored-by: Muzry <muzrry@gmail.com> Co-authored-by: muzry.li <muzry.li1@ambergroup.io> Co-authored-by: Andrew Ashikhmin <34320705+yperbasis@users.noreply.github.com> Co-authored-by: info@weblogix.biz <admin@10gbps.weblogix.it>
AskAlexSharov
added a commit
that referenced
this pull request
Apr 13, 2026
- Cherry-pick of #20370 --------- Co-authored-by: yperbasis <andrey.ashikhmin@gmail.com> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Co-authored-by: Muzry <muzrry@gmail.com> Co-authored-by: muzry.li <muzry.li1@ambergroup.io>
github-merge-queue bot
pushed a commit
that referenced
this pull request
Apr 14, 2026
## Summary Cherry-pick latest 20 PRs from release/3.4 to main (15 already applied, 5 new): - #20399 — hive: pin more things - #20457 — up x deps - #20469 — attempt to drop oldPrune method - #20489 — txpool: use poolDB tx for getCachedBlobTxnLocked - #20517 — teach: Unwind beyond data in snapshots not allowed --------- Co-authored-by: yperbasis <andrey.ashikhmin@gmail.com> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Co-authored-by: Muzry <muzrry@gmail.com> Co-authored-by: muzry.li <muzry.li1@ambergroup.io> Co-authored-by: info@weblogix.biz <admin@10gbps.weblogix.it>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary