ReentrancyGuard is redundant and can be removed.
resolveDispute()
makes external calls to the tokenContract
, although the tokens that will be used in the contract supposed to be trusted and safe by contest docs, resolveDispute()
uses nonReentrant
. This causes inconsistency and redundancy and it is inefficient.
Since the same function uses inState()
modifier, moving the following line up to L110 will have the same effect:
https://github.com/Cyfrin/2023-07-escrow/blob/65a60eb0773803fa0be4ba72defaec7d8567bccc/src/Escrow.sol#L116
Inconsistency, gas inefficiency.
Manual Review
Remove ReentrancyGuard and move https://github.com/Cyfrin/2023-07-escrow/blob/65a60eb0773803fa0be4ba72defaec7d8567bccc/src/Escrow.sol#L116
to the L:110
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.