
При создании @Uniswap V1 с нуля я обнаружил особенность поведения баланса контракта при отправке ETH с помощью вызова функции. Предположим, баланс контракта составляет 10 ETH. Вы вызываете payable-функцию с 1 ETH. Внутри функции address(this).balance возвращает 11 ETH, а не 10. EVM добавляет любой входящий ETH к балансу до выполнения любой строки кода функции.
