Omniscia Euler Finance Audit

IRMLinearKink Code Style Findings

IRMLinearKink Code Style Findings

IRL-01C: Ineffectual Usage of Safe Arithmetics

Description:

The linked mathematical operation is guaranteed to be performed safely by surrounding conditionals evaluated in either require checks or if-else constructs.

Example:

src/InterestRateModels/IRMLinearKink.sol
49if (utilisation <= kink) {
50 ir += utilisation * slope1;
51} else {
52 ir += kink * slope1;
53 ir += slope2 * (utilisation - kink);
54}

Recommendation:

Given that safe arithmetics are toggled on by default in pragma versions of 0.8.X, we advise the linked statement to be wrapped in an unchecked code block thereby optimizing its execution cost.

Alleviation (fb2dd77a6ff9b7f710edb48e7eb5437e0db4fc1a):

The referenced subtraction was optimized securely, performing it within an unchecked code block without wrapping the multiplication that it is utilized in.