Contracts should be deployed with the same compiler version and flags that they have been tested with thoroughly.
The DecentralizedStableCoin, DSCEngine, and OracleLib contract uses floating pragma. It is considered unsafe.
It's a good practice to avoid the use of floating pragma. Code must be compiled with the same version it as been tested the most. It also avoids the use of any nightly builds which can have unexpected and unknown behaviors
See SWC-103 for more details.
Locking the pragma helps to ensure that contracts do not accidentally get deployed using, for example, an outdated compiler version that might introduce bugs that affect the contract system negatively.
Manual Analysis
Consider replacing ^0.8.18
by 0.8.18
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.