Both reserves should be checked in `LibWell::getWellPriceFromTwaReserves`
```\\nfunction getWellPriceFromTwaReserves(address well) internal view returns (uint256 price) {\\n    AppStorage storage s = LibAppStorage.diamondStorage();\\n    // s.twaReserve[well] should be set prior to this function being called.\\n    // 'price' is in terms of reserve0:reserve1.\\n    if (s.twaReserves[well].reserve0 == 0) {\\n        price = 0;\\n    } else {\\n        price = s.twaReserves[well].reserve0.mul(1e18).div(s.twaReserves[well].reserve1);\\n    }\\n}\\n```\\n\\nCurrently, `LibWell::getWellPriceFromTwaReserves` sets the price to zero if the time-weighted average reserves of the zeroth reserve (for Wells, Bean) is zero. Given the implementation of `LibWell::setTwaReservesForWell`, and that a Pump failure will return an empty reserves array, it does not appear possible to encounter the case where one reserve can be zero without the other except for perhaps an exploit or migration scenario. Therefore, whilst unlikely, it is best to but best to ensure both reserves are non-zero to avoid a potential division by zero `reserve1` when calculating the price as a revert here would result in DoS of `SeasonFacet::gm`.\\n```\\nfunction setTwaReservesForWell(address well, uint256[] memory twaReserves) internal {\\n    AppStorage storage s = LibAppStorage.diamondStorage();\\n    // if the length of twaReserves is 0, then return 0.\\n    // the length of twaReserves should never be 1, but\\n    // is added for safety.\\n    if (twaReserves.length < 1) {\\n        delete s.twaReserves[well].reserve0;\\n        delete s.twaReserves[well].reserve1;\\n    } else {\\n        // safeCast not needed as the reserves are uint128 in the wells.\\n        s.twaReserves[well].reserve0 = uint128(twaReserves[0]);\\n        s.twaReserves[well].reserve1 = uint128(twaReserves[1]);\\n    }\\n}\\n```\\n\\nAdditionally, to correctly implement the check identified by the comment in `LibWell::setTwaReservesForWell`, the time-weighted average reserves in storage should be reset if the array length is less-than or equal-to 1.
```\\n// LibWell::getWellPriceFromTwaReserves`\\n// Remove the line below\\n if (s.twaReserves[well].reserve0 == 0) {\\n// Add the line below\\n if (s.twaReserves[well].reserve0 == 0 || s.twaReserves[well].reserve1 == 0) {\\n        price = 0;\\n} else {\\n\\n// LibWell::setTwaReservesForWell\\n// Remove the line below\\n if (twaReserves.length < 1) {\\n// Add the line below\\n if (twaReserves.length <= 1) {\\n    delete s.twaReserves[well].reserve0;\\n    delete s.twaReserves[well].reserve1;\\n} else {\\n```\\n
```\\nfunction getWellPriceFromTwaReserves(address well) internal view returns (uint256 price) {\\n    AppStorage storage s = LibAppStorage.diamondStorage();\\n    // s.twaReserve[well] should be set prior to this function being called.\\n    // 'price' is in terms of reserve0:reserve1.\\n    if (s.twaReserves[well].reserve0 == 0) {\\n        price = 0;\\n    } else {\\n        price = s.twaReserves[well].reserve0.mul(1e18).div(s.twaReserves[well].reserve1);\\n    }\\n}\\n```\\n