# BlobCells.verify

Verify a batch of cell KZG proofs against their commitments (PeerDAS, EIP-7594).

Each cell at index `cellIndices[i]` is checked against the commitment `commitments[i]` using the proof `proofs[i]`.

## Imports

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

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

## Examples

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

const [blob] = Blobs.from('0xdeadbeef')
const [commitment] = Blobs.toCommitments([blob], { kzg })
const { cells, proofs } = BlobCells.fromBlob(blob, { kzg })
const valid = BlobCells.verify({
  cells,
  cellIndices: cells.map((_, i) => i),
  commitments: cells.map(() => commitment),
  proofs,
  kzg
})
```

## Definition

```ts
function verify(
  options: verify.Options,
): boolean
```

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

## Parameters

### options

* **Type:** `verify.Options`

Verification options.

#### options.cellIndices

* **Type:** `readonly number[]`

Cell indices within their respective extended blobs.

#### options.cells

* **Type:** `readonly (0x${string} | Uint8Array)[]`

Cells to verify.

#### options.commitments

* **Type:** `readonly (0x${string} | Uint8Array)[]`

Commitments, one per cell (parallel to `cells`).

#### options.kzg

* **Type:** `Pick`

KZG implementation.

#### options.proofs

* **Type:** `readonly (0x${string} | Uint8Array)[]`

Proofs, one per cell (parallel to `cells`).

## Return Type

Whether all (commitment, cell, proof) tuples verify.

`boolean`
