# BlobCells.recover

Reconstruct all 128 cells (and their KZG proofs) of an extended blob from at least 64 known cells (PeerDAS, EIP-7594).

## Imports

:::code-group
```ts [Named]
import { BlobCells } from 'ox'
```

```ts [Entrypoint]
import * as BlobCells from 'ox/BlobCells'
```
:::

## Examples

```ts twoslash
// @noErrors
import { BlobCells } from 'ox'
import { kzg } from './kzg'

// Reconstruct from 64 of 128 cells.
const { cells, proofs } = BlobCells.recover(
  knownIndices, // e.g. [0, 2, 4, …]
  knownCells,
  { kzg }
)
```

## Definition

```ts
function recover<cells, as>(
  cellIndices: readonly CellIndex[],
  cells: cells | readonly (Hex.Hex | Bytes.Bytes)[],
  options: recover.Options<as>,
): recover.ReturnType<as>
```

**Source:** [src/core/BlobCells.ts](https://github.com/wevm/ox/blob/main/src/core/BlobCells.ts#L380)

## Parameters

### cellIndices

* **Type:** `readonly CellIndex[]`

The indices of the known cells (must contain ≥ 64 distinct values).

### cells

* **Type:** `cells | readonly (Hex.Hex | Bytes.Bytes)[]`

The known cells, parallel to `cellIndices`.

### options

* **Type:** `recover.Options<as>`

Options.

#### options.as

* **Type:** `"Bytes" | "Hex" | as`
* **Optional**

Return type.

#### options.kzg

* **Type:** `Pick`

KZG implementation.

## Return Type

The full set of 128 cells and 128 proofs.

`recover.ReturnType<as>`
