Revoke_Mandates
Revoke_Mandates is a reform mandate that permanently removes a set of mandates from a Powers organisation. The caller provides the mandate IDs to revoke, and the mandate generates revokeMandate calls for all of them in one transaction.
Overview
Section titled “Overview”This mandate is the counterpart to Adopt_Mandates. It is used to decommission mandates that are no longer needed, deprecated, or have been replaced. Unlike PauseMandates, revocation is permanent — the mandate is removed from the Powers contract and cannot be restarted without re-adopting it.
Configuration
Section titled “Configuration”This mandate requires no configuration parameters at adoption time.
Proposing an Action
Section titled “Proposing an Action”When calling the mandate, one parameter must be provided:
mandateIds(uint16[]): The IDs of the mandates to revoke.
Execution Flow
Section titled “Execution Flow”-
Decoding
- Decodes the
mandateIdsarray from the input.
- Decodes the
-
Revocation Calls
- For each mandate ID, generates a
revokeMandatecall targeting the Powers contract. - All revocations are batched into a single transaction.
- For each mandate ID, generates a
Technical Specifications
Section titled “Technical Specifications”Functions
Section titled “Functions”handleRequest
Section titled “handleRequest”function handleRequest(...) public pure override returns (...)- Decodes the mandate ID array.
- Returns a batch of
revokeMandatecalls.
Error Conditions
Section titled “Error Conditions”This mandate has no explicit error conditions. Failures will occur at the Powers contract level if any mandate ID is invalid or already revoked.
Current Deployments
Section titled “Current Deployments”| Chain ID | Chain Name | Address |
|---|---|---|