@ -173,6 +173,13 @@ namespace cryptonote
, " Run a program for each new block, '%s' will be replaced by the block hash "
, " "
} ;
static const command_line : : arg_descriptor < std : : string > arg_reorg_notify = {
" reorg-notify "
, " Run a program for each reorg, '%s' will be replaced by the split height, "
" '%h' will be replaced by the new blockchain height, and '%n' will be "
" replaced by the number of new blocks in the new chain "
, " "
} ;
//-----------------------------------------------------------------------------------------------
core : : core ( i_cryptonote_protocol * pprotocol ) :
@ -283,6 +290,7 @@ namespace cryptonote
command_line : : add_arg ( desc , arg_disable_dns_checkpoints ) ;
command_line : : add_arg ( desc , arg_max_txpool_weight ) ;
command_line : : add_arg ( desc , arg_block_notify ) ;
command_line : : add_arg ( desc , arg_reorg_notify ) ;
miner : : init_options ( desc ) ;
BlockchainDB : : init_options ( desc ) ;
@ -562,6 +570,16 @@ namespace cryptonote
MERROR ( " Failed to parse block notify spec " ) ;
}
try
{
if ( ! command_line : : is_arg_defaulted ( vm , arg_reorg_notify ) )
m_blockchain_storage . set_reorg_notify ( std : : shared_ptr < tools : : Notify > ( new tools : : Notify ( command_line : : get_arg ( vm , arg_reorg_notify ) . c_str ( ) ) ) ) ;
}
catch ( const std : : exception & e )
{
MERROR ( " Failed to parse reorg notify spec " ) ;
}
const std : : pair < uint8_t , uint64_t > regtest_hard_forks [ 3 ] = { std : : make_pair ( 1 , 0 ) , std : : make_pair ( Blockchain : : get_hard_fork_heights ( MAINNET ) . back ( ) . version , 1 ) , std : : make_pair ( 0 , 0 ) } ;
const cryptonote : : test_options regtest_test_options = {
regtest_hard_forks ,