Skip to content
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

Add optional executor restriction to cw3-flex #739

Closed
ethanfrey opened this issue Jun 17, 2022 · 0 comments · Fixed by #741
Closed

Add optional executor restriction to cw3-flex #739

ethanfrey opened this issue Jun 17, 2022 · 0 comments · Fixed by #741
Assignees

Comments

@ethanfrey
Copy link
Member

In cw3-flex-multisig, anyone can execute the proposal once the vote has passed. This is not always ideal.

I would add a backwards-compatible executor: Option<Executor> to both InstantiateMsg and Config. This could accept the following values:

  • None - same behavior as now (and same struct)
  • Some(Member{}) - any member in the voting group (even with 0 points) can execute the contract, same restriction as those who can propose
  • Some(Only{address}) - only the given address can execute the contract

Use case for Member is eg. a swap from a multisig, where you want control of the timing (not someone using a sandwich attack on your trade).

Use case for Only is a separate approval / veto step. This is like the US President needing to sign a law once it passed congress. Or even the two houses. It can allow more complex governance structures.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants