There are multiple times when values are made non-zero, but corresponding events are not emitted.
Vulnerability Detail
Let's take FlapperUniV2 for example. In the constructor, want is assigned a value WADhere, but there is no corresponding event emitted. When the file function is called to set want any other time, there is a corresponding File event emitted. The same event should be emitted in the constructor as well, like so: emit File("want", WAD).
This pattern is being followed for the Rely event every time, but not any other time. The protocol should be consistent so that it is easier for off-chain indexers that rely on the events to gather info.
Impact
Off-chain components relying on events to generate insights will have to take this discrepancy into consideration, making it harder for them.
Droll Corduroy Monkey
Low/Info
Missing events
Summary
Vulnerability Detail
want
is assigned a valueWAD
here, but there is no corresponding event emitted. When thefile
function is called to setwant
any other time, there is a correspondingFile
event emitted. The same event should be emitted in the constructor as well, like so:emit File("want", WAD)
.Rely
event every time, but not any other time. The protocol should be consistent so that it is easier for off-chain indexers that rely on the events to gather info.Impact
Code Snippet
Tool used
Manual Review
Recommendation