Module Fake_network.Generator

type peer_config = context:(module CONTEXT) -> verifier:Verifier.t -> max_frontier_length:int -> use_super_catchup:bool -> peer_state Core.Quickcheck.Generator.t
val fresh_peer_custom_rpc : ?get_staged_ledger_aux_and_pending_coinbases_at_hash: ( Pasta_bindings.Fp.t Network_peer.Envelope.Incoming.t -> (Staged_ledger.Scan_state.t * Pasta_bindings.Fp.t * Mina_base.Pending_coinbase.t * Mina_state.Protocol_state.value list) option Async.Deferred.t ) -> ?get_some_initial_peers: ( unit Network_peer.Envelope.Incoming.t -> Network_peer.Peer.t list Async.Deferred.t ) -> ?answer_sync_ledger_query: ( (Pasta_bindings.Fp.t * Sync_ledger.Query.t) Network_peer.Envelope.Incoming.t -> ( Sync_ledger.Answer.t, Core.Error.t ) Core.result Async.Deferred.t ) -> ?get_ancestry: ( ( Consensus.Data.Consensus_state.Value.t, Pasta_bindings.Fp.t ) With_hash.t Network_peer.Envelope.Incoming.t -> ( Mina_block.t, Mina_base.State_body_hash.t list * Mina_block.t ) Proof_carrying_data.t option Async.Deferred.t ) -> ?get_best_tip: ( unit Network_peer.Envelope.Incoming.t -> ( Mina_block.t, Pasta_bindings.Fp.t list * Mina_block.t ) Proof_carrying_data.t option Async.Deferred.t ) -> ?get_node_status: ( unit Network_peer.Envelope.Incoming.t -> ( Mina_networking.Rpcs.Get_node_status.Node_status.t, Core.Error.t ) Core.result Async.Deferred.t ) -> ?get_transition_knowledge: ( unit Network_peer.Envelope.Incoming.t -> Pasta_bindings.Fp.t list Async.Deferred.t ) -> ?get_transition_chain_proof: ( Pasta_bindings.Fp.t Network_peer.Envelope.Incoming.t -> (Pasta_bindings.Fp.t * Pasta_bindings.Fp.t list) option Async.Deferred.t ) -> ?get_transition_chain: ( Pasta_bindings.Fp.t list Network_peer.Envelope.Incoming.t -> Mina_block.t list option Async.Deferred.t ) -> peer_config
val fresh_peer : peer_config
val peer_with_branch_custom_rpc : frontier_branch_size:int -> ?get_staged_ledger_aux_and_pending_coinbases_at_hash: ( Pasta_bindings.Fp.t Network_peer.Envelope.Incoming.t -> (Staged_ledger.Scan_state.t * Pasta_bindings.Fp.t * Mina_base.Pending_coinbase.t * Mina_state.Protocol_state.value list) option Async.Deferred.t ) -> ?get_some_initial_peers: ( unit Network_peer.Envelope.Incoming.t -> Network_peer.Peer.t list Async.Deferred.t ) -> ?answer_sync_ledger_query: ( (Pasta_bindings.Fp.t * Sync_ledger.Query.t) Network_peer.Envelope.Incoming.t -> ( Sync_ledger.Answer.t, Core.Error.t ) Core.result Async.Deferred.t ) -> ?get_ancestry: ( ( Consensus.Data.Consensus_state.Value.t, Pasta_bindings.Fp.t ) With_hash.t Network_peer.Envelope.Incoming.t -> ( Mina_block.t, Mina_base.State_body_hash.t list * Mina_block.t ) Proof_carrying_data.t option Async.Deferred.t ) -> ?get_best_tip: ( unit Network_peer.Envelope.Incoming.t -> ( Mina_block.t, Pasta_bindings.Fp.t list * Mina_block.t ) Proof_carrying_data.t option Async.Deferred.t ) -> ?get_node_status: ( unit Network_peer.Envelope.Incoming.t -> ( Mina_networking.Rpcs.Get_node_status.Node_status.t, Core.Error.t ) Core.result Async.Deferred.t ) -> ?get_transition_knowledge: ( unit Network_peer.Envelope.Incoming.t -> Pasta_bindings.Fp.t list Async.Deferred.t ) -> ?get_transition_chain_proof: ( Pasta_bindings.Fp.t Network_peer.Envelope.Incoming.t -> (Pasta_bindings.Fp.t * Pasta_bindings.Fp.t list) option Async.Deferred.t ) -> ?get_transition_chain: ( Pasta_bindings.Fp.t list Network_peer.Envelope.Incoming.t -> Mina_block.t list option Async.Deferred.t ) -> peer_config
val peer_with_branch : frontier_branch_size:int -> peer_config
val gen : ?logger:Logger.t -> precomputed_values:Precomputed_values.t -> verifier:Verifier.t -> max_frontier_length:int -> use_super_catchup:bool -> ( peer_config, 'n num_peers ) Gadt_lib.Vect.t -> 'n num_peers t Core.Quickcheck.Generator.t