Omniscia Steadefi Audit

Staking Vaults Security Audit

Audit Overview

We were tasked with performing an audit of the Steadefi codebase and in particular their permissioned lending pool implementation as well as the GMX and Trader Joe strategies they have devised that integrate with it.

Over the course of the audit, we identified multiple vulnerabilities of major severity across the system that arise from mishandled edge conditions, incorrect arithmetic operations, and design flaws that can be exploited and lead to fund loss.

We advise the Steadefi 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 Steadefi team iterated through all findings within the report and provided us with a revised commit hash to evaluate all exhibits on.

We evaluated all alleviations performed by Steadefi and have identified that certain exhibits have not been adequately dealt with. We advise the Steadefi team to revisit the following exhibits: GMP-01M, LPC-01C, LPL-02C, LPL-05C, LPL-02S, GMP-02C, GMX-05C, GMX-04C, GMD-02C, TJY-04C, TJY-01C, TJY-03C

Post-Audit Conclusion (7c9b2b09db)

The Steadefi revisited the exhibits outlined above and either nullified them safely or completed the actions necessary for the partially alleviated exhibits.

No exhibits remain unaddressed in the latest state of the codebase as all have either been properly assimilated to the code or have been nullified by supplemental information provided to us by the Steadefi team.

Contracts Assessed

Files in ScopeRepositoryCommit(s)
ChainLinkOracle.sol (CLO)steadefi-contracts8a4e06b6e5,
4325253d6d,
bd1d284427,
7c9b2b09db
GMXPerpetualDEXLongVault.sol (GMX)steadefi-contracts8a4e06b6e5,
4325253d6d,
bd1d284427,
7c9b2b09db
GMXPerpetualDEXLongReader.sol (GMP)steadefi-contracts8a4e06b6e5,
4325253d6d,
bd1d284427,
7c9b2b09db
GMXPerpetualDEXLongManager.sol (GMD)steadefi-contracts8a4e06b6e5,
4325253d6d,
bd1d284427,
7c9b2b09db
JoeOracle.sol (JOE)steadefi-contracts8a4e06b6e5,
4325253d6d,
bd1d284427,
7c9b2b09db
LendingPool.sol (LPL)steadefi-contracts8a4e06b6e5,
4325253d6d,
bd1d284427,
7c9b2b09db
LendingPoolConfig.sol (LPC)steadefi-contracts8a4e06b6e5,
4325253d6d,
bd1d284427,
7c9b2b09db
Math.sol (MHT)steadefi-contracts8a4e06b6e5,
4325253d6d,
bd1d284427,
7c9b2b09db
TraderJoeYieldFarmVault.sol (TJY)steadefi-contracts8a4e06b6e5,
4325253d6d,
bd1d284427,
7c9b2b09db
TraderJoeYieldFarmReader.sol (TJF)steadefi-contracts8a4e06b6e5,
4325253d6d,
bd1d284427,
7c9b2b09db
TraderJoeYieldFarmManager.sol (TJM)steadefi-contracts8a4e06b6e5,
4325253d6d,
bd1d284427,
7c9b2b09db

Audit Synopsis

SeverityIdentifiedAlleviatedPartially AlleviatedAcknowledged
7700
535201
212100
4400
7700

During the audit, we filtered and validated a total of 22 findings utilizing static analysis tools as well as identified a total of 70 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 can 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: