diff options
| author | Gavin Andresen <[email protected]> | 2010-10-20 12:35:35 -0400 |
|---|---|---|
| committer | Gavin Andresen <[email protected]> | 2010-10-20 12:35:35 -0400 |
| commit | 07c46dac87d48035fa0496bee4e1145a6fd8d736 (patch) | |
| tree | 5a450dbd1d6e6dcf615d7b1ade93583ba18ed86f /rpc.cpp | |
| parent | Update README now that main svn has -testnet built in (diff) | |
| parent | Gavin Andresen: multiple instance check, -testnet use port 18333 (diff) | |
| download | discoin-07c46dac87d48035fa0496bee4e1145a6fd8d736.tar.xz discoin-07c46dac87d48035fa0496bee4e1145a6fd8d736.zip | |
Merge remote branch 'refs/remotes/svn/trunk' into svn
Diffstat (limited to 'rpc.cpp')
| -rw-r--r-- | rpc.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
@@ -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[] = 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[] = "getlabel", "getaddressesbylabel", "backupwallet", + "validateaddress", }; set<string> setAllowInSafeMode(pAllowInSafeMode, pAllowInSafeMode + sizeof(pAllowInSafeMode)/sizeof(pAllowInSafeMode[0])); |