Hi!
In the compute_phase function, you try to deduct the gas_fee, and in case of an error (not sufficient balance), you just show the debug message, but it doesn't lead (well, not obvious, at least) to any kind of phase error.
Could you please point to the logic that recovers this situation?
if !acc_balance.grams.sub(&vm_phase.gas_fees)? {
log::debug!(target: "executor", "can't sub funds: {} from acc_balance: {}", vm_phase.gas_fees, acc_balance.grams);
}
You also do the fee deduction from the msg_balance, but it may silently fail by the same reason, because .sub always
returns Ok(bool).
https://github.com/tonlabs/ton-labs-executor/blob/be2f1ec60e09857d8b8f489c1e79f000bba32269/src/ordinary_transaction.rs#L185
Hi!
In the compute_phase function, you try to deduct the gas_fee, and in case of an error (not sufficient balance), you just show the debug message, but it doesn't lead (well, not obvious, at least) to any kind of phase error.
Could you please point to the logic that recovers this situation?
You also do the fee deduction from the msg_balance, but it may silently fail by the same reason, because .sub always
returns Ok(bool).
https://github.com/tonlabs/ton-labs-executor/blob/be2f1ec60e09857d8b8f489c1e79f000bba32269/src/ordinary_transaction.rs#L185