# Calls

Utility functions for encoding and decoding [ERC-7821](https://eips.ethereum.org/EIPS/eip-7821) calls.

## Examples

Below are some examples demonstrating common usages of the `Calls` module:

* [Encoding calls](#encoding-calls)

* [Decoding calls](#decoding-calls)

### Encoding calls

Calls can be encoded using `Calls.encode`.

```ts twoslash
import { Calls } from 'ox/erc7821'

const calls = Calls.encode([
  {
    data: '0xcafebabe',
    to: '0xdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef',
    value: 1n
  }
])
```

### Decoding calls

Calls can be decoded using `Calls.decode`.

```ts twoslash
import { Calls } from 'ox/erc7821'

const { calls } = Calls.decode('0x...')
```

## Functions

| Name                | Description                         |
| ------------------- | ----------------------------------- |
| [`Calls.decode`](/ercs/erc7821/Calls/decode) | Decodes a set of ERC-7821 calls from encoded data. |
| [`Calls.encode`](/ercs/erc7821/Calls/encode) | Encodes a set of ERC-7821 calls. |
| [`Calls.getAbiParameters`](/ercs/erc7821/Calls/getAbiParameters) | Gets the ABI parameters for the ERC-7821 calls. |

## Types

| Name                | Description                         |
| ------------------- | ----------------------------------- |
| [`Calls.Call`](/ercs/erc7821/Calls/types#callscall) |  |
