package plebeia

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module Plebeia.Merkle_proofSource

Merkle proof

Hashed only nodes are represented by Hash h.

Sourcemodule Tree : sig ... end
Sourcetype t = {
  1. tree : Tree.t;
    (*

    Proof tree

    *)
  2. paths : Path.t list;
    (*

    The paths proven

    *)
}

Proof tree packed with the paths proven in it

Encoding of t. The Disk nodes are loaded from ctxt on demand.

Sourceval pp : Format.formatter -> t -> unit
Sourceval make : Context.t -> Node_type.t -> Path.t list -> t * (Path.t * Node_type.t option) list

make ctxt n paths returns the packed Merkle proof of paths of node n under context ctxt and the nodes found (or not found) at paths.

The proof may contain Disk nodes which require ctxt to be loaded. Use encoding to load all the nodes

  • n must point to a Bud, otherwise the function fails.
Sourceval check : Hash.Hasher.t -> t -> Hash.t * (Path.t * Node_type.t option) list

check hasher t returns the top Merkle hash of the proof tree of t and returns the nodes found at the t.paths.

It may raise Invalid_argument when t contains Disk nodes.

OCaml

Innovation. Community. Security.