module Haskoin.Util.Arbitrary.Crypto where
import Haskoin.Crypto.Hash
import Haskoin.Util.Arbitrary.Util
import Test.QuickCheck
arbitraryHash160 :: Gen Hash160
arbitraryHash160 :: Gen Hash160
arbitraryHash160 =
ByteString -> Hash160
forall b. ByteArrayAccess b => b -> Hash160
ripemd160 (ByteString -> Hash160) -> Gen ByteString -> Gen Hash160
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Int -> Gen ByteString
arbitraryBSn 20
arbitraryHash256 :: Gen Hash256
arbitraryHash256 :: Gen Hash256
arbitraryHash256 =
ByteString -> Hash256
forall b. ByteArrayAccess b => b -> Hash256
sha256 (ByteString -> Hash256) -> Gen ByteString -> Gen Hash256
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Int -> Gen ByteString
arbitraryBSn 32
arbitraryHash512 :: Gen Hash512
arbitraryHash512 :: Gen Hash512
arbitraryHash512 =
ByteString -> Hash512
forall b. ByteArrayAccess b => b -> Hash512
sha512 (ByteString -> Hash512) -> Gen ByteString -> Gen Hash512
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Int -> Gen ByteString
arbitraryBSn 64
arbitraryCheckSum32 :: Gen CheckSum32
arbitraryCheckSum32 :: Gen CheckSum32
arbitraryCheckSum32 =
ByteString -> CheckSum32
forall b. ByteArrayAccess b => b -> CheckSum32
checkSum32 (ByteString -> CheckSum32) -> Gen ByteString -> Gen CheckSum32
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Int -> Gen ByteString
arbitraryBSn 4