The Claimed event signature is event Claimed(bytes32 indexed treasureHash, address indexed recipient) clearly intended to record the ETH recipient.
The emission inside claim() passes msg.sender (the proof submitter) as the second argument instead of the recipient (the payee), producing permanently incorrect on-chain logs.
Likelihood:
This bug fires on every successful claim.
The discrepancy is only visible when msg.sender != recipient, which is always the case (the guard if (recipient == msg.sender) revert InvalidRecipient() ensures they differ).
Impact:
Block explorers, analytics dashboards, and subgraphs that index the Claimed event will display wrong recipient addresses.
The event is immutable on-chain — the incorrect data cannot be corrected after deployment.
Any off-chain system awarding secondary prizes or reputation based on event logs will attribute rewards to the wrong party.
Alice submits proof, designating Bob as recipient. ETH is correctly sent to Bob.
But the event logs Alice as recipient:
Make changes in code as shown below
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.
The contest is complete and the rewards are being distributed.