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.