|
|
|
@ -654,7 +654,28 @@ Value backupwallet(const Array& params, bool fHelp)
@@ -654,7 +654,28 @@ Value backupwallet(const Array& params, bool fHelp)
|
|
|
|
|
return Value::null; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
Value validateaddress(const Array& params, bool fHelp) |
|
|
|
|
{ |
|
|
|
|
if (fHelp || params.size() != 1) |
|
|
|
|
throw runtime_error( |
|
|
|
|
"validateaddress <bitcoinaddress>\n" |
|
|
|
|
"Return information about <bitcoinaddress>."); |
|
|
|
|
|
|
|
|
|
string strAddress = params[0].get_str(); |
|
|
|
|
uint160 hash160; |
|
|
|
|
bool isValid = AddressToHash160(strAddress, hash160); |
|
|
|
|
|
|
|
|
|
Object ret; |
|
|
|
|
ret.push_back(Pair("isvalid", isValid)); |
|
|
|
|
if (isValid) |
|
|
|
|
{ |
|
|
|
|
// Call Hash160ToAddress() so we always return current ADDRESSVERSION
|
|
|
|
|
// version of the address:
|
|
|
|
|
ret.push_back(Pair("address", Hash160ToAddress(hash160))); |
|
|
|
|
ret.push_back(Pair("ismine", (mapPubKeys.count(hash160) > 0))); |
|
|
|
|
} |
|
|
|
|
return ret; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -695,6 +716,7 @@ pair<string, rpcfn_type> pCallTable[] =
@@ -695,6 +716,7 @@ pair<string, rpcfn_type> pCallTable[] =
|
|
|
|
|
make_pair("listreceivedbyaddress", &listreceivedbyaddress), |
|
|
|
|
make_pair("listreceivedbylabel", &listreceivedbylabel), |
|
|
|
|
make_pair("backupwallet", &backupwallet), |
|
|
|
|
make_pair("validateaddress", &validateaddress), |
|
|
|
|
}; |
|
|
|
|
map<string, rpcfn_type> mapCallTable(pCallTable, pCallTable + sizeof(pCallTable)/sizeof(pCallTable[0])); |
|
|
|
|
|
|
|
|
@ -715,6 +737,7 @@ string pAllowInSafeMode[] =
@@ -715,6 +737,7 @@ string pAllowInSafeMode[] =
|
|
|
|
|
"getlabel", |
|
|
|
|
"getaddressesbylabel", |
|
|
|
|
"backupwallet", |
|
|
|
|
"validateaddress", |
|
|
|
|
}; |
|
|
|
|
set<string> setAllowInSafeMode(pAllowInSafeMode, pAllowInSafeMode + sizeof(pAllowInSafeMode)/sizeof(pAllowInSafeMode[0])); |
|
|
|
|
|
|
|
|
|