IchiLpOracle is extemely easy to manipulate due to how IchiVault calculates underlying token balances
`IchiVault#getTotalAmounts` uses the `UniV3Pool.slot0` to determine the number of tokens it has in it's position. `slot0` is the most recent data point and is therefore extremely easy to manipulate. Given that the protocol specializes in leverage, the effects of this manipulation would compound to make malicious uses even easier.\\nICHIVault.sol\\n```\\nfunction _amountsForLiquidity(\\n    int24 tickLower,\\n    int24 tickUpper,\\n    uint128 liquidity\\n) internal view returns (uint256, uint256) {\\n    (uint160 sqrtRatioX96, , , , , , ) = IUniswapV3Pool(pool).slot0();\\n    return\\n        UV3Math.getAmountsForLiquidity(\\n            sqrtRatioX96,\\n            UV3Math.getSqrtRatioAtTick(tickLower),\\n            UV3Math.getSqrtRatioAtTick(tickUpper),\\n            liquidity\\n        );\\n}\\n```\\n\\n`IchiVault#getTotalAmounts` uses the `UniV3Pool.slot0` to determine the number of tokens it has in it's position. slot0 is the most recent data point and can easily be manipulated.\\n`IchiLPOracle` directly uses the token values returned by `vault#getTotalAmounts`. This allows a malicious user to manipulate the valuation of the LP. An example of this kind of manipulation would be to use large buys/sells to alter the composition of the LP to make it worth less or more.
Token balances should be calculated inside the oracle instead of getting them from the `IchiVault`. To determine the liquidity, use a TWAP instead of `slot0`.
Ichi LP value can be manipulated to cause loss of funds for the protocol and other users
```\\nfunction _amountsForLiquidity(\\n    int24 tickLower,\\n    int24 tickUpper,\\n    uint128 liquidity\\n) internal view returns (uint256, uint256) {\\n    (uint160 sqrtRatioX96, , , , , , ) = IUniswapV3Pool(pool).slot0();\\n    return\\n        UV3Math.getAmountsForLiquidity(\\n            sqrtRatioX96,\\n            UV3Math.getSqrtRatioAtTick(tickLower),\\n            UV3Math.getSqrtRatioAtTick(tickUpper),\\n            liquidity\\n        );\\n}\\n```\\n