Delegation Manager
The Delegation Manager is a core component of the Delegation Framework. It validates delegations and triggers executions on behalf of the delegator, ensuring tasks are executed accurately, and securely.
See the delegation flow for a full overview of how delegations are created, validated, and redeemed.
Execution modes
When redeeming a delegation using redeemDelegations, you must
pass an execution mode for each delegation chain you pass to the method. The Smart Accounts Kit supports the following
execution modes, based on ERC-7579:
| Execution mode | Number of delegation chains passed to redeemDelegations | Processing method | Does user operation continue execution if redemption reverts? |
|---|---|---|---|
SingleDefault | One | Sequential | No |
SingleTry | One | Sequential | Yes |
BatchDefault | Multiple | Interleaved | No |
BatchTry | Multiple | Interleaved | Yes |
Sequential processing
In Single modes, processing is sequential:
- For each delegation in the chain, all caveats'
beforehooks are called. - The single redeemed action is executed.
- For each delegation in the chain, all caveats'
afterhooks are called.
Interleaved processing
In Batch modes, processing is interleaved:
- For each chain in the batch, and each delegation in the chain, all caveats'
beforehooks are called. - Each redeemed action is executed.
- For each chain in the batch, and each delegation in the chain, all caveats'
afterhooks are called.
Batch mode allows for powerful use cases, but the Delegation Framework currently does not include any Batch compatible caveat enforcers.