Fix #200 Fee Schedule is now validated when chain_paramters are validated
This commit is contained in:
parent
8c0b1e86f7
commit
c9688ae051
2 changed files with 27 additions and 23 deletions
|
|
@ -64,29 +64,8 @@ namespace graphene { namespace chain {
|
||||||
uint8_t max_authority_depth = GRAPHENE_MAX_SIG_CHECK_DEPTH;
|
uint8_t max_authority_depth = GRAPHENE_MAX_SIG_CHECK_DEPTH;
|
||||||
extensions_type extensions;
|
extensions_type extensions;
|
||||||
|
|
||||||
void validate()const
|
/** defined in fee_schedule.cpp */
|
||||||
{
|
void validate()const;
|
||||||
FC_ASSERT( reserve_percent_of_fee <= GRAPHENE_100_PERCENT );
|
|
||||||
FC_ASSERT( network_percent_of_fee <= GRAPHENE_100_PERCENT );
|
|
||||||
FC_ASSERT( lifetime_referrer_percent_of_fee <= GRAPHENE_100_PERCENT );
|
|
||||||
FC_ASSERT( network_percent_of_fee + lifetime_referrer_percent_of_fee <= GRAPHENE_100_PERCENT );
|
|
||||||
|
|
||||||
FC_ASSERT( block_interval >= GRAPHENE_MIN_BLOCK_INTERVAL );
|
|
||||||
FC_ASSERT( block_interval <= GRAPHENE_MAX_BLOCK_INTERVAL );
|
|
||||||
FC_ASSERT( block_interval > 0 );
|
|
||||||
FC_ASSERT( maintenance_interval > block_interval,
|
|
||||||
"Maintenance interval must be longer than block interval" );
|
|
||||||
FC_ASSERT( maintenance_interval % block_interval == 0,
|
|
||||||
"Maintenance interval must be a multiple of block interval" );
|
|
||||||
FC_ASSERT( maximum_transaction_size >= GRAPHENE_MIN_TRANSACTION_SIZE_LIMIT,
|
|
||||||
"Transaction size limit is too low" );
|
|
||||||
FC_ASSERT( maximum_block_size >= GRAPHENE_MIN_BLOCK_SIZE_LIMIT,
|
|
||||||
"Block size limit is too low" );
|
|
||||||
FC_ASSERT( maximum_time_until_expiration > block_interval,
|
|
||||||
"Maximum transaction expiration time must be greater than a block interval" );
|
|
||||||
FC_ASSERT( maximum_proposal_lifetime - committee_proposal_review_period > block_interval,
|
|
||||||
"Committee proposal review period must be less than the maximum proposal lifetime" );
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
} } // graphene::chain
|
} } // graphene::chain
|
||||||
|
|
|
||||||
|
|
@ -116,4 +116,29 @@ namespace graphene { namespace chain {
|
||||||
return f;
|
return f;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void chain_parameters::validate()const
|
||||||
|
{
|
||||||
|
current_fees->validate();
|
||||||
|
FC_ASSERT( reserve_percent_of_fee <= GRAPHENE_100_PERCENT );
|
||||||
|
FC_ASSERT( network_percent_of_fee <= GRAPHENE_100_PERCENT );
|
||||||
|
FC_ASSERT( lifetime_referrer_percent_of_fee <= GRAPHENE_100_PERCENT );
|
||||||
|
FC_ASSERT( network_percent_of_fee + lifetime_referrer_percent_of_fee <= GRAPHENE_100_PERCENT );
|
||||||
|
|
||||||
|
FC_ASSERT( block_interval >= GRAPHENE_MIN_BLOCK_INTERVAL );
|
||||||
|
FC_ASSERT( block_interval <= GRAPHENE_MAX_BLOCK_INTERVAL );
|
||||||
|
FC_ASSERT( block_interval > 0 );
|
||||||
|
FC_ASSERT( maintenance_interval > block_interval,
|
||||||
|
"Maintenance interval must be longer than block interval" );
|
||||||
|
FC_ASSERT( maintenance_interval % block_interval == 0,
|
||||||
|
"Maintenance interval must be a multiple of block interval" );
|
||||||
|
FC_ASSERT( maximum_transaction_size >= GRAPHENE_MIN_TRANSACTION_SIZE_LIMIT,
|
||||||
|
"Transaction size limit is too low" );
|
||||||
|
FC_ASSERT( maximum_block_size >= GRAPHENE_MIN_BLOCK_SIZE_LIMIT,
|
||||||
|
"Block size limit is too low" );
|
||||||
|
FC_ASSERT( maximum_time_until_expiration > block_interval,
|
||||||
|
"Maximum transaction expiration time must be greater than a block interval" );
|
||||||
|
FC_ASSERT( maximum_proposal_lifetime - committee_proposal_review_period > block_interval,
|
||||||
|
"Committee proposal review period must be less than the maximum proposal lifetime" );
|
||||||
|
}
|
||||||
|
|
||||||
} } // graphene::chain
|
} } // graphene::chain
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue