From db072af33df2fe785d62d0881e0cede0ff03349a Mon Sep 17 00:00:00 2001 From: Peter Conrad Date: Mon, 10 Sep 2018 21:03:28 +0200 Subject: [PATCH] Added hf protection for new operations wrapped in proposals --- libraries/chain/proposal_evaluator.cpp | 70 +++++++++++++++++++++++++- 1 file changed, 69 insertions(+), 1 deletion(-) diff --git a/libraries/chain/proposal_evaluator.cpp b/libraries/chain/proposal_evaluator.cpp index 5ad2b7a6..2eada590 100644 --- a/libraries/chain/proposal_evaluator.cpp +++ b/libraries/chain/proposal_evaluator.cpp @@ -42,7 +42,7 @@ struct proposal_operation_hardfork_visitor template void operator()(const T &v) const {} - void operator()(const graphene::chain::committee_member_update_global_parameters_operation &op) const { + void operator()(const committee_member_update_global_parameters_operation &op) const { if( block_time < HARDFORK_1000_TIME ) // TODO: remove after hf FC_ASSERT( !op.new_parameters.extensions.value.min_bet_multiplier.valid() && !op.new_parameters.extensions.value.max_bet_multiplier.valid() @@ -52,6 +52,74 @@ struct proposal_operation_hardfork_visitor "Parameter extensions are not allowed yet!" ); } + void operator()(const sport_create_operation &v) const { + FC_ASSERT( block_time >= HARDFORK_1000_TIME, "sport_create_operation not allowed yet!" ); + } + + void operator()(const sport_update_operation &v) const { + FC_ASSERT( block_time >= HARDFORK_1000_TIME, "sport_update_operation not allowed yet!" ); + } + + void operator()(const event_group_create_operation &v) const { + FC_ASSERT( block_time >= HARDFORK_1000_TIME, "event_group_create_operation not allowed yet!" ); + } + + void operator()(const event_group_update_operation &v) const { + FC_ASSERT( block_time >= HARDFORK_1000_TIME, "event_group_update_operation not allowed yet!" ); + } + + void operator()(const event_create_operation &v) const { + FC_ASSERT( block_time >= HARDFORK_1000_TIME, "event_create_operation not allowed yet!" ); + } + + void operator()(const event_update_operation &v) const { + FC_ASSERT( block_time >= HARDFORK_1000_TIME, "event_update_operation not allowed yet!" ); + } + + void operator()(const betting_market_rules_create_operation &v) const { + FC_ASSERT( block_time >= HARDFORK_1000_TIME, "betting_market_rules_create_operation not allowed yet!" ); + } + + void operator()(const betting_market_rules_update_operation &v) const { + FC_ASSERT( block_time >= HARDFORK_1000_TIME, "betting_market_rules_update_operation not allowed yet!" ); + } + + void operator()(const betting_market_group_create_operation &v) const { + FC_ASSERT( block_time >= HARDFORK_1000_TIME, "betting_market_group_create_operation not allowed yet!" ); + } + + void operator()(const betting_market_create_operation &v) const { + FC_ASSERT( block_time >= HARDFORK_1000_TIME, "betting_market_create_operation not allowed yet!" ); + } + + void operator()(const bet_place_operation &v) const { + FC_ASSERT( block_time >= HARDFORK_1000_TIME, "bet_place_operation not allowed yet!" ); + } + + void operator()(const betting_market_group_resolve_operation &v) const { + FC_ASSERT( block_time >= HARDFORK_1000_TIME, "betting_market_group_resolve_operation not allowed yet!" ); + } + + void operator()(const betting_market_group_cancel_unmatched_bets_operation &v) const { + FC_ASSERT( block_time >= HARDFORK_1000_TIME, "betting_market_group_cancel_unmatched_bets_operation not allowed yet!" ); + } + + void operator()(const bet_cancel_operation &v) const { + FC_ASSERT( block_time >= HARDFORK_1000_TIME, "betting_market_group_resolve_operation not allowed yet!" ); + } + + void operator()(const betting_market_group_update_operation &v) const { + FC_ASSERT( block_time >= HARDFORK_1000_TIME, "betting_market_group_update_operation not allowed yet!" ); + } + + void operator()(const betting_market_update_operation &v) const { + FC_ASSERT( block_time >= HARDFORK_1000_TIME, "betting_market_update_operation not allowed yet!" ); + } + + void operator()(const event_update_status_operation &v) const { + FC_ASSERT( block_time >= HARDFORK_1000_TIME, "event_update_status_operation not allowed yet!" ); + } + // loop and self visit in proposals void operator()(const proposal_create_operation &v) const { for (const op_wrapper &op : v.proposed_ops)