multiplication overflow in getPoolPrice() likely
`getPoolPrice()` is used in hedgeDelta to get the price directly from Uniswap v3 pool:\\n```\\n    function getPoolPrice() public view returns (uint256 price, uint256 \\n         inversed){\\n            (uint160 sqrtPriceX96, , , , , , ) = pool.slot0();\\n        uint256 p = uint256(sqrtPriceX96) * uint256(sqrtPriceX96) * (10 \\n        ** token0.decimals());\\n     // token0/token1 in 1e18 format\\n          price = p / (2 ** 192);\\n              inversed = 1e36 / price;\\n         }\\n```\\n\\nThe issue is that calculation of p is likely to overflow. sqrtPriceX96 has 96 bits for decimals, 10** `token0.decimals()` will have 60 bits when decimals is 18, therefore there is only (256 - 2 * 96 - 60) / 2 = 2 bits for non-decimal part of sqrtPriceX96.
Consider converting the sqrtPrice to a 60x18 format and performing arithmetic operations using the PRBMathUD60x18 library.
```\\n    function getPoolPrice() public view returns (uint256 price, uint256 \\n         inversed){\\n            (uint160 sqrtPriceX96, , , , , , ) = pool.slot0();\\n        uint256 p = uint256(sqrtPriceX96) * uint256(sqrtPriceX96) * (10 \\n        ** token0.decimals());\\n     // token0/token1 in 1e18 format\\n          price = p / (2 ** 192);\\n              inversed = 1e36 / price;\\n         }\\n```\\n