Added event_group delete operation and evaluator. Fixed compilation issues.
This commit is contained in:
parent
71fec0ac83
commit
80efb85d72
10 changed files with 79 additions and 0 deletions
|
|
@ -214,6 +214,7 @@ struct get_impacted_account_visitor
|
|||
void operator()( const sport_delete_operation& op ) {}
|
||||
void operator()( const event_group_create_operation& op ) {}
|
||||
void operator()( const event_group_update_operation& op ) {}
|
||||
void operator()( const event_group_delete_operation& op ) {}
|
||||
void operator()( const event_create_operation& op ) {}
|
||||
void operator()( const event_update_operation& op ) {}
|
||||
void operator()( const event_update_status_operation& op ) {}
|
||||
|
|
|
|||
|
|
@ -219,6 +219,7 @@ void database::initialize_evaluators()
|
|||
register_evaluator<sport_delete_evaluator>();
|
||||
register_evaluator<event_group_create_evaluator>();
|
||||
register_evaluator<event_group_update_evaluator>();
|
||||
register_evaluator<event_group_delete_evaluator>();
|
||||
register_evaluator<event_create_evaluator>();
|
||||
register_evaluator<event_update_evaluator>();
|
||||
register_evaluator<event_update_status_evaluator>();
|
||||
|
|
|
|||
|
|
@ -196,6 +196,7 @@ struct get_impacted_account_visitor
|
|||
void operator()(const sport_delete_operation&){}
|
||||
void operator()(const event_group_create_operation&){}
|
||||
void operator()(const event_group_update_operation& op ) {}
|
||||
void operator()(const event_group_delete_operation& op ) {}
|
||||
void operator()(const event_create_operation&){}
|
||||
void operator()(const event_update_operation& op ) {}
|
||||
void operator()(const event_update_status_operation& op ) {}
|
||||
|
|
|
|||
|
|
@ -96,5 +96,16 @@ void_result event_group_update_evaluator::do_apply(const event_group_update_oper
|
|||
return void_result();
|
||||
} FC_CAPTURE_AND_RETHROW( (op) ) }
|
||||
|
||||
|
||||
void_result event_group_delete_evaluator::do_evaluate(const event_group_delete_operation& op)
|
||||
{ try {
|
||||
FC_ASSERT(trx_state->_is_proposed_trx);
|
||||
return void_result();
|
||||
} FC_CAPTURE_AND_RETHROW( (op) ) }
|
||||
|
||||
void_result event_group_delete_evaluator::do_apply(const event_group_delete_operation& op)
|
||||
{ try {
|
||||
return void_result();
|
||||
} FC_CAPTURE_AND_RETHROW( (op) ) }
|
||||
|
||||
} } // graphene::chain
|
||||
|
|
|
|||
|
|
@ -52,4 +52,13 @@ namespace graphene { namespace chain {
|
|||
private:
|
||||
sport_id_type sport_id;
|
||||
};
|
||||
|
||||
class event_group_delete_evaluator : public evaluator<event_group_delete_evaluator>
|
||||
{
|
||||
public:
|
||||
typedef event_group_delete_operation operation_type;
|
||||
|
||||
void_result do_evaluate( const event_group_delete_operation& o );
|
||||
void_result do_apply( const event_group_delete_operation& o );
|
||||
};
|
||||
} } // graphene::chain
|
||||
|
|
|
|||
|
|
@ -71,6 +71,19 @@ struct event_group_update_operation : public base_operation
|
|||
void validate()const;
|
||||
};
|
||||
|
||||
struct event_group_delete_operation : public base_operation
|
||||
{
|
||||
struct fee_parameters_type { uint64_t fee = GRAPHENE_BLOCKCHAIN_PRECISION; };
|
||||
asset fee;
|
||||
|
||||
event_group_id_type event_group_id;
|
||||
|
||||
extensions_type extensions;
|
||||
|
||||
account_id_type fee_payer()const { return GRAPHENE_WITNESS_ACCOUNT; }
|
||||
void validate()const;
|
||||
};
|
||||
|
||||
|
||||
} }
|
||||
|
||||
|
|
@ -81,3 +94,7 @@ FC_REFLECT( graphene::chain::event_group_create_operation,
|
|||
FC_REFLECT( graphene::chain::event_group_update_operation::fee_parameters_type, (fee) )
|
||||
FC_REFLECT( graphene::chain::event_group_update_operation,
|
||||
(fee)(new_sport_id)(new_name)(event_group_id)(extensions) )
|
||||
|
||||
FC_REFLECT( graphene::chain::event_group_delete_operation::fee_parameters_type, (fee) )
|
||||
FC_REFLECT( graphene::chain::event_group_delete_operation,
|
||||
(fee)(event_group_id)(extensions) )
|
||||
|
|
|
|||
|
|
@ -109,6 +109,7 @@ namespace graphene { namespace chain {
|
|||
sport_delete_operation,
|
||||
event_group_create_operation,
|
||||
event_group_update_operation,
|
||||
event_group_delete_operation,
|
||||
event_create_operation,
|
||||
event_update_operation,
|
||||
betting_market_rules_create_operation,
|
||||
|
|
|
|||
|
|
@ -35,5 +35,10 @@ void event_group_update_operation::validate() const
|
|||
FC_ASSERT( fee.amount >= 0 );
|
||||
}
|
||||
|
||||
void event_group_delete_operation::validate() const
|
||||
{
|
||||
FC_ASSERT( fee.amount >= 0 );
|
||||
}
|
||||
|
||||
} } // graphene::chain
|
||||
|
||||
|
|
|
|||
|
|
@ -1627,6 +1627,12 @@ class wallet_api
|
|||
fc::optional<internationalized_string_type> name,
|
||||
bool broadcast = false);
|
||||
|
||||
signed_transaction propose_delete_event_group(
|
||||
const string& proposing_account,
|
||||
fc::time_point_sec expiration_time,
|
||||
event_group_id_type event_group,
|
||||
bool broadcast = false);
|
||||
|
||||
signed_transaction propose_create_event(
|
||||
const string& proposing_account,
|
||||
fc::time_point_sec expiration_time,
|
||||
|
|
|
|||
|
|
@ -5224,6 +5224,33 @@ signed_transaction wallet_api::propose_update_event_group(
|
|||
|
||||
return my->sign_transaction(tx, broadcast);
|
||||
}
|
||||
|
||||
signed_transaction wallet_api::propose_delete_event_group(
|
||||
const string& proposing_account,
|
||||
fc::time_point_sec expiration_time,
|
||||
event_group_id_type event_group,
|
||||
bool broadcast /*= false*/)
|
||||
{
|
||||
FC_ASSERT( !is_locked() );
|
||||
const chain_parameters& current_params = get_global_properties().parameters;
|
||||
|
||||
event_group_delete_operation event_group_delete_op;
|
||||
event_group_delete_op.event_group_id = event_group;
|
||||
|
||||
proposal_create_operation prop_op;
|
||||
prop_op.expiration_time = expiration_time;
|
||||
prop_op.review_period_seconds = current_params.committee_proposal_review_period;
|
||||
prop_op.fee_paying_account = get_account(proposing_account).id;
|
||||
prop_op.proposed_ops.emplace_back( event_group_delete_op );
|
||||
current_params.current_fees->set_fee( prop_op.proposed_ops.back().op );
|
||||
|
||||
signed_transaction tx;
|
||||
tx.operations.push_back(prop_op);
|
||||
my->set_operation_fees(tx, current_params.current_fees);
|
||||
tx.validate();
|
||||
|
||||
return my->sign_transaction(tx, broadcast);
|
||||
}
|
||||
|
||||
signed_transaction wallet_api::propose_create_event(
|
||||
const string& proposing_account,
|
||||
|
|
|
|||
Loading…
Reference in a new issue