Welcome to the Polygon Multi-threshold Smart Contract Upgrades Plugin for Aragon OSx! This plugin enhances the flexibility and security of your Aragon DAOs by introducing a multi-threshold approval mechanism for standard and emergency proposals.
- Dual Proposal Types: Standard and Emergency proposals with different thresholds.
- Configurable Thresholds: Set distinct approval requirements for standard and emergency proposals.
- Delayed Confirmation: Standard proposals include an off-chain voting period before final confirmation and execution.
- Customizable Execution: Execute proposals by anyone or only by members.
-
Creation:
- Standard proposals are created by any member.
- Requires an initial set of member approvals (configurable).
-
Delay Period:
- After initial approvals, a delay period begins.
- Off-chain voting can occur during this period.
- Secondary metadata can be added anytime before this period ends.
-
Confirmation:
- Post delay, additional member approvals, titled confirmations, are needed before proposals can be executed.
- Confirmation threshold (configurable) may differ from the initial approval threshold.
-
Execution:
- Can be executed by anyone or only by members (set in the config).
- Execution rights and thresholds are configurable.
-
Creation:
- Emergency proposals are created when immediate action is needed.
- Requires a higher threshold of member approvals (configurable).
-
Immediate Execution:
- Once the higher approval threshold is met, the proposal can be executed immediately.
- Execution rights are configurable to be either public or restricted to members.
- Standard Proposal Approval Threshold: Number of approvals required to start the delay period
- Standard Proposal Confirmation Threshold: Number of approvals required to confirm the execution of a proposal
- Emergency Proposal Approval Threshold: Number of approvals required for immediate execution.
- Proposal Creation π
- Initial Approval β
- Delay Period β³
- Final Confirmation β
- Execution π
- Proposal Creation π
- High Threshold Approval π¨
- Immediate Execution π
Run tests to ensure your plugins are working correctly:
forge test
Deployment Deploy your plugin to a network:
source .env
forge script script/Deploy.s.sol:Deploy --broadcast --rpc-url <RPC_URL>
This project is licensed under AGPL-3.0-or-later.
Feel free to open issues and submit pull requests. We welcome contributions that enhance the functionality and usability of this plugin.
For questions and support, reach out to us on our Twitter or Discord or directly in the issues section in this repo.
Thank you for using the Polygon Multi-threshold Smart Contract Upgrades Plugin for Aragon OSx! Your feedback and contributions are highly valued. Happy upgrading! π