Skip to content

Commit 79facb1

Browse files
committed
wallet: use constant CWallets in rpcwallet.cpp
* GetAvoidReuseFlag: simply gets the flag, without modifying the wallet * ListReceived: helper function to produce lists * ListTransactions: produces a list of transactions, without modifications; two cases of map [] -> .at() for verified-existing keys * DescribeWalletAddress: generates a description of a given wallet address without changing the wallet * The following functions produce a list without making any modifications to the wallet: * listaddressgroupings * listreceivedbyaddress * listreceivedbylabel * listtransactions * listsinceblock * listlockunspent * listunspent * listlabels * getreceivedbyaddress * getreceivedbylabel * getaddressesbylabel * signmessage: uses the wallet to procure a private key for signing, but does no modifications * getbalance, getunconfirmedbalance: calculates the wallet balance, without any modifications * gettransaction: procures transaction without any modifications * backupwallet: makes a backup of the wallet to disk, without changing said wallet * getwalletinfo: produces info about wallet without any modifications * signrawtransactionwithwallet: modifies incoming transaction on the fly by signing with private key procured from within wallet; no modifications to wallet * getaddressinfo: gets information about the given address, with no modifications done to the wallet; one case of [] -> .at() and one ::iterator -> ::const_iterator * walletprocesspsbt: processes the given PSBT on the fly, without modifying the wallet
1 parent d9b0ebc commit 79facb1

File tree

1 file changed

+28
-28
lines changed

1 file changed

+28
-28
lines changed

src/wallet/rpcwallet.cpp

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939

4040
static const std::string WALLET_ENDPOINT_BASE = "/wallet/";
4141

42-
static inline bool GetAvoidReuseFlag(CWallet * const pwallet, const UniValue& param) {
42+
static inline bool GetAvoidReuseFlag(const CWallet* const pwallet, const UniValue& param) {
4343
bool can_avoid_reuse = pwallet->IsWalletFlagSet(WALLET_FLAG_AVOID_REUSE);
4444
bool avoid_reuse = param.isNull() ? can_avoid_reuse : param.get_bool();
4545

@@ -457,7 +457,7 @@ static UniValue sendtoaddress(const JSONRPCRequest& request)
457457
static UniValue listaddressgroupings(const JSONRPCRequest& request)
458458
{
459459
std::shared_ptr<CWallet> const wallet = GetWalletForJSONRPCRequest(request);
460-
CWallet* const pwallet = wallet.get();
460+
const CWallet* const pwallet = wallet.get();
461461

462462
if (!EnsureWalletIsAvailable(pwallet, request.fHelp)) {
463463
return NullUniValue;
@@ -518,7 +518,7 @@ static UniValue listaddressgroupings(const JSONRPCRequest& request)
518518
static UniValue signmessage(const JSONRPCRequest& request)
519519
{
520520
std::shared_ptr<CWallet> const wallet = GetWalletForJSONRPCRequest(request);
521-
CWallet* const pwallet = wallet.get();
521+
const CWallet* const pwallet = wallet.get();
522522

523523
if (!EnsureWalletIsAvailable(pwallet, request.fHelp)) {
524524
return NullUniValue;
@@ -588,7 +588,7 @@ static UniValue signmessage(const JSONRPCRequest& request)
588588
static UniValue getreceivedbyaddress(const JSONRPCRequest& request)
589589
{
590590
std::shared_ptr<CWallet> const wallet = GetWalletForJSONRPCRequest(request);
591-
CWallet* const pwallet = wallet.get();
591+
const CWallet* const pwallet = wallet.get();
592592

593593
if (!EnsureWalletIsAvailable(pwallet, request.fHelp)) {
594594
return NullUniValue;
@@ -658,7 +658,7 @@ static UniValue getreceivedbyaddress(const JSONRPCRequest& request)
658658
static UniValue getreceivedbylabel(const JSONRPCRequest& request)
659659
{
660660
std::shared_ptr<CWallet> const wallet = GetWalletForJSONRPCRequest(request);
661-
CWallet* const pwallet = wallet.get();
661+
const CWallet* const pwallet = wallet.get();
662662

663663
if (!EnsureWalletIsAvailable(pwallet, request.fHelp)) {
664664
return NullUniValue;
@@ -726,7 +726,7 @@ static UniValue getreceivedbylabel(const JSONRPCRequest& request)
726726
static UniValue getbalance(const JSONRPCRequest& request)
727727
{
728728
std::shared_ptr<CWallet> const wallet = GetWalletForJSONRPCRequest(request);
729-
CWallet* const pwallet = wallet.get();
729+
const CWallet* const pwallet = wallet.get();
730730

731731
if (!EnsureWalletIsAvailable(pwallet, request.fHelp)) {
732732
return NullUniValue;
@@ -784,7 +784,7 @@ static UniValue getbalance(const JSONRPCRequest& request)
784784
static UniValue getunconfirmedbalance(const JSONRPCRequest &request)
785785
{
786786
std::shared_ptr<CWallet> const wallet = GetWalletForJSONRPCRequest(request);
787-
CWallet* const pwallet = wallet.get();
787+
const CWallet* const pwallet = wallet.get();
788788

789789
if (!EnsureWalletIsAvailable(pwallet, request.fHelp)) {
790790
return NullUniValue;
@@ -1038,7 +1038,7 @@ struct tallyitem
10381038
}
10391039
};
10401040

1041-
static UniValue ListReceived(interfaces::Chain::Lock& locked_chain, CWallet * const pwallet, const UniValue& params, bool by_label) EXCLUSIVE_LOCKS_REQUIRED(pwallet->cs_wallet)
1041+
static UniValue ListReceived(interfaces::Chain::Lock& locked_chain, const CWallet* const pwallet, const UniValue& params, bool by_label) EXCLUSIVE_LOCKS_REQUIRED(pwallet->cs_wallet)
10421042
{
10431043
// Minimum confirmations
10441044
int nMinDepth = 1;
@@ -1187,7 +1187,7 @@ static UniValue ListReceived(interfaces::Chain::Lock& locked_chain, CWallet * co
11871187
static UniValue listreceivedbyaddress(const JSONRPCRequest& request)
11881188
{
11891189
std::shared_ptr<CWallet> const wallet = GetWalletForJSONRPCRequest(request);
1190-
CWallet* const pwallet = wallet.get();
1190+
const CWallet* const pwallet = wallet.get();
11911191

11921192
if (!EnsureWalletIsAvailable(pwallet, request.fHelp)) {
11931193
return NullUniValue;
@@ -1238,7 +1238,7 @@ static UniValue listreceivedbyaddress(const JSONRPCRequest& request)
12381238
static UniValue listreceivedbylabel(const JSONRPCRequest& request)
12391239
{
12401240
std::shared_ptr<CWallet> const wallet = GetWalletForJSONRPCRequest(request);
1241-
CWallet* const pwallet = wallet.get();
1241+
const CWallet* const pwallet = wallet.get();
12421242

12431243
if (!EnsureWalletIsAvailable(pwallet, request.fHelp)) {
12441244
return NullUniValue;
@@ -1297,7 +1297,7 @@ static void MaybePushAddress(UniValue & entry, const CTxDestination &dest)
12971297
* @param filter_ismine The "is mine" filter flags.
12981298
* @param filter_label Optional label string to filter incoming transactions.
12991299
*/
1300-
static void ListTransactions(interfaces::Chain::Lock& locked_chain, CWallet* const pwallet, const CWalletTx& wtx, int nMinDepth, bool fLong, UniValue& ret, const isminefilter& filter_ismine, const std::string* filter_label) EXCLUSIVE_LOCKS_REQUIRED(pwallet->cs_wallet)
1300+
static void ListTransactions(interfaces::Chain::Lock& locked_chain, const CWallet* const pwallet, const CWalletTx& wtx, int nMinDepth, bool fLong, UniValue& ret, const isminefilter& filter_ismine, const std::string* filter_label) EXCLUSIVE_LOCKS_REQUIRED(pwallet->cs_wallet)
13011301
{
13021302
CAmount nFee;
13031303
std::list<COutputEntry> listReceived;
@@ -1320,7 +1320,7 @@ static void ListTransactions(interfaces::Chain::Lock& locked_chain, CWallet* con
13201320
entry.pushKV("category", "send");
13211321
entry.pushKV("amount", ValueFromAmount(-s.amount));
13221322
if (pwallet->mapAddressBook.count(s.destination)) {
1323-
entry.pushKV("label", pwallet->mapAddressBook[s.destination].name);
1323+
entry.pushKV("label", pwallet->mapAddressBook.at(s.destination).name);
13241324
}
13251325
entry.pushKV("vout", s.vout);
13261326
entry.pushKV("fee", ValueFromAmount(-nFee));
@@ -1337,7 +1337,7 @@ static void ListTransactions(interfaces::Chain::Lock& locked_chain, CWallet* con
13371337
{
13381338
std::string label;
13391339
if (pwallet->mapAddressBook.count(r.destination)) {
1340-
label = pwallet->mapAddressBook[r.destination].name;
1340+
label = pwallet->mapAddressBook.at(r.destination).name;
13411341
}
13421342
if (filter_label && label != *filter_label) {
13431343
continue;
@@ -1397,7 +1397,7 @@ static const std::string TransactionDescriptionString()
13971397
UniValue listtransactions(const JSONRPCRequest& request)
13981398
{
13991399
std::shared_ptr<CWallet> const wallet = GetWalletForJSONRPCRequest(request);
1400-
CWallet* const pwallet = wallet.get();
1400+
const CWallet* const pwallet = wallet.get();
14011401

14021402
if (!EnsureWalletIsAvailable(pwallet, request.fHelp)) {
14031403
return NullUniValue;
@@ -1507,7 +1507,7 @@ UniValue listtransactions(const JSONRPCRequest& request)
15071507
static UniValue listsinceblock(const JSONRPCRequest& request)
15081508
{
15091509
std::shared_ptr<CWallet> const wallet = GetWalletForJSONRPCRequest(request);
1510-
CWallet* const pwallet = wallet.get();
1510+
const CWallet* const pwallet = wallet.get();
15111511

15121512
if (!EnsureWalletIsAvailable(pwallet, request.fHelp)) {
15131513
return NullUniValue;
@@ -1644,7 +1644,7 @@ static UniValue listsinceblock(const JSONRPCRequest& request)
16441644
static UniValue gettransaction(const JSONRPCRequest& request)
16451645
{
16461646
std::shared_ptr<CWallet> const wallet = GetWalletForJSONRPCRequest(request);
1647-
CWallet* const pwallet = wallet.get();
1647+
const CWallet* const pwallet = wallet.get();
16481648

16491649
if (!EnsureWalletIsAvailable(pwallet, request.fHelp)) {
16501650
return NullUniValue;
@@ -1797,7 +1797,7 @@ static UniValue abandontransaction(const JSONRPCRequest& request)
17971797
static UniValue backupwallet(const JSONRPCRequest& request)
17981798
{
17991799
std::shared_ptr<CWallet> const wallet = GetWalletForJSONRPCRequest(request);
1800-
CWallet* const pwallet = wallet.get();
1800+
const CWallet* const pwallet = wallet.get();
18011801

18021802
if (!EnsureWalletIsAvailable(pwallet, request.fHelp)) {
18031803
return NullUniValue;
@@ -2246,7 +2246,7 @@ static UniValue lockunspent(const JSONRPCRequest& request)
22462246
static UniValue listlockunspent(const JSONRPCRequest& request)
22472247
{
22482248
std::shared_ptr<CWallet> const wallet = GetWalletForJSONRPCRequest(request);
2249-
CWallet* const pwallet = wallet.get();
2249+
const CWallet* const pwallet = wallet.get();
22502250

22512251
if (!EnsureWalletIsAvailable(pwallet, request.fHelp)) {
22522252
return NullUniValue;
@@ -2407,7 +2407,7 @@ static UniValue getbalances(const JSONRPCRequest& request)
24072407
static UniValue getwalletinfo(const JSONRPCRequest& request)
24082408
{
24092409
std::shared_ptr<CWallet> const wallet = GetWalletForJSONRPCRequest(request);
2410-
CWallet* const pwallet = wallet.get();
2410+
const CWallet* const pwallet = wallet.get();
24112411

24122412
if (!EnsureWalletIsAvailable(pwallet, request.fHelp)) {
24132413
return NullUniValue;
@@ -2782,7 +2782,7 @@ static UniValue unloadwallet(const JSONRPCRequest& request)
27822782
static UniValue listunspent(const JSONRPCRequest& request)
27832783
{
27842784
std::shared_ptr<CWallet> const wallet = GetWalletForJSONRPCRequest(request);
2785-
CWallet* const pwallet = wallet.get();
2785+
const CWallet* const pwallet = wallet.get();
27862786

27872787
if (!EnsureWalletIsAvailable(pwallet, request.fHelp)) {
27882788
return NullUniValue;
@@ -3214,7 +3214,7 @@ static UniValue fundrawtransaction(const JSONRPCRequest& request)
32143214
UniValue signrawtransactionwithwallet(const JSONRPCRequest& request)
32153215
{
32163216
std::shared_ptr<CWallet> const wallet = GetWalletForJSONRPCRequest(request);
3217-
CWallet* const pwallet = wallet.get();
3217+
const CWallet* const pwallet = wallet.get();
32183218

32193219
if (!EnsureWalletIsAvailable(pwallet, request.fHelp)) {
32203220
return NullUniValue;
@@ -3688,7 +3688,7 @@ class DescribeWalletAddressVisitor : public boost::static_visitor<UniValue>
36883688
UniValue operator()(const WitnessUnknown& id) const { return UniValue(UniValue::VOBJ); }
36893689
};
36903690

3691-
static UniValue DescribeWalletAddress(CWallet* pwallet, const CTxDestination& dest)
3691+
static UniValue DescribeWalletAddress(const CWallet* const pwallet, const CTxDestination& dest)
36923692
{
36933693
UniValue ret(UniValue::VOBJ);
36943694
UniValue detail = DescribeAddress(dest);
@@ -3716,7 +3716,7 @@ static UniValue AddressBookDataToJSON(const CAddressBookData& data, const bool v
37163716
UniValue getaddressinfo(const JSONRPCRequest& request)
37173717
{
37183718
std::shared_ptr<CWallet> const wallet = GetWalletForJSONRPCRequest(request);
3719-
CWallet* const pwallet = wallet.get();
3719+
const CWallet* const pwallet = wallet.get();
37203720

37213721
if (!EnsureWalletIsAvailable(pwallet, request.fHelp)) {
37223722
return NullUniValue;
@@ -3815,7 +3815,7 @@ UniValue getaddressinfo(const JSONRPCRequest& request)
38153815
// be associated with an address, so the label should be equivalent to the
38163816
// value of the name key/value pair in the labels array below.
38173817
if ((pwallet->chain().rpcEnableDeprecated("label")) && (pwallet->mapAddressBook.count(dest))) {
3818-
ret.pushKV("label", pwallet->mapAddressBook[dest].name);
3818+
ret.pushKV("label", pwallet->mapAddressBook.at(dest).name);
38193819
}
38203820

38213821
ret.pushKV("ischange", pwallet->IsChange(scriptPubKey));
@@ -3838,7 +3838,7 @@ UniValue getaddressinfo(const JSONRPCRequest& request)
38383838
// stable if we allow multiple labels to be associated with an address in
38393839
// the future.
38403840
UniValue labels(UniValue::VARR);
3841-
std::map<CTxDestination, CAddressBookData>::iterator mi = pwallet->mapAddressBook.find(dest);
3841+
std::map<CTxDestination, CAddressBookData>::const_iterator mi = pwallet->mapAddressBook.find(dest);
38423842
if (mi != pwallet->mapAddressBook.end()) {
38433843
// DEPRECATED: The previous behavior of returning an array containing a
38443844
// JSON object of `name` and `purpose` key/value pairs is deprecated.
@@ -3856,7 +3856,7 @@ UniValue getaddressinfo(const JSONRPCRequest& request)
38563856
static UniValue getaddressesbylabel(const JSONRPCRequest& request)
38573857
{
38583858
std::shared_ptr<CWallet> const wallet = GetWalletForJSONRPCRequest(request);
3859-
CWallet* const pwallet = wallet.get();
3859+
const CWallet* const pwallet = wallet.get();
38603860

38613861
if (!EnsureWalletIsAvailable(pwallet, request.fHelp)) {
38623862
return NullUniValue;
@@ -3913,7 +3913,7 @@ static UniValue getaddressesbylabel(const JSONRPCRequest& request)
39133913
static UniValue listlabels(const JSONRPCRequest& request)
39143914
{
39153915
std::shared_ptr<CWallet> const wallet = GetWalletForJSONRPCRequest(request);
3916-
CWallet* const pwallet = wallet.get();
3916+
const CWallet* const pwallet = wallet.get();
39173917

39183918
if (!EnsureWalletIsAvailable(pwallet, request.fHelp)) {
39193919
return NullUniValue;
@@ -4046,7 +4046,7 @@ UniValue sethdseed(const JSONRPCRequest& request)
40464046
UniValue walletprocesspsbt(const JSONRPCRequest& request)
40474047
{
40484048
std::shared_ptr<CWallet> const wallet = GetWalletForJSONRPCRequest(request);
4049-
CWallet* const pwallet = wallet.get();
4049+
const CWallet* const pwallet = wallet.get();
40504050

40514051
if (!EnsureWalletIsAvailable(pwallet, request.fHelp)) {
40524052
return NullUniValue;

0 commit comments

Comments
 (0)