
Semasa membina @Uniswap V1 dari awal, saya menemui sesuatu mengenai bagaimana keseimbangan kontrak berkelakuan apabila anda menghantar ETH bersama panggilan fungsi. Misalnya, kontrak mempunyai 10 ETH. Anda memanggil fungsi payable dengan 1 ETH. Di dalam fungsi tersebut, address(this).balance akan mengembalikan 11 ETH, bukan 10. EVM menambahkan mana-mana ETH yang masuk ke keseimbangan sebelum ia menjalankan sebarang baris kod fungsi tersebut.
