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.
View preliminary resultsAppeals are being carefully reviewed by our judges.
The contest is complete and the rewards are being distributed.