aboutsummaryrefslogtreecommitdiff
path: root/src/wallet/rpc/transactions.cpp
diff options
context:
space:
mode:
authorSamuel Dobson <dobsonsa68@gmail.com>2021-12-08 11:54:08 +1300
committerSamuel Dobson <dobsonsa68@gmail.com>2021-12-08 11:54:08 +1300
commitb36e738285b111a184c67fd845404850c34333a3 (patch)
tree5cecd9592f03505fc30274f19cef95fe7f7e74ca /src/wallet/rpc/transactions.cpp
parentd794d0da8f05c66e4a81615c6de8c50f8bcdb5be (diff)
downloadbitcoin-b36e738285b111a184c67fd845404850c34333a3.tar.xz
MOVEONLY: Move abortrescan from backup.cpp to transactions.cpp
Diffstat (limited to 'src/wallet/rpc/transactions.cpp')
-rw-r--r--src/wallet/rpc/transactions.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/wallet/rpc/transactions.cpp b/src/wallet/rpc/transactions.cpp
index 36acbdc9f6..cf828d6339 100644
--- a/src/wallet/rpc/transactions.cpp
+++ b/src/wallet/rpc/transactions.cpp
@@ -931,3 +931,30 @@ RPCHelpMan rescanblockchain()
},
};
}
+
+RPCHelpMan abortrescan()
+{
+ return RPCHelpMan{"abortrescan",
+ "\nStops current wallet rescan triggered by an RPC call, e.g. by an importprivkey call.\n"
+ "Note: Use \"getwalletinfo\" to query the scanning progress.\n",
+ {},
+ RPCResult{RPCResult::Type::BOOL, "", "Whether the abort was successful"},
+ RPCExamples{
+ "\nImport a private key\n"
+ + HelpExampleCli("importprivkey", "\"mykey\"") +
+ "\nAbort the running wallet rescan\n"
+ + HelpExampleCli("abortrescan", "") +
+ "\nAs a JSON-RPC call\n"
+ + HelpExampleRpc("abortrescan", "")
+ },
+ [&](const RPCHelpMan& self, const JSONRPCRequest& request) -> UniValue
+{
+ std::shared_ptr<CWallet> const pwallet = GetWalletForJSONRPCRequest(request);
+ if (!pwallet) return NullUniValue;
+
+ if (!pwallet->IsScanning() || pwallet->IsAbortingRescan()) return false;
+ pwallet->AbortRescan();
+ return true;
+},
+ };
+}