SafeAllowance_PresetTransfer
SafeAllowance_PresetTransfer is an integration mandate that sends a fixed amount of a fixed token from a Gnosis Safe via the Allowance Module. The token, amount, and Safe address are all locked in at configuration time — the caller only specifies where the funds should go.
Overview
Section titled “Overview”This mandate is useful for recurring or pre-approved payments where the amount and token are known in advance. It calls executeAllowanceTransfer on the Allowance Module directly, using a v=1 Powers contract signature as the delegate authorization.
Configuration
Section titled “Configuration”When adopting a SafeAllowance_PresetTransfer instance, the following parameters are required:
Token(address): The ERC20 token to transfer.Amount(uint256): The fixed amount to transfer (in token base units).allowanceModule(address): The address of the Gnosis Safe Allowance Module.safeProxy(address): The address of the Gnosis Safe from which tokens will be transferred.
Proposing an Action
Section titled “Proposing an Action”When calling the mandate, one parameter must be provided:
PayableTo(address): The recipient of the token transfer.
Execution Flow
Section titled “Execution Flow”-
Signature Construction
- Constructs a
v=1delegate signature authorizing the Powers contract to act as the delegate.
- Constructs a
-
Transfer
- Calls
executeAllowanceTransferon the Allowance Module with the preset token, amount, Safe address, recipient, and delegate signature. - The Allowance Module verifies the allowance and executes the transfer via the Safe.
- Calls
Technical Specifications
Section titled “Technical Specifications”Functions
Section titled “Functions”handleRequest
Section titled “handleRequest”function handleRequest(...) public view override returns (...)- Reads the preset config.
- Decodes the recipient from the input.
- Returns the
executeAllowanceTransfercall.
Error Conditions
Section titled “Error Conditions”This mandate has no explicit error conditions. Failures will occur at the Allowance Module if the allowance is insufficient or the delegate is not registered.
Current Deployments
Section titled “Current Deployments”| Chain ID | Chain Name | Address |
|---|---|---|