-- | Two-way (binary) Merkle Hash Trees which implements append-only logs and -- provides both inclusion proof and consistency proof. -- The API design is inspired by Certificate Transparency defined in RFC 6962. module Data.HashTree ( -- * Settings Settings , defaultSettings -- ** Accessors , hash0 , hash1 , hash2 -- * Merkle Hash Trees , MerkleHashTrees -- ** Accessors , info , size , digest -- ** Related types , TreeSize , Index -- ** Creating Merkle Hash Trees , empty , fromList -- ** Appending an element , add -- * Inclusion Proof , InclusionProof , defaultInclusionProof -- ** Accessors , leafIndex , treeSize , inclusion -- ** Proof and verification , generateInclusionProof , verifyInclusionProof -- * Consistency Proof , ConsistencyProof , defaultConsistencyProof -- ** Accessors , firstTreeSize , secondTreeSize , consistency -- ** Proof and verification , generateConsistencyProof , verifyConsistencyProof ) where import Data.HashTree.Internal