Omniscia Tangible Audit

NotificationWhitelister Static Analysis Findings

NotificationWhitelister Static Analysis Findings

NWR-01S: 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/abstract/NotificationWhitelister.sol
43function __NotificationWhitelister_init(
44 address _factory,
45 address _tnft
46) internal onlyInitializing {
47 __FactoryModifiers_init(_factory);
48 NotificationWhitelisterStorage storage $ = _getNotificationWhitelisterStorage();
49 $.tnft = ITangibleNFT(_tnft);
50}

Recommendation:

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

Alleviation (2ad448279d9e8e4b6edd94bcd2eb22129b6f7357):

The input _tnft address argument of the NotificationWhitelister::__NotificationWhitelister_init function is adequately sanitized as non-zero in the latest in-scope revision of the codebase, addressing this exhibit.