package block
- Alphabetic
- By Inheritance
- block
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- class BlockSequencerStateManager extends FlagCloseable with NamedLogging with AutoCloseable
State manager for operating a sequencer using Blockchain based infrastructure (such as fabric or ethereum)
- case class BlockUpdates(height: Long, newMembers: Map[Member, CantonTimestamp] = Map.empty, membersDisabled: Seq[Member] = Seq.empty, acknowledgements: Map[Member, CantonTimestamp] = Map.empty, events: List[Traced[EventsForSigning]] = List.empty, state: EphemeralState) extends Product with Serializable
Changes from processing a series of updates from the blockchain.
Changes from processing a series of updates from the blockchain. We expect all values to be consistent with one another:
- new members must exist in the registered members
- the provided timestamps must not be after the latest sequencer timestamp
- members receiving events must be registered
- timestamps of events must not be after the latest sequencer timestamp
- counter values for each member should be continuous These preconditions are asserted so will be disabled for release builds.
- newMembers
members that were added along with the timestamp that they are considered registered from
- events
new sequenced events for members
- state
updated ephemeral state to be used for processing subsequent events
- case class EventsForSigning(signingTimestamp: CantonTimestamp, events: MemberEvents) extends Product with Serializable
- class SequencerUnexpectedStateChange extends RuntimeException
Thrown if the ephemeral state does not match what is expected in the persisted store.
Thrown if the ephemeral state does not match what is expected in the persisted store. This is not expected to be able to occur, but if it does likely means that the ephemeral state is inconsistent with the persisted state. The sequencer should be restarted and logs verified to ensure that the persisted state is correct.