fix zero all fees #144
This commit is contained in:
parent
c8f0ea4abe
commit
c8f200868c
2 changed files with 7 additions and 3 deletions
|
|
@ -193,7 +193,9 @@ namespace graphene { namespace chain {
|
|||
const auto& op = o.get<typename DerivedEvaluator::operation_type>();
|
||||
|
||||
prepare_fee(op.fee_payer(), op.fee);
|
||||
FC_ASSERT( core_fee_paid >= db().current_fee_schedule().calculate_fee( op ).amount );
|
||||
FC_ASSERT( core_fee_paid >= db().current_fee_schedule().calculate_fee( op ).amount,
|
||||
"Insufficient Fee Paid",
|
||||
("core_fee_paid",core_fee_paid)("required",db().current_fee_schedule().calculate_fee( op ).amount) );
|
||||
|
||||
return eval->do_evaluate(op);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -72,22 +72,24 @@ namespace graphene { namespace chain {
|
|||
template<typename ParamType>
|
||||
result_type operator()( ParamType& op )const
|
||||
{
|
||||
memset( (char*)&op, sizeof(op), 0 );
|
||||
memset( (char*)&op, 0, sizeof(op) );
|
||||
}
|
||||
};
|
||||
|
||||
void fee_schedule::zero_all_fees()
|
||||
{
|
||||
*this = get_default();
|
||||
for( auto& i : parameters )
|
||||
for( fee_parameters& i : parameters )
|
||||
i.visit( zero_fee_visitor() );
|
||||
}
|
||||
|
||||
asset fee_schedule::calculate_fee( const operation& op, const price& core_exchange_rate )const
|
||||
{
|
||||
//idump( (op)(core_exchange_rate) );
|
||||
fee_parameters params; params.set_which(op.which());
|
||||
auto itr = parameters.find(params);
|
||||
if( itr != parameters.end() ) params = *itr;
|
||||
//idump( (params) );
|
||||
auto base_value = op.visit( calc_fee_visitor( params ) );
|
||||
auto scaled = fc::uint128(base_value) * scale;
|
||||
scaled /= GRAPHENE_100_PERCENT;
|
||||
|
|
|
|||
Loading…
Reference in a new issue