The ZENO token contract's mint function lacks a check to prevent minting after the maturity date. Without enforcing block.timestamp < MATURITY_DATE, the contract permits minting of new tokens even after the bond has matured, which violates the intended protocol constraints and could lead to economic inconsistencies.
Current Implementation:
The mint function is defined as follows:
There is no check to ensure that minting occurs only before the maturity date (MATURITY_DATE). The audit comment suggests a requirement like:
This check is absent, meaning minting can continue even after maturity.
Allowing minting post-maturity may lead to an unintended increase in the token supply, undermining the bond's economic integrity.
Manual Review
Add a check at the beginning of the mint function to ensure that minting is only permitted before the maturity date.
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.