1-Inputs.Transition_frontierThe transition frontier is the data structure for tracking active forks * at the "frontier" of the blockchain being constructed by the network. * It includes support for extensions (incremental views on top of this * data structure), persistence (saving/loading the data structure * to/from disk), and various queries.
module Breadcrumb = Frontier_base.Breadcrumbmodule Diff = Frontier_base.Diffmodule Extensions = Extensionsmodule Persistent_root = Persistent_rootmodule Persistent_frontier = Persistent_frontiermodule Root_data = Frontier_base.Root_datamodule Catchup_tree = Transition_frontier.Catchup_treemodule Full_catchup_tree = Transition_frontier.Full_catchup_treemodule Catchup_hash_tree = Transition_frontier.Catchup_hash_treemodule type CONTEXT = sig ... endinclude Frontier_base.Frontier_intf.Sval find_exn : t -> Mina_base.State_hash.t -> Frontier_base.Breadcrumb.tval max_length : t -> intval consensus_local_state : t -> Consensus.Data.Local_state.tval all_breadcrumbs : t -> Frontier_base.Breadcrumb.t listval root_length : t -> intval root : t -> Frontier_base.Breadcrumb.tval best_tip : t -> Frontier_base.Breadcrumb.tval best_tip_path : ?max_length:int -> t -> Frontier_base.Breadcrumb.t listval path_map :
?max_length:int ->
t ->
Frontier_base.Breadcrumb.t ->
f:( Frontier_base.Breadcrumb.t -> 'a ) ->
'a listval hash_path : t -> Frontier_base.Breadcrumb.t -> Mina_base.State_hash.t listval find : t -> Mina_base.State_hash.t -> Frontier_base.Breadcrumb.t optionval find_protocol_state :
t ->
Mina_base.State_hash.t ->
Mina_state.Protocol_state.value optionval successor_hashes :
t ->
Mina_base.State_hash.t ->
Mina_base.State_hash.t listval successor_hashes_rec :
t ->
Mina_base.State_hash.t ->
Mina_base.State_hash.t listval successors :
t ->
Frontier_base.Breadcrumb.t ->
Frontier_base.Breadcrumb.t listval successors_rec :
t ->
Frontier_base.Breadcrumb.t ->
Frontier_base.Breadcrumb.t listval common_ancestor :
t ->
Frontier_base.Breadcrumb.t ->
Frontier_base.Breadcrumb.t ->
Mina_base.State_hash.tval iter : t -> f:( Frontier_base.Breadcrumb.t -> unit ) -> unitval best_tip_path_length_exn : t -> intval visualize_to_string : t -> stringval visualize : filename:string -> t -> unitval precomputed_values : t -> Precomputed_values.tval genesis_constants : t -> Genesis_constants.tval added_breadcrumb_user_commands_structured_events_id :
Structured_log_events.idval added_breadcrumb_user_commands_structured_events_repr :
Structured_log_events.reprval applying_diffs_structured_events_id : Structured_log_events.idval applying_diffs_structured_events_repr : Structured_log_events.reprval persisted_frontier_loaded_structured_events_id : Structured_log_events.idval persisted_frontier_loaded_structured_events_repr :
Structured_log_events.reprval catchup_tree : t -> Catchup_tree.tval global_max_length : Genesis_constants.t -> intval load :
?retry_with_fresh_db:bool ->
context:(module CONTEXT) ->
verifier:Verifier.t ->
consensus_local_state:Consensus.Data.Local_state.t ->
persistent_root:Persistent_root.t ->
persistent_frontier:Persistent_frontier.t ->
catchup_mode:[ `Normal | `Super ] ->
unit ->
( t,
[ `Failure of string
| `Bootstrap_required
| `Persistent_frontier_malformed
| `Snarked_ledger_mismatch ] )
Async_kernel.Deferred.Result.tval close : loc:string -> t -> unit Async_kernel.Deferred.tval closed : t -> unit Async_kernel.Deferred.tval add_breadcrumb_exn : t -> Breadcrumb.t -> unit Async_kernel.Deferred.tval persistent_root : t -> Persistent_root.tval persistent_frontier : t -> Persistent_frontier.tval root_snarked_ledger : t -> Mina_ledger.Ledger.Db.tval extensions : t -> Extensions.tval genesis_state_hash : t -> Mina_base.State_hash.tval rejected_blocks :
(Mina_base.State_hash.t
* Network_peer.Envelope.Sender.t
* Block_time.t
* [ `Invalid_proof
| `Invalid_delta_transition_chain_proof
| `Too_early
| `Too_late
| `Invalid_genesis_protocol_state
| `Invalid_protocol_version
| `Mismatched_protocol_version ])
Core.Queue.tval validated_blocks :
(Mina_base.State_hash.t * Network_peer.Envelope.Sender.t * Block_time.t)
Core.Queue.tmodule For_tests : sig ... end