When creating a premarket offer the offerId
used in generating the offer makerAddr
, offerAddr
and stockAddr
is not the same one used in saving the offerInfoMap
and the stockInfoMap
.
https://github.com/Cyfrin/2024-08-tadle/blob/main/src/core/PreMarkets.sol#L66
This is because the offerId
is increased after the addresses have been generated.
https://github.com/Cyfrin/2024-08-tadle/blob/main/src/core/PreMarkets.sol#L83
https://github.com/Cyfrin/2024-08-tadle/blob/main/src/core/PreMarkets.sol#L117
https://github.com/Cyfrin/2024-08-tadle/blob/main/src/core/PreMarkets.sol#L135
Unexpected behavior
Manual Analysis
Increase the offerId
after offerInfoMap
and stockInfoMap
not before.
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.