Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: build valid fallback payload with Nethermind #600

Merged
merged 1 commit into from
Dec 19, 2024

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.

3 participants