mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-03-25 23:16:16 +01:00
Remove uses of cs_main in wallet code
This commit does not change behavior.
It is easiest to review this change with:
git log -p -n1 -U0
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
#include <chain.h>
|
||||
#include <interfaces/chain.h>
|
||||
#include <key_io.h>
|
||||
#include <rpc/server.h>
|
||||
#include <validation.h>
|
||||
@@ -133,7 +134,8 @@ UniValue importprivkey(const JSONRPCRequest& request)
|
||||
WalletRescanReserver reserver(pwallet);
|
||||
bool fRescan = true;
|
||||
{
|
||||
LOCK2(cs_main, pwallet->cs_wallet);
|
||||
auto locked_chain = pwallet->chain().lock();
|
||||
LOCK(pwallet->cs_wallet);
|
||||
|
||||
EnsureWalletIsUnlocked(pwallet);
|
||||
|
||||
@@ -305,7 +307,8 @@ UniValue importaddress(const JSONRPCRequest& request)
|
||||
fP2SH = request.params[3].get_bool();
|
||||
|
||||
{
|
||||
LOCK2(cs_main, pwallet->cs_wallet);
|
||||
auto locked_chain = pwallet->chain().lock();
|
||||
LOCK(pwallet->cs_wallet);
|
||||
|
||||
CTxDestination dest = DecodeDestination(request.params[0].get_str());
|
||||
if (IsValidDestination(dest)) {
|
||||
@@ -362,7 +365,7 @@ UniValue importprunedfunds(const JSONRPCRequest& request)
|
||||
unsigned int txnIndex = 0;
|
||||
if (merkleBlock.txn.ExtractMatches(vMatch, vIndex) == merkleBlock.header.hashMerkleRoot) {
|
||||
|
||||
LOCK(cs_main);
|
||||
auto locked_chain = pwallet->chain().lock();
|
||||
const CBlockIndex* pindex = LookupBlockIndex(merkleBlock.header.GetHash());
|
||||
if (!pindex || !chainActive.Contains(pindex)) {
|
||||
throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Block not found in chain");
|
||||
@@ -382,7 +385,8 @@ UniValue importprunedfunds(const JSONRPCRequest& request)
|
||||
wtx.nIndex = txnIndex;
|
||||
wtx.hashBlock = merkleBlock.header.GetHash();
|
||||
|
||||
LOCK2(cs_main, pwallet->cs_wallet);
|
||||
auto locked_chain = pwallet->chain().lock();
|
||||
LOCK(pwallet->cs_wallet);
|
||||
|
||||
if (pwallet->IsMine(*wtx.tx)) {
|
||||
pwallet->AddToWallet(wtx, false);
|
||||
@@ -412,7 +416,8 @@ UniValue removeprunedfunds(const JSONRPCRequest& request)
|
||||
+ HelpExampleRpc("removeprunedfunds", "\"a8d0c0184dde994a09ec054286f1ce581bebf46446a512166eae7628734ea0a5\"")
|
||||
);
|
||||
|
||||
LOCK2(cs_main, pwallet->cs_wallet);
|
||||
auto locked_chain = pwallet->chain().lock();
|
||||
LOCK(pwallet->cs_wallet);
|
||||
|
||||
uint256 hash(ParseHashV(request.params[0], "txid"));
|
||||
std::vector<uint256> vHash;
|
||||
@@ -483,7 +488,8 @@ UniValue importpubkey(const JSONRPCRequest& request)
|
||||
throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Pubkey is not a valid public key");
|
||||
|
||||
{
|
||||
LOCK2(cs_main, pwallet->cs_wallet);
|
||||
auto locked_chain = pwallet->chain().lock();
|
||||
LOCK(pwallet->cs_wallet);
|
||||
|
||||
for (const auto& dest : GetAllDestinationsForKey(pubKey)) {
|
||||
ImportAddress(pwallet, dest, strLabel);
|
||||
@@ -535,7 +541,8 @@ UniValue importwallet(const JSONRPCRequest& request)
|
||||
int64_t nTimeBegin = 0;
|
||||
bool fGood = true;
|
||||
{
|
||||
LOCK2(cs_main, pwallet->cs_wallet);
|
||||
auto locked_chain = pwallet->chain().lock();
|
||||
LOCK(pwallet->cs_wallet);
|
||||
|
||||
EnsureWalletIsUnlocked(pwallet);
|
||||
|
||||
@@ -653,7 +660,8 @@ UniValue dumpprivkey(const JSONRPCRequest& request)
|
||||
+ HelpExampleRpc("dumpprivkey", "\"myaddress\"")
|
||||
);
|
||||
|
||||
LOCK2(cs_main, pwallet->cs_wallet);
|
||||
auto locked_chain = pwallet->chain().lock();
|
||||
LOCK(pwallet->cs_wallet);
|
||||
|
||||
EnsureWalletIsUnlocked(pwallet);
|
||||
|
||||
@@ -700,7 +708,8 @@ UniValue dumpwallet(const JSONRPCRequest& request)
|
||||
+ HelpExampleRpc("dumpwallet", "\"test\"")
|
||||
);
|
||||
|
||||
LOCK2(cs_main, pwallet->cs_wallet);
|
||||
auto locked_chain = pwallet->chain().lock();
|
||||
LOCK(pwallet->cs_wallet);
|
||||
|
||||
EnsureWalletIsUnlocked(pwallet);
|
||||
|
||||
@@ -1134,7 +1143,8 @@ UniValue importmulti(const JSONRPCRequest& mainRequest)
|
||||
int64_t nLowestTimestamp = 0;
|
||||
UniValue response(UniValue::VARR);
|
||||
{
|
||||
LOCK2(cs_main, pwallet->cs_wallet);
|
||||
auto locked_chain = pwallet->chain().lock();
|
||||
LOCK(pwallet->cs_wallet);
|
||||
EnsureWalletIsUnlocked(pwallet);
|
||||
|
||||
// Verify all timestamps are present before importing any keys.
|
||||
|
||||
Reference in New Issue
Block a user