Summary
pulse_token/src/lib.rs mint (lines ~88–114) accepts any amount with no supply ceiling. total_supply can grow without bound. Every user action — claim, register_referral, reward, reward_bonus — mints fresh PULSE with no aggregate cap enforced.
Impact
- Infinite inflation: there is no
MAX_SUPPLY; protocol inflation is unbounded by design.
- Economic dilution: early rewards lose value as supply is diluted by later minting.
- Governance bypass: any trusted minter can trigger unbounded issuance.
Fix
- Add a
MAX_SUPPLY constant and check total_supply + amount <= MAX_SUPPLY in mint.
- Emit a
SupplyCapEnforced event on initialization for transparency.
- Document the cap and the minting authority model.
Summary
pulse_token/src/lib.rsmint(lines ~88–114) accepts any amount with no supply ceiling.total_supplycan grow without bound. Every user action —claim,register_referral,reward,reward_bonus— mints fresh PULSE with no aggregate cap enforced.Impact
MAX_SUPPLY; protocol inflation is unbounded by design.Fix
MAX_SUPPLYconstant and checktotal_supply + amount <= MAX_SUPPLYinmint.SupplyCapEnforcedevent on initialization for transparency.