bitcoin/src/node
fanquake e057e01b7b
Merge #21162: Net Processing: Move RelayTransaction() into PeerManager
680eb56d82 [net processing] Don't pass CConnman to RelayTransactions (John Newbery)
a38a4e8f03 [net processing] Move RelayTransaction into PeerManager (John Newbery)

Pull request description:

  This is the first part of #21160. It moves the RelayTransaction() function to be a member function of the PeerManager class. This is required in order to move the transaction inventory data into the Peer object, since Peer objects are only accessible from within PeerManager.

ACKs for top commit:
  ajtowns:
    ACK 680eb56d82

Tree-SHA512: 8c93491a4392b6369bb7f090de326a63cd62a088de59026e202f226f64ded50a0cf1a95ed703328860f02a9d2f64d3a87ca1bca9a6075b978bd111d384766235
2021-03-18 14:57:50 +08:00
..
coin.cpp node: Use existing NodeContext 2021-03-08 15:54:31 -05:00
coin.h node: Use mempool from node context instead of global 2019-12-05 14:22:05 -05:00
coinstats.cpp node/coinstats: Pass in BlockManager to GetUTXOStats 2021-03-08 15:54:31 -05:00
coinstats.h node/coinstats: Pass in BlockManager to GetUTXOStats 2021-03-08 15:54:31 -05:00
context.cpp Remove the remaining fee estimation globals 2020-12-03 12:56:37 +01:00
context.h Remove the remaining fee estimation globals 2020-12-03 12:56:37 +01:00
interfaces.cpp refactor: post Optional<> removal cleanups 2021-03-17 14:56:20 +08:00
psbt.cpp scripted-diff: Bump copyright headers 2020-04-16 13:33:09 -04:00
psbt.h refactor: post Optional<> removal cleanups 2021-03-17 14:56:20 +08:00
README.md [docs] Document src subdirectories and different libraries 2019-04-09 17:53:08 -04:00
transaction.cpp Merge #21162: Net Processing: Move RelayTransaction() into PeerManager 2021-03-18 14:57:50 +08:00
transaction.h scripted-diff: Use [[nodiscard]] (C++17) instead of NODISCARD 2020-11-26 09:05:59 +00:00
ui_interface.cpp gui: change combiner for signals to optional_last_value 2020-07-01 21:40:51 +08:00
ui_interface.h scripted-diff: Move ui_interface to the node lib 2020-06-27 11:49:28 -04:00
utxo_snapshot.h scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00

src/node/

The src/node/ directory contains code that needs to access node state (state in CChain, CBlockIndex, CCoinsView, CTxMemPool, and similar classes).

Code in src/node/ is meant to be segregated from code in src/wallet/ and src/qt/, to ensure wallet and GUI code changes don't interfere with node operation, to allow wallet and GUI code to run in separate processes, and to perhaps eventually allow wallet and GUI code to be maintained in separate source repositories.

As a rule of thumb, code in one of the src/node/, src/wallet/, or src/qt/ directories should avoid calling code in the other directories directly, and only invoke it indirectly through the more limited src/interfaces/ classes.

The src/node/ directory is a new directory introduced in #14978 and at the moment is sparsely populated. Eventually more substantial files like src/validation.cpp and src/txmempool.cpp might be moved there.