[bitcoin/bitcoin] BIP 158: Compact Block Filters for Light Clients (#12254)

jimpo commented on this pull request.

> @@ -193,3 +195,41 @@ bool GCSFilter::MatchAny(const std::set& elements) const
const std::vector queries = BuildHashedSet(elements);
return MatchInternal(queries.data(), queries.size());
+static std::set BasicFilterElements(const CBlock& block,

I added the typedef to `std::set`. In commit e645d53b3d5fa5912e3a99cc4fec74aee64e81e5, I change it to `std::unordered_set` which uses a randomly selected SipHash instance to hash the byte vector. Let me know if you think this is acceptable or whether it should be left as `std::set`.