Resonance Security reviewed Primex Finance on 14 Oct 2024: 7 findings, 0 critical; 4 marked fixed, 3 open.
Trustblock does not review code.
Statuses are the security firm’s own, from its report.
| Severity | Open | Acknowledged | Fixed |
|---|---|---|---|
| Critical | 0 | 0 | 0 |
| High | 0 | 0 | 2 |
| Medium | 1 | 0 | 0 |
| Low | 2 | 0 | 2 |
The PriceOracle contract is responsible for dictating the prices for given assets. The prices could be fetched using multiple of sources - Uniswap, Pyth and Chainlink to be precise. However, the Pyth and Chainlink sources support only prices denominated in USD. The PriceOracle contract keeps the prices in a mapping that is indexed with the asset price and returns that asset's price in USD. Hence, if the requested price is for a pair that does not include USD (for instance BTC/ETH) and Pyth/Chainlink is used as a price source, then the _getExchangeRate() function would actually return the price denominated in USD which will lead to invalid calculations.
The functions performPathsSwap() and swapExactTokensForTokens() make use of the internal function _swapExactTokensForTokens() and expect a uint256[3]value to be returned. Further calculations are made with this returned value. However, for the DexType.Paraswap, no value is returned, both leading to incorrect calculations of values presented to the caller of the functions.
The function _withdrawBucketLiquidityFromAave() is duplicated on both Bucket and BucketExtension contracts. This fact makes the code more complex and less readable, while also wasting unnecessarily more bytecode on the blockchain.
The contract KeeperRewardDistributorStorageV2 implements the state variable minPositionSizeMultiplier as an int256. The usage of this state variable throughout the code assumes that it will always contain an unsigned integer. Therefore, various checks may be removed to optimize gas.
The report names a repository or files. Open the report to see its scope.
18 projects reviewed · 25 reports · latest Aug 2025
See Resonance Security’s auditsSomething wrong on this page? A missing report, a wrong date, a finding that was fixed since. Tell us and we check it against its source.
Tell us