The vault contract defines a private participationFeeAddress to collect fees from deposits.
However, there's no public getter or event visibility for it, making it impossible for users, auditors, or frontends to verify who receives participation fees.
Likelihood:
This issue appears every time the contract collects participation fees, since the receiving address cannot be externally verified.
It’s inevitable for any UI or integrator, because the contract doesn’t expose the address for display or validation.
Impact:
Reduces protocol transparency and auditability.
In case of misconfiguration, the owner could accidentally route fees to a wrong address without anyone noticing.
Explanation:
There’s no way to query the fee recipient via the blockchain, ABI, or block explorer.
Even verified contract interfaces won’t show the address, creating confusion for end-users and auditors.
Explanation:
Making participationFeeAddress public allows frontend display and user verification.
The setParticipationFeeAddress() function ensures controlled updates with proper event logging.
Improves trust, compliance, and operational clarity for both users and integrators.
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.