# SmartWalletActions

> Overview of SmartWalletActions

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

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

```ts
type SmartWalletActions = {
  requestAccount: (
    params?: RequestAccountParams,
  ) => Promise<RequestAccountResult>;
  prepareCalls: (params: PrepareCallsParams) => Promise<PrepareCallsResult>;
  sendPreparedCalls: (
    params: SendPreparedCallsParams,
  ) => Promise<SendPreparedCallsResult>;
  sendCalls: (params: SendCallsParams) => Promise<SendCallsResult>;
  listAccounts: (params: ListAccountsParams) => Promise<ListAccountsResult>;
  signSignatureRequest: (
    params: SignSignatureRequestParams,
  ) => Promise<SignSignatureRequestResult>;
  signPreparedCalls: (
    params: SignPreparedCallsParams,
  ) => Promise<SignPreparedCallsResult>;
  signMessage: (params: SignMessageParams) => Promise<Hex>;
  signTypedData: (params: SignTypedDataParams) => Promise<Hex>;
  grantPermissions: (
    params: GrantPermissionsParams,
  ) => Promise<GrantPermissionsResult>;
  getCallsStatus: (
    params: GetCallsStatusParameters,
  ) => Promise<GetCallsStatusReturnType>;
  waitForCallsStatus: (
    params: WaitForCallsStatusParameters,
  ) => Promise<WaitForCallsStatusReturnType>;
  getCapabilities: (
    params?: GetCapabilitiesParams | undefined,
  ) => Promise<GetCapabilitiesResult>;
  undelegateAccount: (
    params?: UndelegateAccountParams,
  ) => Promise<UndelegateAccountResult>;
};
```

Defined in: [packages/wallet-apis/src/decorators/smartWalletActions.ts:67](https://github.com/alchemyplatform/aa-sdk/blob/v5.x.x/packages/wallet-apis/src/decorators/smartWalletActions.ts#L67)

## Properties

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

  <tbody>
    <tr>
      <td>
        <a id="getcallsstatus" /> `getCallsStatus`
      </td>

      <td>
        (`params`) => `Promise`\<[`GetCallsStatusReturnType`](https://viem.sh)>
      </td>
    </tr>

    <tr>
      <td>
        <a id="getcapabilities" /> `getCapabilities`
      </td>

      <td>
        (`params?`) => `Promise`\<[`GetCapabilitiesResult`](GetCapabilitiesResult)>
      </td>
    </tr>

    <tr>
      <td>
        <a id="grantpermissions" /> `grantPermissions`
      </td>

      <td>
        (`params`) => `Promise`\<[`GrantPermissionsResult`](GrantPermissionsResult)>
      </td>
    </tr>

    <tr>
      <td>
        <a id="listaccounts" /> `listAccounts`
      </td>

      <td>
        (`params`) => `Promise`\<[`ListAccountsResult`](ListAccountsResult)>
      </td>
    </tr>

    <tr>
      <td>
        <a id="preparecalls" /> `prepareCalls`
      </td>

      <td>
        (`params`) => `Promise`\<[`PrepareCallsResult`](PrepareCallsResult)>
      </td>
    </tr>

    <tr>
      <td>
        <a id="requestaccount" /> `requestAccount`
      </td>

      <td>
        (`params?`) => `Promise`\<[`RequestAccountResult`](RequestAccountResult)>
      </td>
    </tr>

    <tr>
      <td>
        <a id="sendcalls" /> `sendCalls`
      </td>

      <td>
        (`params`) => `Promise`\<[`SendCallsResult`](SendCallsResult)>
      </td>
    </tr>

    <tr>
      <td>
        <a id="sendpreparedcalls" /> `sendPreparedCalls`
      </td>

      <td>
        (`params`) => `Promise`\<[`SendPreparedCallsResult`](SendPreparedCallsResult)>
      </td>
    </tr>

    <tr>
      <td>
        <a id="signmessage" /> `signMessage`
      </td>

      <td>
        (`params`) => `Promise`\<[`Hex`](https://viem.sh)>
      </td>
    </tr>

    <tr>
      <td>
        <a id="signpreparedcalls" /> `signPreparedCalls`
      </td>

      <td>
        (`params`) => `Promise`\<[`SignPreparedCallsResult`](SignPreparedCallsResult)>
      </td>
    </tr>

    <tr>
      <td>
        <a id="signsignaturerequest" /> `signSignatureRequest`
      </td>

      <td>
        (`params`) => `Promise`\<[`SignSignatureRequestResult`](SignSignatureRequestResult)>
      </td>
    </tr>

    <tr>
      <td>
        <a id="signtypeddata" /> `signTypedData`
      </td>

      <td>
        (`params`) => `Promise`\<[`Hex`](https://viem.sh)>
      </td>
    </tr>

    <tr>
      <td>
        <a id="undelegateaccount" /> `undelegateAccount`
      </td>

      <td>
        (`params?`) => `Promise`\<[`UndelegateAccountResult`](UndelegateAccountResult)>
      </td>
    </tr>

    <tr>
      <td>
        <a id="waitforcallsstatus" /> `waitForCallsStatus`
      </td>

      <td>
        (`params`) => `Promise`\<[`WaitForCallsStatusReturnType`](https://viem.sh)>
      </td>
    </tr>

  </tbody>
</table>