Normal behavior:
assert statements should check conditions efficiently.
Specific issue:
The contract uses assert with long string messages:
Likelihood:
High — All functions using long asserts contribute to this issue.
Impact:
Low — No funds are lost, but users pay more gas unnecessarily.
Explanation:
Every call to a function with long error messages consumes slightly more gas due to the storage of the string in the bytecode. Across many functions, this increases deployment and interaction cost.
Explanation:
Use short or no messages in assert statements.
For user-facing errors, use raise with a short string.
This reduces bytecode size and gas cost without changing logic.
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.