# IExecutor

Interface for executing operations

*A similar version of this interface was previously audited*

*See: <https://github.com/aera-finance/aera-contracts-public/blob/main/v2/periphery/interfaces/IExecutor.sol>*

## Functions

### execute

Execute arbitrary actions

```solidity
function execute(OperationPayable[] calldata operations) external;
```

**Parameters**

| Name         | Type                 | Description               |
| ------------ | -------------------- | ------------------------- |
| `operations` | `OperationPayable[]` | The operations to execute |

## Events

### Executed

Emitted when operations are executed

```solidity
event Executed(address indexed caller, OperationPayable operation);
```

**Parameters**

| Name        | Type               | Description                             |
| ----------- | ------------------ | --------------------------------------- |
| `caller`    | `address`          | The address that executed the operation |
| `operation` | `OperationPayable` | The operation that was executed         |

## Errors

### AeraPeriphery\_\_ExecutionFailed

Error emitted when the execution of an operation fails

```solidity
error AeraPeriphery__ExecutionFailed(bytes result);
```

**Parameters**

| Name     | Type    | Description                                        |
| -------- | ------- | -------------------------------------------------- |
| `result` | `bytes` | The error bytes returned from the failed operation |
