Module type Intf.Protocol_state

type blockchain_state
type blockchain_state_var
type consensus_state
type consensus_state_var
module Poly : sig ... end
module Body : sig ... end
module Value : sig ... end
val create_value : previous_state_hash:Mina_base.State_hash.t -> genesis_state_hash:Mina_base.State_hash.t -> blockchain_state:blockchain_state -> consensus_state:consensus_state -> constants:Mina_base.Protocol_constants_checked.Value.t -> Value.t
val previous_state_hash : ( 'state_hash, _ ) Poly.t -> 'state_hash
val body : ( _, 'body ) Poly.t -> 'body
val blockchain_state : ( _, ( _, 'blockchain_state, _, _ ) Body.Poly.t ) Poly.t -> 'blockchain_state
val genesis_state_hash : ?state_hash:Mina_base.State_hash.t option -> Value.t -> Mina_base.State_hash.t
val consensus_state : ( _, ( _, _, 'consensus_state, _ ) Body.Poly.t ) Poly.t -> 'consensus_state
val constants : ( _, ( _, _, _, 'constants ) Body.Poly.t ) Poly.t -> 'constants