@ -18,6 +18,7 @@
# include "policy/fees.h"
# include "policy/fees.h"
# include "pow.h"
# include "pow.h"
# include "rpc/blockchain.h"
# include "rpc/blockchain.h"
# include "rpc/mining.h"
# include "rpc/server.h"
# include "rpc/server.h"
# include "txmempool.h"
# include "txmempool.h"
# include "util.h"
# include "util.h"
@ -141,42 +142,6 @@ UniValue generateBlocks(std::shared_ptr<CReserveScript> coinbaseScript, int nGen
return blockHashes ;
return blockHashes ;
}
}
UniValue generate ( const JSONRPCRequest & request )
{
if ( request . fHelp | | request . params . size ( ) < 1 | | request . params . size ( ) > 2 )
throw std : : runtime_error (
" generate nblocks ( maxtries ) \n "
" \n Mine up to nblocks blocks immediately (before the RPC call returns) \n "
" \n Arguments: \n "
" 1. nblocks (numeric, required) How many blocks are generated immediately. \n "
" 2. maxtries (numeric, optional) How many iterations to try (default = 1000000). \n "
" \n Result: \n "
" [ blockhashes ] (array) hashes of blocks generated \n "
" \n Examples: \n "
" \n Generate 11 blocks \n "
+ HelpExampleCli ( " generate " , " 11 " )
) ;
int nGenerate = request . params [ 0 ] . get_int ( ) ;
uint64_t nMaxTries = 1000000 ;
if ( request . params . size ( ) > 1 ) {
nMaxTries = request . params [ 1 ] . get_int ( ) ;
}
std : : shared_ptr < CReserveScript > coinbaseScript ;
GetMainSignals ( ) . ScriptForMining ( coinbaseScript ) ;
// If the keypool is exhausted, no script is returned at all. Catch this.
if ( ! coinbaseScript )
throw JSONRPCError ( RPC_WALLET_KEYPOOL_RAN_OUT , " Error: Keypool ran out, please call keypoolrefill first " ) ;
//throw an error if no script was provided
if ( coinbaseScript - > reserveScript . empty ( ) )
throw JSONRPCError ( RPC_INTERNAL_ERROR , " No coinbase script available (mining requires a wallet) " ) ;
return generateBlocks ( coinbaseScript , nGenerate , nMaxTries , true ) ;
}
UniValue generatetoaddress ( const JSONRPCRequest & request )
UniValue generatetoaddress ( const JSONRPCRequest & request )
{
{
if ( request . fHelp | | request . params . size ( ) < 2 | | request . params . size ( ) > 3 )
if ( request . fHelp | | request . params . size ( ) < 2 | | request . params . size ( ) > 3 )
@ -962,7 +927,6 @@ static const CRPCCommand commands[] =
{ " mining " , " getblocktemplate " , & getblocktemplate , true , { " template_request " } } ,
{ " mining " , " getblocktemplate " , & getblocktemplate , true , { " template_request " } } ,
{ " mining " , " submitblock " , & submitblock , true , { " hexdata " , " dummy " } } ,
{ " mining " , " submitblock " , & submitblock , true , { " hexdata " , " dummy " } } ,
{ " generating " , " generate " , & generate , true , { " nblocks " , " maxtries " } } ,
{ " generating " , " generatetoaddress " , & generatetoaddress , true , { " nblocks " , " address " , " maxtries " } } ,
{ " generating " , " generatetoaddress " , & generatetoaddress , true , { " nblocks " , " address " , " maxtries " } } ,
{ " util " , " estimatefee " , & estimatefee , true , { " nblocks " } } ,
{ " util " , " estimatefee " , & estimatefee , true , { " nblocks " } } ,