Module Tezos_protocol_environment_023_PtSeouLo.Dal

type t
type parameters = Tezos_crypto_dal.Cryptobox.Verifier.parameters = {
  1. redundancy_factor : int;
  2. page_size : int;
  3. slot_size : int;
  4. number_of_shards : int;
}
val parameters_encoding : parameters Data_encoding.t
val make : parameters -> (t, [> `Fail of string ]) Pervasives.result
val parameters : t -> parameters
module Commitment : sig ... end
module Commitment_proof : sig ... end
val verify_commitment : t -> commitment -> commitment_proof -> bool
type page = bytes
val page_proof_encoding : page_proof Data_encoding.t
val pages_per_slot : parameters -> int
val verify_page : t -> commitment -> page_index:int -> page -> page_proof -> (bool, [> `Page_length_mismatch | `Segment_index_out_of_range ]) Result.t
val share_encoding : share Data_encoding.t
type shard = Tezos_crypto_dal.Cryptobox.Verifier.shard = {
  1. index : int;
  2. share : share;
}
val shard_encoding : shard Data_encoding.t
val shard_proof_encoding : shard_proof Data_encoding.t
type ('a, 'b) error_container
val verify_shard : t -> commitment -> shard -> shard_proof -> (unit, [> `Invalid_degree_strictly_less_than_expected of (int, int) error_container | `Invalid_shard | `Shard_index_out_of_range of string | `Shard_length_mismatch ]) Result.t
val share_is_trap : Signature.Public_key_hash.t -> share -> traps_fraction:Q.t -> (bool, [> `Decoding_error ]) Result.t