mirror of
https://github.com/hl-archive-node/nanoreth.git
synced 2025-12-06 10:59:55 +00:00
chore: relax PayloadBuilderService bound (#13456)
This commit is contained in:
1
Cargo.lock
generated
1
Cargo.lock
generated
@ -8686,6 +8686,7 @@ dependencies = [
|
||||
"reth-payload-builder-primitives",
|
||||
"reth-payload-primitives",
|
||||
"reth-primitives",
|
||||
"reth-primitives-traits",
|
||||
"revm",
|
||||
"tokio",
|
||||
"tokio-stream",
|
||||
|
||||
@ -19,7 +19,7 @@ use reth_evm::state_change::post_block_withdrawals_balance_increments;
|
||||
use reth_payload_builder::{KeepPayloadJobAlive, PayloadId, PayloadJob, PayloadJobGenerator};
|
||||
use reth_payload_builder_primitives::PayloadBuilderError;
|
||||
use reth_payload_primitives::{BuiltPayload, PayloadBuilderAttributes, PayloadKind};
|
||||
use reth_primitives::{proofs, SealedHeader};
|
||||
use reth_primitives::{proofs, NodePrimitives, SealedHeader};
|
||||
use reth_provider::{BlockReaderIdExt, CanonStateNotification, StateProviderFactory};
|
||||
use reth_revm::cached::CachedReads;
|
||||
use reth_tasks::TaskSpawner;
|
||||
@ -191,7 +191,7 @@ where
|
||||
Ok(job)
|
||||
}
|
||||
|
||||
fn on_new_state(&mut self, new_state: CanonStateNotification) {
|
||||
fn on_new_state<N: NodePrimitives>(&mut self, new_state: CanonStateNotification<N>) {
|
||||
let mut cached = CachedReads::default();
|
||||
|
||||
// extract the state from the notification and put it into the cache
|
||||
|
||||
@ -14,6 +14,7 @@ workspace = true
|
||||
[dependencies]
|
||||
# reth
|
||||
reth-primitives = { workspace = true, optional = true }
|
||||
reth-primitives-traits.workspace = true
|
||||
reth-chain-state.workspace = true
|
||||
reth-payload-builder-primitives.workspace = true
|
||||
reth-payload-primitives.workspace = true
|
||||
@ -48,4 +49,5 @@ test-utils = [
|
||||
"reth-chain-state/test-utils",
|
||||
"reth-primitives/test-utils",
|
||||
"revm/test-utils",
|
||||
"reth-primitives-traits/test-utils"
|
||||
]
|
||||
|
||||
@ -14,6 +14,7 @@ use reth_payload_builder_primitives::{
|
||||
Events, PayloadBuilder, PayloadBuilderError, PayloadEvents, PayloadStoreExt,
|
||||
};
|
||||
use reth_payload_primitives::{BuiltPayload, PayloadBuilderAttributes, PayloadKind, PayloadTypes};
|
||||
use reth_primitives_traits::NodePrimitives;
|
||||
use std::{
|
||||
fmt,
|
||||
future::Future,
|
||||
@ -352,12 +353,13 @@ where
|
||||
}
|
||||
}
|
||||
|
||||
impl<Gen, St, T> Future for PayloadBuilderService<Gen, St, T>
|
||||
impl<Gen, St, T, N> Future for PayloadBuilderService<Gen, St, T>
|
||||
where
|
||||
T: PayloadTypes,
|
||||
N: NodePrimitives,
|
||||
Gen: PayloadJobGenerator + Unpin + 'static,
|
||||
<Gen as PayloadJobGenerator>::Job: Unpin + 'static,
|
||||
St: Stream<Item = CanonStateNotification> + Send + Unpin + 'static,
|
||||
St: Stream<Item = CanonStateNotification<N>> + Send + Unpin + 'static,
|
||||
Gen::Job: PayloadJob<PayloadAttributes = T::PayloadBuilderAttributes>,
|
||||
<Gen::Job as PayloadJob>::BuiltPayload: Into<T::BuiltPayload>,
|
||||
{
|
||||
|
||||
@ -3,6 +3,7 @@
|
||||
use reth_chain_state::CanonStateNotification;
|
||||
use reth_payload_builder_primitives::PayloadBuilderError;
|
||||
use reth_payload_primitives::{BuiltPayload, PayloadBuilderAttributes, PayloadKind};
|
||||
use reth_primitives_traits::NodePrimitives;
|
||||
use std::future::Future;
|
||||
|
||||
/// A type that can build a payload.
|
||||
@ -105,7 +106,7 @@ pub trait PayloadJobGenerator: Send + Sync {
|
||||
///
|
||||
/// This is intended for any logic that needs to be run when the chain state changes or used to
|
||||
/// use the in memory state for the head block.
|
||||
fn on_new_state(&mut self, new_state: CanonStateNotification) {
|
||||
fn on_new_state<N: NodePrimitives>(&mut self, new_state: CanonStateNotification<N>) {
|
||||
let _ = new_state;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user