FoundrySolidityLayer 2
7.25 ETH
Submission Details
Impact: low
Likelihood: low
Invalid

Outcome moderator role is not transferrable

Author Revealed upon completion

Root + Impact

The outcomeModerator address is set in the initiliaze(...) function of the Confidence Pool, but this role can't be transferred to another address. A potential issue with the outcomeModerator means that it won't be able to correctly flagOutcome(...) and in a potential CORRUPTED end state, the claimExpired() will eventually get called and set the state to EXPIRED.

Description

The ConfidencePoolFactory contract implements functionality to change the defaultOutcomeModerator address, which is passed in the deployment of each pool. An issue with the defaultOutcomeModerator which requires a change of the address means that there will be active Confidence Pools with the old address.

Risk

Likelihood:

When ConfidencePoolFactory contract needs to change the defaultOutcomeModerator address.

Impact:

All live pools are stuck with old moderator address, potentially unable to flag a CORRUPTED outcome.

Proof of Concept

Recommended Mitigation

Consider implementing a function to allow transferring of the outcome moderator in each pool.

Updates

Lead Judging Commences

inallhonesty Lead Judge 2 days ago
Submission Judgement Published
Invalidated
Reason: Non-acceptable severity
Assigned finding tags:

QA / Informational / Gas

inallhonesty Lead Judge 2 days ago
Submission Judgement Published
Invalidated
Reason: Non-acceptable severity
Assigned finding tags:

QA / Informational / Gas

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.

Give us feedback!