Fixed non-sensical error message

Previously trying to create a multisig address that required less than
one signature would output something like the following:

"wrong number of keys(got 1, need at least 0)"
This commit is contained in:
Peter Todd
2012-04-28 16:29:27 -04:00
committed by Luke Dashjr
parent ee932c6e35
commit b94e6eb5a5

View File

@@ -1002,10 +1002,12 @@ Value addmultisigaddress(const Array& params, bool fHelp)
strAccount = AccountFromValue(params[2]);
// Gather public keys
if (nRequired < 1 || keys.size() < nRequired)
if (nRequired < 1)
throw runtime_error("a multisignature address must require at least one key to redeem");
if (keys.size() < nRequired)
throw runtime_error(
strprintf("wrong number of keys"
"(got %d, need at least %d)", keys.size(), nRequired));
strprintf("not enough keys supplied "
"(got %d keys, but need at least %d to redeem)", keys.size(), nRequired));
std::vector<CKey> pubkeys;
pubkeys.resize(keys.size());
for (unsigned int i = 0; i < keys.size(); i++)