9#include <blockfilter.h>
46#define FUZZ_TARGET_DESERIALIZE(name, code) \
47 FUZZ_TARGET(name, .init = initialize_deserialize) \
51 } catch (const invalid_fuzzing_input_exception&) { \
57struct invalid_fuzzing_input_exception :
public std::exception {
60template <
typename T,
typename P>
68template <
typename T,
typename P>
76template <
typename T,
typename P>
81 }
catch (
const std::ios_base::failure&) {
82 throw invalid_fuzzing_input_exception();
108 }
catch (
const std::ios_base::failure&) {
109 throw invalid_fuzzing_input_exception();
114template <
typename T,
typename P>
238 if (na.IsAddrV1Compatible()) {
250 if (
s.IsAddrV1Compatible()) {
255 assert(
s.IsAddrV1Compatible());
261 (
void)
mh.IsMessageTypeValid();
280 if (
a.IsAddrV1Compatible()) {
const CChainParams & Params()
Return the currently selected parameters.
Complete block filter struct as defined in BIP 157.
A CService with information about it as peer.
static constexpr SerParams V1_NETWORK
static constexpr SerParams V2_NETWORK
static constexpr SerParams V1_DISK
static constexpr SerParams V2_DISK
Undo information for a CBlock.
BloomFilter is a probabilistic filter which SPV clients provide so that we can filter the transaction...
const MessageStartChars & MessageStart() const
Used to marshal pointers into hashes for db storage.
Fee rate in satoshis per virtualbyte: CAmount / vB the feerate is represented internally as FeeFrac.
Used to relay blocks as header + vector<merkle branch> to filtered nodes.
static constexpr SerParams V1
static constexpr SerParams V2
An outpoint - a combination of a transaction hash and an index n into its vout.
Data structure that represents a partial merkle tree.
An encapsulated public key.
Serialized script, used inside transaction inputs and outputs.
A combination of a network address (CNetAddr) and a (TCP) port.
An input of a transaction.
An output of a transaction.
Undo information for a CTransaction.
Double ended buffer combining vector and stream-like interfaces.
Minimal stream for reading from an existing byte array by std::span.
uint256 BlockMerkleRoot(const CBlock &block, bool *mutated)
#define FUZZ_TARGET_DESERIALIZE(name, code)
void initialize_deserialize()
std::span< const uint8_t > FuzzBufferType
#define T(expected, seed, data)
static constexpr TransactionSerParams TX_WITH_WITNESS
void Serialize(Stream &, V)=delete
Describes a place in the block chain to another node such that if the other node doesn't have the sam...
A structure for PSBTs which contains per output information.
A version of CTransaction with the PSBT format.
constexpr auto Ticks(Dur2 d)
Helper to count the seconds of a duration/time_point.