Pure Viewstamped Replication state transition kernel.
step/2 contains no process, clock, storage, transport, telemetry, or state
machine calls. It describes all of those operations as ordered effects for a
runtime or deterministic simulator to interpret.
Summary
Functions
@spec assert_invariants!(ViewstampedReplication.Protocol.State.t()) :: ViewstampedReplication.Protocol.State.t()
@spec assert_transition!( ViewstampedReplication.Protocol.State.t(), ViewstampedReplication.Protocol.State.t() ) :: ViewstampedReplication.Protocol.State.t()