Omniscia Impact Market Audit
PACTDelegate Static Analysis Findings
PACTDelegate Static Analysis Findings
PAC-01S: Literal Equality of bool Variable
| Type | Severity | Location |
|---|---|---|
| Gas Optimization | ![]() | PACTDelegate.sol:L464 |
Description:
The linked bool comparison is performed between a variable and a bool literal.
Example:
464require(_receipt.hasVoted == false, "PACT::castVoteInternal: voter already voted");Recommendation:
We advise the bool variable to be utilized directly either in its negated (!) or original form.
Alleviation:
The linked condition has been replaced with proper logical check by removing the constant boolean comparison.
PAC-02S: Inexistent Sanitization of Input Addresses
| Type | Severity | Location |
|---|---|---|
| Input Sanitization | ![]() | PACTDelegate.sol:L62, L63 |
Description:
The linked function(s) accept address arguments yet do not properly sanitize them.
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:
60function initialize(61 address _timelock,62 address _token,63 address _releaseToken,64 uint256 _votingPeriod,65 uint256 _votingDelay,66 uint256 _proposalThreshold,67 uint256 _quorumVotes68) public initializer {Recommendation:
We advise some basic sanitization to be put in place by ensuring that each address specified is non-zero.
Alleviation:
The _token argument is now properly sanitized and the Impact Market team stated that the _releaseToken variable can be zero in case no secondary token is needed by the system. As a result, we consider this exhibit fully dealt with.

