added operation tournament_payout_operation
This commit is contained in:
parent
935dac7ae6
commit
1530f04882
3 changed files with 36 additions and 2 deletions
|
|
@ -222,7 +222,10 @@ struct get_impacted_account_visitor
|
|||
{
|
||||
_impacted.insert( op.player_account_id );
|
||||
}
|
||||
|
||||
void operator()( const tournament_payout_operation& op )
|
||||
{
|
||||
_impacted.insert( op.winner_account_id );
|
||||
}
|
||||
};
|
||||
|
||||
void operation_get_impacted_accounts( const operation& op, flat_set<account_id_type>& result )
|
||||
|
|
|
|||
|
|
@ -97,7 +97,8 @@ namespace graphene { namespace chain {
|
|||
tournament_join_operation,
|
||||
game_move_operation,
|
||||
asset_update_dividend_operation,
|
||||
asset_dividend_distribution_operation // VIRTUAL
|
||||
asset_dividend_distribution_operation, // VIRTUAL
|
||||
tournament_payout_operation // VIRTUAL
|
||||
> operation;
|
||||
|
||||
/// @} // operations group
|
||||
|
|
|
|||
|
|
@ -163,6 +163,28 @@ namespace graphene { namespace chain {
|
|||
void validate()const;
|
||||
};
|
||||
|
||||
struct tournament_payout_operation : public base_operation
|
||||
{
|
||||
struct fee_parameters_type {};
|
||||
|
||||
asset fee;
|
||||
|
||||
/// The account of the the tournament winner
|
||||
account_id_type winner_account_id;
|
||||
|
||||
/// The won tournament
|
||||
tournament_id_type tournament_id;
|
||||
|
||||
/// The buy-in paid by the `payer_account_id`
|
||||
asset won_prize;
|
||||
|
||||
extensions_type extensions;
|
||||
|
||||
account_id_type fee_payer()const { return winner_account_id; }
|
||||
share_type calculate_fee(const fee_parameters_type&)const { return 0; }
|
||||
void validate()const {}
|
||||
};
|
||||
|
||||
} }
|
||||
|
||||
FC_REFLECT_TYPENAME( graphene::chain::game_specific_options )
|
||||
|
|
@ -196,7 +218,15 @@ FC_REFLECT( graphene::chain::game_move_operation,
|
|||
(player_account_id)
|
||||
(move)
|
||||
(extensions))
|
||||
FC_REFLECT( graphene::chain::tournament_payout_operation,
|
||||
(fee)
|
||||
(winner_account_id)
|
||||
(tournament_id)
|
||||
(won_prize)
|
||||
(extensions))
|
||||
|
||||
FC_REFLECT( graphene::chain::tournament_create_operation::fee_parameters_type, (fee) )
|
||||
FC_REFLECT( graphene::chain::tournament_join_operation::fee_parameters_type, (fee) )
|
||||
FC_REFLECT( graphene::chain::game_move_operation::fee_parameters_type, (fee) )
|
||||
FC_REFLECT( graphene::chain::tournament_payout_operation::fee_parameters_type, )
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue