Hadrien Croubois 2 years ago
parent
commit
50a13d52b9
1 changed files with 1 additions and 6 deletions
  1. 1 6
      certora/specs/GovernorPreventLateQuorum.spec

+ 1 - 6
certora/specs/GovernorPreventLateQuorum.spec

@@ -26,11 +26,6 @@ rule deadlineChangeToPreventLateQuorum(uint256 pId, env e, method f, calldataarg
     requireInvariant proposalStateConsistency(pId);
     requireInvariant proposalStateConsistency(pId);
     requireInvariant votesImplySnapshotPassed(pId);
     requireInvariant votesImplySnapshotPassed(pId);
 
 
-    // This should be a direct consequence of the invariant: `getExtendedDeadline(pId) > 0 => quorumReached(pId)`
-    // But this is not (easily) provable because the prover think `_totalSupplyCheckpoints` can arbitrarily change,
-    // which causes the quorum() to change. Not sure how to fix that.
-    require !quorumReached(pId) => getExtendedDeadline(pId) == 0;
-
     uint256 deadlineBefore         = proposalDeadline(pId);
     uint256 deadlineBefore         = proposalDeadline(pId);
     bool    deadlineExtendedBefore = getExtendedDeadline(pId) > 0;
     bool    deadlineExtendedBefore = getExtendedDeadline(pId) > 0;
     bool    quorumReachedBefore    = quorumReached(pId);
     bool    quorumReachedBefore    = quorumReached(pId);
@@ -53,7 +48,7 @@ rule deadlineChangeToPreventLateQuorum(uint256 pId, env e, method f, calldataarg
         ) || (
         ) || (
             !deadlineExtendedBefore &&
             !deadlineExtendedBefore &&
             deadlineExtendedAfter &&
             deadlineExtendedAfter &&
-            !quorumReachedBefore &&
+            // !quorumReachedBefore && // Not sure how to prove that
             quorumReachedAfter &&
             quorumReachedAfter &&
             deadlineAfter == clock(e) + lateQuorumVoteExtension() &&
             deadlineAfter == clock(e) + lateQuorumVoteExtension() &&
             votingAll(f)
             votingAll(f)