2016-09-08 19:13:10 +02:00
|
|
|
(**************************************************************************)
|
|
|
|
(* *)
|
2017-11-14 00:36:14 +01:00
|
|
|
(* Copyright (c) 2014 - 2017. *)
|
2016-09-08 19:13:10 +02:00
|
|
|
(* Dynamic Ledger Solutions, Inc. <contact@tezos.com> *)
|
|
|
|
(* *)
|
|
|
|
(* All rights reserved. No warranty, explicit or implicit, provided. *)
|
|
|
|
(* *)
|
|
|
|
(**************************************************************************)
|
|
|
|
|
2017-11-13 19:06:30 +01:00
|
|
|
(** Tezos Shell - Main entry point of the validation scheduler. *)
|
|
|
|
|
2017-09-29 18:43:13 +02:00
|
|
|
type t
|
2016-09-08 19:13:10 +02:00
|
|
|
|
2017-11-13 14:25:02 +01:00
|
|
|
val create: State.t -> Distributed_db.t -> Net_validator.timeout -> t
|
2017-09-29 18:43:13 +02:00
|
|
|
val shutdown: t -> unit Lwt.t
|
2016-09-08 19:13:10 +02:00
|
|
|
|
2017-11-13 19:06:30 +01:00
|
|
|
(** Start the validation scheduler of a given network. *)
|
2017-11-11 03:34:12 +01:00
|
|
|
val activate:
|
|
|
|
t ->
|
|
|
|
?bootstrap_threshold:int ->
|
|
|
|
?max_child_ttl:int ->
|
|
|
|
State.Net.t -> Net_validator.t Lwt.t
|
2016-09-08 19:13:10 +02:00
|
|
|
|
2017-02-28 18:46:40 +01:00
|
|
|
type error +=
|
2017-11-11 03:34:12 +01:00
|
|
|
| Inactive_network of Net_id.t
|
|
|
|
val get: t -> Net_id.t -> Net_validator.t tzresult Lwt.t
|
|
|
|
val get_exn: t -> Net_id.t -> Net_validator.t Lwt.t
|
2017-02-24 17:17:53 +01:00
|
|
|
|
2017-11-13 19:06:30 +01:00
|
|
|
(** Force the validation of a block. *)
|
|
|
|
val validate_block:
|
2017-11-11 03:34:12 +01:00
|
|
|
t ->
|
|
|
|
?force:bool ->
|
2017-11-14 03:14:26 +01:00
|
|
|
?net_id:Net_id.t ->
|
2017-11-13 23:27:19 +01:00
|
|
|
MBytes.t -> Operation.t list list ->
|
2017-04-19 21:46:10 +02:00
|
|
|
(Block_hash.t * State.Block.t tzresult Lwt.t) tzresult Lwt.t
|
2017-02-24 17:17:53 +01:00
|
|
|
|
2017-11-13 19:06:30 +01:00
|
|
|
(** Monitor all the valid block (for all activate networks). *)
|
2017-11-27 06:13:12 +01:00
|
|
|
val watcher: t -> State.Block.t Lwt_stream.t * Lwt_watcher.stopper
|
2017-11-14 02:41:37 +01:00
|
|
|
|
|
|
|
val inject_operation:
|
|
|
|
t ->
|
|
|
|
?force:bool ->
|
|
|
|
?net_id:Net_id.t ->
|
|
|
|
Operation.t -> unit tzresult Lwt.t
|