Skip to content

Commit 247b914

Browse files
committed
Merge pull request #6262
506bae3 Return all available information via validateaddress (dexX7)
2 parents 5753988 + 506bae3 commit 247b914

File tree

1 file changed

+6
-15
lines changed

1 file changed

+6
-15
lines changed

src/rpcmisc.cpp

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -109,20 +109,14 @@ UniValue getinfo(const UniValue& params, bool fHelp)
109109
#ifdef ENABLE_WALLET
110110
class DescribeAddressVisitor : public boost::static_visitor<UniValue>
111111
{
112-
private:
113-
isminetype mine;
114-
115112
public:
116-
DescribeAddressVisitor(isminetype mineIn) : mine(mineIn) {}
117-
118113
UniValue operator()(const CNoDestination &dest) const { return UniValue(UniValue::VOBJ); }
119114

120115
UniValue operator()(const CKeyID &keyID) const {
121116
UniValue obj(UniValue::VOBJ);
122117
CPubKey vchPubKey;
123118
obj.push_back(Pair("isscript", false));
124-
if (mine == ISMINE_SPENDABLE) {
125-
pwalletMain->GetPubKey(keyID, vchPubKey);
119+
if (pwalletMain->GetPubKey(keyID, vchPubKey)) {
126120
obj.push_back(Pair("pubkey", HexStr(vchPubKey)));
127121
obj.push_back(Pair("iscompressed", vchPubKey.IsCompressed()));
128122
}
@@ -131,10 +125,9 @@ class DescribeAddressVisitor : public boost::static_visitor<UniValue>
131125

132126
UniValue operator()(const CScriptID &scriptID) const {
133127
UniValue obj(UniValue::VOBJ);
128+
CScript subscript;
134129
obj.push_back(Pair("isscript", true));
135-
if (mine != ISMINE_NO) {
136-
CScript subscript;
137-
pwalletMain->GetCScript(scriptID, subscript);
130+
if (pwalletMain->GetCScript(scriptID, subscript)) {
138131
std::vector<CTxDestination> addresses;
139132
txnouttype whichType;
140133
int nRequired;
@@ -200,11 +193,9 @@ UniValue validateaddress(const UniValue& params, bool fHelp)
200193
#ifdef ENABLE_WALLET
201194
isminetype mine = pwalletMain ? IsMine(*pwalletMain, dest) : ISMINE_NO;
202195
ret.push_back(Pair("ismine", (mine & ISMINE_SPENDABLE) ? true : false));
203-
if (mine != ISMINE_NO) {
204-
ret.push_back(Pair("iswatchonly", (mine & ISMINE_WATCH_ONLY) ? true: false));
205-
UniValue detail = boost::apply_visitor(DescribeAddressVisitor(mine), dest);
206-
ret.pushKVs(detail);
207-
}
196+
ret.push_back(Pair("iswatchonly", (mine & ISMINE_WATCH_ONLY) ? true: false));
197+
UniValue detail = boost::apply_visitor(DescribeAddressVisitor(), dest);
198+
ret.pushKVs(detail);
208199
if (pwalletMain && pwalletMain->mapAddressBook.count(dest))
209200
ret.push_back(Pair("account", pwalletMain->mapAddressBook[dest].name));
210201
#endif

0 commit comments

Comments
 (0)