halo lagi, kyk kemarin alias acak-acakan, step dan pocong di bawah. bug ini (kyknya) price manipulation, reentrancy dan incorrect flaw/validation
Penjelasan: _transfer() bakal ngejalanin logic ketika kita transfer token.
- kalau kita ngirim token ke address sendiri dengan value 0 akan menjalankan function releasePush() tapi error “ga ada bonus buat lo” 🤔 (karena isi myPush / angka setan kosong)
- karena trigger releasePush() butuh angka setan maka kita dapatkan dengan transfer token ke LP, dan diulangi beberapa kali. angka setan bertambah dengan looping transfer ke LP & skim() berulang **
- sewaktu kita ngirim token ke address liquidpool/LP akan menjalankan kalkulasi bonus & angka setan
- releasePush() akan ngeburn token dari LP (sesuai angka setan?)
- swap and profit karena harga swap berubah setelah transfer ke address LP (token di LP berkurang karena burning)
- pertama kita harus punya WETH / bisa flashloan
- swap 0.12 ether ke token
- kirim token hasil beli ke address LP sebanyak 10x (angka setan nambah dan LP ngeburn token)
- panggil skim() untuk ngedapetin token yg dikirim ke LP sebanyak 10x
- lalu eksekusi releasePush() dengan kirim 0 token ke address sendiri, ngeburn angka setan?
- dan terakhir swap token ke WETH
https://gist.github.com/MrFatoni/da7a66e2a1f4e76b2db1aa643c35858f