elements/src/node
MacroFake 57bf12523c
Merge bitcoin/bitcoin#24934: refactor, miner: Delete call to UpdatePackagesForAdded at beginning of addPackageTxs
7036cf52aa Delete UpdatePackagesForAdded at beginning of addPackageTxs. (KevinMusgrave)

Pull request description:

  In `CreateNewBlock` (in miner.cpp), `inBlock` is cleared before `addPackageTxs`, so `inBlock` will be empty in the first call to `UpdatePackagesForAdded`. I saw this brought up in these [PR review club logs](https://bitcoincore.reviews/24538) and there didn't seem to be a definitive answer for why the call is necessary. There's also an [old PR](https://github.com/bitcoin/bitcoin/pull/10200) where this change was going to be applied, but it got closed.

  If `addPackageTxs` can be called when `inBlock` is not empty, then maybe a test should be added for that case. All the tests seem to pass with this deletion.

ACKs for top commit:
  glozow:
    utACK 7036cf52aa

Tree-SHA512: 9e757b71b9035f68a0c6fef229b8cd83f1bdbe23f05bb02cc1bab8c3c177805b388bceb2bb1f0bce354791ccb29f351a6c51979b96ffe4d9fc6c978f83e36afc
2022-05-27 15:11:51 +02:00
..
blockstorage.cpp blockstorage, refactor: pass GetFirstStoredBlock() start_block by reference 2022-04-28 20:42:08 +02:00
blockstorage.h blockstorage: add LIFETIMEBOUND to GetFirstStoredBlock()::start_time 2022-05-03 22:20:31 +02:00
caches.cpp Add src/node/* code to node:: namespace 2022-01-06 22:14:16 -05:00
caches.h Add src/node/* code to node:: namespace 2022-01-06 22:14:16 -05:00
chainstate.cpp Do not pass Consensus::Params& to Chainstate helpers 2022-05-18 18:45:30 +02:00
chainstate.h Do not pass Consensus::Params& to Chainstate helpers 2022-05-18 18:45:30 +02:00
coin.cpp Add src/node/* code to node:: namespace 2022-01-06 22:14:16 -05:00
coin.h Add src/node/* code to node:: namespace 2022-01-06 22:14:16 -05:00
context.cpp refactor: use C++11 default initializers 2022-05-17 17:18:58 +01:00
context.h [init] Add netgroupman to node.context 2022-04-19 10:25:40 +01:00
interfaces.cpp Merge bitcoin/bitcoin#15936: interfaces: Expose settings.json methods to GUI 2022-05-26 17:05:10 +02:00
miner.cpp Merge bitcoin/bitcoin#24934: refactor, miner: Delete call to UpdatePackagesForAdded at beginning of addPackageTxs 2022-05-27 15:11:51 +02:00
miner.h Do not pass CChainParams& to BlockAssembler constructor 2022-05-18 18:46:07 +02:00
minisketchwrapper.cpp Add src/node/* code to node:: namespace 2022-01-06 22:14:16 -05:00
minisketchwrapper.h Add src/node/* code to node:: namespace 2022-01-06 22:14:16 -05:00
psbt.cpp Add src/node/* code to node:: namespace 2022-01-06 22:14:16 -05:00
psbt.h Add src/node/* code to node:: namespace 2022-01-06 22:14:16 -05:00
README.md doc: Remove irrelevant link to GitHub 2021-04-06 09:34:21 +02:00
transaction.cpp Add src/node/* code to node:: namespace 2022-01-06 22:14:16 -05:00
transaction.h refactor: Remove defunct attributes.h includes 2022-05-21 13:54:33 -05:00
ui_interface.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
ui_interface.h refactor: Make MessageBoxFlags enum underlying type unsigned 2022-01-31 09:27:12 +01:00
utxo_snapshot.h Add src/node/* code to node:: namespace 2022-01-06 22:14:16 -05: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.

This directory is at the moment sparsely populated. Eventually more substantial files like src/validation.cpp and src/txmempool.cpp might be moved there.