-
Notifications
You must be signed in to change notification settings - Fork 3.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Feature Request][CLI][Multisig v2] Enable implicit yes/no vote for multisig execution/rejection #11011
Comments
I got the proposal for the implicit yes (or no) vote, but I think the proposed solution description could be more clarified. We should probably consider the case where there are already more than (n - 1) votes, and also the case where the "execute" ("reject") transaction sender have already voted for something. |
A possible implementation at the smart contract level (e.g., |
@junkil-park I think something similar could work:
|
@alnoki , to be clear, in the following scenario, Ace proposes (implicitly voting yes) the last transaction will fail due to insufficient approvals. The implicit voting will not override the Cad's previous vote for "no". The implicit voting only works when Cad hans't vote yet. |
@junkil-park thank you for flagging this voting flow. I've left a review at #11941 (review) |
@banool @junkil-park @movekevin
Current UX problems
Presently, multisig v2 transaction creation implicitly casts a yes vote for the transaction proposer, reducing the number of txns a proposer needs to sign in order to vote yes.
However, multisig execution does not implicitly cast a yes vote for the executor, which results in a clunky UX. For example, consider 3-of-5 multisig:
This current implementation requires 4 transactions, even though only 3 are necessary: since Cad is executor, he implicitly votes yes by trying to execute, yet the implementation ignores this.
A similar phenomenon holds for executing a rejected transaction: the rejection executor implicitly votes no
The extra txn requirements introduce coordinative and bookkeeping overhead
Proposed solution
aptos multisig execute
on an n-of-m multisig when only (n - 1) yes votes have been cast (excluding executor)aptos multisig reject
on an n-of-m multisig when only (n - 1) no votes have been cast (excluding executor)The text was updated successfully, but these errors were encountered: