Mina_state.Protocol_state
include Protocol_state_intf.Full
with type ('state_hash, 'blockchain_state, 'consensus_state, 'constants) Body.Poly.Stable.V1.t =
( 'state_hash, 'blockchain_state, 'consensus_state, 'constants )
Mina_wire_types.Mina_state.Protocol_state.Body.Poly.V1.t
and type Body.Value.Stable.V2.t =
Mina_wire_types.Mina_state.Protocol_state.Body.Value.V2.t
and type ('state_hash, 'body) Poly.Stable.V1.t =
( 'state_hash, 'body )
Mina_wire_types.Mina_state.Protocol_state.Poly.V1.t
and type Value.Stable.V2.t =
Mina_wire_types.Mina_state.Protocol_state.Value.V2.t
module Poly : sig ... end
val hashes_abstract :
hash_body:( 'body -> Mina_base.State_body_hash.t ) ->
( Mina_base.State_hash.t, 'body ) Poly.t ->
Mina_base.State_hash.State_hashes.t
module Body : sig ... end
module Value : sig ... end
type value = Value.t
val value_to_yojson : value -> Yojson.Safe.t
val value_of_yojson :
Yojson.Safe.t ->
value Ppx_deriving_yojson_runtime.error_or
val sexp_of_value : value -> Ppx_sexp_conv_lib.Sexp.t
val value_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> value
type var = ( Mina_base.State_hash.var, Body.var ) Poly.t
val typ :
constraint_constants:Genesis_constants.Constraint_constants.t ->
( var, value ) Snark_params.Tick.Typ.t
val create : previous_state_hash:'a -> body:'b -> ( 'a, 'b ) Poly.t
val create_value :
previous_state_hash:Mina_base.State_hash.t ->
genesis_state_hash:Mina_base.State_hash.t ->
blockchain_state:Blockchain_state.Value.t ->
consensus_state:Consensus.Data.Consensus_state.Value.t ->
constants:Mina_base.Protocol_constants_checked.Value.t ->
Value.t
val create_var :
previous_state_hash:Mina_base.State_hash.var ->
genesis_state_hash:Mina_base.State_hash.var ->
blockchain_state:Blockchain_state.var ->
consensus_state:Consensus.Data.Consensus_state.var ->
constants:Mina_base.Protocol_constants_checked.var ->
var
val previous_state_hash : ( 'a, _ ) Poly.t -> 'a
val body : ( _, 'a ) Poly.t -> 'a
val genesis_state_hash :
?state_hash:Mina_base.State_hash.t option ->
Value.t ->
Mina_base.State_hash.t
val genesis_state_hash_checked :
state_hash:Mina_base.State_hash.var ->
var ->
Mina_base.State_hash.var Snark_params.Tick.Checked.t
val negative_one :
genesis_ledger:Mina_ledger.Ledger.t Core_kernel.Lazy.t ->
genesis_epoch_data:Consensus.Genesis_epoch_data.t ->
constraint_constants:Genesis_constants.Constraint_constants.t ->
consensus_constants:Consensus.Constants.t ->
genesis_body_reference:Consensus.Body_reference.t ->
Value.t
val hash_checked :
var ->
(Mina_base.State_hash.var * Mina_base.State_body_hash.var)
Snark_params.Tick.Checked.t
val hashes : Value.t -> Mina_base.State_hash.State_hashes.t
val hashes_with_body :
Value.t ->
body_hash:Mina_base.State_body_hash.t ->
Mina_base.State_hash.State_hashes.t
Same as hash
, but accept the body_hash
directly to avoid re-computing it.