@@ -6168,29 +6168,30 @@ bool ValidateQuery::check_transactions() {
61686168 LOG (INFO) << " checking all transactions" ;
61696169 std::deque<StdSmcAddress> account_addresses;
61706170 std::deque<CheckAccountTxsCtx> account_contexts;
6171- std::vector<std::function<unsigned char /* bool*/ ()>> account_tasks;
6172-
6173- account_blocks_dict_->check_for_each_extra ([this , &account_addresses, &account_contexts, &account_tasks] (Ref<vm::CellSlice> value, Ref<vm::CellSlice> extra, td::ConstBitPtr key, int key_len) {
6174- CHECK (key_len == 256 );
6175- StdSmcAddress address = key;
6176- account_addresses.push_back (address);
6177-
6178- account_contexts.emplace_back ();
6179- CheckAccountTxsCtx& ctx = account_contexts.back ();
6180- if (account_expected_defer_all_messages_.count (address)) {
6181- ctx.defer_all_messages = true ;
6182- }
6171+ std::vector<std::function<bool ()>> account_tasks;
6172+
6173+ account_blocks_dict_->check_for_each_extra (
6174+ [this , &account_addresses, &account_contexts, &account_tasks](Ref<vm::CellSlice> value, Ref<vm::CellSlice> extra,
6175+ td::ConstBitPtr key, int key_len) {
6176+ CHECK (key_len == 256 );
6177+ StdSmcAddress address = key;
6178+ account_addresses.push_back (address);
6179+
6180+ account_contexts.emplace_back ();
6181+ CheckAccountTxsCtx& ctx = account_contexts.back ();
6182+ if (account_expected_defer_all_messages_.count (address)) {
6183+ ctx.defer_all_messages = true ;
6184+ }
61836185
6184- account_tasks.emplace_back ([this , address, &ctx, acc_tr = std::move (value)] {
6185- unsigned char result = check_account_transactions_ts (address, acc_tr, ctx);
6186- return result;
6187- });
6188- return true ;
6189- });
6186+ account_tasks.emplace_back ([this , address, &ctx, acc_tr = std::move (value)] {
6187+ return check_account_transactions_ts (address, acc_tr, ctx);
6188+ });
6189+ return true ;
6190+ });
61906191
61916192 try {
6192- std::vector<unsigned char /* bool */ > account_results (account_tasks.size (), false );
6193- ThreadPool:: invoke_task_group (account_tasks.begin (), account_tasks.end (), account_results.begin ());
6193+ std::vector<int > account_results (account_tasks.size (), false );
6194+ invoke_task_group (account_tasks.begin (), account_tasks.end (), account_results.begin ());
61946195 for (auto & ok : account_results) {
61956196 if (!ok) {
61966197 return false ;
@@ -6203,7 +6204,7 @@ bool ValidateQuery::check_transactions() {
62036204 }
62046205
62056206 for (size_t pos = 0 ; pos < account_addresses.size (); pos++) {
6206- auto & ctx = account_contexts[pos];
6207+ auto & ctx = account_contexts[pos];
62076208
62086209 for (auto & e : ctx.msg_proc_lt ) {
62096210 msg_proc_lt_.emplace_back (std::move (e));
0 commit comments