ligo/src/proto_alpha/lib_protocol/test/helpers/helpers_block.mli

82 lines
3.4 KiB
OCaml

(**************************************************************************)
(* *)
(* Copyright (c) 2014 - 2016. *)
(* Dynamic Ledger Solutions, Inc. <contact@tezos.com> *)
(* *)
(* All rights reserved. No warranty, explicit or implicit, provided. *)
(* *)
(**************************************************************************)
(** Representation of blocks independent from the State module *)
type shell_header = Block_header.shell_header
type tezos_header = Block_header.t
type protocol_header = Tezos_context.Block_header.proto_header
type operation_header = Operation.shell_header
(** Block before application *)
type init_block = {
pred_block_hash : Block_hash.t;
pred_shell_header : shell_header;
proto_header : protocol_header;
op_header : operation_header;
sourced_operations :
(Main.operation * Helpers_account.t) list;
operation_hashs : Operation_hash.t list;
proto_header_bytes : MBytes.t;
timestamp : Time.t;
level : Int32.t;
context : Tezos_storage.Context.t;
}
(** Result of the application of a block *)
type result = {
tezos_header : tezos_header;
hash : Block_hash.t;
level : Int32.t;
validation : Tezos_protocol_updater.Updater.validation_result;
tezos_context : Tezos_context.t;
}
val get_op_header_res : result -> operation_header
val get_proto_header : int -> protocol_header
val get_op_header : Block_hash.t -> operation_header
val make_sourced_operation :
Operation.shell_header ->
Tezos_context.proto_operation *
Helpers_account.t ->
((Proto_alpha.Main.operation * Helpers_account.t) * Operation_hash.t) Proto_alpha.Error_monad.tzresult
val init :
shell_header -> Block_hash.t -> Int32.t -> int ->
(Tezos_context.proto_operation * Helpers_account.t) list ->
Tezos_storage.Context.t -> init_block Proto_alpha.Error_monad.tzresult
val init_of_result :
?priority:int -> res:result ->
ops:(Tezos_context.proto_operation * Helpers_account.t) list ->
init_block Proto_alpha.Error_monad.tzresult
val get_level : string option -> int32
val get_header_hash :
init_block -> Tezos_protocol_updater.Updater.validation_result ->
result Proto_alpha.Error_monad.tzresult Lwt.t
val begin_construction_pre :
init_block -> Main.validation_state Proto_alpha.Error_monad.tzresult Lwt.t
val make : init_block -> result Proto_alpha.Error_monad.tzresult Lwt.t
val make_init :
shell_header -> Block_hash.t -> Int32.t -> int ->
(Tezos_context.proto_operation * Helpers_account.t) list ->
Tezos_storage.Context.t -> result Proto_alpha.Error_monad.tzresult Lwt.t
val of_res :
?priority:int ->
?ops:(Tezos_context.proto_operation * Helpers_account.t) list ->
res:result ->
unit -> result Proto_alpha.Error_monad.tzresult Lwt.t
val endorsement :
shell_header -> Block_hash.t -> Int32.t -> int ->
Helpers_account.t -> Tezos_storage.Context.t -> int ->
result Proto_alpha.Error_monad.tzresult Lwt.t
val endorsement_of_res :
result -> Helpers_account.t -> int -> ?priority:int -> res:result ->
unit -> result Proto_alpha.Error_monad.tzresult Lwt.t
val empty :
shell_header -> Block_hash.t -> Int32.t -> int ->
Tezos_storage.Context.t -> result Proto_alpha.Error_monad.tzresult Lwt.t