PresetActions
PresetActions is an executive mandate that executes a fixed set of contract calls defined entirely at configuration time. When executed, it simply returns the pre-configured targets, values, and calldatas — the caller provides no input.
Overview
Section titled “Overview”This mandate is useful when a governance body needs to approve and execute a specific, known action with no variation. Because all parameters are locked in at deployment, there is no risk of a caller modifying the payload. The mandate enforces exactly what was agreed upon when it was adopted.
Configuration
Section titled “Configuration”When adopting a PresetActions instance, the following parameters are required:
targets(address[]): The contract addresses to call.values(uint256[]): The ETH amounts (in wei) to send with each call.calldatas(bytes[]): The encoded function call data for each target.
All three arrays must have the same length and are fixed permanently at configuration time.
Proposing an Action
Section titled “Proposing an Action”This mandate does not require any input parameters. The caller simply submits the action — the execution payload is entirely defined by the configuration.
Execution Flow
Section titled “Execution Flow”-
Retrieval
- Reads the pre-configured
targets,values, andcalldatasarrays from the mandate’s stored configuration.
- Reads the pre-configured
-
Execution
- Returns the arrays directly to the Powers contract for execution. No modification or validation occurs.
Technical Specifications
Section titled “Technical Specifications”Functions
Section titled “Functions”handleRequest
Section titled “handleRequest”function handleRequest(...) public view override returns (...)- Decodes and returns the pre-configured execution arrays from config.
Error Conditions
Section titled “Error Conditions”This mandate has no explicit error conditions. Failures will occur if the pre-configured calls are invalid at execution time (e.g., the target contract has changed state).
Current Deployments
Section titled “Current Deployments”| Chain ID | Chain Name | Address |
|---|---|---|