X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=src%2Frpcmining.cpp;h=62d8837d4e174bc7e4ebad6db83512e4ae7ad28e;hb=5a7a2125b6b4ed7d3ea55f333d0cf2345bd1d916;hp=a9972c6e813978e7381dbcfe78c6689574a92863;hpb=2f324fc446f451796099900226f8854e79c0a571;p=novacoin.git diff --git a/src/rpcmining.cpp b/src/rpcmining.cpp index a9972c6..62d8837 100644 --- a/src/rpcmining.cpp +++ b/src/rpcmining.cpp @@ -13,7 +13,6 @@ #include #include -#include using namespace json_spirit; using namespace std; @@ -50,7 +49,7 @@ Value getmininginfo(const Array& params, bool fHelp) "getmininginfo\n" "Returns an object containing mining-related information."); - Object obj, diff, weight; + Object obj, diff; obj.push_back(Pair("blocks", (int)nBestHeight)); obj.push_back(Pair("currentblocksize",(uint64_t)nLastBlockSize)); obj.push_back(Pair("currentblocktx",(uint64_t)nLastBlockTx)); @@ -78,7 +77,7 @@ Value scaninput(const Array& params, bool fHelp) { if (fHelp || params.size() != 1) throw runtime_error( - "scaninput {\"txid\":txid, \"vout\":[vout1, vout2, ..., voutN], \"difficulty\":difficulty, \"days\":days}\n" + "scaninput '{\"txid\":\"txid\", \"vout\":[vout1, vout2, ..., voutN], \"difficulty\":difficulty, \"days\":days}'\n" "Scan specified transaction or input for suitable kernel solutions.\n" " difficulty - upper limit for difficulty, current difficulty by default;\n" " days - time window, 90 days by default.\n" @@ -147,9 +146,21 @@ Value scaninput(const Array& params, bool fHelp) vInputs.push_back(nOut); } } + else if(inputs_v.type() == int_type) + { + int nOut = inputs_v.get_int(); + if (nOut < 0 || nOut > (int)tx.vout.size() - 1) + { + stringstream strErrorMsg; + strErrorMsg << boost::format("Invalid parameter, input number %d is out of range") % nOut; + throw JSONRPCError(RPC_INVALID_PARAMETER, strErrorMsg.str()); + } + + vInputs.push_back(nOut); + } else { - vInputs = vector(boost::counting_iterator( 0 ), boost::counting_iterator( tx.vout.size() )); + for (size_t i = 0; i != tx.vout.size(); ++i) vInputs.push_back(i); } CTxDB txdb("r");