module Network.Haskoin.Test.Address where
import Network.Haskoin.Address
import Network.Haskoin.Constants
import Network.Haskoin.Test.Crypto
import Test.QuickCheck
arbitraryAddress :: Network -> Gen Address
arbitraryAddress net =
oneof [arbitraryPubKeyAddress net, arbitraryScriptAddress net]
arbitraryPubKeyAddress :: Network -> Gen Address
arbitraryPubKeyAddress net = PubKeyAddress <$> arbitraryHash160 <*> pure net
arbitraryScriptAddress :: Network -> Gen Address
arbitraryScriptAddress net = ScriptAddress <$> arbitraryHash160 <*> pure net