The offerId
stored during createOffer
is inconsistent with offerId
being used for address generation.
In the createOffer
function of the PreMarkets contract, there is an inconsistency on the stored offerId
is used. The function uses the current offerId
to generate unique addresses for the maker, offer, and stock.
However, it then increments the offerId
before storing it in the OfferInfo
struct.
This results in a mismatch between the offerId
used for address generation and the offerId
stored in the offer/stock information.
This can be tested with following test:
Mismatched IDs between offer/stock addresses and stored offer/stock information.
Manual
Modify the createOffer
function to use the same offerId
for both address generation and storage.
I believe this is valid low severity, although there is inconsistency here when using the correct `offerId` for assigning offerIds and generating the unique addresses as seen [here](https://github.com/Cyfrin/2024-08-tadle/blob/04fd8634701697184a3f3a5558b41c109866e5f8/src/core/PreMarkets.sol#L67-L69), this is purely an accounting error for offerIds. If we generate the offerId using current `offerId - 1`, the appropriate listing/taker orders can still be created against those offers.
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.