abortBidTaker calculates depositAmount and transferAmount based on the taker stock's point, preOffer's points and preOffer's amount.
However abortBidTaker uses wrong parameters to calculate depositAmount
depositAmount of taker's Bid order is proportional to preOffer's amount and stock's point and inversely proportional to preOffer's point.
the formula should be
However the implementation used an incorrect parameter order.
The incorrect refund amount will be credited to the recipient's account and breaks protocol behavior.
Manual review
Valid high severity, due to incorrect computation of `depositAmount` within `abortBidTaker`, when aborting bid offers created by takers, the collateral refund will be completely wrong for the taker, and depending on the difference between the value of `points` and `amount`, it can possibly even round down to zero, causing definite loss of funds. If not, if points were worth less than the collateral, this could instead be used to drain the CapitalPool contract instead.
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.