dash/src/node
MarcoFalke c618e5cdf8 Merge #19556: Remove mempool global
fafb381af8279b2d2ca768df0bf68d7eb036a2f9 Remove mempool global (MarcoFalke)
fa0359c5b30730744aa8a7cd9ffab79ded91041f Remove mempool global from p2p (MarcoFalke)
eeee1104d78eb59a582ee1709ff4ac2c33ee1190 Remove mempool global from init (MarcoFalke)

Pull request description:

  This refactor unlocks some nice potential features, such as, but not limited to:
  * Removing the fee estimates global (would avoid slightly fragile workarounds such as #18766)
  * Making the mempool optional for a "blocksonly" operation mode

  Even absent those features, the new code without the global should be easier to maintain, read and write tests for.

ACKs for top commit:
  jnewbery:
    utACK fafb381af8279b2d2ca768df0bf68d7eb036a2f9
  hebasto:
    ACK fafb381af8279b2d2ca768df0bf68d7eb036a2f9, I have reviewed the code and it looks OK, I agree it can be merged.
  darosior:
    ACK fafb381af8279b2d2ca768df0bf68d7eb036a2f9

Tree-SHA512: a2e696dc377e2e81eaf9c389e6d13dde4a48d81f3538df88f4da502d3012dd61078495140ab5a5854f360a06249fe0e1f6a094c4e006d8b5cc2552a946becf26
2023-02-15 00:07:39 -06:00
..
coin.cpp merge bitcoin#17564: Use mempool from node context instead of global 2022-05-18 20:49:34 +05:30
coin.h merge bitcoin#17564: Use mempool from node context instead of global 2022-05-18 20:49:34 +05:30
coinstats.cpp merge bitcoin#20581: Don't make "in" parameters look like "out"/"in-out" parameters: pass by ref to const instead of ref to non-const 2022-10-17 08:03:12 +05:30
coinstats.h merge bitcoin#19056: Make gettxoutsetinfo/GetUTXOStats interruptible 2022-05-23 10:39:43 +05:30
context.cpp Merge #19556: Remove mempool global 2023-02-15 00:07:39 -06:00
context.h Merge #19556: Remove mempool global 2023-02-15 00:07:39 -06:00
README.md merge bitcoin#15638: Pull wallet code out of libbitcoin_server (#4560) 2021-11-16 10:19:47 -05:00
transaction.cpp merge bitcoin#17564: Use mempool from node context instead of global 2022-05-18 20:49:34 +05:30
transaction.h Merge #17945: doc: Fix doxygen errors 2022-10-17 15:41:14 -05:00
utxo_snapshot.h merge bitcoin#16899: UTXO snapshot creation (dumptxoutset) 2022-05-23 10:38:33 +05:30

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.