From 93110cb7f26c5c40cce32a8f74d6c06d77db9bf9 Mon Sep 17 00:00:00 2001 From: abitmore Date: Tue, 26 Jun 2018 12:27:16 -0400 Subject: [PATCH] Fee schedule check for proposal --- libraries/chain/proposal_evaluator.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/libraries/chain/proposal_evaluator.cpp b/libraries/chain/proposal_evaluator.cpp index 9cf1e72fac..6cd7ef5c4a 100644 --- a/libraries/chain/proposal_evaluator.cpp +++ b/libraries/chain/proposal_evaluator.cpp @@ -24,6 +24,7 @@ #include #include #include +#include #include #include @@ -44,6 +45,17 @@ struct proposal_operation_hardfork_visitor void operator()(const T &v) const {} // TODO review and cleanup code below after hard fork + // fee schedule + void operator()(const graphene::chain::committee_member_update_global_parameters_operation &v) const { + if( next_maintenance_time <= HARDFORK_CORE_188_TIME + && v.new_parameters.current_fees->parameters.size() > 0 ) + { + const auto& which = v.new_parameters.current_fees->parameters.rbegin()->which(); + FC_ASSERT( which < fee_parameters::tag< asset_claim_pool_operation::fee_parameters_type >::value, + "Unable to propose fee schedule change for operation (${op}) before hardfork", + ("op",which) ); + } + } // hf_834 void operator()(const graphene::chain::call_order_update_operation &v) const { if (next_maintenance_time <= HARDFORK_CORE_834_TIME) {