SAME_BLOCK_BORROW_REPAY prevents a user from repaying twice in the same block - is that intended?
- Aave Protocol Aave
Expert
It looks like SAME_BLOCK_BORROW_REPAY prevents a user from repaying twice in the same block even if they dont borrow anything in that block. Is that intended?
Answers 1
This is the error condition:
equire(
(stableRatePreviousTimestamp < uint40(block.timestamp) &&
interestRateMode == DataTypes.InterestRateMode.STABLE) ||
(variableDebtPreviousIndex < reserveCache.nextVariableBorrowIndex &&
interestRateMode == DataTypes.InterestRateMode.VARIABLE),
Errors.SAME_BLOCK_BORROW_REPAY
);
It looks like this is to prevent the variable of stable rates from being updated twice in the same block, so I think it is intentional
it will depend on your use case, but keep in mind there is a repaywithatokens
function which in my case was enough to suit my needs