Omniscia Morpho Labs Audit
Compilation
Compilation
The project utilizes foundry
as its development pipeline tool, containing an array of tests and scripts coded in Solidity.
To compile the project, the build
command needs to be issued via the forge
CLI tool:
forge build
The forge
tool automatically selects a Solidity version as no explicit version is defined in the foundry.toml
file.
The project contains discrepancies with regards to the Solidity version used as the pragma
statements of the contracts are open-ended (^0.8.0
).
We advise them to be locked to 0.8.11
(=0.8.11
), the same version utilized for our static analysis as well as optimizational review of the codebase.
During compilation with the foundry
pipeline, no errors were identified that relate to the syntax or bytecode size of the contracts.
To conduct our static analysis round, we had to port the codebase to a hardhat
configuration and manually re-adjust all remappings performed by foundry
as the static analysis tools were incompatible with them.
As such, the static analysis findings that an individual may identify on their own can be discrepant with ours due to the adjustments performed in the code for the new compilation structure to work.