packages feed

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 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