changeset 2971:f5882d8faae9 draft

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)"
author Peter Todd <pete@petertodd.org>
date Sat, 28 Apr 2012 16:29:27 -0400
parents 95b6e23d3f2a
children c1db3813b890
files src/bitcoinrpc.cpp
diffstat 1 files changed, 5 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/bitcoinrpc.cpp
+++ b/src/bitcoinrpc.cpp
@@ -999,10 +999,12 @@
         strAccount = AccountFromValue(params[2]);
 
     // Gather public keys
-    if ((nRequired < 1) || ((int)keys.size() < nRequired))
+    if (nRequired < 1)
+        throw runtime_error("a multisignature address must require at least one key to redeem");
+    if ((int)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++)