DeliveryPlace.sol#settleAskTaker
passes the wrong boolean value in the calculation of the collateral fee.
DeliveryPlace.sol#settleAskTaker
calculates collateralFee by internally calling getDepositAmount which takes boolean value to check if the caller is the offer authority or not which in this case its true.
Due to passing false as a boolean and the offerType
being ask
, the return value of the collateral fee will be stockInfo.amount
which is not the intended result.
Wrong updates in token balance will be pushed leading to more incorrect calculation
wrong event emission values.
Manual review
Invalid, when a taker creates a offer type `StockType.Ask` for a `OfferType.Bid` in protected mode via `createTaker()`, when the `_depositTokenWhenCreateTaker` is invoked, it computes the collateral for the taker to deposit with `(_offerType == OfferType.Bid && !_isMaker)`, in which the collateral will compute based on collateral ratio set by original offer maker as seen [here](https://github.com/Cyfrin/2024-08-tadle/blob/04fd8634701697184a3f3a5558b41c109866e5f8/src/libraries/OfferLibraries.sol#L44-L51). When `settleAskTaker` is invoked, the same condition of `(_offerType == OfferType.Bid && !_isMaker)` is used, so the same computation seen [here](https://github.com/Cyfrin/2024-08-tadle/blob/04fd8634701697184a3f3a5558b41c109866e5f8/src/libraries/OfferLibraries.sol#L44-L51) is invoked, which means collateral refund is correct.
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.