# middlewareActions | @aa-sdk/core

> Overview of the middlewareActions function from @aa-sdk/core

> For the complete documentation index, see [llms.txt](/docs/llms.txt).

{/* This file is auto-generated by TypeDoc. Do not edit manually. */}

```ts
function middlewareActions(
  overrides,
): <TTransport, TChain, TAccount>(client) => object;
```

Defined in: [aa-sdk/core/src/middleware/actions.ts:50](https://github.com/alchemyplatform/aa-sdk/blob/main/aa-sdk/core/src/middleware/actions.ts#L50)

function that takes in ClientMiddlewareConfig used during client initiation
and returns the middleware actions object that the smart account client extends with

## Parameters

<table>
  <thead>
    <tr>
      <th align="left">Parameter</th>
      <th align="left">Type</th>
      <th align="left">Description</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        `overrides`
      </td>

      <td>
        [`ClientMiddlewareConfig`](../type-aliases/ClientMiddlewareConfig)
      </td>

      <td>
        config used during client initiation for overriding default middlewares
      </td>
    </tr>

  </tbody>
</table>

## Returns

middleware actions object

```ts
<TTransport, TChain, TAccount>(client): object;
```

### Type Parameters

<table>
  <thead>
    <tr>
      <th align="left">Type Parameter</th>
      <th align="left">Default type</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        `TTransport` *extends* [`Transport`](https://viem.sh)
      </td>

      <td>
        [`Transport`](https://viem.sh)
      </td>
    </tr>

    <tr>
      <td>
        `TChain` *extends* `undefined` | [`Chain`](https://viem.sh)
      </td>

      <td>
        `undefined` | [`Chain`](https://viem.sh)
      </td>
    </tr>

    <tr>
      <td>
        `TAccount` *extends*
        | `undefined`
        | [`SmartContractAccount`](../type-aliases/SmartContractAccount)
      </td>

      <td>
        | `undefined`
        | [`SmartContractAccount`](../type-aliases/SmartContractAccount)
      </td>
    </tr>

  </tbody>
</table>

### Parameters

<table>
  <thead>
    <tr>
      <th align="left">Parameter</th>
      <th align="left">Type</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        `client`
      </td>

      <td>
        [`MiddlewareClient`](../type-aliases/MiddlewareClient)\<`TTransport`, `TChain`, `TAccount`>
      </td>
    </tr>

  </tbody>
</table>

### Returns

`object`

<table>
  <thead>
    <tr>
      <th align="left">Name</th>
      <th align="left">Type</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        `middleware`
      </td>

      <td>
        [`ClientMiddleware`](../type-aliases/ClientMiddleware)
      </td>
    </tr>

  </tbody>
</table>