Bitcoin Core
31.1.0
P2P Digital Currency
Toggle main menu visibility
Loading...
Searching...
No Matches
src
wallet
rpc
util.h
Go to the documentation of this file.
1
// Copyright (c) 2017-present The Bitcoin Core developers
2
// Distributed under the MIT software license, see the accompanying
3
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
4
5
#ifndef BITCOIN_WALLET_RPC_UTIL_H
6
#define BITCOIN_WALLET_RPC_UTIL_H
7
8
#include <rpc/util.h>
9
#include <
script/script.h
>
10
#include <
wallet/wallet.h
>
11
12
#include <any>
13
#include <memory>
14
#include <optional>
15
#include <string>
16
#include <string_view>
17
#include <vector>
18
19
class
JSONRPCRequest
;
20
class
UniValue
;
21
struct
bilingual_str
;
22
23
namespace
wallet
{
24
class
LegacyScriptPubKeyMan;
25
enum class
DatabaseStatus
;
26
struct
WalletContext
;
27
28
extern
const
std::string
HELP_REQUIRING_PASSPHRASE
;
29
30
static
const
RPCResult
RESULT_LAST_PROCESSED_BLOCK
{
RPCResult::Type::OBJ
,
"lastprocessedblock"
,
"hash and height of the block this information was generated on"
,{
31
{
RPCResult::Type::STR_HEX
,
"hash"
,
"hash of the block this information was generated on"
},
32
{
RPCResult::Type::NUM
,
"height"
,
"height of the block this information was generated on"
}}
33
};
34
41
std::shared_ptr<CWallet>
GetWalletForJSONRPCRequest
(
const
JSONRPCRequest
& request);
42
bool
GetWalletNameFromJSONRPCRequest
(
const
JSONRPCRequest
& request, std::string& wallet_name);
47
std::string
EnsureUniqueWalletName
(
const
JSONRPCRequest
& request, std::optional<std::string_view> wallet_name);
48
49
void
EnsureWalletIsUnlocked
(
const
CWallet
&);
50
WalletContext
&
EnsureWalletContext
(
const
std::any& context);
51
52
bool
GetAvoidReuseFlag
(
const
CWallet
&
wallet
,
const
UniValue
& param);
53
std::string
LabelFromValue
(
const
UniValue
& value);
55
void
PushParentDescriptors
(
const
CWallet
&
wallet
,
const
CScript
& script_pubkey,
UniValue
& entry);
56
57
void
HandleWalletError
(
const
std::shared_ptr<CWallet>&
wallet
,
DatabaseStatus
& status,
bilingual_str
& error);
58
void
AppendLastProcessedBlock
(
UniValue
& entry,
const
CWallet
&
wallet
)
EXCLUSIVE_LOCKS_REQUIRED
(
wallet
.cs_wallet);
59
}
// namespace wallet
60
61
#endif
// BITCOIN_WALLET_RPC_UTIL_H
CScript
Serialized script, used inside transaction inputs and outputs.
Definition
script.h:405
CWallet
A CWallet maintains a set of transactions and balances, and provides the ability to create new transa...
Definition
wallet.h:310
JSONRPCRequest
Definition
request.h:53
UniValue
Definition
univalue.h:22
wallet
Definition
wallet_balance.cpp:26
wallet::GetWalletForJSONRPCRequest
std::shared_ptr< CWallet > GetWalletForJSONRPCRequest(const JSONRPCRequest &request)
Figures out what wallet, if any, to use for a JSONRPCRequest.
Definition
util.cpp:64
wallet::RESULT_LAST_PROCESSED_BLOCK
static const RPCResult RESULT_LAST_PROCESSED_BLOCK
Definition
util.h:30
wallet::HandleWalletError
void HandleWalletError(const std::shared_ptr< CWallet > &wallet, DatabaseStatus &status, bilingual_str &error)
Definition
util.cpp:127
wallet::GetWalletNameFromJSONRPCRequest
bool GetWalletNameFromJSONRPCRequest(const JSONRPCRequest &request, std::string &wallet_name)
Definition
util.cpp:54
wallet::EnsureWalletIsUnlocked
void EnsureWalletIsUnlocked(const CWallet &wallet)
Definition
util.cpp:88
wallet::EnsureUniqueWalletName
std::string EnsureUniqueWalletName(const JSONRPCRequest &request, std::optional< std::string_view > wallet_name)
Ensures that a wallet name is specified across the endpoint and wallet_name.
Definition
util.cpp:33
wallet::HELP_REQUIRING_PASSPHRASE
const std::string HELP_REQUIRING_PASSPHRASE
Definition
util.cpp:20
wallet::PushParentDescriptors
void PushParentDescriptors(const CWallet &wallet, const CScript &script_pubkey, UniValue &entry)
Fetch parent descriptors of this scriptPubKey.
Definition
util.cpp:115
wallet::EnsureWalletContext
WalletContext & EnsureWalletContext(const std::any &context)
Definition
util.cpp:95
wallet::LabelFromValue
std::string LabelFromValue(const UniValue &value)
Definition
util.cpp:104
wallet::AppendLastProcessedBlock
void AppendLastProcessedBlock(UniValue &entry, const CWallet &wallet)
Definition
util.cpp:159
wallet::GetAvoidReuseFlag
bool GetAvoidReuseFlag(const CWallet &wallet, const UniValue ¶m)
Definition
util.cpp:22
wallet::DatabaseStatus
DatabaseStatus
Definition
db.h:186
script.h
RPCResult
Definition
util.h:296
RPCResult::Type::NUM
@ NUM
Definition
util.h:301
RPCResult::Type::STR_HEX
@ STR_HEX
Special string with only hex chars.
Definition
util.h:306
RPCResult::Type::OBJ
@ OBJ
Definition
util.h:298
WalletContext
Definition
context.h:36
bilingual_str
Bilingual messages:
Definition
translation.h:24
wallet::WalletContext
Definition
context.h:36
EXCLUSIVE_LOCKS_REQUIRED
#define EXCLUSIVE_LOCKS_REQUIRED(...)
Definition
threadsafety.h:51
wallet.h
DatabaseStatus
DatabaseStatus
Definition
db.h:186
Generated on
for Bitcoin Core by
1.17.0