pragma solidity >=0.5.0;
contract EventTrackingStorageRef {
mapping(address=>bool) data;
/// @notice tracks-changes-in data
event e(address a);
/// @notice emits e
function f(address a) public {
mapping(address=>bool) storage ref = data;
ref[a] = true;
}
}
In the contract above, function f should emit the event but it doesn't, this should be reported as error. Current version says
$ ./solc-verify.py issue.sol --output .
EventTrackingStorageRef::f: OK
EventTrackingStorageRef::[implicit_constructor]: OK
Use --show-warnings to see 1 warning.
No errors found.
We need to check if the reference potentially updates the tracked data which is currently not done.
In the contract above, function f should emit the event but it doesn't, this should be reported as error. Current version says
We need to check if the reference potentially updates the tracked data which is currently not done.