Omniscia fetchai Audit

Compilation

Compilation

The project utilizes brownie as its development pipeline tool, containing a wide array of tests and scripts coded in Python.

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

brownie compile

The brownie tool automatically selects Solidity version 0.6.8 based on the pragma statements contained within the contracts.

The project contains discrepancies with regards to the Solidity version used as the pragma statements within the third party contracts differ greatly between them. We strongly recommend the third party contracts to be relocated outside the contracts folder and into another folder to avoid compilation tools misbehaving.

To be able to run our suite of static analysis tools, we ported the codebase to a barebones truffle installation to produce the proper compilation artifacts.

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