BTCP-Rebase/src/rpc
Wladimir J. van der Laan 6378eef18f
Merge #13063: Use shared pointer to retain wallet instance
80b4910f7d wallet: Use shared pointer to retain wallet instance (João Barbosa)

Pull request description:

  Currently there are 3 places where it makes sense to retain a wallet shared pointer:
   - `vpwallets`;
   - `interfaces::Wallet` interface instance - used by the UI;
   - wallet RPC functions - given by `GetWalletForJSONRPCRequest`.

  The way it is now it is possible to have, for instance, listunspent RPC and in parallel unload the wallet (once #13111 is merged) without blocking. Once the RPC finishes, the shared pointer will release the wallet.

  It is also possible to get all existing wallets without blocking because the caller keeps a local list of shared pointers.

  This is mostly relevant for wallet unloading.

  This PR replaces #11402.

Tree-SHA512: b7e37c7e1ab56626085afe2d40b1628e8d4f0dbda08df01b7e618ecd2d894ce9b83d4219443f444ba889096286eff002f163cb0a48f37063b62e9ba4ccfa6cce
2018-05-24 11:58:41 +02:00
..
blockchain.cpp Merge #10757: RPC: Introduce getblockstats to plot things 2018-05-23 19:00:48 +02:00
blockchain.h Remove unnecessary forward class declarations in header files 2017-06-12 20:37:43 +02:00
client.cpp Merge #10757: RPC: Introduce getblockstats to plot things 2018-05-23 19:00:48 +02:00
client.h Fix missing or inconsistent include guards 2018-03-22 16:23:04 +01:00
mining.cpp Merge #12963: Fix Clang Static Analyzer warnings 2018-05-14 10:45:24 -04:00
mining.h scripted-diff: Replace #include "" with #include <> (ryanofsky) 2017-11-16 08:23:01 +13:00
misc.cpp Make it clear which functions that are intended to be translation unit local 2018-05-03 21:47:40 +02:00
net.cpp Make it clear which functions that are intended to be translation unit local 2018-05-03 21:47:40 +02:00
protocol.cpp scripted-diff: Use UniValue.pushKV instead of push_back(Pair()) 2018-02-10 10:05:07 -05:00
protocol.h rpc: Move RPC_FORBIDDEN_BY_SAFE_MODE code to reserved section 2018-04-27 09:19:09 +02:00
rawtransaction.cpp wallet: Use shared pointer to retain wallet instance 2018-05-22 16:56:20 +01:00
rawtransaction.h Declare CMutableTransaction a struct in rawtransaction.h 2018-02-20 14:16:37 -08:00
register.h Fix missing or inconsistent include guards 2018-03-22 16:23:04 +01:00
server.cpp Merge #13116: Add Clang thread safety annotations for variables guarded by cs_{rpcWarmup,nTimeOffset,warnings} 2018-05-14 08:46:54 -04:00
server.h Merge #12757: Clarify include guard naming convention 2018-04-01 18:30:21 -04:00
util.cpp Merge #12542: Remove redundant includes. Conform to header include guidelines. 2018-03-16 16:59:27 -07:00
util.h Remove redundant includes. Conform to header include guidelines. 2018-02-27 22:30:40 +01:00