Suppose we have a contract with the following defined function:
function send(address receiver, uint amount) public {
if (balances[msg.sender] < amount) return;
balances[msg.sender] -= amount;
balances[receiver] += amount;
emit Sent(msg.sender, receiver, amount);
}
and suppose that sender runs out of gas just after the following line:
balances[msg.sender] -= amount;
What happened with the state variables? Are incomplete tx included in the block or not?