Description:
getTransaction(uint256) reads from s_transactions[transactionId] without validating transactionId < s_transactionCount. For non-existent transactions, Solidity returns default values (zero address, 0 value, executed=false).
Impact:
Off-chain indexers / UIs can misinterpret non-existent transaction IDs as valid “empty” transactions.
Proof of Concept:
Mitigation:
Add a transactionExists(transactionId) check (or return a (bool exists, Transaction memory txn) tuple).
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.