The ScopeUpdated event only emits the new scope array, not the old scope that was replaced. Off-chain indexers tracking scope changes cannot reconstruct which accounts were removed from a _replaceScope call using the event alone — they must query getScopeAccounts() before each transaction to capture the prior state.
Likelihood: High — every setPoolScope or initialize call triggers this event without old scope.
Impact: Low — no on-chain impact. Off-chain indexers must make RPC calls to reconstruct historical scope changes.
File: L5-ScopeUpdated-OldScope.poc.t.sol
Run: forge test --match-path 'L5-ScopeUpdated-OldScope.poc.t.sol' -vv
Emit both old and new scope in the event:
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.