diff --git a/Cargo.lock b/Cargo.lock index b874a3a1c..78f0c82bf 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2928,7 +2928,7 @@ dependencies = [ [[package]] name = "ton_executor" version = "2.0.0" -source = "git+https://github.com/broxus/ton-labs-executor.git?branch=new_cells#23dadb03e6fb06db2091e9c996796fb5901fc3eb" +source = "git+https://github.com/broxus/ton-labs-executor.git?branch=new_cells#923a1061ef70448c487a4ffdd91aa859d3e29335" dependencies = [ "ahash", "anyhow", diff --git a/collator/src/collator/execution_manager.rs b/collator/src/collator/execution_manager.rs index ba83b4670..91804c174 100644 --- a/collator/src/collator/execution_manager.rs +++ b/collator/src/collator/execution_manager.rs @@ -141,6 +141,9 @@ impl ExecutionManager { let executor_output = tx.result?; + self.min_next_lt = + cmp::max(self.min_next_lt, executor_output.account_last_trans_lt); + items.push(ExecutedTickItem { account_addr: executed.account_state.account_addr, in_message: tx.in_message, @@ -148,10 +151,6 @@ impl ExecutionManager { }); } - self.min_next_lt = cmp::max( - self.min_next_lt, - executed.account_state.shard_account.last_trans_lt + 1, - ); self.accounts_cache .add_account_stuff(executed.account_state); } @@ -216,7 +215,9 @@ impl ExecutionManager { }) .await?; - self.min_next_lt = cmp::max(min_next_lt, account_stuff.shard_account.last_trans_lt + 1); + if let Ok(executor_output) = &executed.result { + self.min_next_lt = cmp::max(min_next_lt, executor_output.account_last_trans_lt); + } self.accounts_cache.add_account_stuff(account_stuff); Ok(executed) } @@ -245,7 +246,7 @@ impl ExecutionManager { }) .await?; - self.min_next_lt = cmp::max(min_next_lt, account_stuff.shard_account.last_trans_lt + 1); + self.min_next_lt = cmp::max(min_next_lt, executed.account_last_trans_lt); self.accounts_cache.add_account_stuff(account_stuff); Ok(executed) }