The upgradeTier
function enforces an undocumented requirement to burn 2 tokens for upgrading to a higher tier while only minting 1 token, without proper balance validation. This creates potential user lockout scenarios and implements inconsistent token economics without clear business justification.
Current Implementation:
The function attempts to burn tokens without first verifying the user's balance, relying instead on ERC1155's internal checks which provide unclear error messages. The standard membership process through joinDAO only provides single tokens per tier, creating a contradiction where users must acquire multiple tokens to upgrade - a requirement not documented or supported by the system's design. This mismatch suggests an unintentional implementation error rather than a deliberate economic model.
The two-token burn requirement, combined with single-token minting, implements an undocumented supply reduction mechanism. This impacts the DAO's membership structure and creates unnecessary barriers to tier progression. The lack of proper validation, documentation, and clear economic purpose indicates a significant oversight in the upgrade mechanism's design.
The 2:1
burn ratio creates an artificial barrier to tier upgrades, requiring users to acquire multiple tokens of the same tier before upgrading. This not only increases the cost of participation but also creates a confusing user experience where members must somehow obtain multiple tokens of the same tier - a requirement that may not align with the DAO's intended membership model.
Users with single tokens become effectively locked out of the upgrade mechanism, creating a class of members who cannot progress through the tier system despite having valid membership tokens. This could lead to reduced participation and engagement within the DAO.
The lack of explicit balance checking and clear error messages can result in failed transactions that are difficult to debug, leading to a poor user experience and increased support overhead for DAO administrators.
Manual Review
Explicilty check if the user has the amount of tokens that need to be burned and also burn only 1 token for minting 1 token.
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.