Omniscia vfat Audit

Automation Static Analysis Findings

Automation Static Analysis Findings

ANO-01S: Inexistent Event Emission

Description:

The linked function adjusts a sensitive contract variable yet does not emit an event for it.

Example:

contracts/Automation.sol
86constructor(
87 SickleRegistry registry_,
88 address payable approvedAutomator_,
89 address admin_
90) Admin(admin_) NonDelegateMulticall(registry_) {
91 approvedAutomator = approvedAutomator_;
92}

Recommendation:

We advise an event to be declared and correspondingly emitted to ensure off-chain processes can properly react to this system adjustment.

Alleviation (6ab7af3bb495b817ffec469255ea679b1813eecb):

The vfat team evaluated this exhibit but opted to acknowledge it in the current iteration of the codebase.

ANO-02S: Inexistent Sanitization of Input Address

Description:

The linked function accepts an address argument yet does not properly sanitize it.

Impact:

The presence of zero-value addresses, especially in constructor implementations, can cause the contract to be permanently inoperable. These checks are advised as zero-value inputs are a common side-effect of off-chain software related bugs.

Example:

contracts/Automation.sol
86constructor(
87 SickleRegistry registry_,
88 address payable approvedAutomator_,
89 address admin_
90) Admin(admin_) NonDelegateMulticall(registry_) {
91 approvedAutomator = approvedAutomator_;
92}

Recommendation:

We advise some basic sanitization to be put in place by ensuring that the address specified is non-zero.

Alleviation (6ab7af3bb495b817ffec469255ea679b1813eecb):

The vfat team evaluated this exhibit but opted to acknowledge it in the current iteration of the codebase.