Normal behavior:
In blockchain smart contracts, events are typically emitted with enough contextual data (e.g., sender address, affected values, timestamps, transaction IDs) so that off-chain systems and auditors can track state changes and identify who performed the action.
Specific issue:
In set_secret
, the SetNewSecret
event is emitted without any payload data. This makes the event useless for auditing because it contains no details about the caller or the secret change.
Likelihood:
Every time set_secret
is called, this empty event will be emitted.
Indexers and off-chain log parsers will not be able to determine who changed the secret.
Impact:
Audit failure – No way to verify which address performed the action from event logs alone.
Forensics gap – In case of a security incident, event logs won’t be sufficient for investigation.
Caller’s address is explicitly stored in the event.
The secret’s hash (instead of plaintext) allows off-chain verifiers to check integrity without exposing sensitive data.
This is an Informational finding. It has no impact on the security of the protocol.
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.