Category: Coding Mistakes
Calling the function configure regardless of whether the token is rebasing
Low Impact
Low Severity
N/A Likelihood
Description
Some tokens on Blast are rebasing, and their yield mode can be configured by calling the function configure.
If the default token is rebasing, the contract BfxU will configure its yield mode during the initialization. However, there is an extra configure function call that ignores the value of _rebasing in the function initialize.
function initialize(
// [...]
address _defaultToken,
uint256 _minDeposit,
bool _rebasing,
// [...]
) public initializer {
// [...]
defaultToken = _defaultToken;
! IERC20Rebasing(_defaultToken).configure(YieldMode.CLAIMABLE);
supportedTokens[_defaultToken] = true;
rebasingTokens[_defaultToken] = _rebasing;
if (_rebasing) {
! IERC20Rebasing(_defaultToken).configure(YieldMode.CLAIMABLE);
}
// [...]
}Impact
If the token is not rebasing, the call to the function configure may fail, causing the transaction to revert.
Recommendations
Consider removing the call to the function configure that is not within the if condition.
Remediation
This issue has been acknowledged by RabbitX, and a fix was implemented in commit a7fa5c60↗.