Fixed non-sensical error message
authorPeter Todd <pete@petertodd.org>
Sat, 28 Apr 2012 20:29:27 +0000 (16:29 -0400)
committerLuke Dashjr <luke-jr+git@utopios.org>
Sun, 6 May 2012 05:30:37 +0000 (05:30 +0000)
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)"

src/bitcoinrpc.cpp

index 6525c15..4426ac5 100644 (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++)