Category: Coding Mistakes
Calling the function configure
regardless of whether the token is rebasing
Low Severity
Low Impact
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↗.