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