Module Dal_common.Helpers

val endpoint : Dal_node.t -> string
type slot

Abstract version of a slot to deal with messages content which are smaller than the expected size of a slot.

val make_slot : ?padding:bool -> slot_size:int -> string -> slot

make_slot ?paddming ~slot_size content produces a slot. If padding=true (which is the default), then the content is padded to reach the expected size given by slot_size (which is usually obtained from Cryptobox.parameters).

val content_of_slot : slot -> string

content_of_slot slot retrieves the original content of a slot by removing the padding.

val make_cryptobox : ?on_error:(string -> Cryptobox.t) -> Cryptobox.parameters -> Cryptobox.t
val publish_commitment : ?counter:int -> ?force:bool -> ?source:Account.key -> ?fee:int -> ?error:Tezt_wrapper.Base.rex -> index:int -> commitment:Cryptobox.commitment -> proof:Cryptobox.commitment_proof -> Client.t -> [ `OpHash of string ] Lwt.t
val store_slot : (Dal_node.t, Endpoint.t) Either.t -> ?with_proof:bool -> slot -> (string * string) Lwt.t

This function builds a slot with the given content, and makes the given DAL node to compute and store the corresponding commitment and shards by calling relevant RPCs. It returns the commitment and its proof.

val pp_cryptobox_error : Stdlib.Format.formatter -> [ `Fail of string | `Invalid_degree_strictly_less_than_expected of 'a | `Invalid_page | `Invalid_shard_length of string | `Not_enough_shards of string | `Page_index_out_of_range | `Page_length_mismatch | `Shard_index_out_of_range of string | `Slot_wrong_size of string | `Shard_length_mismatch | `Prover_SRS_not_loaded | `Invalid_shard ] -> unit