Closed sherlock-admin closed 1 year ago
4 comment(s) were left on this issue during the judging contest.
141345 commented:
m
darkart commented:
The protocol is working as designed
Daudit commented:
no stock splits in crypto
panprog commented:
low (invalid) because owner is trusted and should know of such problems of these feeds which are not suitable for such futures, maybe he can implement correct payoff function to mitigate this issue. Either way this is not a protocol problem, the way it is such markets should not be used anyway.
OxZ00mer
medium
Markets with equities as indexes can cause unexpected behavior and economic damage
Summary
Markets which use equities as indexes can experience a lot of unexpected behavior in the case of a stock split, reverse stock split, company merger, etc.
Vulnerability Detail
Markets rely on specific Chainlink price feeds as a market index prices, which dictate whether longs or shorts should be paid rewarded. A shift in the price of such an index is supposed to reward one side and take from the other.
The issue arises because PYTH equity price feeds can be used as price feeds for a market. Equities unlike any other type of feed can change under extraordinary circumstances such as stock splits, reverse stock splits, company mergers and other similar situations.
https://www.cnbc.com/2022/02/01/google-parent-alphabet-announces-20-for-1-stock-split.html
https://finance.yahoo.com/news/wwe-and-ufc-owner-endeavor-agree-to-massive-merger-110951505.html
Impact
A market using an equity that experiences such an event will be greatly damaged as the price will suddenly drop thus liquidating all the people who are longing and paying out big amounts to all of the people shorting.
Code Snippet
https://github.com/sherlock-audit/2023-07-perennial/blob/main/perennial-v2/packages/perennial-extensions/contracts/MultiInvoker.sol
https://github.com/sherlock-audit/2023-07-perennial/blob/main/perennial-v2/packages/perennial/contracts/Market.sol
Tool used
Manual Review
Recommendation
Consider implementing some sort of mechanism, that will allow for the emergency termination of a market's operation, that keep the users' funds safe during such an event.