mirror of
				https://github.com/ton-blockchain/ton
				synced 2025-03-09 15:40:10 +00:00 
			
		
		
		
	bugfixes
This commit is contained in:
		
							parent
							
								
									8be3fc99ed
								
							
						
					
					
						commit
						be9c34c62d
					
				
					 699 changed files with 1171 additions and 978 deletions
				
			
		| 
						 | 
				
			
			@ -607,7 +607,7 @@ bool Transaction::unpack_input_msg(bool ihr_delivered, const ActionPhaseConfig*
 | 
			
		|||
  return true;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
bool Transaction::prepare_storage_phase(const StoragePhaseConfig& cfg, bool force_collect) {
 | 
			
		||||
bool Transaction::prepare_storage_phase(const StoragePhaseConfig& cfg, bool force_collect, bool adjust_msg_value) {
 | 
			
		||||
  if (now < account.last_paid) {
 | 
			
		||||
    return false;
 | 
			
		||||
  }
 | 
			
		||||
| 
						 | 
				
			
			@ -657,6 +657,9 @@ bool Transaction::prepare_storage_phase(const StoragePhaseConfig& cfg, bool forc
 | 
			
		|||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  if (adjust_msg_value && msg_balance_remaining.grams > balance.grams) {
 | 
			
		||||
    msg_balance_remaining.grams = balance.grams;
 | 
			
		||||
  }
 | 
			
		||||
  total_fees += res->fees_collected;
 | 
			
		||||
  storage_phase = std::move(res);
 | 
			
		||||
  return true;
 | 
			
		||||
| 
						 | 
				
			
			@ -773,7 +776,7 @@ bool Transaction::compute_gas_limits(ComputePhase& cp, const ComputePhaseConfig&
 | 
			
		|||
  } else {
 | 
			
		||||
    // originally use only gas bought using remaining message balance
 | 
			
		||||
    // if the message is "accepted" by the smart contract, the gas limit will be set to gas_max
 | 
			
		||||
    cp.gas_limit = cfg.gas_bought_for(msg_balance_remaining.grams);
 | 
			
		||||
    cp.gas_limit = std::min(cfg.gas_bought_for(msg_balance_remaining.grams), cp.gas_max);
 | 
			
		||||
    if (!block::tlb::t_Message.is_internal(in_msg)) {
 | 
			
		||||
      // external messages carry no balance, give them some credit to check whether they are accepted
 | 
			
		||||
      cp.gas_credit = std::min(cfg.gas_credit, cp.gas_max);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue