Omniscia Xcaliswap Audit
Core Project Security Audit
Audit Overview
We were tasked with performing an audit of Xcaliswap and in particular their core project implementation stemming from multiple protocols including Curve.fi, Solidly, Velodrome, and more in an attempt to build an innovative AMM implementation.
Over the course of the audit we identified multiple vulnerabilities ranging from a major severity one in the Multiswap
implementation that would render it inoperable to denial-of-service attacks for the core bribe and gauge implementations of the protocol.
We advise the Xcaliswap team to closely evaluate all minor-and-above findings identified in the report and promptly remediate them as well as consider all optimizational exhibits identified in the report.
Post-Audit Conclusion
The Xcaliswap team iterated through all findings in the report and produced a new commit hash for us to evaluate the changes they performed to fix the findings they deemed valid.
We advise the Xcaliswap team to revisit the following exhibits as they are not considered properly alleviated or dealt with: MRE-01S, MPA-01S, MPA-03S, SPR-01S, VRE-01S, VDT-01S, SPR-02M, and TNE-01M.
Contracts Assessed
Files in Scope | Repository | Commit(s) |
---|---|---|
Bribe.sol (BEB) | 3xcaliSwap | 2307ffec9b, 72efcb4eae |
Base64.sol (B46) | 3xcaliSwap | 2307ffec9b, 72efcb4eae |
BribeFactory.sol (BFY) | 3xcaliSwap | 2307ffec9b, 72efcb4eae |
FullMath.sol (FMH) | 3xcaliSwap | 2307ffec9b, 72efcb4eae |
Gauge.sol (GEG) | 3xcaliSwap | 2307ffec9b, 72efcb4eae |
GaugeFactory.sol (GFY) | 3xcaliSwap | 2307ffec9b, 72efcb4eae |
Math.sol (MHT) | 3xcaliSwap | 2307ffec9b, 72efcb4eae |
Math.sol (MHA) | 3xcaliSwap | 2307ffec9b, 72efcb4eae |
Minter.sol (MRE) | 3xcaliSwap | 2307ffec9b, 72efcb4eae |
Multiswap.sol (MPA) | 3xcaliSwap | 2307ffec9b, 72efcb4eae |
Router.sol (RRE) | 3xcaliSwap | 2307ffec9b, 72efcb4eae |
RouterUtil.sol (RUL) | 3xcaliSwap | 2307ffec9b, 72efcb4eae |
SwapFees.sol (SFS) | 3xcaliSwap | 2307ffec9b, 72efcb4eae |
SwapPair.sol (SPR) | 3xcaliSwap | 2307ffec9b, 72efcb4eae |
SwapFactory.sol (SFY) | 3xcaliSwap | 2307ffec9b, 72efcb4eae |
Token.sol (TNE) | 3xcaliSwap | 2307ffec9b, 72efcb4eae |
Voter.sol (VRE) | 3xcaliSwap | 2307ffec9b, 72efcb4eae |
VotingDist.sol (VDT) | 3xcaliSwap | 2307ffec9b, 72efcb4eae |
VotingEscrow.sol (VEW) | 3xcaliSwap | 2307ffec9b, 72efcb4eae |
Audit Synopsis
Severity | Identified | Alleviated | Partially Alleviated | Acknowledged |
---|---|---|---|---|
![]() | 3 | 1 | 0 | 2 |
![]() | 41 | 8 | 2 | 31 |
![]() | 12 | 12 | 0 | 0 |
![]() | 6 | 4 | 2 | 0 |
![]() | 1 | 1 | 0 | 0 |
During the audit, we filtered and validated a total of 18 findings utilizing static analysis tools as well as identified a total of 45 findings during the manual review of the codebase. We strongly recommend that any minor severity or higher findings are dealt with promptly prior to the project's launch as they introduce potential misbehaviours of the system as well as exploits.
The list below covers each segment of the audit in depth and links to the respective chapter of the report: