mirror of
https://github.com/ton-blockchain/ton
synced 2025-03-09 15:40:10 +00:00
vm bugfixes
This commit is contained in:
parent
e27fb1e09c
commit
dd4ac0f440
9 changed files with 107 additions and 30 deletions
|
@ -1555,9 +1555,17 @@ int Transaction::try_action_send_msg(const vm::CellSlice& cs0, ActionPhase& ap,
|
|||
Ref<vm::Cell> new_extra;
|
||||
|
||||
if (!block::sub_extra_currency(ap.remaining_balance.extra, req.extra, new_extra)) {
|
||||
LOG(DEBUG) << "not enough extra currency to send with the message";
|
||||
LOG(DEBUG) << "not enough extra currency to send with the message: "
|
||||
<< block::CurrencyCollection{0, req.extra}.to_str() << " required, only "
|
||||
<< block::CurrencyCollection{0, ap.remaining_balance.extra}.to_str() << " available";
|
||||
return skip_invalid ? 0 : 38; // not enough (extra) funds
|
||||
}
|
||||
if (ap.remaining_balance.extra.not_null() || req.extra.not_null()) {
|
||||
LOG(WARNING) << "subtracting extra currencies: "
|
||||
<< block::CurrencyCollection{0, ap.remaining_balance.extra}.to_str() << " minus "
|
||||
<< block::CurrencyCollection{0, req.extra}.to_str() << " equals "
|
||||
<< block::CurrencyCollection{0, new_extra}.to_str();
|
||||
}
|
||||
|
||||
auto fwd_fee_mine = msg_prices.get_first_part(fwd_fee);
|
||||
auto fwd_fee_remain = fwd_fee - fwd_fee_mine;
|
||||
|
@ -1691,7 +1699,9 @@ int Transaction::try_action_reserve_currency(vm::CellSlice& cs, ActionPhase& ap,
|
|||
}
|
||||
}
|
||||
if (!block::sub_extra_currency(ap.remaining_balance.extra, reserve.extra, newc.extra)) {
|
||||
LOG(DEBUG) << "not enough extra currency to reserve";
|
||||
LOG(DEBUG) << "not enough extra currency to reserve: " << block::CurrencyCollection{0, reserve.extra}.to_str()
|
||||
<< " required, only " << block::CurrencyCollection{0, ap.remaining_balance.extra}.to_str()
|
||||
<< " available";
|
||||
if (mode & 2) {
|
||||
// TODO: process (mode & 2) correctly by setting res_extra := inf (reserve.extra, ap.remaining_balance.extra)
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue