THIS AFFECTS BOTH ConfidencePool.sol, ConfidencePoolFactory.sol
Both the pool and factory initialize functions set critical configuration parameters without emitting corresponding initialization events. The pool's initialize sets 7 parameters (agreement, stakeToken, safeHarborRegistry, outcomeModerator, expiry, minStake, recoveryAddress) silently — only ScopeUpdated (from _replaceScope) and OwnershipTransferred (from _transferOwnership) are emitted. No single event bundles the full configuration, forcing off-chain indexers to query each parameter individually or infer them from disparate events.
Likelihood: N/A — one-time initialization per pool. The gap affects all pools equally.
Impact: Low — off-chain friction for indexers and dashboards. No on-chain impact.
File: L11-Initialize-NoEvent.poc.t.sol
Run: forge test --match-path 'L11-Initialize-NoEvent.poc.t.sol' -vv
Add a PoolInitialized event emitted at the end of initialize:
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.