Use ConvertTo to simplify sendmany/addmultisigaddress argument handling
This commit is contained in:
parent
ea7582bb41
commit
98474d3d6f
1 changed files with 5 additions and 18 deletions
|
@ -2989,24 +2989,11 @@ Array RPCConvertValues(const std::string &strMethod, const std::vector<std::stri
|
||||||
if (strMethod == "listaccounts" && n > 0) ConvertTo<boost::int64_t>(params[0]);
|
if (strMethod == "listaccounts" && n > 0) ConvertTo<boost::int64_t>(params[0]);
|
||||||
if (strMethod == "walletpassphrase" && n > 1) ConvertTo<boost::int64_t>(params[1]);
|
if (strMethod == "walletpassphrase" && n > 1) ConvertTo<boost::int64_t>(params[1]);
|
||||||
if (strMethod == "listsinceblock" && n > 1) ConvertTo<boost::int64_t>(params[1]);
|
if (strMethod == "listsinceblock" && n > 1) ConvertTo<boost::int64_t>(params[1]);
|
||||||
if (strMethod == "sendmany" && n > 1)
|
if (strMethod == "sendmany" && n > 1) ConvertTo<Object>(params[1]);
|
||||||
{
|
if (strMethod == "sendmany" && n > 2) ConvertTo<boost::int64_t>(params[2]);
|
||||||
string s = params[1].get_str();
|
if (strMethod == "addmultisigaddress" && n > 0) ConvertTo<boost::int64_t>(params[0]);
|
||||||
Value v;
|
if (strMethod == "addmultisigaddress" && n > 1) ConvertTo<Array>(params[1]);
|
||||||
if (!read_string(s, v) || v.type() != obj_type)
|
|
||||||
throw runtime_error("type mismatch");
|
|
||||||
params[1] = v.get_obj();
|
|
||||||
}
|
|
||||||
if (strMethod == "sendmany" && n > 2) ConvertTo<boost::int64_t>(params[2]);
|
|
||||||
if (strMethod == "addmultisigaddress" && n > 0) ConvertTo<boost::int64_t>(params[0]);
|
|
||||||
if (strMethod == "addmultisigaddress" && n > 1)
|
|
||||||
{
|
|
||||||
string s = params[1].get_str();
|
|
||||||
Value v;
|
|
||||||
if (!read_string(s, v) || v.type() != array_type)
|
|
||||||
throw runtime_error("type mismatch "+s);
|
|
||||||
params[1] = v.get_array();
|
|
||||||
}
|
|
||||||
return params;
|
return params;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue