Fix reorgBack: send back FCU only after payload verification#594
Closed
yperbasis wants to merge 2 commits intoethereum:masterfrom
Closed
Fix reorgBack: send back FCU only after payload verification#594yperbasis wants to merge 2 commits intoethereum:masterfrom
yperbasis wants to merge 2 commits intoethereum:masterfrom
Conversation
marioevz
reviewed
Jul 5, 2022
simulators/ethereum/engine/clmock.go
Outdated
| OnForkchoiceBroadcast func() | ||
| OnSafeBlockChange func() | ||
| OnFinalizedBlockChange func() | ||
| OnVerificationEnd func() |
Member
There was a problem hiding this comment.
This addition seems fine to me, but perhaps the name is not accurate. This is more like OnBlockProductionEnd.
marioevz
approved these changes
Jul 5, 2022
Member
Author
|
I've realised that my previous reasoning was wrong because of the following rule from the Engine API spec: Client software MAY skip an update of the forkchoice state and MUST NOT begin a payload build process if |
racytech
pushed a commit
to racytech/hive
that referenced
this pull request
Apr 4, 2025
🤖 I have created a release *beep* *boop* --- ## [3.1.0](ethpandaops/ethereum-package@3.0.0...3.1.0) (2024-06-07) ### Features * add http url to el context ([ethereum#656](ethpandaops/ethereum-package#656)) ([4e69a4c](ethpandaops/ethereum-package@4e69a4c)) * add prefunded accounts to output ([ethereum#657](ethpandaops/ethereum-package#657)) ([bc06e2a](ethpandaops/ethereum-package@bc06e2a)) * add tracoor ([ethereum#651](ethpandaops/ethereum-package#651)) ([b100cb6](ethpandaops/ethereum-package@b100cb6)) * add vc_count to increase the number of validators per participant ([ethereum#633](ethpandaops/ethereum-package#633)) ([4272ff3](ethpandaops/ethereum-package@4272ff3)) * allow setting custom dora image & env variables ([ethereum#623](ethpandaops/ethereum-package#623)) ([08a65c3](ethpandaops/ethereum-package@08a65c3)) * **apache:** Serve all config files ([ethereum#606](ethpandaops/ethereum-package#606)) ([3f1f5e1](ethpandaops/ethereum-package@3f1f5e1)) * **config:** add peerdas vars ([ethereum#619](ethpandaops/ethereum-package#619)) ([22f1498](ethpandaops/ethereum-package@22f1498)) * expose network-params ([ethereum#659](ethpandaops/ethereum-package#659)) ([b0820dd](ethpandaops/ethereum-package@b0820dd)) * forky ([ethereum#625](ethpandaops/ethereum-package#625)) ([ded68bd](ethpandaops/ethereum-package@ded68bd)) * Support participants_matrix ([ethereum#620](ethpandaops/ethereum-package#620)) ([3a57467](ethpandaops/ethereum-package@3a57467)) * use `peer-das` image for dora when eip7594 is active ([ethereum#593](ethpandaops/ethereum-package#593)) ([1b4bd3d](ethpandaops/ethereum-package@1b4bd3d)) ### Bug Fixes * add additional prefund addresses ([ethereum#655](ethpandaops/ethereum-package#655)) ([6d2cdb6](ethpandaops/ethereum-package@6d2cdb6)) * add cl log level to builders ([ethereum#638](ethpandaops/ethereum-package#638)) ([ad46dbd](ethpandaops/ethereum-package@ad46dbd)) * Add EIP-7002 & EIP-2935 bytecode to ethereum-genesis-generator ([ethereum#597](ethpandaops/ethereum-package#597)) ([3d316ef](ethpandaops/ethereum-package@3d316ef)) * add http to teku endpoint ([ethereum#622](ethpandaops/ethereum-package#622)) ([085b6e1](ethpandaops/ethereum-package@085b6e1)) * add peer_das_epoch to egg ([ethereum#603](ethpandaops/ethereum-package#603)) ([91694df](ethpandaops/ethereum-package@91694df)) * add sha256 as an image label (if present) ([ethereum#637](ethpandaops/ethereum-package#637)) ([3dcf888](ethpandaops/ethereum-package@3dcf888)) * add static port config for apache ([ethereum#608](ethpandaops/ethereum-package#608)) ([b96e502](ethpandaops/ethereum-package@b96e502)) * **apache:** only set static port if wanted ([ethereum#610](ethpandaops/ethereum-package#610)) ([2c6b7b1](ethpandaops/ethereum-package@2c6b7b1)) * blockscout fix for json variant ([ethereum#662](ethpandaops/ethereum-package#662)) ([e79c510](ethpandaops/ethereum-package@e79c510)) * churn adjustments ([ethereum#614](ethpandaops/ethereum-package#614)) ([12ca872](ethpandaops/ethereum-package@12ca872)) * default config ([ethereum#632](ethpandaops/ethereum-package#632)) ([14be117](ethpandaops/ethereum-package@14be117)) * drop everythign after [@sha](https://github.com/sha) from image labels ([ethereum#636](ethpandaops/ethereum-package#636)) ([5d35463](ethpandaops/ethereum-package@5d35463)) * erigon v3 - new default image ([ethereum#629](ethpandaops/ethereum-package#629)) ([72cf150](ethpandaops/ethereum-package@72cf150)) * genesis generator bump ([ethereum#611](ethpandaops/ethereum-package#611)) ([5460f6f](ethpandaops/ethereum-package@5460f6f)) * nightly tests ([ethereum#595](ethpandaops/ethereum-package#595)) ([76c31e9](ethpandaops/ethereum-package@76c31e9)) * pectra example ([ethereum#605](ethpandaops/ethereum-package#605)) ([67e3da0](ethpandaops/ethereum-package@67e3da0)) * prysm vc key manager ports ([ethereum#639](ethpandaops/ethereum-package#639)) ([81c1ee7](ethpandaops/ethereum-package@81c1ee7)) * re-add images to labels ([ethereum#634](ethpandaops/ethereum-package#634)) ([71f6e28](ethpandaops/ethereum-package@71f6e28)) * README has invalid configs ([ethereum#631](ethpandaops/ethereum-package#631)) ([e33b971](ethpandaops/ethereum-package@e33b971)) * readme indentation ([ethereum#600](ethpandaops/ethereum-package#600)) ([583db1b](ethpandaops/ethereum-package@583db1b)) * registration flags when using beacon node only ([ethereum#618](ethpandaops/ethereum-package#618)) ([c12506b](ethpandaops/ethereum-package@c12506b)) * repair check workflow for external PRs ([ethereum#616](ethpandaops/ethereum-package#616)) ([a584682](ethpandaops/ethereum-package@a584682)) * seperate vc service names ([ethereum#654](ethpandaops/ethereum-package#654)) ([a5ffe14](ethpandaops/ethereum-package@a5ffe14)) * tune Besu options to work with tx_spammer ([ethereum#612](ethpandaops/ethereum-package#612)) ([b395189](ethpandaops/ethereum-package@b395189)) * update dora images ([ethereum#598](ethpandaops/ethereum-package#598)) ([dd28d61](ethpandaops/ethereum-package@dd28d61)) * update prysm image ([ethereum#599](ethpandaops/ethereum-package#599)) ([0a38114](ethpandaops/ethereum-package@0a38114)) * use `electra-support` image for assertoor when electra fork epoch is set ([ethereum#607](ethpandaops/ethereum-package#607)) ([cdeab93](ethpandaops/ethereum-package@cdeab93)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
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.
This improves "Re-Org Back into Canonical Chain" test. The FCU pointing to the previous block sent by
reorgBackshould be sent after the payload verification inproduceSingleBlock. When the back FCU is sent too early, it might render the newly created block unaccessible byeth_getBlockByNumber("latest"), thus leading to "CLMocker: None of the clients accepted the newly constructed payload".