Create new blockchain parameters for peerplays that can be voted on by committee members part 1
This commit is contained in:
parent
f078fed4fd
commit
8b0cdacb11
2 changed files with 45 additions and 5 deletions
|
|
@ -69,6 +69,13 @@ namespace graphene { namespace chain {
|
||||||
uint16_t accounts_per_fee_scale = GRAPHENE_DEFAULT_ACCOUNTS_PER_FEE_SCALE; ///< number of accounts between fee scalings
|
uint16_t accounts_per_fee_scale = GRAPHENE_DEFAULT_ACCOUNTS_PER_FEE_SCALE; ///< number of accounts between fee scalings
|
||||||
uint8_t account_fee_scale_bitshifts = GRAPHENE_DEFAULT_ACCOUNT_FEE_SCALE_BITSHIFTS; ///< number of times to left bitshift account registration fee at each scaling
|
uint8_t account_fee_scale_bitshifts = GRAPHENE_DEFAULT_ACCOUNT_FEE_SCALE_BITSHIFTS; ///< number of times to left bitshift account registration fee at each scaling
|
||||||
uint8_t max_authority_depth = GRAPHENE_MAX_SIG_CHECK_DEPTH;
|
uint8_t max_authority_depth = GRAPHENE_MAX_SIG_CHECK_DEPTH;
|
||||||
|
/* rps tournament parameters constraints */
|
||||||
|
uint32_t min_round_delay = 0; ///< miniaml delay between games
|
||||||
|
uint32_t max_round_delay = 600; ///< maxiaml delay between games
|
||||||
|
uint32_t min_time_per_commit_move = 0; ///< minimal time to commit the next move
|
||||||
|
uint32_t max_time_per_commit_move = 600; ///< maximal time to commit the next move
|
||||||
|
uint32_t min_time_per_reveal_move = 0; ///< minimal time to reveal move
|
||||||
|
uint32_t max_time_per_reveal_move = 600; ///< maximal time to reveal move
|
||||||
extensions_type extensions;
|
extensions_type extensions;
|
||||||
|
|
||||||
/** defined in fee_schedule.cpp */
|
/** defined in fee_schedule.cpp */
|
||||||
|
|
@ -106,5 +113,11 @@ FC_REFLECT( graphene::chain::chain_parameters,
|
||||||
(accounts_per_fee_scale)
|
(accounts_per_fee_scale)
|
||||||
(account_fee_scale_bitshifts)
|
(account_fee_scale_bitshifts)
|
||||||
(max_authority_depth)
|
(max_authority_depth)
|
||||||
|
(min_round_delay)
|
||||||
|
(max_round_delay)
|
||||||
|
(min_time_per_commit_move)
|
||||||
|
(max_time_per_commit_move)
|
||||||
|
(min_time_per_reveal_move)
|
||||||
|
(max_time_per_reveal_move)
|
||||||
(extensions)
|
(extensions)
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -56,11 +56,6 @@ namespace graphene { namespace chain {
|
||||||
else
|
else
|
||||||
FC_THROW("Must specify either a fixed start time or a delay");
|
FC_THROW("Must specify either a fixed start time or a delay");
|
||||||
|
|
||||||
// TODO: make this committee-set
|
|
||||||
const uint32_t maximum_round_delay = 60 * 60; // one hour
|
|
||||||
FC_ASSERT(op.options.round_delay < maximum_round_delay,
|
|
||||||
"Round delay is too long");
|
|
||||||
|
|
||||||
// TODO: make this committee-set
|
// TODO: make this committee-set
|
||||||
const uint32_t maximum_tournament_number_of_wins = 100;
|
const uint32_t maximum_tournament_number_of_wins = 100;
|
||||||
FC_ASSERT(op.options.number_of_wins > 0);
|
FC_ASSERT(op.options.number_of_wins > 0);
|
||||||
|
|
@ -68,6 +63,38 @@ namespace graphene { namespace chain {
|
||||||
"Matches may not require more than ${number_of_wins} wins",
|
"Matches may not require more than ${number_of_wins} wins",
|
||||||
("number_of_wins", maximum_tournament_number_of_wins));
|
("number_of_wins", maximum_tournament_number_of_wins));
|
||||||
|
|
||||||
|
// round_delay constraints
|
||||||
|
const uint32_t minimum_round_delay = d.get_global_properties().parameters.min_round_delay;
|
||||||
|
FC_ASSERT(op.options.round_delay >= minimum_round_delay,
|
||||||
|
"Delay between games must not be less then ${min}",
|
||||||
|
("min", minimum_round_delay));
|
||||||
|
const uint32_t maximum_round_delay = d.get_global_properties().parameters.max_round_delay;
|
||||||
|
FC_ASSERT(op.options.round_delay <= maximum_round_delay,
|
||||||
|
"Delay between games must not be greater then ${max}",
|
||||||
|
("max", maximum_round_delay));
|
||||||
|
|
||||||
|
const rock_paper_scissors_game_options& game_options = op.options.game_options.get<rock_paper_scissors_game_options>();
|
||||||
|
|
||||||
|
// time_per_commit_move constraints
|
||||||
|
const uint32_t minimum_time_per_commit_move = d.get_global_properties().parameters.min_time_per_commit_move;
|
||||||
|
FC_ASSERT(game_options.time_per_commit_move >= minimum_time_per_commit_move,
|
||||||
|
"Time to commit the next move must not be less then ${min}",
|
||||||
|
("min", minimum_time_per_commit_move));
|
||||||
|
const uint32_t maximum_time_per_commit_move = d.get_global_properties().parameters.max_time_per_commit_move;
|
||||||
|
FC_ASSERT(game_options.time_per_commit_move <= maximum_time_per_commit_move,
|
||||||
|
"Time to commit the next move must not be greater then ${max}",
|
||||||
|
("max", maximum_time_per_commit_move));
|
||||||
|
|
||||||
|
// time_per_commit_reveal constraints
|
||||||
|
const uint32_t minimum_time_per_reveal_move = d.get_global_properties().parameters.min_time_per_reveal_move;
|
||||||
|
FC_ASSERT(game_options.time_per_reveal_move >= minimum_time_per_reveal_move,
|
||||||
|
"Time to reveal the move must not be less then ${min}",
|
||||||
|
("min", minimum_time_per_reveal_move));
|
||||||
|
const uint32_t maximum_time_per_reveal_move = d.get_global_properties().parameters.max_time_per_reveal_move;
|
||||||
|
FC_ASSERT(game_options.time_per_reveal_move <= maximum_time_per_reveal_move,
|
||||||
|
"Time to reveal the move must not be greater then ${max}",
|
||||||
|
("max", maximum_time_per_reveal_move));
|
||||||
|
|
||||||
return void_result();
|
return void_result();
|
||||||
} FC_CAPTURE_AND_RETHROW( (op) ) }
|
} FC_CAPTURE_AND_RETHROW( (op) ) }
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue