# isDeferredAction | @account-kit/smart-contracts

> Overview of the isDeferredAction function from @account-kit/smart-contracts

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

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

```ts
function isDeferredAction<typedData, primaryType>(
  typedDataDefinition,
  accountAddress,
): boolean;
```

Defined in: [account-kit/smart-contracts/src/ma-v2/utils.ts:356](https://github.com/alchemyplatform/aa-sdk/blob/main/account-kit/smart-contracts/src/ma-v2/utils.ts#L356)

Type guard to check if a TypedDataDefinition is a deferred action.

A deferred action has:

- primaryType: "DeferredAction"
- domain.verifyingContract matching the account address

## Type Parameters

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

  <tbody>
    <tr>
      <td>
        `typedData` *extends*
        | \{
        \[`key`: `string`]: readonly [`TypedDataParameter`](https://abitype.dev)\[];
        \[`key`: `` `string[${string}]` ``]: `undefined`;
        \[`key`: `` `function[${string}]` ``]: `undefined`;
        \[`key`: `` `address[${string}]` ``]: `undefined`;
        \[`key`: `` `bool[${string}]` ``]: `undefined`;
        \[`key`: `` `bytes[${string}]` ``]: `undefined`;
        \[`key`: `` `bytes1[${string}]` ``]: `undefined`;
        \[`key`: `` `bytes2[${string}]` ``]: `undefined`;
        \[`key`: `` `bytes3[${string}]` ``]: `undefined`;
        \[`key`: `` `bytes4[${string}]` ``]: `undefined`;
        \[`key`: `` `bytes5[${string}]` ``]: `undefined`;
        \[`key`: `` `bytes6[${string}]` ``]: `undefined`;
        \[`key`: `` `bytes7[${string}]` ``]: `undefined`;
        \[`key`: `` `bytes8[${string}]` ``]: `undefined`;
        \[`key`: `` `bytes9[${string}]` ``]: `undefined`;
        \[`key`: `` `bytes10[${string}]` ``]: `undefined`;
        \[`key`: `` `bytes11[${string}]` ``]: `undefined`;
        \[`key`: `` `bytes12[${string}]` ``]: `undefined`;
        \[`key`: `` `bytes13[${string}]` ``]: `undefined`;
        \[`key`: `` `bytes14[${string}]` ``]: `undefined`;
        \[`key`: `` `bytes15[${string}]` ``]: `undefined`;
        \[`key`: `` `bytes16[${string}]` ``]: `undefined`;
        \[`key`: `` `bytes17[${string}]` ``]: `undefined`;
        \[`key`: `` `bytes18[${string}]` ``]: `undefined`;
        \[`key`: `` `bytes19[${string}]` ``]: `undefined`;
        \[`key`: `` `bytes20[${string}]` ``]: `undefined`;
        \[`key`: `` `bytes21[${string}]` ``]: `undefined`;
        \[`key`: `` `bytes22[${string}]` ``]: `undefined`;
        \[`key`: `` `bytes23[${string}]` ``]: `undefined`;
        \[`key`: `` `bytes24[${string}]` ``]: `undefined`;
        \[`key`: `` `bytes25[${string}]` ``]: `undefined`;
        \[`key`: `` `bytes26[${string}]` ``]: `undefined`;
        \[`key`: `` `bytes27[${string}]` ``]: `undefined`;
        \[`key`: `` `bytes28[${string}]` ``]: `undefined`;
        \[`key`: `` `bytes29[${string}]` ``]: `undefined`;
        \[`key`: `` `bytes30[${string}]` ``]: `undefined`;
        \[`key`: `` `bytes31[${string}]` ``]: `undefined`;
        \[`key`: `` `bytes32[${string}]` ``]: `undefined`;
        \[`key`: `` `int[${string}]` ``]: `undefined`;
        \[`key`: `` `int8[${string}]` ``]: `undefined`;
        \[`key`: `` `int16[${string}]` ``]: `undefined`;
        \[`key`: `` `int24[${string}]` ``]: `undefined`;
        \[`key`: `` `int32[${string}]` ``]: `undefined`;
        \[`key`: `` `int40[${string}]` ``]: `undefined`;
        \[`key`: `` `int48[${string}]` ``]: `undefined`;
        \[`key`: `` `int56[${string}]` ``]: `undefined`;
        \[`key`: `` `int64[${string}]` ``]: `undefined`;
        \[`key`: `` `int72[${string}]` ``]: `undefined`;
        \[`key`: `` `int80[${string}]` ``]: `undefined`;
        \[`key`: `` `int88[${string}]` ``]: `undefined`;
        \[`key`: `` `int96[${string}]` ``]: `undefined`;
        \[`key`: `` `int104[${string}]` ``]: `undefined`;
        \[`key`: `` `int112[${string}]` ``]: `undefined`;
        \[`key`: `` `int120[${string}]` ``]: `undefined`;
        \[`key`: `` `int128[${string}]` ``]: `undefined`;
        \[`key`: `` `int136[${string}]` ``]: `undefined`;
        \[`key`: `` `int144[${string}]` ``]: `undefined`;
        \[`key`: `` `int152[${string}]` ``]: `undefined`;
        \[`key`: `` `int160[${string}]` ``]: `undefined`;
        \[`key`: `` `int168[${string}]` ``]: `undefined`;
        \[`key`: `` `int176[${string}]` ``]: `undefined`;
        \[`key`: `` `int184[${string}]` ``]: `undefined`;
        \[`key`: `` `int192[${string}]` ``]: `undefined`;
        \[`key`: `` `int200[${string}]` ``]: `undefined`;
        \[`key`: `` `int208[${string}]` ``]: `undefined`;
        \[`key`: `` `int216[${string}]` ``]: `undefined`;
        \[`key`: `` `int224[${string}]` ``]: `undefined`;
        \[`key`: `` `int232[${string}]` ``]: `undefined`;
        \[`key`: `` `int240[${string}]` ``]: `undefined`;
        \[`key`: `` `int248[${string}]` ``]: `undefined`;
        \[`key`: `` `int256[${string}]` ``]: `undefined`;
        \[`key`: `` `uint[${string}]` ``]: `undefined`;
        \[`key`: `` `uint8[${string}]` ``]: `undefined`;
        \[`key`: `` `uint16[${string}]` ``]: `undefined`;
        \[`key`: `` `uint24[${string}]` ``]: `undefined`;
        \[`key`: `` `uint32[${string}]` ``]: `undefined`;
        \[`key`: `` `uint40[${string}]` ``]: `undefined`;
        \[`key`: `` `uint48[${string}]` ``]: `undefined`;
        \[`key`: `` `uint56[${string}]` ``]: `undefined`;
        \[`key`: `` `uint64[${string}]` ``]: `undefined`;
        \[`key`: `` `uint72[${string}]` ``]: `undefined`;
        \[`key`: `` `uint80[${string}]` ``]: `undefined`;
        \[`key`: `` `uint88[${string}]` ``]: `undefined`;
        \[`key`: `` `uint96[${string}]` ``]: `undefined`;
        \[`key`: `` `uint104[${string}]` ``]: `undefined`;
        \[`key`: `` `uint112[${string}]` ``]: `undefined`;
        \[`key`: `` `uint120[${string}]` ``]: `undefined`;
        \[`key`: `` `uint128[${string}]` ``]: `undefined`;
        \[`key`: `` `uint136[${string}]` ``]: `undefined`;
        \[`key`: `` `uint144[${string}]` ``]: `undefined`;
        \[`key`: `` `uint152[${string}]` ``]: `undefined`;
        \[`key`: `` `uint160[${string}]` ``]: `undefined`;
        \[`key`: `` `uint168[${string}]` ``]: `undefined`;
        \[`key`: `` `uint176[${string}]` ``]: `undefined`;
        \[`key`: `` `uint184[${string}]` ``]: `undefined`;
        \[`key`: `` `uint192[${string}]` ``]: `undefined`;
        \[`key`: `` `uint200[${string}]` ``]: `undefined`;
        \[`key`: `` `uint208[${string}]` ``]: `undefined`;
        \[`key`: `` `uint216[${string}]` ``]: `undefined`;
        \[`key`: `` `uint224[${string}]` ``]: `undefined`;
        \[`key`: `` `uint232[${string}]` ``]: `undefined`;
        \[`key`: `` `uint240[${string}]` ``]: `undefined`;
        \[`key`: `` `uint248[${string}]` ``]: `undefined`;
        \[`key`: `` `uint256[${string}]` ``]: `undefined`;
        `string?`: `undefined`;
        `address?`: `undefined`;
        `bool?`: `undefined`;
        `bytes?`: `undefined`;
        `bytes1?`: `undefined`;
        `bytes2?`: `undefined`;
        `bytes3?`: `undefined`;
        `bytes4?`: `undefined`;
        `bytes5?`: `undefined`;
        `bytes6?`: `undefined`;
        `bytes7?`: `undefined`;
        `bytes8?`: `undefined`;
        `bytes9?`: `undefined`;
        `bytes10?`: `undefined`;
        `bytes11?`: `undefined`;
        `bytes12?`: `undefined`;
        `bytes13?`: `undefined`;
        `bytes14?`: `undefined`;
        `bytes15?`: `undefined`;
        `bytes16?`: `undefined`;
        `bytes17?`: `undefined`;
        `bytes18?`: `undefined`;
        `bytes19?`: `undefined`;
        `bytes20?`: `undefined`;
        `bytes21?`: `undefined`;
        `bytes22?`: `undefined`;
        `bytes23?`: `undefined`;
        `bytes24?`: `undefined`;
        `bytes25?`: `undefined`;
        `bytes26?`: `undefined`;
        `bytes27?`: `undefined`;
        `bytes28?`: `undefined`;
        `bytes29?`: `undefined`;
        `bytes30?`: `undefined`;
        `bytes31?`: `undefined`;
        `bytes32?`: `undefined`;
        `int8?`: `undefined`;
        `int16?`: `undefined`;
        `int24?`: `undefined`;
        `int32?`: `undefined`;
        `int40?`: `undefined`;
        `int48?`: `undefined`;
        `int56?`: `undefined`;
        `int64?`: `undefined`;
        `int72?`: `undefined`;
        `int80?`: `undefined`;
        `int88?`: `undefined`;
        `int96?`: `undefined`;
        `int104?`: `undefined`;
        `int112?`: `undefined`;
        `int120?`: `undefined`;
        `int128?`: `undefined`;
        `int136?`: `undefined`;
        `int144?`: `undefined`;
        `int152?`: `undefined`;
        `int160?`: `undefined`;
        `int168?`: `undefined`;
        `int176?`: `undefined`;
        `int184?`: `undefined`;
        `int192?`: `undefined`;
        `int200?`: `undefined`;
        `int208?`: `undefined`;
        `int216?`: `undefined`;
        `int224?`: `undefined`;
        `int232?`: `undefined`;
        `int240?`: `undefined`;
        `int248?`: `undefined`;
        `int256?`: `undefined`;
        `uint8?`: `undefined`;
        `uint16?`: `undefined`;
        `uint24?`: `undefined`;
        `uint32?`: `undefined`;
        `uint40?`: `undefined`;
        `uint48?`: `undefined`;
        `uint56?`: `undefined`;
        `uint64?`: `undefined`;
        `uint72?`: `undefined`;
        `uint80?`: `undefined`;
        `uint88?`: `undefined`;
        `uint96?`: `undefined`;
        `uint104?`: `undefined`;
        `uint112?`: `undefined`;
        `uint120?`: `undefined`;
        `uint128?`: `undefined`;
        `uint136?`: `undefined`;
        `uint144?`: `undefined`;
        `uint152?`: `undefined`;
        `uint160?`: `undefined`;
        `uint168?`: `undefined`;
        `uint176?`: `undefined`;
        `uint184?`: `undefined`;
        `uint192?`: `undefined`;
        `uint200?`: `undefined`;
        `uint208?`: `undefined`;
        `uint216?`: `undefined`;
        `uint224?`: `undefined`;
        `uint232?`: `undefined`;
        `uint240?`: `undefined`;
        `uint248?`: `undefined`;
        `uint256?`: `undefined`;
        }
        | `Record`\<`string`, `unknown`>
      </td>

      <td>
        ‐
      </td>
    </tr>

    <tr>
      <td>
        `primaryType` *extends* `string` | `number` | `symbol`
      </td>

      <td>
        keyof `typedData`
      </td>
    </tr>

  </tbody>
</table>

## Parameters

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

  <tbody>
    <tr>
      <td>
        `typedDataDefinition`
      </td>

      <td>
        [`TypedDataDefinition`](https://viem.sh)\<`typedData`, `primaryType`>
      </td>

      <td>
        The typed data to check
      </td>
    </tr>

    <tr>
      <td>
        `accountAddress`
      </td>

      <td>
        `` `0x${string}` ``
      </td>

      <td>
        Account address to verify against domain.verifyingContract
      </td>
    </tr>

  </tbody>
</table>

## Returns

`boolean`

- True if the typedDataDefinition is a deferred action for this account