org.sigilaris.node.jvm.runtime.consensus.hotstuff.HotStuffNodeRuntime
See theHotStuffNodeRuntime companion object
final case class HotStuffNodeRuntime[F[_]](bootstrapInput: HotStuffRuntimeBootstrapInput, services: HotStuffRuntimeServices[F], diagnostics: Option[HotStuffInMemoryRuntimeDiagnostics[F]], bootstrapLifecycle: Option[HotStuffBootstrapLifecycle[F]], pacemakerSnapshot: Option[F[HotStuffPacemakerRuntimeSnapshot]], pacemakerWakeUp: Option[F[Unit]], proposalValidationConfig: HotStuffProposalValidationRuntimeConfig[F], txUniquenessConfig: HotStuffProposalTxUniquenessRuntimeConfig, pacemakerPolicy: HotStuffPacemakerPolicy, finalityDrivePolicy: HotStuffFinalityDrivePolicy, proposalDependencyConfig: HotStuffProposalApplicationDependencyRuntimeConfig[F])(using evidence$1: Sync[F])
The assembled HotStuff consensus node runtime, providing artifact emission, bootstrap, and diagnostics.
Attributes
- Companion
- object
- Source
- HotStuffNodeRuntime.scala
- Graph
-
- Supertypes
-
trait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass AnyShow all
Members list
Value members
Concrete methods
def bootstrap(chainId: ChainId, sessions: Vector[BootstrapSessionBinding], startedAt: Instant, liveProposals: Vector[Proposal])(using Async[F]): F[Either[BootstrapCoordinatorFailure, BootstrapCoordinatorResult]]
Attributes
- Source
- HotStuffNodeRuntime.scala
Attributes
- Source
- HotStuffNodeRuntime.scala
Attributes
- Source
- HotStuffNodeRuntime.scala
Attributes
- Source
- HotStuffNodeRuntime.scala
Attributes
- Source
- HotStuffNodeRuntime.scala
Attributes
- Source
- HotStuffNodeRuntime.scala
Attributes
- Source
- HotStuffNodeRuntime.scala
Attributes
- Source
- HotStuffNodeRuntime.scala
Attributes
- Source
- HotStuffNodeRuntime.scala
Attributes
- Source
- HotStuffNodeRuntime.scala
Attributes
- Source
- HotStuffNodeRuntime.scala
Attributes
- Source
- HotStuffNodeRuntime.scala
def emitNewView(sender: ValidatorId, highestKnownQc: QuorumCertificate, timeoutCertificate: TimeoutCertificate, ts: Instant): F[Either[HotStuffPolicyViolation, GossipEvent[HotStuffGossipArtifact]]]
Attributes
- Source
- HotStuffNodeRuntime.scala
def emitProposal(proposer: ValidatorId, block: BlockHeader, txSet: ProposalTxSet, window: HotStuffWindow, justify: QuorumCertificate, ts: Instant): F[Either[HotStuffPolicyViolation, GossipEvent[HotStuffGossipArtifact]]]
Attributes
- Source
- HotStuffNodeRuntime.scala
def emitProposalFromCandidates[TxRef : ByteEncoder : Hash, ResultRef : ByteEncoder, Event : ByteEncoder](proposer: ValidatorId, candidates: Iterable[BlockRecord[TxRef, ResultRef, Event]], parent: Option[BlockId], height: BlockHeight, stateRoot: StateRoot, timestamp: BlockTimestamp, window: HotStuffWindow, justify: QuorumCertificate, ts: Instant, blockStore: BlockStore[F, TxRef, ResultRef, Event])(classifyTx: TxRef => SchedulingClassification): F[Either[HotStuffRuntimeRejection, HotStuffProposalEmission[TxRef, ResultRef, Event]]]
Attributes
- Source
- HotStuffNodeRuntime.scala
def emitTimeoutVote(voter: ValidatorId, window: HotStuffWindow, highestKnownQc: QuorumCertificate, ts: Instant): F[Either[HotStuffPolicyViolation, GossipEvent[HotStuffGossipArtifact]]]
Attributes
- Source
- HotStuffNodeRuntime.scala
def emitVote(voter: ValidatorId, proposal: Proposal, ts: Instant): F[Either[HotStuffPolicyViolation, GossipEvent[HotStuffGossipArtifact]]]
Attributes
- Source
- HotStuffNodeRuntime.scala
def emitVoteForProposalView[TxRef : ByteEncoder : Hash, ResultRef : ByteEncoder, Event : ByteEncoder](voter: ValidatorId, proposal: Proposal, ts: Instant, blockQuery: BlockQuery[F, TxRef, ResultRef, Event])(classifyTx: TxRef => SchedulingClassification): F[Either[HotStuffRuntimeRejection, GossipEvent[HotStuffGossipArtifact]]]
Attributes
- Source
- HotStuffNodeRuntime.scala
Attributes
- Source
- HotStuffNodeRuntime.scala
Attributes
- Source
- HotStuffNodeRuntime.scala
Attributes
- Source
- HotStuffNodeRuntime.scala
Attributes
- Source
- HotStuffNodeRuntime.scala
Attributes
- Source
- HotStuffNodeRuntime.scala
Attributes
- Source
- HotStuffNodeRuntime.scala
Attributes
- Source
- HotStuffNodeRuntime.scala
Descriptive alias for embedders that admit dependent work after consuming certified-block observations.
Descriptive alias for embedders that admit dependent work after consuming certified-block observations.
Attributes
- Source
- HotStuffNodeRuntime.scala
Attributes
- Source
- HotStuffNodeRuntime.scala
Attributes
- Source
- HotStuffNodeRuntime.scala
Attributes
- Source
- HotStuffNodeRuntime.scala
def signNewView(sender: ValidatorId, highestKnownQc: QuorumCertificate, timeoutCertificate: TimeoutCertificate): F[Either[HotStuffPolicyViolation, NewView]]
Attributes
- Source
- HotStuffNodeRuntime.scala
def signTimeoutVote(voter: ValidatorId, window: HotStuffWindow, highestKnownQc: QuorumCertificate): F[Either[HotStuffPolicyViolation, TimeoutVote]]
Attributes
- Source
- HotStuffNodeRuntime.scala
Attributes
- Source
- HotStuffNodeRuntime.scala
Attributes
- Source
- HotStuffNodeRuntime.scala
Attributes
- Source
- HotStuffNodeRuntime.scala
Attributes
- Source
- HotStuffNodeRuntime.scala
Inherited methods
Attributes
- Inherited from:
- Product
Attributes
- Inherited from:
- Product
In this article