bitcoin/src/node
Carl Dong b026e318c3 validation: Move FindForkInGlobalIndex to BlockManager
[META] This commit should be followed up by removing the comments and
       assertions meant only to show that the change is correct.

FindForkInGlobalIndex only acts on BlockManager.

Note to reviewers: Since FindForkInGlobalIndex is always called with
::ChainActive() as its first parameter, it is possible to move
FindForkInGlobalIndex to CChainState and remove this const CChain&
parameter to instead use m_chain. However, it seems like the original
intention was for FindForkInGlobalIndex to work with _any_ chain, not
just the current active chain. Let me know if this should be changed.
2021-01-28 14:15:26 -05:00
..
coin.cpp node: Use mempool from node context instead of global 2019-12-05 14:22:05 -05:00
coin.h node: Use mempool from node context instead of global 2019-12-05 14:22:05 -05:00
coinstats.cpp scripted-diff: Use BlockManager::LookupBlockIndex 2021-01-28 14:15:26 -05:00
coinstats.h scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01: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 validation: Move FindForkInGlobalIndex to BlockManager 2021-01-28 14:15:26 -05:00
psbt.cpp scripted-diff: Bump copyright headers 2020-04-16 13:33:09 -04:00
psbt.h Have a PSBTAnalysis state that indicates invalid PSBT 2019-11-19 14:54:08 -05:00
README.md [docs] Document src subdirectories and different libraries 2019-04-09 17:53:08 -04:00
transaction.cpp scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01: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.