Should I emit Transfer
event, when zero amount of Ether or of a token is transferred?
Variants of the answer:
- yes
- no
- both are OK
There's no harm in emitting the event for both.
Events are more about letting an external entity that something (ex. a function call) happened with certain parameters. If there are zero cases, let the external entity handle that scenario instead of choosing for them.