celo-org / staked-celo

GNU Lesser General Public License v3.0
8 stars 2 forks source link

Unschedule proposal when confirmations falls bellow `required` amount #18

Closed soloseng closed 2 years ago

soloseng commented 2 years ago

Description

Currently, when a proposal is scheduled and is waiting for the delay to be reached, any owner can revoke their confirmation during the delay period. However, revoking a confirmation only decrease the total number of confirmations for that proposal.

In the event that the total number of confirmations falls bellow the required threshold, a scheduled transaction can still be executed once the delay period has elapsed, rendering the timelock mechanism ineffective.

Proposed Fix

The updated revokeConfirmation() logic would be as follows:

soloseng commented 2 years ago

After further discussion with the team, it was established that:

The main purpose of our timelock is to give users time to react and therefore the functionality to unschedule a proposals is not as important in our use case. Additionally, introducing unscheduleProposal could have unintended consequence of giving a single owner veto power over the proposals if only the minimum number of confirmations were initially submitted.

The decision was made to not change the current multiSig contract implementation.