packages feed

bitcoin-compact-filters-0.1.0.2: test/Test/CompactFilter.hs

module Test.CompactFilter (
    genBlockFilter,
) where

import Control.Monad (replicateM)
import Haskoin.Constants (btc)
import Haskoin.Util.Arbitrary.Block (arbitraryBlock)
import Haskoin.Util.Arbitrary.Util (arbitraryBS1)
import Test.Tasty.QuickCheck (Gen, choose)

import Bitcoin.CompactFilter (BlockFilter, encodeFilter)

genBlockFilter :: Gen BlockFilter
genBlockFilter = encodeFilter <$> scripts <*> arbitraryBlock btc
  where
    scripts = do
        n <- choose (1, 100)
        replicateM n arbitraryBS1