I am reading an interesting honeypot posted years ago. But I was confused by how the honeypot contract is implemented. More specifically, take this transaction as an example. As we can see, during this transaction:
TRANSFER 1 Ether From 0x6f49baef279f8c40d7479f5be6a9bbf5fc607af0 To 0x95d34980095380851902ccd9a1fb4c813c2cb639 TRANSFER 2 Ethers From 0x95d34980095380851902ccd9a1fb4c813c2cb639 To 0x6f49baef279f8c40d7479f5be6a9bbf5fc607af0
However, after the transaction, the balance of
0x95d34980095380851902ccd9a1fb4c813c2cb639 increased by 1 ether. It looks like the honeypot contract reverted half of the transaction.
There were discussions here.
I also tried
assert() in my
TransferLog.AddMessage. But neither of them worked: the whole transaction reverted and no ether was sent to the contract.
Any hints/help will be appriciated.