CAYA is pleased to present this audit report outlining our assessment of code, canister smart contracts, and other important audit insights and suggestions for management, developers, and users.
ICDex is a fully on-chain orderbook DEX, with decentralized features and a great user experience like CEX. We had the opportunity to test two canisters belonging to the list of libraries for future use. OrderBook is a module that contains the described basic operations related to buying or selling, matching buyers and sellers in the market. In fact, this is the mechanism used by most electronic exchanges. To correctly convert the parameter into a hashed value, the OrderBook module uses functions from the Binary module.
Each level in the order book consists of a price and a quantity. The book has two sides: asks and bids. Asks consists of orders from other traders offering to sell an asset. Bids are orders from traders offering to buy an asset. As a result, OrderBook contains basic functions to calculate the highest and lowest price when buying or selling, depending on the order level and type.
During the audit process, the CAYA team found several issues. A detailed summary and the current state are displayed in the table below.
Severity of the issue
Total found
Resolved
Unresolved
Evaluating the findings in this report, the CAYA auditors can state that the canisters are operational and secure. Under the given circumstances, we set the following risk level:
To set the codebase quality mark, our auditors are evaluating the initial commit given for the scope of the audit and the last commit with the fixes. This approach helps us adequately and sequentially evaluate the quality of the code. Code style, optimization of the canisters, the number of issues, and risk level of the issues are all taken into consideration. The CAYA team has developed a transparent evaluation codebase quality system presented below.
Severity of the issue
Issue severity
Total found
Resolved
Please note that the points are deducted out of 100 for each and every issue on the list of findings (according to the current status of the issue). Issues marked as “not valid” are not subject to point deduction.
Score
Based on the given findings, risk level, performance, and code style, CAYA team can grant the following overall score:
![](https://cdn.prod.website-files.com/61efadf06b5315901ac6f40a/65265d85a6eabd047c6dc4a8_Group%2016814%20(3).svg)
Please be aware that this audit does not certify the definitive reliability and security level of the canister smart contract. This document describes all vulnerabilities, typos, performance issues, and security issues found by the CAYA audit team. If the code is still under development, we highly recommend running one more audit once the code is finalized.
![](https://cdn.prod.website-files.com/61efadf06b5315901ac6f40a/651d49f131126e93364a6bc2_Group%2017009.svg)