Bitcoin Core 29.99.0
P2P Digital Currency
Functions
txorphan.cpp File Reference
#include <consensus/amount.h>
#include <consensus/validation.h>
#include <net_processing.h>
#include <node/eviction.h>
#include <node/txorphanage.h>
#include <policy/policy.h>
#include <primitives/transaction.h>
#include <script/script.h>
#include <sync.h>
#include <test/fuzz/FuzzedDataProvider.h>
#include <test/fuzz/fuzz.h>
#include <test/fuzz/util.h>
#include <test/util/setup_common.h>
#include <uint256.h>
#include <util/check.h>
#include <util/feefrac.h>
#include <util/time.h>
#include <algorithm>
#include <bitset>
#include <cmath>
#include <cstdint>
#include <iostream>
#include <memory>
#include <set>
#include <utility>
#include <vector>
Include dependency graph for txorphan.cpp:

Go to the source code of this file.

Functions

void initialize_orphanage ()
 
 FUZZ_TARGET (txorphan,.init=initialize_orphanage)
 
 FUZZ_TARGET (txorphan_protected,.init=initialize_orphanage)
 
 FUZZ_TARGET (txorphanage_sim)
 

Function Documentation

◆ FUZZ_TARGET() [1/3]

FUZZ_TARGET ( txorphan  ,
init = initialize_orphanage 
)

Definition at line 38 of file txorphan.cpp.

Here is the call graph for this function:

◆ FUZZ_TARGET() [2/3]

FUZZ_TARGET ( txorphan_protected  ,
init = initialize_orphanage 
)

Definition at line 225 of file txorphan.cpp.

Here is the call graph for this function:

◆ FUZZ_TARGET() [3/3]

FUZZ_TARGET ( txorphanage_sim  )

The total number of transactions this simulation uses (not all of which will necessarily be present in the orphanage at once).

The number of peers this simulation uses (not all of which will necessarily be present in the orphanage at once).

The maximum number of announcements this simulation uses (which may be higher than the number permitted inside the orphanage).

Local RNG. Only used for topology/sizes of the transaction set, the order of transactions in EraseForBlock, and for the randomized passed to AddChildrenToWorkSet.

Data structure representing one announcement (pair of (tx, peer), plus whether it's reconsiderable or not.

The entire simulated orphanage is represented by this list of announcements, in announcement order (unlike TxOrphanageImpl which uses a sequence number to represent announcement order). New announcements are added to the back.

Consume a transaction (index into txn) from provider.

Consume a NodeId from provider.

Consume both a transaction (index into txn) and a NodeId from provider.

Determine if we have any announcements of the given transaction in the simulation.

Count the number of peers in the simulation.

Determine if we have any reconsiderable announcements of a given transaction.

Determine if a peer has any transactions to reconsider.

Get an iterator to an existing (wtxid, peer) pair in the simulation.

Get an iterator to an existing (tx, peer) pair in the simulation.

Compute a peer's DoS score according to simulation data.

Set of not-already-reconsiderable child wtxids.

Definition at line 367 of file txorphan.cpp.

Here is the call graph for this function:

◆ initialize_orphanage()

void initialize_orphanage ( )

Definition at line 33 of file txorphan.cpp.

Here is the call graph for this function: