Normal Behavior:
Solidity 0.8.4 and above supports custom errors, which are more gas-efficient than require statements with string messages. Using custom errors for access control and validation is a best practice, especially for frequently called functions, as it reduces deployment and runtime gas costs.
Issue:
The mint and burnFrom functions use require with string messages for access control:
Likelihood:
The functions work as intended, but are less gas-efficient.
Impact:
Gas savings are minor per call, but can add up over many transactions.
Every call to mint or burnFrom that fails due to access control will revert with a string, costing more gas than a custom error.
Define custom errors for access control and use them in place of string-based require statements.
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.