Skip to content

Compute phase: gas fees deduction logic #32

@unboxedtype

Description

@unboxedtype

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

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions