ligo/src/node/updater/updater.mli

78 lines
2.6 KiB
OCaml
Raw Normal View History

2016-09-08 21:13:10 +04:00
(**************************************************************************)
(* *)
(* Copyright (c) 2014 - 2016. *)
(* Dynamic Ledger Solutions, Inc. <contact@tezos.com> *)
(* *)
(* All rights reserved. No warranty, explicit or implicit, provided. *)
(* *)
(**************************************************************************)
type shell_operation = Store.Operation.shell_header = {
net_id: Net_id.t ;
2016-09-08 21:13:10 +04:00
}
val shell_operation_encoding: shell_operation Data_encoding.t
type raw_operation = Store.Operation.t = {
2016-09-08 21:13:10 +04:00
shell: shell_operation ;
proto: MBytes.t ;
}
val raw_operation_encoding: raw_operation Data_encoding.t
type shell_block = Store.Block_header.shell_header = {
net_id: Net_id.t ;
level: Int32.t ;
2016-09-08 21:13:10 +04:00
predecessor: Block_hash.t ;
timestamp: Time.t ;
operations_hash: Operation_list_list_hash.t ;
2016-09-08 21:13:10 +04:00
fitness: MBytes.t list ;
}
2016-10-19 22:47:04 +04:00
val shell_block_encoding: shell_block Data_encoding.t
2016-09-08 21:13:10 +04:00
type raw_block = Store.Block_header.t = {
2016-10-19 22:47:04 +04:00
shell: shell_block ;
2016-09-08 21:13:10 +04:00
proto: MBytes.t ;
}
2016-10-19 22:47:04 +04:00
val raw_block_encoding: raw_block Data_encoding.t
2016-09-08 21:13:10 +04:00
type validation_result = Protocol.validation_result = {
context: Context.t ;
fitness: Fitness.fitness ;
message: string option ;
}
type rpc_context = Protocol.rpc_context = {
context: Context.t ;
level: Int32.t ;
timestamp: Time.t ;
fitness: Fitness.fitness ;
}
2016-09-08 21:13:10 +04:00
module type PROTOCOL = Protocol.PROTOCOL
module type REGISTRED_PROTOCOL = sig
val hash: Protocol_hash.t
(* exception Ecoproto_error of error list *)
include Protocol.PROTOCOL with type error := error
and type 'a tzresult := 'a tzresult
val complete_b58prefix : Context.t -> string -> string list Lwt.t
2016-09-08 21:13:10 +04:00
end
type component = Tezos_compiler.Protocol.component = {
2016-09-08 21:13:10 +04:00
name : string ;
interface : string option ;
implementation : string ;
}
2016-10-25 21:00:03 +04:00
val extract: Lwt_io.file_name -> Protocol_hash.t -> component list -> unit Lwt.t
2016-09-08 21:13:10 +04:00
val compile: Protocol_hash.t -> component list -> bool Lwt.t
val activate: Context.t -> Protocol_hash.t -> Context.t Lwt.t
val set_test_protocol: Context.t -> Protocol_hash.t -> Context.t Lwt.t
val fork_test_network: Context.t -> Context.t Lwt.t
val register: Protocol_hash.t -> (module REGISTRED_PROTOCOL) -> unit
val get: Protocol_hash.t -> (module REGISTRED_PROTOCOL) option
val get_exn: Protocol_hash.t -> (module REGISTRED_PROTOCOL)
val init: string -> unit