merkle-log 0.1.0.0 → 0.1.1
raw patch · 4 files changed
+16/−69 lines, 4 filesdep −cerealdep −merkle-treedep ~basePVP ok
version bump matches the API change (PVP)
Dependencies removed: cereal, merkle-tree
Dependency ranges changed: base
API changes (from Hackage documentation)
Files
- CHANGELOG.md +5/−1
- bench/Main.hs +0/−58
- merkle-log.cabal +11/−9
- src/Data/MerkleLog.hs +0/−1
CHANGELOG.md view
@@ -1,5 +1,9 @@ # Revision history for merkle-log +## 0.1.1 -- 2021-06-24++* Build with GHC-9+ ## 0.1.0.0 -- 2019-05-28 -* First version. Released on an unsuspecting world.+* First version. Released on an unsuspecting world.
bench/Main.hs view
@@ -30,14 +30,12 @@ import Criterion.Main import Crypto.Hash-import qualified Crypto.Hash.MerkleTree as MT import qualified Data.ByteArray as BA import qualified Data.ByteString as B import Data.ByteString.Random.MWC import qualified Data.HashTree as HT import Data.Maybe-import Data.Serialize (encode) import GHC.Generics @@ -68,7 +66,6 @@ , bgroup "SHA3_256" [ createBench @(ML SHA3_256) e , createBench @(HT SHA3_256) e- , createBench @MT e ] , bgroup "BLAKE2b_256" [ createBench @(ML Blake2b_256) e@@ -86,7 +83,6 @@ , bgroup "SHA3_256" [ proofBench @(ML SHA3_256) e , proofBench @(HT SHA3_256) e- , proofBench @MT e ] , bgroup "BLAKE2b_256" [ proofBench @(ML Blake2b_256) e@@ -104,7 +100,6 @@ , bgroup "SHA3_256" [ verifyBench @(ML SHA3_256) e , verifyBench @(HT SHA3_256) e- , verifyBench @MT e ] , bgroup "BLAKE2b_256" [ verifyBench @(ML Blake2b_256) e@@ -224,59 +219,6 @@ let Right p = ML.merkleProof (ML.InputNode ix) i t in MLProof p (ML.merkleRoot t) verify (MLProof p r) = ML.runMerkleProof p == r-- {-# INLINE label #-}- {-# INLINE tree #-}- {-# INLINE root #-}- {-# INLINE proof #-}- {-# INLINE verify #-}---- -------------------------------------------------------------------------- ----- merkle-tree package--data MTProof = MTProof- !(MT.MerkleProof B.ByteString)- {-# UNPACK #-} !B.ByteString- -- ^ Proof subject (leaf)- {-# UNPACK #-} !(MT.MerkleRoot B.ByteString)- -- ^ Root of the Tree---- | The merkle-tree package doesn't export the 'ProofElem'. Without that the--- 'Generic' instance for 'MT.MerkleProof' become almost useless. In particular--- we can't define an 'NFData' instance.------ This instance is a workaround that probably leads to worse benchmark results.----instance NFData MTProof where- -- rnf (MTProof p subj r) = rnf- -- $ MT.validateMerkleProof p r $ MT.mkLeafRootHash subj- rnf (MTProof p _ _) = rnf $ encode p- {-# INLINE rnf #-}--instance NFData (MT.MerkleRoot B.ByteString) where- rnf r = rnf (MT.getMerkleRoot r)- {-# INLINE rnf #-}--instance NFData (MT.MerkleTree B.ByteString) where- rnf t = rnf $ MT.mtRoot t- {-# INLINE rnf #-}--data MT--instance Impl MT where- type Tree MT = MT.MerkleTree B.ByteString- type Proof MT = MTProof- type Root MT = MT.MerkleRoot B.ByteString-- label = "merkle-tree"- tree = MT.mkMerkleTree- root = MT.mtRoot- proof t subj _ = MTProof- (MT.merkleProof t (MT.mkLeafRootHash subj))- subj- (MT.mtRoot t)- verify (MTProof p subj r)- = MT.validateMerkleProof p r (MT.mkLeafRootHash subj) {-# INLINE label #-} {-# INLINE tree #-}
merkle-log.cabal view
@@ -1,6 +1,6 @@-cabal-version: 2.2+cabal-version: 2.4 name: merkle-log-version: 0.1.0.0+version: 0.1.1 synopsis: Merkle Tree Logs description: Binary Merkle Trees homepage: https://github.com/kadena-io/merkle-log@@ -11,6 +11,10 @@ maintainer: Lars Kuhtz <lars@kadena.io> copyright: Copyright (c) 2019, Kadena LLC category: Data+tested-with:+ GHC==9.0.1+ GHC==8.10.5+ GHC==8.8.4 extra-source-files: README.md CHANGELOG.md@@ -27,7 +31,7 @@ exposed-modules: Data.MerkleLog build-depends:- base >=4.11 && <4.14+ , base >=4.11 && <5 , bytestring >=0.10 , cryptonite >=0.25 , deepseq >=1.4@@ -46,11 +50,11 @@ main-is: Main.hs build-depends: -- internal- merkle-log+ , merkle-log -- external , QuickCheck >=2.11- , base >=4.11 && <4.14+ , base >=4.11 && <5 , bytestring >=0.10 , cryptonite >=0.25 , deepseq >=1.4@@ -68,19 +72,17 @@ main-is: Main.hs build-depends: -- internal- merkle-log+ , merkle-log -- external , QuickCheck >=2.11- , base >=4.11 && <4.14+ , base >=4.11 && <5 , bytestring >=0.10- , cereal >=0.5 , criterion >=1.5 , cryptonite >=0.25 , deepseq >=1.4 , hash-tree >=0.0 , memory >=0.14- , merkle-tree >=0.1 , mwc-random >=0.14 , random >=1.1 , random-bytestring >=0.1
src/Data/MerkleLog.hs view
@@ -114,7 +114,6 @@ import Control.Monad.Catch import Crypto.Hash (hash)-import Crypto.Hash.Algorithms (HashAlgorithm) import Crypto.Hash.IO import qualified Data.ByteArray as BA