Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Merkle tree implementation.
Synopsis
- newtype MerkleRoot a = MerkleRoot {}
- data MerkleTree a
- = MerkleEmpty
- | MerkleTree !Word32 !(MerkleNode a)
- mtRoot ∷ MerkleTree a → MerkleRoot a
- mkMerkleTree ∷ EncCBOR a ⇒ [a] → MerkleTree a
- mkMerkleTreeDecoded ∷ [Annotated a ByteString] → MerkleTree a
- data MerkleNode a
- = MerkleBranch !(MerkleRoot a) !(MerkleNode a) !(MerkleNode a)
- | MerkleLeaf !(MerkleRoot a) a
- mkBranch ∷ MerkleNode a → MerkleNode a → MerkleNode a
- mkLeaf ∷ ∀ a. EncCBOR a ⇒ a → MerkleNode a
- mkLeafDecoded ∷ Annotated a ByteString → MerkleNode a
MerkleRoot
newtype MerkleRoot a Source #
Data type for root of Merkle tree
MerkleRoot | |
|
Instances
MerkleTree
data MerkleTree a Source #
Instances
mtRoot ∷ MerkleTree a → MerkleRoot a Source #
Returns root of Merkle tree
mkMerkleTree ∷ EncCBOR a ⇒ [a] → MerkleTree a Source #
Smart constructor for MerkleTree
mkMerkleTreeDecoded ∷ [Annotated a ByteString] → MerkleTree a Source #
Reconstruct a MerkleTree
from a decoded list of items
MerkleNode
data MerkleNode a Source #
MerkleBranch !(MerkleRoot a) !(MerkleNode a) !(MerkleNode a) | MerkleBranch mRoot mLeft mRight |
MerkleLeaf !(MerkleRoot a) a | MerkleLeaf mRoot mVal |
Instances
mkBranch ∷ MerkleNode a → MerkleNode a → MerkleNode a Source #
mkLeaf ∷ ∀ a. EncCBOR a ⇒ a → MerkleNode a Source #
mkLeafDecoded ∷ Annotated a ByteString → MerkleNode a Source #