
Enquanto construía o @Uniswap V1 do zero, descobri algo sobre como o saldo do contrato se comporta quando você envia ETH com uma chamada de função. Digamos que o contrato tenha 10 ETH. Você chama uma função pagável com 1 ETH. Dentro da função, address(this).balance retorna 11 ETH, não 10. A EVM adiciona qualquer ETH recebido ao saldo antes de executar qualquer linha do código da função.
