23 fuzzed_data_provider.ConsumeIntegralInRange<
unsigned int>(1, 10000000),
24 1.0 / fuzzed_data_provider.ConsumeIntegralInRange<
unsigned int>(1, std::numeric_limits<unsigned int>::max()),
25 fuzzed_data_provider.ConsumeIntegral<
unsigned int>(),
27 LIMITED_WHILE(good_data && fuzzed_data_provider.remaining_bytes() > 0, 10
'000) 32 const std::vector<unsigned char> b = ConsumeRandomLengthByteVector(fuzzed_data_provider); 33 (void)bloom_filter.contains(b); 34 bloom_filter.insert(b); 35 const bool present = bloom_filter.contains(b); 39 const std::optional<COutPoint> out_point = ConsumeDeserializable<COutPoint>(fuzzed_data_provider); 44 (void)bloom_filter.contains(*out_point); 45 bloom_filter.insert(*out_point); 46 const bool present = bloom_filter.contains(*out_point); 50 const std::optional<uint256> u256 = ConsumeDeserializable<uint256>(fuzzed_data_provider); 55 (void)bloom_filter.contains(*u256); 56 bloom_filter.insert(*u256); 57 const bool present = bloom_filter.contains(*u256); 61 const std::optional<CMutableTransaction> mut_tx = ConsumeDeserializable<CMutableTransaction>(fuzzed_data_provider, TX_WITH_WITNESS); 66 const CTransaction tx{*mut_tx}; 67 (void)bloom_filter.IsRelevantAndUpdate(tx); 69 (void)bloom_filter.IsWithinSizeConstraints(); FUZZ_TARGET(bloom_filter)
BloomFilter is a probabilistic filter which SPV clients provide so that we can filter the transaction...
#define LIMITED_WHILE(condition, limit)
Can be used to limit a theoretically unbounded loop.