diff --git a/src/rpc/blockchain.cpp b/src/rpc/blockchain.cpp index 21c0ca254..8b2976bf6 100644 --- a/src/rpc/blockchain.cpp +++ b/src/rpc/blockchain.cpp @@ -648,80 +648,10 @@ UniValue getblockhash(const UniValue& params, bool fHelp, const CPubKey& mypk) UniValue getlastsegidstakes(const UniValue& params, bool fHelp, const CPubKey& mypk) { - if (fHelp || params.size() != 1) - throw runtime_error( - "getlastsegidstakes depth\n" - "\nReturns object containing the counts of the last X blocks staked by each segid.\n" - "\nArguments:\n" - "1. depth (numeric, required) The amount of blocks to scan back." - "\nResult:\n" - "{\n" - " \"0\" : n, (numeric) number of stakes from segid 0 in the last X blocks.\n" - " .....\n" - "}\n" - "\nExamples:\n" - + HelpExampleCli("getlastsegidstakes", "1000") - + HelpExampleRpc("getlastsegidstakes", "1000") - ); - - if ( ASSETCHAINS_STAKED == 0 ) - throw runtime_error("Only applies to ac_staked chains\n"); - - LOCK(cs_main); - - int depth = params[0].get_int(); - if ( depth > chainActive.Height() ) - throw runtime_error("Not enough blocks to scan back that far.\n"); - - int32_t segids[64] = {0}; - int32_t pow = 0; - int32_t notset = 0; - - for (int64_t i = chainActive.Height(); i > chainActive.Height()-depth; i--) - { - int8_t segid = komodo_segid(0,i); - //CBlockIndex* pblockindex = chainActive[i]; - if ( segid >= 0 ) - segids[segid] += 1; - else if ( segid == -1 ) - pow++; - else - notset++; - } - - int8_t posperc = 100*(depth-pow)/depth; - UniValue ret(UniValue::VOBJ); - UniValue objsegids(UniValue::VOBJ); - for (int8_t i = 0; i < 64; i++) - { - char str[4]; - sprintf(str, "%d", i); - objsegids.push_back(Pair(str,segids[i])); - } - ret.push_back(Pair("NotSet",notset)); - ret.push_back(Pair("PoW",pow)); - ret.push_back(Pair("PoSPerc",posperc)); - ret.push_back(Pair("SegIds",objsegids)); return ret; } -/*uint256 _komodo_getblockhash(int32_t nHeight) -{ - uint256 hash; - LOCK(cs_main); - if ( nHeight >= 0 && nHeight <= chainActive.Height() ) - { - CBlockIndex* pblockindex = chainActive[nHeight]; - hash = pblockindex->GetBlockHash(); - int32_t i; - for (i=0; i<32; i++) - printf("%02x",((uint8_t *)&hash)[i]); - printf(" blockhash.%d\n",nHeight); - } else memset(&hash,0,sizeof(hash)); - return(hash); -}*/ - UniValue getblockheader(const UniValue& params, bool fHelp, const CPubKey& mypk) { if (fHelp || params.size() < 1 || params.size() > 2)