NFTDealers::collectUsdcFromSelling transfers fees to itself wasting gascollectUsdcFromSelling is responsible for distributing sale proceeds to the seller after a successful NFT sale, deducting protocol fees before the transfer.
The function calls usdc.safeTransfer(address(this), fees) which transfers USDC from the contract back to itself. Since the fees are already held in the contract, this transfer is a complete no-op that wastes gas on every call.
Likelihood: High
Every seller who calls collectUsdcFromSelling triggers this unnecessary transfer
No special conditions required — executes on every single collection
Impact:
Wastes gas on every collectUsdcFromSelling call
Emits a misleading Transfer event from contract to itself, polluting event logs and confusing off-chain indexers
Self transfer changes nothing — fees stay in contract, but gas was wasted and a misleading Transfer event was emitted
Consider removing the following line in order to save gas
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.
The contest is complete and the rewards are being distributed.