Bitcoin Core  27.99.0
P2P Digital Currency
Class Hierarchy

Go to the graphical class hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 12345]
 CAbstractThresholdConditionCheckerAbstract class that implements BIP9-style threshold logic, and caches results
 CActionSerializeSupport for all macros providing or using the ser_action parameter of the SerializationOps method
 CAddressPositionLocation information for an address in AddrMan
 CAddrManStochastic address manager
 CAEADChaCha20Poly1305The AEAD_CHACHA20_POLY1305 authenticated encryption algorithm from RFC8439 section 2.8
 CAES256DecryptA decryption class for AES-256
 CAES256EncryptAn encryption class for AES-256
 CAssumeutxoDataHolds configuration for use during UTXO snapshot load and validation
 CAutoFileNon-refcounted RAII wrapper for FILE*
 CBase(Un)serialize a number as raw byte or 2 hexadecimal chars
 Cbase_blob< BITS >Template base class for fixed-sized opaque blobs
 Cbase_blob< 160 >
 Cbase_blob< 256 >
 Cbase_uint< BITS >Template base class for unsigned big integers
 Cbase_uint< 256 >
 CBaseHash< HashType >
 CBaseHash< uint160 >
 CBaseHash< uint256 >
 CBaseRequestHandlerClass that handles the conversion from a command-line to a JSON-RPC request, as well as converting back to a JSON object that can be shown as result
 CBaseSignatureCreatorInterface for signature creators
 CBasicTestingSetupBasic testing setup
 Cankerl::nanobench::BenchMain entry point to nanobench's benchmarking facility
 Cbilingual_strBilingual messages:
 CBIP324CipherThe BIP324 packet cipher, encapsulating its key derivation, stream cipher, and AEAD
 CConsensus::BIP9DeploymentStruct for each individual consensus rule change using BIP9
 CBIP9StatsDisplay status of an in-progress BIP9 softfork
 CCuckooCache::bit_packed_atomic_flagsbit_packed_atomic_flags implements a container for garbage collection flags that is only thread unsafe on calls to setup
 Cbitdeque< BITS_PER_WORD >Class that mimics std::deque<bool>, but with std::vector<bool>'s bit packing
 CBitsInt< I, BITS >
 CBitStreamReader< IStream >
 CBitStreamWriter< OStream >
 Cinterfaces::BlockAndHeaderTipInfoBlock and header tip information
 Cnode::BlockAssemblerGenerate a new block, without valid proof-of-work
 CBlockFilterComplete block filter struct as defined in BIP 157
 Cinterfaces::BlockInfoBlock data sent with blockConnected, blockDisconnected notifications
 Cinterfaces::BlockKeyHash/height pair to help track and identify blocks
 Cnode::BlockManagerMaintains a tree of blocks (stored in m_block_index) which is consulted to determine where the most-work tip is
 Ckernel::BlockManagerOptsAn options struct for BlockManager, more ergonomically referred to as BlockManager::Options due to the using-declaration in BlockManager
 Cinterfaces::BlockTipBlock tip (could be a header or not, depends on the subscribed signal)
 CBufferedFileWrapper around an AutoFile& that implements a ring buffer to deserialize from
 CByteVectorHashImplementation of Hash named requirement for types that internally store a byte array
 Cwallet::CachableAmountCachable amount subdivided into watchonly and spendable parts
 CCuckooCache::cache< Element, Hash >cache implements a cache with properties similar to a cuckoo-set
 CCConnman::CachedAddrResponseCache responses to addr requests to minimize privacy leak
 Cwallet::CAddressBookDataAddress book data
 CCBanDBAccess to the banlist database (banlist.json)
 CCBaseChainParamsCBaseChainParams defines the base parameters (shared between bitcoin-cli and bitcoind) of a given instance of the Bitcoin system
 CCBlockHeaderNodes collect new transactions into a block, hash them into a hash tree, and scan through nonce values to make the block's hash satisfy proof-of-work requirements
 CCBlockIndexThe block chain is a tree shaped structure starting with the genesis block at the root, with each block potentially having multiple candidates to be the next block
 CCBlockLocatorDescribes a place in the block chain to another node such that if the other node doesn't have the same branch, it can find a recent common trunk
 CCBlockUndoUndo information for a CBlock
 CCBloomFilterBloomFilter is a probabilistic filter which SPV clients provide so that we can filter the transactions we send them
 CCChainAn in-memory indexed chain of blocks
 CCChainParamsCChainParams defines various tweakable parameters of a given instance of the Bitcoin system
 CCCheckQueue< T >Queue for verifications that have to be performed
 CCCheckQueue< CScriptCheck >
 CCCheckQueueControl< T >RAII-style controller object for a CCheckQueue that guarantees the passed queue is finished before continuing
 CCClientUIInterfaceSignals for UI communication
 Cwallet::CCoinControlCoin Control Features
 CCCoinsCacheEntryA Coin in one level of the coins database caching hierarchy
 CCCoinsViewAbstract view on the open txout dataset
 CCCoinsViewCursorCursor for iterating over CoinsView state
 Cwallet::CCrypterEncryption/decryption context with key information
 CCDBBatchBatch of changes queued to be written to a CDBWrapper
 CCFeeRateFee rate in satoshis per kilovirtualbyte: CAmount / kvB
 CChaCha20Unrestricted ChaCha20 cipher
 CChaCha20AlignedChaCha20 cipher that only operates on multiples of 64 bytes
 Cinterfaces::ChainInterface giving clients (wallet processes, maybe other analysis tools in the future) ability to access to the chain state, receive notifications, estimate fees, and submit transactions
 Cinterfaces::ChainClientInterface to let node manage chain clients (wallets, or maybe tools for monitoring and analysis in the future)
 CChainstateChainstate stores and provides an API to update our local knowledge of the current best chain
 CChainstateManagerProvides an interface for creating and interacting with one or two chainstates: an IBD chainstate generated by downloading blocks, and an optional snapshot chainstate loaded from a UTXO snapshot
 Ckernel::ChainstateManagerOptsAn options struct for ChainstateManager, more ergonomically referred to as ChainstateManager::Options due to the using-declaration in ChainstateManager
 CChainTxDataHolds various statistics on transactions within a chain
 CCHash160A hasher class for Bitcoin's 160-bit hash (SHA-256 + RIPEMD-160)
 CCHash256A hasher class for Bitcoin's 256-bit hash (double SHA-256)
 CCheckVarIntMode< Mode, I >
 CCHKDF_HMAC_SHA256_L32A rfc5869 HKDF implementation with HMAC_SHA256 and fixed key output length of 32 bytes (L=32)
 CCHMAC_SHA256A hasher class for HMAC-SHA-256
 CCHMAC_SHA512A hasher class for HMAC-SHA-512
 CChronoFormatter< U, LOSSY >
 CCInvInv message data
 CCKeyAn encapsulated private key
 Cwallet::CKeyPoolA key from a CWallet's keypool
 Cwallet::CMasterKeyPrivate key encryption is done based on a CMasterKey, which holds a salt and random encryption key
 CCMerkleBlockUsed to relay blocks as header + vector<merkle branch> to filtered nodes
 Cwallet::CMerkleTxLegacy class used for deserializing vtxPrev for backwards compatibility
 CCMessageHeaderMessage header
 CCMutableTransactionA mutable version of CTransaction
 CCNetAddrNetwork address
 CCNetMessageTransport protocol agnostic message container
 CCNodeInformation about a peer
 CCoinA UTXO entry
 Cwallet::CoinEligibilityFilterParameters for filtering which OutputGroups we may use in coin selection
 Cwallet::CoinSelectionParamsParameters for one iteration of Coin Selection
 Cwallet::CoinsResultCOutputs available for spending, stored by OutputType
 CCoinsViewOptionsUser-controlled performance and debug options
 CCoinsViewsA convenience class for constructing the CCoinsView* hierarchy used to facilitate access to the UTXO set
 CCompactSizeFormatter< RangeCheck >Formatter for integers in CompactSize format
 CCompareBlocksByHeightComparison function for sorting the getchaintips heads
 Cnode::CompareCTxMemPoolIterComparator for CTxMemPool::txiter objects
 CCompareNodeNetworkTimeSort eviction candidates by network/localhost and connection uptime
 CCompareTxMemPoolEntryByAncestorScoreSort an entry by min(score/size of entry's tx, score/size with all ancestors)
 CCompareTxMemPoolEntryByDescendantScoreSort an entry by max(score/size of entry's tx, score/size with all descendants)
 CCompareTxMemPoolEntryByScoreSort by feerate of entry (fee/size) in descending order This is only used for transaction relay, so we use GetFee() instead of GetModifiedFee() to avoid leaking prioritization information via the sort order
 Ci2p::ConnectionAn established connection with another peer
 CConnectTraceUsed to track blocks whose transactions were applied to the UTXO state as a part of a single ActivateBestChainStep call
 Cprevector< N, T, Size, Diff >::const_iterator
 Cprevector< N, T, Size, Diff >::const_reverse_iterator
 Cipc::ContextContext struct used to give IPC protocol implementations or implementation hooks access to application state, in case they need to run extra code that isn't needed within a single process, like code copying global state from an existing process to a new process when it's initialized, or code dealing with shared objects that are created or destroyed remotely
 Ckernel::ContextContext struct holding the kernel library's logically global state, and passed to external libbitcoin_kernel functions which need access to this state
 Ctinyformat::detail::convertToInt< T, convertible >
 Ctinyformat::detail::convertToInt< T, true >
 CCOutPointAn outpoint - a combination of a transaction hash and an index n into its vout
 Cwallet::COutputA UTXO under consideration for use in funding a new transaction
 CCPartialMerkleTreeData structure that represents a partial merkle tree
 CCPubKeyAn encapsulated public key
 CCRIPEMD160A hasher class for RIPEMD-160
 CCRollingBloomFilterRollingBloomFilter is a probabilistic "keep track of most recently inserted" set
 CCRPCTableRPC command dispatcher
 CCSchedulerSimple class for background tasks that should be run periodically or once "after a while"
 CCScriptCheckClosure representing one script verification Note that this stores references to the spending transaction
 CCSemaphoreAn implementation of a semaphore
 CCSemaphoreGrantRAII-style semaphore lock
 CCSHA1A hasher class for SHA1
 CCSHA256A hasher class for SHA-256
 CCSHA512A hasher class for SHA-512
 CCThreadInterruptA helper class for interruptible sleeps
 CCTransactionThe basic transaction that is broadcasted on the network and contained in blocks
 CCTxInAn input of a transaction
 CCTxMemPoolCTxMemPool stores valid-according-to-the-current-best-chain transactions that may be included in the next block
 CCTxMemPoolEntryCTxMemPoolEntry stores data about the corresponding transaction, as well as data about all in-mempool transactions that depend on the transaction ("descendant" transactions)
 CCTxOutAn output of a transaction
 CCTxUndoUndo information for a CTransaction
 CCustomUintFormatter< Bytes, BigEndian >Serialization wrapper class for custom integers and enums
 CCValidationInterfaceImplement this to subscribe to events generated in validation and mempool
 CCVerifyDBRAII wrapper for VerifyDB: Verify consistency of the block and coin databases
 Cwallet::CWalletTxA transaction with a bunch of additional info that only the owner cares about
 Cwallet::DatabaseBatchRAII class that provides access to a WalletDatabase
 Cwallet::DataRecordClass for data in the record directly
 CDataStreamDouble ended buffer combining vector and stream-like interfaces
 CDBOptionsUser-controlled performance and debug options
 CDBParamsApplication-specific storage settings
 CDefaultFormatterDefault formatter
 CDereferencingComparator< T >
 CDescriptorInterface for parsed descriptor objects
 CDescriptorCacheCache for single descriptor's derived extended pubkeys
 Cdeserialize_typeDummy data type to identify deserializing constructors
 Cprevector< N, T, Size, Diff >::direct_or_indirect
 CECC_ContextRAII class initializing and deinitializing global state for elliptic curve support
 Cinterfaces::EchoSimple string echoing interface for testing
 CEllSwiftPubKeyAn ElligatorSwift-encoded public key
 CEpochEpoch: RAII-style guard for using epoch-based graph traversal algorithms
 CSock::EventsAuxiliary requested/occurred events to wait for in WaitMany()
 CExternalSignerEnables interaction with an external signing device or service, such as a hardware wallet
 Cinterfaces::ExternalSignerExternal signer interface used by the GUI
 Ctinyformat::detail::is_convertible< T1, T2 >::fail
 CFastRandomContextFast randomness source
 CFeeFracData structure storing a fee and size, ordered by increasing fee/size
 CFlatFileSeqFlatFileSeq represents a sequence of numbered files storing raw data
 Ctinyformat::FormatListList of template arguments format(), held in a type-opaque way
 Ctinyformat::detail::formatValueAsType< T, fmtT, convertible >
 Ctinyformat::detail::formatValueAsType< T, fmtT, true >
 Cinterfaces::FoundBlockHelper for findBlock to selectively return pieces of block data
 CFSChaCha20Forward-secure ChaCha20
 CFSChaCha20Poly1305Forward-secure wrapper around AEADChaCha20Poly1305
 CGCSFilterThis implements a Golomb-coded set as defined in BIP 158
 CGenTxidA generic txid reference (txid or wtxid)
 CGFMulHelper< I, N, L, F, K >Helper class for carryless multiplications
 CGFMulHelper< I, N, L, F, 0 >
 CAppTests::HandleCallbackRAII helper to remove no-longer-pending callback
 Cinterfaces::HandlerGeneric interface for managing an event handler or callback function registered with another interface
 CHashWriterA writer stream (for serialization) that computes a 256-bit hash
 CHasReasonBOOST_CHECK_EXCEPTION predicates to check the specific validation error
 CHTTPClosureEvent handler closure
 CHTTPEventEvent class
 CHTTPReplyReply structure for request_done to fill in
 CHTTPRequestIn-flight HTTP request
 CHTTPRequestTrackerHelps keep track of open evhttp_connections with active evhttp_requests
 CIdTransThe identity transformation
 CTxReconciliationTracker::ImplActual implementation for TxReconciliationTracker's data structure
 CTxRequestTracker::ImplActual implementation for TxRequestTracker's data structure
 Cindirectmap< K, T >
 Cinterfaces::InitInitial interface created when a process is first started, and used to give and get access to other interfaces (Node, Chain, Wallet, etc)
 Cminiscript::internal::InputResultA pair of a satisfaction and a dissatisfaction InputStack
 Cminiscript::internal::InputStackAn object representing a sequence of witness stack elements
 Cwallet::InternalPageA page of records in the database
 Cwallet::InternalRecordClass for records representing internal nodes of the BTree
 Ckernel::InterruptedResult type for use with std::variant to indicate that an operation should be interrupted
 Cinterfaces::IpcInterface providing access to interprocess-communication (IPC) functionality
 Ctinyformat::detail::is_convertible< T1, T2 >
 Ctinyformat::detail::is_wchar< T >
 Ctinyformat::detail::is_wchar< const wchar_t * >
 Ctinyformat::detail::is_wchar< const wchar_t[n]>
 Ctinyformat::detail::is_wchar< wchar_t * >
 Ctinyformat::detail::is_wchar< wchar_t[n]>
 Cbitdeque< BITS_PER_WORD >::Iterator< Const >Iterator to a bitdeque element, const or not
 Cprevector< N, T, Size, Diff >::iterator
 CJSONUTF8StringFilterFilter that generates and validates UTF-8, as well as collates UTF-16 surrogate pairs as specified in RFC4627
 CTaprootBuilder::LeafInfoInformation about a tracked leaf in the Merkle tree
 CLFSR< F, MOD >Class which implements a stateless LFSR for generic moduli
 CLimitedStringFormatter< Limit >
 CLinTrans< I, N >A Linear N-bit transformation over the field I
 Cmemusage::list_node< X >
 CValidationSignalsImpl::ListEntryList entries consist of a callback pointer and reference count
 CPoolResource< MAX_BLOCK_SIZE_BYTES, ALIGN_BYTES >::ListNodeIn-place linked list of the allocations, used for the freelist
 CLockedPageAllocatorOS-dependent allocation and deallocation of locked/pinned memory pages
 CLockedPoolPool for locked memory chunks
 Cminiscript::internal::MaxInt< I >Class whose objects represent the maximum of a list of integers
 Cminiscript::internal::MaxInt< uint32_t >
 CMempoolAcceptResultValidation result for a transaction evaluated by MemPoolAccept (single or package)
 Ckernel::MemPoolLimitsOptions struct containing limit options for a CTxMemPool
 Ckernel::MemPoolOptionsOptions struct containing options for constructing a CTxMemPool
 Cwallet::MetaPageBerkeley DB BTree metadata page layout
 Cwallet::MigrationDataStruct containing information needed for migrating legacy wallets to descriptor wallets
 Cnode::MiniMinerA minimal version of BlockAssembler, using the same ancestor set scoring algorithm
 CMockedDescriptorConverterConverts a mocked descriptor string to a valid one
 CMuHash3072A class representing MuHash sets
 CNetEventsInterfaceInterface for message handling
 CNetGroupManagerNetgroup manager
 Cinterfaces::NodeTop-level interface for a bitcoin node (bitcoind process)
 Cminiscript::Node< Key >A node in a miniscript expression
 Cnode::NodeContextNodeContext struct containing references to chain state and connection state
 CTaprootBuilder::NodeInfoInformation associated with a node in the Merkle tree
 CCConnman::NodesSnapshotRAII helper to atomically create a copy of m_nodes and add a reference to each of the nodes
 Cinterfaces::Chain::NotificationsChain notifications
 Ckernel::NotificationsA base class defining functions for notifying about certain kernel events
 CNum< N >A type to represent integers in the type system
 COtherParamCheckerChecker for value of OtherParam
 Cwallet::OutputGroupA group of UTXOs paid to the same output script
 Cwallet::OutputGroupTypeMapStores several 'Groups' whose were mapped by output type
 Cwallet::OverflowPageA page containing overflow data
 Cwallet::OverflowRecordClass for records representing overflow records of the BTree
 CPackageMempoolAcceptResultValidation result for package mempool acceptance
 Cwallet::PageHeaderA generic data page in the database
 CConsensus::ParamsParameters that influence chain consensus
 CParamsStream< SubStream, Params >Wrapper that overrides the GetParams() function of a stream
 CParamsWrapper< Params, T >Wrapper that serializes objects with the specified parameters
 CParentInfoHelper for PackageV3Checks, storing info for a mempool or package parent
 CPartiallySignedTransactionA version of CTransaction with the PSBT format
 Cankerl::nanobench::detail::PerfCountSet< T >
 Cankerl::nanobench::detail::PerfCountSet< bool >
 Cankerl::nanobench::detail::PerfCountSet< uint64_t >
 CPoly1305C++ wrapper with std::byte Span interface around poly1305_donna code
 CPoolAllocator< T, MAX_BLOCK_SIZE_BYTES, ALIGN_BYTES >Forwards all allocations/deallocations to the PoolResource
 CPoolResource< MAX_BLOCK_SIZE_BYTES, ALIGN_BYTES >A memory resource similar to std::pmr::unsynchronized_pool_resource, but optimized for node-based containers
 CPoolResource< MAX_BLOCK_SIZE_BYTES, alignof(T) >
 CPoolResourceTesterHelper to get access to private parts of PoolResource
 Cprevector< N, T, Size, Diff >Implements a drop-in replacement for std::vector<T> which stores up to N elements directly (without heap allocation)
 Cprevector< ADDR_IPV6_SIZE, uint8_t >
 Cprevector_tester< N, T >
 Cipc::ProcessIPC process interface for spawning bitcoin processes and serving requests in processes that have been spawned
 CHeadersSyncState::ProcessingResultResult data structure for ProcessNextHeaders
 Cipc::ProtocolIPC protocol interface for calling IPC methods over sockets
 CProxyCredentialsCredentials for proxy authentication
 Cnode::PSBTAnalysisHolds the results of AnalyzePSBT (miscellaneous information about a PSBT)
 CPSBTInputA structure for PSBTs which contain per-input information
 Cnode::PSBTInputAnalysisHolds an analysis of one input from a PSBT
 CPSBTOutputA structure for PSBTs which contains per output information
 CPSBTProprietaryA structure for PSBT proprietary types
 CReachableNetsList of reachable networks
 CPoolAllocator< T, MAX_BLOCK_SIZE_BYTES, ALIGN_BYTES >::rebind< U >The rebind struct here is mandatory because we use non type template arguments for PoolAllocator
 CRecLinTrans< I, N >A linear transformation constructed using LinTrans tables for sections of bits
 CRecLinTrans< I, N >
 CRecLinTrans< I, N, X... >
 CRecLinTrans< I, X... >
 CCConnman::ReconnectionInfoStruct for entries in m_reconnections
 Cwallet::RecordHeaderGeneral class for records in a BDB BTree database
 Cwallet::RecordsPageA page of records in the database
 CCChainParams::RegTestOptionsRegTestOptions holds configurations for creating a regtest CChainParams
 CReorgTxnsReorg where 1 block is disconnected and 2 blocks are connected
 Ci2p::sam::Session::ReplyA reply from the SAM proxy
 Cwallet::ReserveDestinationA wrapper to reserve an address from a wallet
 Cutil::Result< M >
 Cutil::Result< void >
 Cprevector< N, T, Size, Diff >::reverse_iterator
 CUniqueLock< MutexType >::reverse_lockAn RAII-style reverse lock
 Creverse_range< T >Template used for reverse iteration in range-based for loops
 Cankerl::nanobench::RngAn extremely fast random generator
 CRPCTimerBaseOpaque base class for timers returned by NewTimerFunc
 CRPCTimerInterfaceRPC timer "driver"
 Cwallet::SafeDbtRAII class that automatically cleanses its data on destruction
 Cminiscript::internal::SatInfoA data structure to help the calculation of stack size limits
 CSatisfier< Pk >Context for solving a Miniscript
 CSatisfier< CPubKey >
 CSatisfier< XOnlyPubKey >
 CScriptCompressionCompact serializer for scripts
 Csecp256k1_ecdsa_recoverable_signatureOpaque data structured that holds a parsed ECDSA signature, supporting pubkey recovery
 Csecp256k1_ecdsa_signatureOpaque data structured that holds a parsed ECDSA signature
 Csecp256k1_feThis field implementation represents the value as 10 uint32_t limbs in base 2^26
 Csecp256k1_geA group element in affine coordinates on the secp256k1 curve, or occasionally on an isomorphic curve of the form y^2 = x^3 + 7*t^6
 Csecp256k1_gejA group element of the secp256k1 curve, in jacobian coordinates
 Csecp256k1_keypairOpaque data structure that holds a keypair consisting of a secret and a public key
 Csecp256k1_pubkeyOpaque data structure that holds a parsed and valid public key
 Csecp256k1_scalarA scalar modulo the group order of the secp256k1 curve
 Csecp256k1_schnorrsig_extraparamsData structure that contains additional arguments for schnorrsig_sign_custom
 Csecp256k1_xonly_pubkeyOpaque data structure that holds a parsed and valid "x-only" public key
 CSectionA pair of strings that can be aligned (through padding) with other Sections later on
 CSectionsKeeps track of RPCArgs by transforming them into sections for the purpose of serializing everything to a single string
 Csecure_allocator< T >
 CSecureUniqueDeleter< T >
 Cipc::capnp::Serializable< T >Use SFINAE to define Serializeable<T> trait which is true if type T has a Serialize(stream) method, false otherwise
 Ci2p::sam::SessionI2P SAM session
 Ccommon::SettingsStored settings
 Ccommon::SettingsSpanAccessor for list of settings that skips negated values when iterated over
 Cutil::SignalInterruptHelper class that manages an interrupt flag, and allows a thread or signal to interrupt another thread
 CSignatureCacheHasherWe're hashing a nonce into the entries themselves, so we don't need extra blinding in the set hash computation
 CCChainParams::SigNetOptionsSigNetOptions holds configurations for creating a signet CChainParams
 CSignetTxsGenerate the signet tx corresponding to the given block
 CSigningProviderAn interface to be implemented by keystores that support signing
 CSketchAbstract class for internal representation of a minisketch object
 Cnode::SnapshotMetadataMetadata describing a serialized version of a UTXO set from which an assumeutxo Chainstate can be constructed
 CSockRAII helper class that manages a socket and closes it automatically when it goes out of scope
 CSpan< C >A Span is an object that can refer to a contiguous sequence of objects
 CSpan< const std::byte >
 CSpan< const unsigned char >
 CSpanReaderMinimal stream for reading from an existing byte array by Span
 Cwallet::SQliteExecHandlerClass responsible for executing SQL statements in SQLite databases
 CArena::StatsMemory statistics
 CLockedPool::StatsMemory statistics
 Cmemusage::stl_tree_node< X >
 Ctinyformat::detail::is_convertible< T1, T2 >::succeed
 CTaprootBuilderUtility class to construct Taproot outputs from internal key and script tree
 CBCLog::Timer< TimeType >RAII-style object that outputs timing information to logs
 CTokenPipeAn interprocess or interthread pipe for sending tokens (one-byte values) over
 CTokenPipeEndOne end of a token pipe
 CTorControlConnectionLow-level handling for Tor control connection
 CTorControllerController that connects to Tor control socket, authenticate, then create and maintain an ephemeral onion service
 CTorControlReplyReply from Tor, can be single or multi-line
 Ctransaction_identifier< has_witness >Transaction_identifier represents the two canonical transaction identifier types (txid, wtxid)
 Ctransaction_identifier< false >
 CTransactionRecordUI model for a transaction
 CTransactionStatusUI model for transaction status
 CTransportThe Transport converts one connection's sent messages to wire bytes, and received bytes back
 CTxConfirmStatsWe will instantiate an instance of this class to track transactions that were included in a block
 CTxInUndoFormatterFormatter for undo information for a CTxIn
 CTxMempoolInfoInformation about a mempool transaction
 CTxOrphanageA class to track orphan transactions (failed on TX_MISSING_INPUTS) Since we cannot distinguish orphans from bad transactions with non-existent inputs, we heavily limit the number of orphans we keep and the duration we keep them for
 CTxOutCompressionWrapper for CTxOut that provides a more compact serialization
 CTxReconciliationTrackerTransaction reconciliation is a way for nodes to efficiently announce transactions
 CTxRequestTrackerData structure to keep track of, and schedule, transaction downloads from peers
 Cwallet::TxStateBlockConflictedState of rejected transaction that conflicts with a confirmed block
 Cwallet::TxStateConfirmedState of transaction confirmed in a block
 Cwallet::TxStateInactiveState of transaction not confirmed or conflicting with a known block and not in the mempool
 Cwallet::TxStateInMempoolState of transaction added to mempool
 Cwallet::TxStateUnrecognizedState of transaction loaded in an unrecognized state with unexpected hash or index values
 Cminiscript::TypeThis type encapsulates the miniscript type system properties
 CUniValueTypeWrapper for UniValue::VType, which includes typeAny: Used to denote don't care type
 Cipc::capnp::Unserializable< T >Use SFINAE to define Unserializeable<T> trait which is true if type T has an Unserialize(stream) method, false otherwise
 CValidationSignalsImplValidationSignalsImpl manages a list of shared_ptr<CValidationInterface> callbacks
 CValidationState< Result >Template for capturing information about block/transaction validation
 CValidationState< BlockValidationResult >
 CValidationState< PackageValidationResult >
 CValidationState< TxValidationResult >
 CVarIntFormatter< Mode >Serialization wrapper class for integers in VarInt format
 CVectorFormatter< Formatter >Formatter to serialize/deserialize vector elements using another formatter
 CVersionBitsCacheBIP 9 allows multiple softforks to be deployed in parallel
 CCChainParams::VersionBitsParametersVersionBitsParameters holds activation parameters
 Cinterfaces::WalletInterface for accessing a wallet
 Cinterfaces::WalletAddressInformation about one wallet address
 Cinterfaces::WalletBalancesCollection of wallet balances
 Cwallet::WalletBatchAccess to the wallet database
 Cwallet::WalletContextWalletContext struct containing references to state shared between CWallet instances, like the reference to the chain interface, and the list of opened wallets
 Cwallet::WalletDatabaseAn instance of this class represents one database
 Cwallet::WalletDescriptorDescriptor with some wallet metadata
 Cinterfaces::WalletMigrationResultMigrated wallet info
 CWalletModelTransactionData model for a walletmodel transaction
 Cwallet::WalletRescanReserverRAII object to check and reserve a wallet rescan
 Cinterfaces::WalletTxOutWallet transaction output
 Cinterfaces::WalletTxStatusUpdated transaction status
 CWitnessUnknownCTxDestination subtype to encode any future Witness version
 CWorkQueue< WorkItem >Simple work queue for distributing work over multiple threads
 CWrapper< Formatter, T >Simple wrapper class to serialize objects using a formatter; used by Using()
 CXoRoShiRo128PlusPlusXoroshiro128++ PRNG
 Czero_after_free_allocator< T >