Omniscia Hot Cross Audit
RewardVault Static Analysis Findings
RewardVault Static Analysis Findings
RVT-01S: Unchecked Return Variables
Type | Severity | Location |
---|---|---|
Standard Conformity | Minor | RewardVault.sol:L37 |
Description:
The linked ERC-20 transfer
invocation does not conform to the specification which states that callers of these functions should not assume that they revert
on failure.
Example:
contracts/RewardVault.sol
28function safeRewardTransfer(29 address to,30 uint256 amount31) public onlyOwner {32 uint256 rewardTokenBalance = rewardToken.balanceOf(address(this));33 uint256 transferableAmount = amount > rewardTokenBalance 34 ? rewardTokenBalance 35 : amount;36
37 rewardToken.transfer(to, transferableAmount);38}
Recommendation:
We advise a wrapper implementation of ERC-20 to be utilized, such as SafeERC20
by OpenZeppelin, to safely invoke the method via the safeTransfer
function.
Alleviation:
The SafeERC20
wrapper from Open Zeppelin was properly imported and utilized in the relevant code segments alleviating this exhibit.