Bitcoin Core  0.21.1
P2P Digital Currency
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Class Hierarchy

Go to the graphical class hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 1234]
oCAbstractThresholdConditionCheckerAbstract class that implements BIP9-style threshold logic, and caches results
oCAddedNodeInfo
oCAddressTableEntry
oCAddressTableEntryLessThan
oCAddressTablePriv
oCAES128_ctx
oCAES192_ctx
oCAES256_ctx
oCAES256CBCDecrypt
oCAES256CBCEncrypt
oCAES256DecryptA decryption class for AES-256
oCAES256EncryptAn encryption class for AES-256
oCAES_state
oCallocator
oCAmountCompression
oCancestor_score
oCArena
oCArgsManager::Arg
oCbenchmark::Args
oCArgsManager
oCAvailable
oCCWallet::Balance
oCBanMan
oCBannedNodeLessThan
oCBanTablePriv
oCBase
oCbase_blob< BITS >Template base class for fixed-sized opaque blobs
oCbase_blob< 160 >
oCbase_blob< 256 >
oCbase_uint< BITS >Template base class for unsigned big integers
oCbase_uint< 256 >
oCBaseHash< HashType >
oCBaseHash< uint160 >
oCBaseHash< uint256 >
oCBaseRequestHandlerClass 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
oCBaseSignatureChecker
oCBaseSignatureCreatorInterface for signature creators
oCBasicTestingSetup
oCankerl::nanobench::BenchMain entry point to nanobench's benchmarking facility
oCbench_data
oCbench_ecdh_data
oCbench_inv
oCbench_recover_data
oCbench_schnorrsig_data
oCbench_sign
oCbenchmark_verify_t
oCbenchmark::BenchRunner
oCBerkeleyEnvironment
oCankerl::nanobench::BigO
oCbilingual_strBilingual messages:
oCConsensus::BIP9DeploymentStruct for each individual consensus rule change using BIP9
oCBIP9StatsDisplay status of an in-progress BIP9 softfork
oCCuckooCache::bit_packed_atomic_flagsbit_packed_atomic_flags implements a container for garbage collection flags that is only thread unsafe on calls to setup
oCBitStreamReader< IStream >
oCBitStreamWriter< OStream >
oCinterfaces::BlockAndHeaderTipInfoBlock and header tip information
oCBlockAssemblerGenerate a new block, without valid proof-of-work
oCBlockFilterComplete block filter struct as defined in BIP 157
oCBlockHasher
oCBlockManagerMaintains a tree of blocks (stored in m_block_index) which is consulted to determine where the most-work tip is
oCinterfaces::BlockTipBlock tip (could be a header or not, depends on the subscribed signal)
oCBlockTransactions
oCBlockTransactionsRequest
oCByteVectorHashImplementation of Hash named requirement for types that internally store a byte array
oCCachableAmountCachable amount subdivided into watchonly and spendable parts
oCCuckooCache::cache< Element, Hash >cache implements a cache with properties similar to a cuckoo-set
oCCConnman::CachedAddrResponseCache responses to addr requests to minimize privacy leak
oCCAddrDBAccess to the (IP) address database (peers.dat)
oCCAddressBookDataAddress book data
oCCAddrManStochastical (IP) address manager
oCCAppNapInhibitor::CAppNapImpl
oCCAppNapInhibitor
oCCAutoFileNon-refcounted RAII wrapper for FILE*
oCCBanDBAccess to the banlist database (banlist.dat)
oCCBanEntry
oCCBaseChainParamsCBaseChainParams defines the base parameters (shared between bitcoin-cli and bitcoind) of a given instance of the Bitcoin system
oCCBlockFileInfo
oCCBlockHeaderNodes 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
oCCBlockHeaderAndShortTxIDs
oCCBlockIndexThe 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
oCCBlockIndexWorkComparator
oCCBlockLocatorDescribes 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
oCCBlockPolicyEstimatorThe BlockPolicyEstimator is used for estimating the feerate needed for a transaction to be included in a block within a certain number of blocks
oCCBlockTemplate
oCCBlockUndoUndo information for a CBlock
oCCBloomFilterBloomFilter is a probabilistic filter which SPV clients provide so that we can filter the transactions we send them
oCCBufferedFileNon-refcounted RAII wrapper around a FILE* that implements a ring buffer to deserialize from
oCCChainAn in-memory indexed chain of blocks
oCCChainParamsCChainParams defines various tweakable parameters of a given instance of the Bitcoin system
oCCChainStateCChainState stores and provides an API to update our local knowledge of the current best chain
oCCCheckpointData
oCCCheckQueue< T >Queue for verifications that have to be performed
oCCCheckQueueControl< T >RAII-style controller object for a CCheckQueue that guarantees the passed queue is finished before continuing
oCCClientUIInterfaceSignals for UI communication
oCCCoin
oCCCoinControlCoin Control Features
oCCCoinsCacheEntryA Coin in one level of the coins database caching hierarchy
oCCCoinsStats
oCCCoinsViewAbstract view on the open txout dataset
oCCCoinsViewCursorCursor for iterating over CoinsView state
oCCCombinedBan
oCCConnman
oCCCrypterEncryption/decryption context with key information
oCCDataStreamDouble ended buffer combining vector and stream-like interfaces
oCCDBBatchBatch of changes queued to be written to a CDBWrapper
oCCDBIterator
oCCDBWrapper
oCCExtKey
oCCExtPubKey
oCCFeeRateFee rate in satoshis per kilobyte: CAmount / kB
oCChaCha20A class for ChaCha20 256-bit stream cipher developed by Daniel J
oCChaCha20Poly1305AEAD
oCinterfaces::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
oCinterfaces::ChainClientInterface to let node manage chain clients (wallets, or maybe tools for monitoring and analysis in the future)
oCChainstateManagerProvides 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
oCChainTxDataHolds various statistics on transactions within a chain
oCCHash160A hasher class for Bitcoin's 160-bit hash (SHA-256 + RIPEMD-160)
oCCHash256A hasher class for Bitcoin's 256-bit hash (double SHA-256)
oCCHashWriterA writer stream (for serialization) that computes a 256-bit hash
oCCHDChain
oCCheckVarIntMode< Mode, I >
oCCHKDF_HMAC_SHA256_L32A rfc5869 HKDF implementation with HMAC_SHA256 and fixed key output length of 32 bytes (L=32)
oCCHMAC_SHA256A hasher class for HMAC-SHA-256
oCCHMAC_SHA512A hasher class for HMAC-SHA-512
oCCImportingNow
oCCInputCoin
oCCInvInv message data
oCCKeyAn encapsulated private key
oCCKeyMetadata
oCCKeyPoolA key from a CWallet's keypool
oCCLogCategoryDesc
oCCMainSignals
oCCMasterKeyPrivate key encryption is done based on a CMasterKey, which holds a salt and random encryption key
oCCMedianFilter< T >Median filter over a stream of values
oCCMerkleBlockUsed to relay blocks as header + vector<merkle branch> to filtered nodes
oCCMerkleTxLegacy class used for deserializing vtxPrev for backwards compatibility
oCCMessageHeaderMessage header
oCCMutableTransactionA mutable version of CTransaction
oCCNetAddrNetwork address
oCCNetCleanup
oCCNetMessageTransport protocol agnostic message container
oCCNetMsgMaker
oCCNetProcessingCleanup
oCCNodeInformation about a peer
oCCNodeCombinedStats
oCCNodeStateStats
oCCNodeStats
oCCNoDestination
oCCoinA UTXO entry
oCCoinEligibilityFilter
oCCoinSelectionParams
oCCoinsViewsA convenience class for constructing the CCoinsView* hierarchy used to facilitate access to the UTXO set
oCCoinsViewScanReserver
oCCSVModelWriter::Column
oCCompactSizeFormatter< RangeCheck >Formatter for integers in CompactSize format
oCCompareBlocksByHeightComparison function for sorting the getchaintips heads
oCCompareCTxMemPoolIterComparator for CTxMemPool::txiter objects
oCCompareIteratorByHash
oCCompareTxIterByAncestorCount
oCCompareTxMemPoolEntryByAncestorFee
oCCompareTxMemPoolEntryByAncestorScoreSort an entry by min(score/size of entry's tx, score/size with all ancestors)
oCCompareTxMemPoolEntryByDescendantScoreSort an entry by max(score/size of entry's tx, score/size with all descendants)
oCCompareTxMemPoolEntryByEntryTime
oCCompareTxMemPoolEntryByScoreSort 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
oCankerl::nanobench::Config
oCCWalletTx::Confirmation
oCConnectTraceUsed to track blocks whose transactions were applied to the UTXO state as a part of a single ActivateBestChainStep call
oCprevector< N, T, Size, Diff >::const_iterator
oCprevector< N, T, Size, Diff >::const_reverse_iterator
oCtinyformat::detail::convertToInt< T, convertible >
oCtinyformat::detail::convertToInt< T, true >
oCCOrphanTx
oCCOutPointAn outpoint - a combination of a transaction hash and an index n into its vout
oCCOutput
oCCOutputEntry
oCCPartialMerkleTreeData structure that represents a partial merkle tree
oCCPubKeyAn encapsulated public key
oCCRecipient
oCCRIPEMD160A hasher class for RIPEMD-160
oCCRollingBloomFilterRollingBloomFilter is a probabilistic "keep track of most recently inserted" set
oCCRPCCommand
oCCRPCConvertParam
oCCRPCConvertTable
oCCRPCSignals
oCCRPCTableRPC command dispatcher
oCCSchedulerSimple class for background tasks that should be run periodically or once "after a while"
oCCScriptCheckCheck if transaction will be BIP 68 final in the next block to be created
oCCScriptNum
oCCScriptWitness
oCCSemaphore
oCCSemaphoreGrantRAII-style semaphore lock
oCCSerActionSerializeSupport for SERIALIZE_METHODS and READWRITE macro
oCCSerActionUnserialize
oCCSerializedNetMsg
oCCSHA1A hasher class for SHA1
oCCSHA256A hasher class for SHA-256
oCCSHA512A hasher class for SHA-512
oCCSipHasherSipHash-2-4
oCCSizeComputer
oCCSubNet
oCctaes_test
oCCThreadInterrupt
oCCTransactionThe basic transaction that is broadcasted on the network and contained in blocks
oCCTxInAn input of a transaction
oCCTxMemPoolCTxMemPool stores valid-according-to-the-current-best-chain transactions that may be included in the next block
oCCTxMemPoolEntryCTxMemPoolEntry stores data about the corresponding transaction, as well as data about all in-mempool transactions that depend on the transaction ("descendant" transactions)
oCCTxMemPoolModifiedEntry
oCCTxOutAn output of a transaction
oCCTxUndoUndo information for a CTransaction
oCCUpdatedBlock
oCCustomUintFormatter< Bytes, BigEndian >Serialization wrapper class for custom integers and enums
oCCValidationInterfaceImplement this to subscribe to events generated in validation
oCCVectorWriter
oCCVerifyDBRAII wrapper for VerifyDB: Verify consistency of the block and coin databases
oCCWalletScanState
oCCWalletTxA transaction with a bunch of additional info that only the owner cares about
oCCZMQAbstractNotifier
oCDatabaseBatchRAII class that provides access to a WalletDatabase
oCDatabaseOptions
oCbech32::DecodeResult
oCDefaultFormatterDefault formatter
oCDereferencingComparator< T >
oCdescendant_score
oCDescriptorInterface for parsed descriptor objects
oCDescriptorCacheCache for single descriptor's derived extended pubkeys
oCdeserialize_typeDummy data type to identify deserializing constructors
oCDifferenceFormatter
oCprevector< N, T, Size, Diff >::direct_or_indirect
oCDisconnectedBlockTransactions
oCECCVerifyHandleUsers of this module must hold an ECCVerifyHandle
oCecmult_multi_data
oCentry_time
oCCTxMemPool::EpochGuardEpochGuard: RAII-style guard for using epoch-based graph traversal algorithms
oCEstimationResult
oCEstimatorBucket
oCtinyformat::detail::is_convertible< T1, T2 >::fail
oCFastRandomContextFast randomness source
oCFeeCalculation
oCFeeFilterRounder
oCfsbridge::FileLock
oCFilterHeaderHasher
oCFlatFilePos
oCFlatFileSeqFlatFileSeq represents a sequence of numbered files storing raw data
oCtinyformat::detail::FormatArg
oCtinyformat::FormatListList of template arguments format(), held in a type-opaque way
oCtinyformat::detail::formatValueAsType< T, fmtT, convertible >
oCtinyformat::detail::formatValueAsType< T, fmtT, true >
oCinterfaces::FoundBlockHelper for findBlock to selectively return pieces of block data
oCGCSFilterThis implements a Golomb-coded set as defined in BIP 158
oCGenTxidA generic txid reference (txid or wtxid)
oCinterfaces::HandlerGeneric interface for managing an event handler or callback function registered with another interface
oCHTTPClosureEvent handler closure
oCHTTPEventEvent class
oCHTTPPathHandler
oCHTTPReplyReply structure for request_done to fill in
oCHTTPRequestIn-flight HTTP request
oCTxRequestTracker::ImplActual implementation for TxRequestTracker's data structure
oCImportData
oCindex_by_wtxid
oCIndexSummary
oCindirectmap< K, T >
oCinsertion_order
oCtinyformat::detail::is_convertible< T1, T2 >
oCtinyformat::detail::is_wchar< T >
oCtinyformat::detail::is_wchar< const wchar_t * >
oCtinyformat::detail::is_wchar< const wchar_t[n]>
oCtinyformat::detail::is_wchar< wchar_t * >
oCtinyformat::detail::is_wchar< wchar_t[n]>
oCankerl::nanobench::detail::IterationLogic
oCprevector< N, T, Size, Diff >::iterator
oCJSONRPCRequest
oCJSONUTF8StringFilterFilter that generates and validates UTF-8, as well as collates UTF-16 surrogate pairs as specified in RFC4627
oCKeyIDHasher
oCKeyOriginInfo
oCLimitedStringFormatter< Limit >
oCCConnman::ListenSocket
oCMainSignalsInstance::ListEntryList entries consist of a callback pointer and reference count
oCLocalServiceInfo
oClock_guard
oCLockedPageAllocatorOS-dependent allocation and deallocation of locked/pinned memory pages
oCLockedPoolPool for locked memory chunks
oCLockPoints
oCLogCategory
oCBCLog::Logger
oCLogger
oCMainSignalsInstanceThe MainSignalsInstance manages a list of shared_ptr<CValidationInterface> callbacks
oCmempoolentry_txid
oCmempoolentry_wtxid
oCmodifiedentry_iter
oCmutex
oCNetEventsInterfaceInterface for message handling
oCNetPermissions
oCNetworkStyle
oCinterfaces::NodeTop-level interface for a bitcoin node (bitcoind process)
oCNodeContextNodeContext struct containing references to chain state and connection state
oCNodeEvictionCandidate
oCNodeLessThan
oCNoechoInst
oCnontrivial_t
oCinterfaces::Chain::NotificationsChain notifications
oCNSBundle(returnCorrectIdentifier)
oCBlockAssembler::Options
oCCConnman::Options
oCOutputGroup
oCOverrideStream< Stream >
oCConsensus::ParamsParameters that influence chain consensus
oCGCSFilter::Params
oCPartiallyDownloadedBlock
oCPartiallySignedTransactionA version of CTransaction with the PSBT format
oCNetinfoRequestHandler::Peer
oCPeerTablePriv
oCPerBlockConnectTrace
oCankerl::nanobench::detail::PerfCountSet< T >
oCankerl::nanobench::detail::PerfCountSet< bool >
oCankerl::nanobench::detail::PerfCountSet< uint64_t >
oCankerl::nanobench::detail::PerformanceCounters
oCPlatformStyle
oCPrecomputedTransactionData
oCPrefilledTransaction
oCprevector< N, T, Size, Diff >Implements a drop-in replacement for std::vector<T> which stores up to N elements directly (without heap allocation)
oCprevector< ADDR_IPV6_SIZE, uint8_t >
oCProxyCredentialsCredentials for proxy authentication
oCProxySetting
oCproxyType
oCPSBTAnalysisHolds the results of AnalyzePSBT (miscellaneous information about a PSBT)
oCPSBTInputA structure for PSBTs which contain per-input information
oCPSBTInputAnalysisHolds an analysis of one input from a PSBT
oCPSBTOutputA structure for PSBTs which contains per output information
oCQAbstractItemDelegate
oCQAbstractListModel
oCQAbstractSpinBox
oCQAbstractTableModel
oCQApplication
oCQComboBox
oCQDialog
oCQFrame
oCQItemDelegate
oCQLabel
oCQLineEdit
oCQListView
oCQMainWindow
oCQMessageBox
oCQObject
oCQProgressBar
oCQSortFilterProxyModel
oCQStackedWidget
oCQTreeWidget
oCQTreeWidgetItem
oCQValidator
oCQWidget
oCzero_after_free_allocator< T >::rebind< _Other >
oCsecure_allocator< T >::rebind< _Other >
oCRecentRequestEntry
oCRecentRequestEntryLessThan
oCrecursive_mutex
oCutil::RefType-safe dynamic reference
oCReserveDestinationA wrapper to reserve an address from a wallet
oCankerl::nanobench::Result
oCprevector< N, T, Size, Diff >::reverse_iterator
oCUniqueLock< Mutex, Base >::reverse_lockAn RAII-style reverse lock
oCreverse_range< T >Template used for reverse iteration in C++11 range-based for loops
oCankerl::nanobench::RngAn extremely fast random generator
oCRPCArg
oCRPCCommandExecution
oCRPCCommandExecutionInfo
oCRPCExamples
oCRPCHelpMan
oCRPCResult
oCRPCResults
oCRPCServerInfo
oCRPCTimerBaseOpaque base class for timers returned by NewTimerFunc
oCRPCTimerInterfaceRPC timer "driver"
oCruntime_error
oCBerkeleyBatch::SafeDbtRAII class that automatically cleanses its data on destruction
oCSaltedOutpointHasher
oCSaltedTxidHasher
oCCWallet::ScanResult
oCScriptCompressionCompact serializer for scripts
oCScriptExecutionData
oCScriptPubKeyMan
oCsecp256k1_assumption_checker
oCsecp256k1_callback
oCsecp256k1_context_struct
oCsecp256k1_ecdsa_recoverable_signatureOpaque data structured that holds a parsed ECDSA signature, supporting pubkey recovery
oCsecp256k1_ecdsa_signatureOpaque data structured that holds a parsed ECDSA signature
oCsecp256k1_ecmult_context
oCsecp256k1_ecmult_gen_context
oCsecp256k1_fe
oCsecp256k1_fe_storage
oCsecp256k1_geA group element of the secp256k1 curve, in affine coordinates
oCsecp256k1_ge_storage
oCsecp256k1_gejA group element of the secp256k1 curve, in jacobian coordinates
oCsecp256k1_hmac_sha256
oCsecp256k1_keypairOpaque data structure that holds a keypair consisting of a secret and a public key
oCsecp256k1_num
oCsecp256k1_pippenger_point_state
oCsecp256k1_pippenger_state
oCsecp256k1_pubkeyOpaque data structure that holds a parsed and valid public key
oCsecp256k1_rfc6979_hmac_sha256
oCsecp256k1_scalarA scalar modulo the group order of the secp256k1 curve
oCsecp256k1_scratch_space_struct
oCsecp256k1_sha256
oCsecp256k1_strauss_point_state
oCsecp256k1_strauss_state
oCsecp256k1_xonly_pubkeyOpaque data structure that holds a parsed and valid "x-only" public key
oCSecp256k1Init
oCSectionA pair of strings that can be aligned (through padding) with other Sections later on
oCSectionInfo
oCSectionsKeeps track of RPCArgs by transforming them into sections for the purpose of serializing everything to a single string
oCSeedSpec6
oCSendCoinsRecipient
oCWalletModel::SendCoinsReturn
oCutil::SettingsStored settings
oCutil::SettingsSpanAccessor for list of settings that skips negated values when iterated over
oCSHA3_256
oCSignatureCacheHasherWe're hashing a nonce into the entries themselves, so we don't need extra blinding in the set hash computation
oCSignatureData
oCSignetTxsGenerate the signet tx corresponding to the given block
oCSigningProviderAn interface to be implemented by keystores that support signing
oCSingleThreadedSchedulerClientClass used by CScheduler clients which may schedule multiple jobs which are required to be run serially
oCSnapshotMetadataMetadata describing a serialized version of a UTXO set from which an assumeutxo CChainState can be constructed
oCSpan< C >A Span is an object that can refer to a contiguous sequence of objects
oCstatic_visitor
oCLockedPool::StatsMemory statistics
oCArena::StatsMemory statistics
oCmemusage::stl_shared_counter
oCmemusage::stl_tree_node< X >
oCtinyformat::detail::is_convertible< T1, T2 >::succeed
oCtallyitem
oCTestChain100Setup
oCTestCrypter
oCTestingSetup
oCBCLog::Timer< TimeType >RAII-style object that outputs timing information to logs
oCTorControlConnectionLow-level handling for Tor control connection
oCTorControllerController that connects to Tor control socket, authenticate, then create and maintain an ephemeral onion service
oCTorControlReplyReply from Tor, can be single or multi-line
oCTransactionNotification
oCTransactionRecordUI model for a transaction
oCTransactionStatusUI model for transaction status
oCTransactionTablePriv
oCTransportDeserializerThe TransportDeserializer takes care of holding and deserializing the network receive buffer
oCTransportSerializerThe TransportSerializer prepares messages for the network transport
oCTxConfirmStatsWe will instantiate an instance of this class to track transactions that were included in a block
oCtxid_indexDisconnectedBlockTransactions
oCTxInUndoFormatterFormatter for undo information for a CTxIn
oCTxLessThan
oCTxMempoolInfoInformation about a mempool transaction
oCTxOutCompressionWrapper for CTxOut that provides a more compact serialization
oCCNode::TxRelay
oCTxRequestTrackerData structure to keep track of, and schedule, transaction downloads from peers
oCCBlockPolicyEstimator::TxStatsInfo
oCUISignals
oCUniValue
oCUniValueTypeWrapper for UniValue::VType, which includes typeAny: Used to denote don't care type
oCWalletModel::UnlockContext
oCupdate_ancestor_state
oCupdate_descendant_state
oCupdate_fee_delta
oCupdate_for_parent_inclusion
oCupdate_lock_points
oCValidationState< Result >Template for capturing information about block/transaction validation
oCValidationState< BlockValidationResult >
oCValidationState< TxValidationResult >
oCVarIntFormatter< Mode >Serialization wrapper class for integers in VarInt format
oCVBDeploymentInfo
oCVectorFormatter< Formatter >Formatter to serialize/deserialize vector elements using another formatter
oCVectorReaderMinimal stream for reading from an existing vector by reference
oCVersionBitsCacheBIP 9 allows multiple softforks to be deployed in parallel
oCinterfaces::WalletInterface for accessing a wallet
oCinterfaces::WalletAddressInformation about one wallet address
oCinterfaces::WalletBalancesCollection of wallet balances
oCWalletBatchAccess to the wallet database
oCWalletContextWalletContext struct containing references to state shared between CWallet instances, like the reference to the chain interface, and the list of opened wallets
oCWalletDatabaseAn instance of this class represents one database
oCWalletDatabaseFileId
oCWalletDescriptorDescriptor with some wallet metadata
oCWalletInitInterface
oCWalletModelTransactionData model for a walletmodel transaction
oCWalletRescanReserverRAII object to check and reserve a wallet rescan
oCWalletStorage
oCinterfaces::WalletTx
oCinterfaces::WalletTxOutWallet transaction output
oCinterfaces::WalletTxStatusUpdated transaction status
oCWitnessUnknownCTxDestination subtype to encode any future Witness version
oCWorkQueue< WorkItem >Simple work queue for distributing work over multiple threads
oCWrapper< Formatter, T >Simple wrapper class to serialize objects using a formatter; used by Using()
oCX
oCXOnlyPubKey
\CPARENT