Module Context.Make_proof

Parameters

module DB : DB

Signature

type kinded_key := [
  1. | `Value of DB.contents_key
  2. | `Node of DB.node_key
]
type tree_proof := Proof.tree Proof.t
type stream_proof := Proof.stream Proof.t
type ('proof, 'result) producer := DB.repo -> kinded_key -> (DB.tree -> (DB.tree * 'result) Lwt.t) -> ('proof * 'result) Lwt.t
type ('proof, 'result) verifier := 'proof -> (DB.tree -> (DB.tree * 'result) Lwt.t) -> (DB.tree * 'result, [ `Proof_mismatch of string | `Stream_too_long of string | `Stream_too_short of string ]) Stdlib.result Lwt.t
val produce_tree_proof : (tree_proof, 'a) producer
val verify_tree_proof : (tree_proof, 'a) verifier
val produce_stream_proof : (stream_proof, 'a) producer
val verify_stream_proof : (stream_proof, 'a) verifier