diff --git a/src/Tahoe/CHK.hs b/src/Tahoe/CHK.hs index 399b02e5fe38f8a5f0b4eaf2736bc45db1a67a54..af3a7a3e83e826ab084ecd0baf52dd8c6b2a1b1a 100644 --- a/src/Tahoe/CHK.hs +++ b/src/Tahoe/CHK.hs @@ -81,6 +81,7 @@ import Crypto.Types ( ByteLength, IV, ) +import Data.Binary (encode) import qualified Data.ByteArray as BA import qualified Data.ByteString as B import qualified Data.ByteString.Builder as B @@ -367,10 +368,10 @@ chkEncode version stateRef p@(Parameters segmentSize total happy required) dataS let tree = makeTreePartial crypttextHashes -- print ("CrypttextHashTree inputs", map encodeBase32Unpadded crypttextHashes) -- print ("CrypttextHashTree outputs", map encodeBase32Unpadded . breadthFirstList $ tree) - same_blocks . serializeTree $ tree + same_blocks . toStrict . encode $ tree BlockHashTree -> do setStage ShareHashes - let trees = map serializeTree $ makeBlockHashTrees blockHashes + let trees = map (toStrict . encode) $ makeBlockHashTrees blockHashes -- print ("BlockHashes", map encodeBase32Unpadded trees) different_blocks trees ShareHashes -> do @@ -633,9 +634,6 @@ makeShareTree = makeTreePartial . map (head . breadthFirstList) makeBlockHashTrees :: BlockHashMap -> [MerkleTree] makeBlockHashTrees = map (makeTreePartial . snd) . Map.toAscList -serializeTree :: MerkleTree -> B.ByteString -serializeTree = B.concat . breadthFirstList - makeCrypttextHash :: Context SHA256 -> CrypttextHash makeCrypttextHash = sha256 . toBytes . hashFinalize where