SlateRegistry_RemoveSlate
SlateRegistry_RemoveSlate is an integration mandate that removes a slate from a SlateRegistry election. It must be called with the same inputs used when the slate was submitted via SlateRegistry_AddSlate, so that the original action ID can be recomputed and the slate’s mandate ID can be retrieved.
Overview
Section titled “Overview”This mandate reverses a slate submission by:
- Revoking the slate’s
PresetActionsmandate in the Powers contract. - Freeing its slot in the election’s action flow.
- Unregistering it from the SlateRegistry.
It is typically configured with a needFulfilled condition pointing to the corresponding SlateRegistry_AddSlate action, ensuring only submitted slates can be removed.
Configuration
Section titled “Configuration”When adopting a SlateRegistry_RemoveSlate instance, the following parameters are required:
SlateRegistry(address): The address of the SlateRegistry helper contract.AddSlateMandateId(uint16): The mandate ID of the correspondingSlateRegistry_AddSlatemandate. Used to look up the return data of the original submission and retrieve the slate’s mandate ID.
Proposing an Action
Section titled “Proposing an Action”When calling the mandate, the inputs must be identical to those used when the slate was submitted:
ElectionTitle(string): The title of the election.NameDescription(string): The name and description of the slate.Targets(address[]): The slate’s target addresses.Values(uint256[]): ETH values for each call.Calldatas(bytes[]): Encoded function calls.
Execution Flow
Section titled “Execution Flow”-
Slate ID Retrieval
- Recomputes the original
SlateRegistry_AddSlateaction ID using the same calldata and nonce. - Retrieves the return data from that action to get the slate’s mandate ID.
- Recomputes the original
-
Revocation
- Revokes the slate’s
PresetActionsmandate in the Powers contract.
- Revokes the slate’s
-
Flow Cleanup
- Resets the slate’s slot in the election’s action flow to 0, making it available for new submissions.
-
SlateRegistry Cleanup
- Calls
SlateRegistry.removeSlateto unregister the slate.
- Calls
Error Conditions
Section titled “Error Conditions”"Slate not found in flow"— The slate’s mandate ID is not present in the election’s flow.
Current Deployments
Section titled “Current Deployments”| Chain ID | Chain Name | Address |
|---|---|---|