<!-- canonical: https://0xsimao.com/findings/vertex-helper-iso-group-subaccount -->

# RiskHelper::isoGroup() returns 0, regardless of the passed subaccount

Low/Info · Three Sigma · Hybrid orderbook DEX · 3rd April 2024

Finding 3S-Vertex-N03 of the Vertex security review.

- Report: /reports/vertex
- Source: https://github.com/0xsimao/audits/blob/main/Three%20Sigma/2024-04-03-vertex.pdf

---

### Description

RiskHelper::isoGroup() is called in various functions across the code such as

```solidity
RiskHelper::canTrade(), SpotEngine::socializeSubaccount(), PerpEngine::socializeSubaccount(), ClearinghouseLiq::_assertLiquidationAmount(), ClearinghouseLiq::_assertCanLiquidateLiability(),
```

[ClearinghouseLiq::_finalizeSubaccount()](https://github.com/vertex-protocol/vertex-contracts-3sigma-audit/blob/4286c37cf4ee59d7e3231ac4683859f54d0d8e96/contracts/ClearinghouseLiq.sol#L385), and [ClearinghouseLiq_settlePositivePerpPnl()](https://github.com/vertex-protocol/vertex-contracts-3sigma-audit/blob/4286c37cf4ee59d7e3231ac4683859f54d0d8e96/contracts/ClearinghouseLiq.sol#L521).
However, it always returns 0 regardless of its parameter subaccount.

### Recommendation

Implement the functionality (currently commented out) or fully remove this function.

### Status

Acknowledged

Disclosed by 0xSimao (https://0xsimao.com/).

---

Related findings:

- [DoS risk in IRamsesGauge(gauge).getReward() when enough periods have passed](https://0xsimao.com/findings/yieldoor-i-risk-ramses-reward-periods): Yieldoor Gauges
