Guardian's review of Reader for GMX, published August 2025. The report records 4 findings, including 1 low and 3 informational.
- Published
- Review window
- August 13 to 18, 2025
- Language
- Solidity
- Chains
- Arbitrum, Avalanche
- Sector
- Perpetuals
- 0 Critical
- 0 High
- 0 Medium
- 1 Low
- 3 Informational
Scope
Findings 4
-
L-01 Low Unused Structs Superfluous Code Acknowledged
Description
The
ReaderPricingUtilscontract containsPositionInfoandGetPositionInfoCachestructs similar to those inReaderPositionUtils. However, the structs inReaderPricingUtilsare outdated and not used anywhere, so they can be removed.Recommendation
Consider removing unused structs.
-
I-01 Informational Function Without Logic Best Practices Acknowledged
Description
The
getLiquidatablePositionsfunction has no logic implemented.Recommendation
Consider removing it / commenting it out or implementing the logic.
-
I-02 Informational Inconsistent Function Parameter Names Informational Acknowledged
Description
In the Reader contract, the
getPnlToPoolFactorfunction usesmarketAddress, while other functions such asgetMarketInfo,getExecutionPrice, andgetSwapPriceImpactusemarketKeyas a parameter.Recommendation
Consider using
marketKeyin thegetPnlToPoolFactorfunction as well for consistency. -
I-03 Informational Missing Params In NatSpec Best Practices Acknowledged
Description
There are some missing params in the NatSpec of the
isPositionLiquidatablefunction. The same holds true for theIsPositionLiquidatableCache.Recommendation
Consider adding the params to the NatSpec.
No findings match.
More from GMX
All 44 reportsPut your code through the same review.
This review started with a conversation about scope. Tell us what you are building and we will plan yours with you.
