From 7f837014f1465ddf8ac78d462ba76b6dbf02db95 Mon Sep 17 00:00:00 2001 From: krigga Date: Thu, 27 Jun 2024 16:48:15 +0300 Subject: [PATCH] fix: emulator bounce conditions (#974) --- emulator/transaction-emulator.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/emulator/transaction-emulator.cpp b/emulator/transaction-emulator.cpp index 24b236a5..752e43da 100644 --- a/emulator/transaction-emulator.cpp +++ b/emulator/transaction-emulator.cpp @@ -238,7 +238,9 @@ td::Result> TransactionEmulator return td::Status::Error(-669,"cannot create action phase of a new transaction for smart contract "s + acc->addr.to_hex()); } - if (trans->bounce_enabled && !trans->compute_phase->success && !trans->prepare_bounce_phase(*action_phase_cfg)) { + if (trans->bounce_enabled + && (!trans->compute_phase->success || trans->action_phase->state_exceeds_limits || trans->action_phase->bounce) + && !trans->prepare_bounce_phase(*action_phase_cfg)) { return td::Status::Error(-669,"cannot create bounce phase of a new transaction for smart contract "s + acc->addr.to_hex()); }