From d34c3dc0114850055775dee3f0e3e7bdcafe2fef Mon Sep 17 00:00:00 2001 From: Michael Ghen Date: Fri, 24 Apr 2026 08:07:07 -0400 Subject: [PATCH] [G-01] Cache storage reads in claim to avoid redundant SLOADs --- src/FeeFlow.sol | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/FeeFlow.sol b/src/FeeFlow.sol index 6f69f99..83fc926 100644 --- a/src/FeeFlow.sol +++ b/src/FeeFlow.sol @@ -211,13 +211,15 @@ contract FeeFlow is AccessControlUpgradeable, UUPSUpgradeable { FeeFlowStorage storage $ = _getFeeFlowStorage(); if ($._claimPaused) revert FeeFlow_ClaimPaused(); uint256 _bidAmount = $._bidThreshold; + IERC20 _bidToken = $._bidToken; + address _destination = $._destination; - $._bidToken.safeTransferFrom(msg.sender, $._destination, _bidAmount); - ISplitter($._destination).split(); + _bidToken.safeTransferFrom(msg.sender, _destination, _bidAmount); + ISplitter(_destination).split(); for (uint256 _i = 0; _i < _claimRequests.length; _i++) { IERC20 _token = _claimRequests[_i].token; - if (_token == $._bidToken) revert FeeFlow_InvalidFeeToken(); + if (_token == _bidToken) revert FeeFlow_InvalidFeeToken(); if (!$._claimableTokens[_token]) revert FeeFlow_TokenNotClaimable(); uint256 _balance = _token.balanceOf(address(this)); if (_balance == 0 || _balance < _claimRequests[_i].minAmountRequested) {