13 #include <scorum/utils/algorithm/foreach_mut.hpp>
17 namespace database_ns {
24 : _betting_svc(betting_svc)
26 , _vop_emitter(vop_emitter)
28 , _dprop_dba(dprop_dba)
38 auto head_time = _dprop_dba.get().time;
39 auto games = _game_dba.get_range_by<by_bets_resolve_time>(unbounded,
_x <= std::make_tuple(head_time,
ALL_IDS));
41 utils::foreach_mut(games, [&](
const game_object& game) {
43 auto uuid = game.
uuid;
44 auto old_status = game.
status;
46 fc::flat_set<wincase_type> results(game.
results.begin(), game.
results.end());
48 _resolver.resolve_matched_bets(uuid, results);
49 _betting_svc.cancel_pending_bets(uuid);
50 _betting_svc.cancel_game(uuid);
block_info & get_block_info() const
fc::shared_flat_set< wincase_type > results
#define debug_log(CTX, FORMAT,...)
const param_placeholder _x
process_bets_resolving(betting_service_i &, betting_resolver_i &, database_virtual_operations_emmiter_i &, dba::db_accessor< game_object > &, dba::db_accessor< dynamic_global_property_object > &)
virtual void on_apply(block_task_context &)