Trait sp_consensus::Proposer
source · [−]pub trait Proposer<B: BlockT> {
type Error: From<Error> + Debug + 'static;
type Transaction: Default + Send + 'static;
type Proposal: Future<Output = Result<Proposal<B, Self::Transaction>, Self::Error>> + Send + Unpin + 'static;
fn propose(
self,
inherent_data: InherentData,
inherent_digests: DigestFor<B>,
max_duration: Duration,
record_proof: RecordProof
) -> Self::Proposal;
}
Expand description
Logic for a proposer.
This will encapsulate creation and evaluation of proposals at a specific block.
Proposers are generic over bits of “consensus data” which are engine-specific.
Associated Types
Error type which can occur when proposing or evaluating.
type Transaction: Default + Send + 'static
type Transaction: Default + Send + 'static
The transaction type used by the backend.
Required methods
fn propose(
self,
inherent_data: InherentData,
inherent_digests: DigestFor<B>,
max_duration: Duration,
record_proof: RecordProof
) -> Self::Proposal
fn propose(
self,
inherent_data: InherentData,
inherent_digests: DigestFor<B>,
max_duration: Duration,
record_proof: RecordProof
) -> Self::Proposal
Create a proposal.
Gets the inherent_data
and inherent_digests
as input for the proposal. Additionally
a maximum duration for building this proposal is given. If building the proposal takes
longer than this maximum, the proposal will be very likely discarded.