SlateRegistry_AddSlate
SlateRegistry_AddSlate is an integration mandate that allows a participant to submit a slate — a named proposal consisting of a set of on-chain actions — to an active SlateRegistry election. Each slate is adopted as a PresetActions mandate and registered in the election’s voting flow.
Overview
Section titled “Overview”In the SlateRegistry election system, participants compete by proposing slates of actions. Voters then vote on which slate to execute. This mandate handles the submission of a new slate by:
- Adopting a new
PresetActionsmandate configured with the slate’s proposed actions. - Adding it to the election’s action flow.
- Registering it in the SlateRegistry so it can receive votes.
Configuration
Section titled “Configuration”When adopting a SlateRegistry_AddSlate instance, the following parameters are required:
SlateRegistry(address): The address of the SlateRegistry helper contract managing the election.PresetActions(address): The address of thePresetActionsmandate implementation (used as a template).
Proposing an Action
Section titled “Proposing an Action”When calling the mandate, the following inputs must be provided:
ElectionTitle(string): The title of the election to submit the slate to.NameDescription(string): A name and description for this slate.Targets(address[]): The target contract addresses for the slate’s proposed actions.Values(uint256[]): ETH values for each call in the slate.Calldatas(bytes[]): Encoded function calls for each action in the slate.
Execution Flow
Section titled “Execution Flow”-
Election Lookup
- Computes the
electionIdaskeccak256(powers + ElectionTitle). - Retrieves the election’s
flowIndexandroleIdfrom the SlateRegistry.
- Computes the
-
Mandate Adoption
- Adopts a new
PresetActionsmandate configured with the slate’s targets, values, and calldatas. - Restricted to the election’s
roleId.
- Adopts a new
-
Flow Registration
- Inserts the new mandate ID into the first empty slot in the election’s action flow.
-
Slate Registration
- Calls
SlateRegistry.registerSlateto record the new mandate ID so it can receive votes.
- Calls
Error Conditions
Section titled “Error Conditions”"No empty slot in flow"— The election’s action flow has no available slots for new slates.
Current Deployments
Section titled “Current Deployments”| Chain ID | Chain Name | Address |
|---|---|---|