Omniscia Steer Protocol Audit

Compilation

Compilation

The project utilizes hardhat as its development pipeline tool, containing an array of tests and scripts coded in TypeScript.

To compile the project, the compile command needs to be issued via the npx CLI tool to hardhat:

npx hardhat compile

The hardhat tool automatically selects one of multiple versions (0.8.18, 0.8.12, 0.7.6, 0.5.17) based on the versions specified within the hardhat.config.ts file.

The project contains discrepancies with regards to the Solidity version used as the pragma statements of the contracts are open-ended at times (^0.8.0).

We advise all pragma statements to be locked to their respective compilers (i.e. ^0.8.0 adjusted to either =0.8.12 or =0.8.18). During our optimizational and static analysis review of the codebase, we utilized the appropriate compiler for minor semantic versions and chose 0.8.18 over 0.8.12 when in conflict.

During compilation with the hardhat pipeline, no errors were identified that relate to the syntax or bytecode size of the contracts.