The startingShortWithinOracleRange is intended to represent whether the shortPrice is within 1% of the oraclePrice. However, multiplying oraclePrice with 1.01 ether is incorrect, potentially leading to an incorrect state where startingShortWithinOracleRange is always true.
shortPrice(18 decimal) <= oraclePrice(18 decimal).mul(1.01 ether)(18 decimal) ==> this will always true
The startingShortId will always equal to shortHintId, and It may cause to leading to potential mismanagement of order books.
This can result in order book collisions inside the bidMatchAlgo() function, causing inaccurate pricing and potential loss for users.
Order book collision and potential loss of funds.
Manual Review
Multiply oraclePrice with 1.01.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.