Skip to content

Conversation

@merklefruit
Copy link
Collaborator

@merklefruit merklefruit commented Dec 19, 2024

This PR adds the ability to build valid fallback payloads with the Nethermind EL client.
It has been tested with the following setup:

  1. Nethermind client running a patched version that includes hints in validation error messages
  2. test_build_fallback_payload with cfg.engine_api_url set to the above client

These are the logs of the test:

❯ RUST_LOG=bolt_sidecar=trace cargo test --package bolt-sidecar --lib -- builder::fallback::payload_builder::tests::test_build_fallback_payload --exact --show-output --nocapture
     Running unittests src/lib.rs (target/debug/deps/bolt_sidecar-2d55fce0317b88be)

2024-12-19T12:04:04.256598Z DEBUG bolt_sidecar::builder::fallback::payload_builder: Fetched execution client info client=Nethermind
2024-12-19T12:04:04.381762Z DEBUG bolt_sidecar::builder::fallback::engine_hinter: Fetching hint from engine API iteration=0
2024-12-19T12:04:04.434898Z DEBUG bolt_sidecar::builder::fallback::engine_hinter: Received hint from engine API hint=GasUsed(21000)
2024-12-19T12:04:04.434962Z DEBUG bolt_sidecar::builder::fallback::engine_hinter: Fetching hint from engine API iteration=1
2024-12-19T12:04:04.485953Z DEBUG bolt_sidecar::builder::fallback::engine_hinter: Received hint from engine API hint=ReceiptsRoot(0xf78dfb743fbd92ade140711c8bbc542b5e307f0ab7984eff35d751969fe57efa)
2024-12-19T12:04:04.486032Z DEBUG bolt_sidecar::builder::fallback::engine_hinter: Fetching hint from engine API iteration=2
2024-12-19T12:04:04.540129Z DEBUG bolt_sidecar::builder::fallback::engine_hinter: Received hint from engine API hint=StateRoot(0x55c184230284c82489d53907141b055179e44ac734ced8754d43a70e7cdf94c3)
2024-12-19T12:04:04.540187Z DEBUG bolt_sidecar::builder::fallback::engine_hinter: Fetching hint from engine API iteration=3
2024-12-19T12:04:04.587525Z DEBUG bolt_sidecar::builder::fallback::engine_hinter: Received hint from engine API hint=ValidPayload

Note that merging this PR won't be enough because we are using a local patch of the client. This will only work after upstreaming our changes into Nethermind and waiting for an official release. Then users will have to use a version >= that of the release.

Here you can find the patch PR: NethermindEth/nethermind#7939

@merklefruit merklefruit self-assigned this Dec 19, 2024
@merklefruit merklefruit added C: bolt-sidecar Component: bolt-sidecar T: feature Type: Feature labels Dec 19, 2024
Copy link
Contributor

@thedevbirb thedevbirb left a comment

Choose a reason for hiding this comment

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

nice

@merklefruit merklefruit merged commit 90ec3c4 into unstable Dec 19, 2024
3 checks passed
@merklefruit merklefruit deleted the feat/nethermind-payload-building branch December 19, 2024 16:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

C: bolt-sidecar Component: bolt-sidecar T: feature Type: Feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants