
Saat membangun @Uniswap V1 dari awal, saya menemukan sesuatu tentang bagaimana keseimbangan kontrak berperilaku saat Anda mengirim ETH melalui pemanggilan fungsi. Misalnya, kontrak memiliki 10 ETH. Anda memanggil fungsi payable dengan 1 ETH. Di dalam fungsi tersebut, address(this).balance mengembalikan 11 ETH, bukan 10. EVM menambahkan semua ETH yang masuk ke saldo sebelum menjalankan baris kode apa pun dari fungsi tersebut.
