Omniscia LimeChain Audit
Compilation
Compilation
The project utilizes hardhat
as its development pipeline tool, containing an array of tests and scripts coded in JavaScript.
To compile the project, the compile
command needs to be issued via the hardhat
CLI tool invoked via npx
:
npx hardhat compile
The hardhat
tool automatically selects Solidity version 0.8.0
based on the version specified within the hardhat.config.js
file.
The project contains discrepancies with regards to the Solidity version used as they are declared as open-ended (^0.8.0
) instead of restrictive (=0.8.0
).
Additionally, over the course of the audit we identified a potential vulnerability that can arise due to the compiler version utilized.
As a result, we strongly recommend the LimeChain team to switch to a version higher or equal to 0.8.3
.
During compilation with the hardhat
pipeline, no errors were identified that relate to the syntax or bytecode size of the contracts of the project. However, disabling optimizations causes the bytecode size error to be depicted for the RouterFacet
implementation which is something that should be tracked by the LimeChain team.