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.