Omniscia Sovryn Audit

ThresholdProxyAdmin Code Style Findings

ThresholdProxyAdmin Code Style Findings

TPA-01C: Redundant Storage Write

TypeSeverityLocation
Gas OptimizationInformationalThresholdProxyAdmin.sol:L114, L115

Description:

The propose function overwrites any previously set proposal by the msg.sender. When the previously set proposal's action is not None it temporarily changes it to such and emits an event with its data prior to overwriting it redundantly.

Example:

contracts/upgradability/ThresholdProxyAdmin.sol
112if (proposals[msg.sender].action != Action.None) {
113 require(!_proposalsIdentical(newProp, proposals[msg.sender]), "proposal already exists");
114 proposals[msg.sender].action = Action.None;
115 emit Retracted(msg.sender, proposals[msg.sender].action, proposals[msg.sender].target, proposals[msg.sender].data);
116}
117
118proposals[msg.sender] = newProp;

Recommendation:

We advise the action assignment to simply be omitted and the value to be included in the Retracted event emittance.

Alleviation:

The contract no longer exists in the codebase and this exhibit can be considered null.