Skip to content

Conversation

@marioevz
Copy link
Member

This PR adds checks on the transition tests, specifically to verify the return values of the Engine API endpoints on:

  • newPayload(TP) where TP is a valid transition payload built on top of a valid terminal block.
  • forkchoiceUpdated(TB) where TB is a valid terminal block.
  • newPayload(INV_TP) where INV_TP is an invalid payload built on top of a terminal block where TB.Parent.TD >= TTD
  • newPayload(INV_TP) where INV_TP is an invalid payload built on top of a terminal block where TB.TD < TTD
  • forkchoiceUpdated(INV_TB) where INV_TB.Parent.TD >= TTD
  • forkchoiceUpdated(INV_TB) where INV_TB.TD < TTD

These changes improve on previous tests where the only passing requirement was that the client didn't switch to the invalid chain. Here the INVALID response to the CL must be verified.

cc @mkalinin

Copy link

@mkalinin mkalinin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! 👍

@marioevz marioevz force-pushed the more-transition-coverage branch from 490161f to 90c760f Compare May 25, 2022 16:35
@marioevz marioevz changed the title simulators/ethereum/engine: Terminal Block and Transition Payload checks simulators/ethereum/engine: Transition Payload checks May 25, 2022
@marioevz
Copy link
Member Author

I removed the Terminal Block checks from this PR due to this:
It's not possible to have an fcU(INV_TB) where the invalid terminal block is also unknown to the EL, that would mean that the CL is getting information from other EL, which is not possible with current configurations.

Test case where fcU(INV_TB) && INV_TB.TD < TTD, which could occur due to a misconfiguration of the CL, will be added in a separate PR.

I also reduced TimeoutSeconds for the original test case variants from 3 minutes to the default 1 minute.

@marioevz marioevz marked this pull request as ready for review May 25, 2022 16:41
@fjl fjl merged commit 384c16b into ethereum:master Jun 1, 2022
racytech pushed a commit to racytech/hive that referenced this pull request Apr 4, 2025
fixed the failing persistence test by re-ordering the clients list.

The test fails because initialization of all EL clients takes longer
than the initial genesis delay.
Due to this, lighhouse returns an unhealty result for its health check
as it's post-genesis and not following a chain / has no peers.
The kurtosis package waits for a healthy result, which never occurs as
all other BNs & VCs are missing at that point.

The fix proposed in this PR is a workaround as it moves the lighthouse
node further down to ensure it can connect to other nodes initialized
before.

There is an alternative approach to fix this issue:
```
network_params:
  genesis_delay: 300
```
which ensures all clients are properly initialized before the network
starts.
racytech pushed a commit to racytech/hive that referenced this pull request Apr 4, 2025
🤖 I have created a release *beep* *boop*
---


##
[2.2.0](ethpandaops/ethereum-package@2.1.0...2.2.0)
(2024-04-19)


### Features

* add assertoor test for per PR CI job
([ethereum#537](ethpandaops/ethereum-package#537))
([8ef5c57](ethpandaops/ethereum-package@8ef5c57))
* add blutgang rpc load balancer
([ethereum#569](ethpandaops/ethereum-package#569))
([1be5f95](ethpandaops/ethereum-package@1be5f95))
* add dugtrio beacon load balancer
([ethereum#568](ethpandaops/ethereum-package#568))
([56d2fa3](ethpandaops/ethereum-package@56d2fa3))
* add new assertoor test to per ci jobs
([ethereum#545](ethpandaops/ethereum-package#545))
([3005d46](ethpandaops/ethereum-package@3005d46))
* use new rpc snooper from `ethpandaops/rpc-snooper`
([ethereum#567](ethpandaops/ethereum-package#567))
([5676f0d](ethpandaops/ethereum-package@5676f0d))


### Bug Fixes

* add --contract-deployment-block parameter for Prysm
([ethereum#557](ethpandaops/ethereum-package#557))
([d8dfbae](ethpandaops/ethereum-package@d8dfbae))
* Added '--enable-private-discovery' to Grandine
([ethereum#541](ethpandaops/ethereum-package#541))
([a1ae708](ethpandaops/ethereum-package@a1ae708))
* beaconchain explorer
([ethereum#531](ethpandaops/ethereum-package#531))
([b62ed6f](ethpandaops/ethereum-package@b62ed6f))
* beaconchain explorer
([ethereum#538](ethpandaops/ethereum-package#538))
([ce1f337](ethpandaops/ethereum-package@ce1f337))
* blobber incorrect url
([ethereum#528](ethpandaops/ethereum-package#528))
([6f84e3d](ethpandaops/ethereum-package@6f84e3d))
* bump json rpc snooper
([ethereum#553](ethpandaops/ethereum-package#553))
([f69c4a7](ethpandaops/ethereum-package@f69c4a7))
* disable full sync if gcmode is archive
([ethereum#563](ethpandaops/ethereum-package#563))
([b7592ec](ethpandaops/ethereum-package@b7592ec))
* disable pbss when gcmode archive set
([ethereum#559](ethpandaops/ethereum-package#559))
([e085462](ethpandaops/ethereum-package@e085462))
* disable pbss when gcmode archive set, force hash based init
([ethereum#562](ethpandaops/ethereum-package#562))
([3e1c7a6](ethpandaops/ethereum-package@3e1c7a6))
* disable static peers
([ethereum#529](ethpandaops/ethereum-package#529))
([c5d4028](ethpandaops/ethereum-package@c5d4028))
* enable single node mode on lodestar by default
([ethereum#558](ethpandaops/ethereum-package#558))
([555ad7d](ethpandaops/ethereum-package@555ad7d))
* fix doc string typo
([ethereum#560](ethpandaops/ethereum-package#560))
([13de3f6](ethpandaops/ethereum-package@13de3f6))
* fix failing persistence test
([ethereum#554](ethpandaops/ethereum-package#554))
([99242d6](ethpandaops/ethereum-package@99242d6))
* increase mem limit of snooper
([ethereum#546](ethpandaops/ethereum-package#546))
([6ba5770](ethpandaops/ethereum-package@6ba5770))
* prysm beacon http url
([ethereum#536](ethpandaops/ethereum-package#536))
([4914531](ethpandaops/ethereum-package@4914531))
* prysm beacon_http_url
([ethereum#535](ethpandaops/ethereum-package#535))
([ee7528c](ethpandaops/ethereum-package@ee7528c))
* prysm vc
([ethereum#533](ethpandaops/ethereum-package#533))
([72ddeb2](ethpandaops/ethereum-package@72ddeb2))
* remove un-needed prysm vc check
([ethereum#542](ethpandaops/ethereum-package#542))
([f6326fe](ethpandaops/ethereum-package@f6326fe))
* set application protocol to be http for rpc
([ethereum#548](ethpandaops/ethereum-package#548))
([905de7c](ethpandaops/ethereum-package@905de7c))
* set the correct default vc image
([ethereum#544](ethpandaops/ethereum-package#544))
([953741d](ethpandaops/ethereum-package@953741d))
* uniformize keymanager
([ethereum#534](ethpandaops/ethereum-package#534))
([a6a2830](ethpandaops/ethereum-package@a6a2830))
* update prometheus api
([ethereum#539](ethpandaops/ethereum-package#539))
([d2b9fb8](ethpandaops/ethereum-package@d2b9fb8))
* update vc &lt;&gt; cl matrix
([ethereum#564](ethpandaops/ethereum-package#564))
([0ffcf74](ethpandaops/ethereum-package@0ffcf74))
* update vc compatibility matrix
([ethereum#543](ethpandaops/ethereum-package#543))
([58c4684](ethpandaops/ethereum-package@58c4684))
* use `minimal-preset` images for dora & assertoor when minimal preset
is used
([ethereum#532](ethpandaops/ethereum-package#532))
([ad7773e](ethpandaops/ethereum-package@ad7773e))

---
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>
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.

3 participants