ExternalAction_Simple
ExternalAction_Simple is an executive mandate that submits a governance request to a specific mandate on another Powers contract. The target Powers address and mandate ID are fixed at configuration time.
Overview
Section titled “Overview”This mandate enables one Powers instance to trigger governance actions at another. When executed, it calls the request function on the configured target Powers contract, passing the user’s input along as the calldata for the target mandate.
This is useful for cross-contract governance flows where one organisation needs to formally submit a proposal or action to another.
Configuration
Section titled “Configuration”When adopting an ExternalAction_Simple instance, the following parameters are required:
PowersTarget(address): The address of the external Powers contract to call.MandateIdTarget(uint16): The mandate ID on the target Powers contract to submit the request to.Description(string): A description string included in the request, providing context for the target contract’s action history.Params(string[]): UI hints describing the input parameters the user must provide at execution time.
Proposing an Action
Section titled “Proposing an Action”When calling the mandate, the input (mandateCalldata) must contain the encoded arguments expected by the target mandate on the external Powers contract.
Execution Flow
Section titled “Execution Flow”-
Request Assembly
- Encodes a call to
IPowers.request(mandateIdTarget, mandateCalldata, nonce, description).
- Encodes a call to
-
Execution
- Submits the call to
PowersTarget, initiating governance at the external Powers instance.
- Submits the call to
Technical Specifications
Section titled “Technical Specifications”Functions
Section titled “Functions”initializeMandate
Section titled “initializeMandate”function initializeMandate(...) public override- Stores the target Powers address, mandate ID, and description.
- Sets input parameters from the configured
Params.
handleRequest
Section titled “handleRequest”function handleRequest(...) public view virtual override returns (...)- Reads
PowersTarget,MandateIdTarget, andDescriptionfrom config. - Builds and returns the
requestcall targeting the external Powers contract.
Error Conditions
Section titled “Error Conditions”This mandate has no explicit error conditions. Failures will occur at the target Powers contract if the request is invalid.
Current Deployments
Section titled “Current Deployments”| Chain ID | Chain Name | Address |
|---|---|---|