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