Skip to content

IExecutor ​

Interface · src/common/executors/IExecutor.sol

Explained in: Actions and execution, Create, vote, and execute a proposal

Author: Aragon X - 2024

The interface required for Executors within the Aragon App DAO framework.

security-contact: sirt@aragon.org

Functions ​

execute ​

solidity
function execute(
    bytes32 _callId,
    Action[] _actions,
    uint256 _allowFailureMap
) external returns (bytes[], uint256)

Selector: 0xc71bf324

Executes a list of actions. If a zero allow-failure map is provided, a failing action reverts the entire execution. If a non-zero allow-failure map is provided, allowed actions can fail without the entire call being reverted.

ParameterTypeDescription
_callIdbytes32The ID of the call. The definition of the value of callId is up to the calling contract and can be used, e.g., as a nonce.
_actionsAction[]The array of actions.
_allowFailureMapuint256A bitmap allowing execution to succeed, even if individual actions might revert. If the bit at index i is 1, the execution succeeds even if the ith action reverts. A failure map value of 0 requires every action to not revert.

Events ​

Executed ​

solidity
event Executed(
    address indexed actor,
    bytes32 callId,
    Action[] actions,
    uint256 allowFailureMap,
    uint256 failureMap,
    bytes[] execResults
)

Emitted when a proposal is executed.

Dev: The value of callId is defined by the component/contract calling the execute function. A Plugin implementation can use it, for example, as a nonce.

ParameterTypeDescription
actoraddressThe address of the caller.
callIdbytes32The ID of the call.
actionsAction[]The array of actions executed.
allowFailureMapuint256The allow failure map encoding which actions are allowed to fail.
failureMapuint256The failure map encoding which actions have failed.
execResultsbytes[]The array with the results of the executed actions.