Christmas Dinner

First Flight #31
Beginner FriendlyFoundrySolidity
100 EXP
View results
Submission Details
Severity: low
Invalid

CEI pattern is not followed

Description:
Most of the methods of the contract follow this pattern: (Check, Interaction, Effects)

function _refundERC20(address _to) internal {
// Interaction
i_WETH.safeTransfer(_to, balances[_to][address(i_WETH)]);
i_WBTC.safeTransfer(_to, balances[_to][address(i_WBTC)]);
i_USDC.safeTransfer(_to, balances[_to][address(i_USDC)]);
// Effects
balances[_to][address(i_USDC)] = 0;
balances[_to][address(i_WBTC)] = 0;
balances[_to][address(i_WETH)] = 0;
}
function _refundETH(address payable _to) internal {
// Interaction
uint256 refundValue = etherBalance[_to];
_to.transfer(refundValue);
// Effects
etherBalance[_to] = 0;
}

Recommended Mitigation: Update storage value before interaction.

Updates

Lead Judging Commences

0xtimefliez Lead Judge about 1 year ago
Submission Judgement Published
Invalidated
Reason: Non-acceptable severity

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.

Give us feedback!