dash/src/interfaces
MarcoFalke 57d5246c2d Merge #16503: Remove p2pEnabled from Chain interface
b7b9f6e4cee262004643e2fe03d56cb47fdbf5c2 Remove p2pEnabled from Chain interface (Antoine Riard)

Pull request description:

  RPC server starts in warmup mode, it can't process yet calls, then follows connection manager initialization and finally RPC server get out of warmup mode. RPC calls shouldn't be able to get P2P disabled errors because once we initialize g_connman it's not unset until shutdown, after RPC server has been stopped.

  @mzumsande comment in #15713 let me thought that `p2pEnabled` was maybe useless, `g_connman` is always initialized before RPC server is getting out of warmup. These checks against P2P state were introduced in 5b446dd5b1.

ACKs for top commit:
  promag:
    ACK b7b9f6e4cee262004643e2fe03d56cb47fdbf5c2
  jnewbery:
    ACK b7b9f6e4cee262004643e2fe03d56cb47fdbf5c2

Tree-SHA512: 4de2b9fc496bf8347ff5cc645848a5a44c8ca7596cd134f17f3088f5f8262d1d88b8e2a052df93e309ec9a81956a808df17a9eb9f10d4f4d693c95d607fe3561
2023-04-04 12:45:27 -05:00
..
chain.cpp Merge #16503: Remove p2pEnabled from Chain interface 2023-04-04 12:45:27 -05:00
chain.h Merge #16503: Remove p2pEnabled from Chain interface 2023-04-04 12:45:27 -05:00
handler.cpp merge bitcoin#21404: Remove MakeUnique<T>() 2022-10-20 16:08:45 -05:00
handler.h merge bitcoin#16963: Fix unique_ptr usage in boost::signals2 2022-05-13 18:06:06 +05:30
node.cpp merge bitcoin#18766: disable fee estimation in blocksonly mode (by removing the fee estimates global) 2023-02-28 00:11:11 +03:00
node.h merge bitcoin#18766: disable fee estimation in blocksonly mode (by removing the fee estimates global) 2023-02-28 00:11:11 +03:00
README.md Merge #15531: Suggested interfaces::Chain cleanups from #15288 2021-11-30 00:01:17 -05:00
wallet.cpp Merge #18115: wallet: Pass in transactions and messages for signing instead of exporting the private keys 2023-03-19 11:08:31 -05:00
wallet.h Merge #18115: wallet: Pass in transactions and messages for signing instead of exporting the private keys 2023-03-19 11:08:31 -05:00

Internal c++ interfaces

The following interfaces are defined here:

  • Chain — used by wallet to access blockchain and mempool state. Added in #14437, #14711, #15288, and #10973.

  • ChainClient — used by node to start & stop Chain clients. Added in #14437.

  • Node — used by GUI to start & stop bitcoin node. Added in #10244.

  • Wallet — used by GUI to access wallets. Added in #10244.

  • Handler — returned by handleEvent methods on interfaces above and used to manage lifetimes of event handlers.

  • Init — used by multiprocess code to access interfaces above on startup. Added in #10102.

The interfaces above define boundaries between major components of bitcoin code (node, wallet, and gui), making it possible for them to run in different processes, and be tested, developed, and understood independently. These interfaces are not currently designed to be stable or to be used externally.