Packages

package merkle

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. All

Type Members

  1. case class EmptyNode [D <: Digest]() extends Node[D] with Product with Serializable
  2. case class InternalNode [D <: Digest](left: Node[D], right: Node[D])(implicit hf: CryptographicHash[D]) extends Node[D] with Product with Serializable
  3. case class Leaf [D <: Digest](data: LeafData)(implicit hf: CryptographicHash[D]) extends Node[D] with Product with Serializable
  4. case class MerkleProof (leafData: LeafData, levels: Seq[(Digest, Side)])(implicit hf: CryptographicHash[_ <: Digest]) extends Product with Serializable

    Proof is given leaf data, leaf hash sibling and also siblings for parent nodes.

    Proof is given leaf data, leaf hash sibling and also siblings for parent nodes. Using this data, it is possible to compute nodes on the path to root hash, and the hash itself. The picture of a proof given below. In the picture, "^^" is leaf data(to compute leaf hash from), "=" values are to be computed, "*" values are to be stored.

    ........= Root ..... / \ .... * = ....... / \ ...... * = ......... /.\ .........* = ............ ^^

    leafData

    - leaf data bytes

    levels

    - levels in proof, bottom up, each level is about stored value and position of computed element (whether it is left or right to stored value)

  5. case class MerkleTree [D <: Digest](topNode: InternalNode[D], elementsHashIndexes: Map[ofByte, Int]) extends Product with Serializable
  6. trait Node [D <: Digest] extends AnyRef

Value Members

  1. object MerkleProof extends Serializable
  2. object MerkleTree extends Serializable

Ungrouped