feat: allow awaiting payload in progress (#11823)

Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de>
This commit is contained in:
Arsenii Kulikov
2024-10-18 14:45:51 +04:00
committed by GitHub
parent cfd066c071
commit 8d32fd788b
11 changed files with 127 additions and 81 deletions

View File

@ -9,7 +9,7 @@ use reth_chainspec::EthereumHardforks;
use reth_engine_primitives::EngineTypes;
use reth_payload_builder::PayloadBuilderHandle;
use reth_payload_primitives::{
BuiltPayload, PayloadAttributesBuilder, PayloadBuilder, PayloadTypes,
BuiltPayload, PayloadAttributesBuilder, PayloadBuilder, PayloadKind, PayloadTypes,
};
use reth_provider::{BlockReader, ChainSpecProvider};
use reth_rpc_types_compat::engine::payload::block_to_payload;
@ -202,10 +202,9 @@ where
let payload_id = res.payload_id.ok_or_eyre("No payload id")?;
// wait for some time to let the payload be built
tokio::time::sleep(Duration::from_millis(200)).await;
let Some(Ok(payload)) = self.payload_builder.best_payload(payload_id).await else {
let Some(Ok(payload)) =
self.payload_builder.resolve_kind(payload_id, PayloadKind::WaitForPending).await
else {
eyre::bail!("No payload")
};