#define THROW_IF_SYNCING(INSYNC) if (INSYNC == 0) { throw runtime_error(strprintf("%s: Chain still syncing at height %d, aborting to prevent garbage data. Please wait until the chain is synced to run this RPC",__FUNCTION__,chainActive.Tip()->GetHeight())); }
"\nCompute statistics about the total number and rate of transactions in the chain.\n"
"\nThis RPC will return a large amount of additional data if the shielded index (zindex) is enabled.\n"
"\nArguments:\n"
"1. nblocks (numeric, optional) Number of blocks in averaging window.\n"
"2. blockhash (string, optional) The hash of the block which ends the window.\n"
"\nResult:\n"
"{\n"
"\"time\": xxxxx, (numeric) The timestamp for the final block in the window in UNIX format.\n"
"\"txcount\": xxxxx, (numeric) The total number of transactions in the chain up to that point.\n"
"\"time\": xxxxx, (numeric) The timestamp for the final block in the window in UNIX format.\n"
"\"txcount\": xxxxx, (numeric) The total number of transactions in the chain up to that point.\n"
"\"shielded_txcount\": xxxxx, (numeric) The total number of shielded (containing a zaddr) transactions in the chain up to that point.\n"
"\"shielding_txcount\": xxxxx, (numeric) The total number of shielding (containing a zaddr output) transactions in the chain up to that point.\n"
"\"deshielding_txcount\": xxxxx, (numeric) The total number of deshielding (containing a zaddr input) transactions in the chain up to that point.\n"
"\"fully_shielded_txcount\": xxxxx, (numeric) The total number of z2z, AKA fully-shielded (containing only zaddr inputs+outputs) transactions in the chain up to that point.\n"
"\"payments\": xxxxx, (numeric) The total number of payments in the chain up to that point.\n"
"\"shielded_payments\": xxxxx, (numeric) The total number of shielded (containing a zaddr) payments in the chain up to that point.\n"
"\"shielding_payments\": xxxxx, (numeric) The total number of shielding (containing a zaddr output) payments in the chain up to that point.\n"
"\"deshielding_payments\": xxxxx, (numeric) The total number of deshielding (containing a zaddr input) payments in the chain up to that point.\n"
"\"fully_shielded_payments\": xxxxx, (numeric) The total number of z2z, AKA fully-shielded (containing only zaddr inputs+outputs) payments in the chain up to that point.\n"
"\"notarizations\": xxxxx, (numeric) The total number of notarization transactions in the chain up to that point.\n"
"\"window_final_block_hash\": \"...\", (string) The hash of the final block in the window.\n"
"\"window_block_count\": xxxxx, (numeric) Size of the window in number of blocks.\n"
"\"window_tx_count\": xxxxx, (numeric) The number of transactions in the window. Only returned if \"window_block_count\" is > 0.\n"
"\"window_interval\": xxxxx, (numeric) The elapsed time in the window in seconds. Only returned if \"window_block_count\" is > 0.\n"
"\"txrate\": x.xx, (numeric) The average rate of transactions per second in the window. Only returned if \"window_interval\" is > 0.\n"
"\"window_final_block_height\": xxxxx, (numeric) Block height of final block in window.\n"
"\"window_block_count\": xxxxx, (numeric) Size of the window in number of blocks.\n"
"\"window_tx_count\": xxxxx, (numeric) The number of transactions in the window. Only returned if \"window_block_count\" is > 0.\n"
"\"window_interval\": xxxxx, (numeric) The elapsed time in the window in seconds. Only returned if \"window_block_count\" is > 0.\n"
"\"window_shielded_txcount\": xxxxx, (numeric) The total number of shielded (containing a zaddr) transactions in the chain up to that point.\n"
"\"window_shielding_txcount\": xxxxx, (numeric) The total number of shielding (containing a zaddr output) transactions in the chain up to that point.\n"
"\"window_deshielding_txcount\": xxxxx, (numeric) The total number of deshielding (containing a zaddr input) transactions in the chain up to that point.\n"
"\"window_fully_shielded_txcount\": xxxxx, (numeric) The total number of z2z, AKA fully-shielded (containing only zaddr inputs+outputs) transactions in the chain up to that point.\n"
"\"window_shielded_payments\": xxxxx, (numeric) The total number of shielded (containing a zaddr) payments in the chain up to that point.\n"
"\"window_shielding_payments\": xxxxx, (numeric) The total number of shielding (containing a zaddr output) payments in the chain up to that point.\n"
"\"window_deshielding_payments\": xxxxx, (numeric) The total number of deshielding (containing a zaddr input) payments in the chain up to that point.\n"
"\"window_fully_shielded_payments\": xxxxx, (numeric) The total number of z2z, AKA fully-shielded (containing only zaddr inputs+outputs) payments in the chain up to that point.\n"
"\"txrate\": x.xx, (numeric) The average rate of transactions per second in the window. Only returned if \"window_interval\" is > 0.\n"
"\"shielded\": { (string) The set of stats specific to only shieled transactions. \n"
"\"fully_shielded_tx_percent\": (numeric) The percentage of fully shielded transactions.\n"
"\"shielding_tx_percent\": (numeric) The percentage of shielding transactions.\n"
"\"deshielding_tx_percent\": (numeric) The percentage of deshielding transactions.\n"
"\"fully_shielded_payments_percent\": (numeric) The percentage of fully shielded payments.\n"
"\"shielding_payments_percent\": (numeric) The percentage of shielding payments.\n"
"\"deshielding_payments_percent\": (numeric) The percentage of deshielding payments.\n"
" },\n"
"\"organic\": { (string) The set of stats about organic transactions, i.e. those that are not coinbase and not notarizations\n"
"\"fully_shielded_tx_percent\": (numeric) The percentage of fully shielded organic transactions.\n"
"\"shielding_tx_percent\": (numeric) The percentage of shielding organic transactions.\n"
"\"deshielding_tx_percent\": (numeric) The percentage of deshielding organic transactions.\n"
"\"fully_shielded_payments_percent\": (numeric) The percentage of fully shielded organic payments.\n"
"\"shielding_payments_percent\": (numeric) The percentage of shielding organic payments.\n"
"\"deshielding_payments_percent\": (numeric) The percentage of deshielding organic payments.\n"