{-# LANGUAGE GeneralizedNewtypeDeriving, DeriveGeneric, DerivingVia #-} module ProjectM36.MerkleHash where import Data.ByteString (ByteString) import GHC.Generics import Control.DeepSeq (NFData) newtype MerkleHash = MerkleHash { MerkleHash -> ByteString _unMerkleHash :: ByteString } deriving (Int -> MerkleHash -> ShowS [MerkleHash] -> ShowS MerkleHash -> String forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [MerkleHash] -> ShowS $cshowList :: [MerkleHash] -> ShowS show :: MerkleHash -> String $cshow :: MerkleHash -> String showsPrec :: Int -> MerkleHash -> ShowS $cshowsPrec :: Int -> MerkleHash -> ShowS Show, MerkleHash -> MerkleHash -> Bool forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: MerkleHash -> MerkleHash -> Bool $c/= :: MerkleHash -> MerkleHash -> Bool == :: MerkleHash -> MerkleHash -> Bool $c== :: MerkleHash -> MerkleHash -> Bool Eq, forall x. Rep MerkleHash x -> MerkleHash forall x. MerkleHash -> Rep MerkleHash x forall a. (forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a $cto :: forall x. Rep MerkleHash x -> MerkleHash $cfrom :: forall x. MerkleHash -> Rep MerkleHash x Generic, Semigroup MerkleHash MerkleHash [MerkleHash] -> MerkleHash MerkleHash -> MerkleHash -> MerkleHash forall a. Semigroup a -> a -> (a -> a -> a) -> ([a] -> a) -> Monoid a mconcat :: [MerkleHash] -> MerkleHash $cmconcat :: [MerkleHash] -> MerkleHash mappend :: MerkleHash -> MerkleHash -> MerkleHash $cmappend :: MerkleHash -> MerkleHash -> MerkleHash mempty :: MerkleHash $cmempty :: MerkleHash Monoid, NonEmpty MerkleHash -> MerkleHash MerkleHash -> MerkleHash -> MerkleHash forall b. Integral b => b -> MerkleHash -> MerkleHash forall a. (a -> a -> a) -> (NonEmpty a -> a) -> (forall b. Integral b => b -> a -> a) -> Semigroup a stimes :: forall b. Integral b => b -> MerkleHash -> MerkleHash $cstimes :: forall b. Integral b => b -> MerkleHash -> MerkleHash sconcat :: NonEmpty MerkleHash -> MerkleHash $csconcat :: NonEmpty MerkleHash -> MerkleHash <> :: MerkleHash -> MerkleHash -> MerkleHash $c<> :: MerkleHash -> MerkleHash -> MerkleHash Semigroup, MerkleHash -> () forall a. (a -> ()) -> NFData a rnf :: MerkleHash -> () $crnf :: MerkleHash -> () NFData)