2016-09-08 21:13:10 +04:00
|
|
|
(**************************************************************************)
|
|
|
|
(* *)
|
2018-02-06 00:17:03 +04:00
|
|
|
(* Copyright (c) 2014 - 2018. *)
|
2016-09-08 21:13:10 +04:00
|
|
|
(* Dynamic Ledger Solutions, Inc. <contact@tezos.com> *)
|
|
|
|
(* *)
|
|
|
|
(* All rights reserved. No warranty, explicit or implicit, provided. *)
|
|
|
|
(* *)
|
|
|
|
(**************************************************************************)
|
|
|
|
|
|
|
|
type t
|
|
|
|
|
2017-01-23 14:10:07 +04:00
|
|
|
type config = {
|
2018-02-16 04:26:24 +04:00
|
|
|
genesis: State.Chain.genesis ;
|
2017-01-23 14:10:07 +04:00
|
|
|
store_root: string ;
|
|
|
|
context_root: string ;
|
|
|
|
patch_context: (Context.t -> Context.t Lwt.t) option ;
|
|
|
|
p2p: (P2p.config * P2p.limits) option ;
|
2018-02-16 04:26:24 +04:00
|
|
|
test_chain_max_tll: int option ;
|
2018-06-02 15:54:16 +04:00
|
|
|
checkpoint: (Int32.t * Block_hash.t) option ;
|
2017-01-23 14:10:07 +04:00
|
|
|
}
|
|
|
|
|
2018-01-22 20:47:18 +04:00
|
|
|
and peer_validator_limits = {
|
|
|
|
new_head_request_timeout: float ;
|
|
|
|
block_header_timeout: float ;
|
|
|
|
block_operations_timeout: float ;
|
|
|
|
protocol_timeout: float ;
|
|
|
|
worker_limits: Worker_types.limits
|
|
|
|
}
|
2017-11-29 16:51:06 +04:00
|
|
|
and prevalidator_limits = {
|
|
|
|
max_refused_operations: int ;
|
2017-11-30 21:34:22 +04:00
|
|
|
operation_timeout: float ;
|
|
|
|
worker_limits : Worker_types.limits ;
|
2017-11-29 16:51:06 +04:00
|
|
|
}
|
2018-01-26 16:10:20 +04:00
|
|
|
and block_validator_limits = {
|
|
|
|
protocol_timeout: float ;
|
|
|
|
worker_limits : Worker_types.limits ;
|
|
|
|
}
|
2018-02-16 04:26:24 +04:00
|
|
|
and chain_validator_limits = {
|
2018-01-22 20:21:23 +04:00
|
|
|
bootstrap_threshold: int ;
|
|
|
|
worker_limits : Worker_types.limits ;
|
|
|
|
}
|
2017-11-13 17:25:02 +04:00
|
|
|
|
2018-04-22 02:27:04 +04:00
|
|
|
val default_peer_validator_limits: peer_validator_limits
|
|
|
|
val default_prevalidator_limits: prevalidator_limits
|
|
|
|
val default_block_validator_limits: block_validator_limits
|
|
|
|
val default_chain_validator_limits: chain_validator_limits
|
|
|
|
|
2018-01-26 16:10:20 +04:00
|
|
|
val create:
|
|
|
|
config ->
|
2018-01-22 20:47:18 +04:00
|
|
|
peer_validator_limits ->
|
2018-01-26 16:10:20 +04:00
|
|
|
block_validator_limits ->
|
|
|
|
prevalidator_limits ->
|
2018-02-16 04:26:24 +04:00
|
|
|
chain_validator_limits ->
|
2018-01-26 16:10:20 +04:00
|
|
|
t tzresult Lwt.t
|
2016-09-08 21:13:10 +04:00
|
|
|
|
|
|
|
val shutdown: t -> unit Lwt.t
|
2018-04-16 02:44:24 +04:00
|
|
|
|
|
|
|
val build_rpc_directory: t -> unit RPC_directory.t
|