> Aztec.nr API reference, v6.0.0 (mainnet and testnet). Index: https://docs.aztec.network/aztec-nr-api/v6.0.0/llms.txt

# Struct PrivateKernelData

Module: `noir_aztec::protocol::abis::private_kernel_data`

```rust
pub struct PrivateKernelData {
    pub public_inputs: PrivateKernelCircuitPublicInputs,
    pub vk_data: VkData<151>,
}
```

## Fields

```rust
public_inputs: PrivateKernelCircuitPublicInputs
```

```rust
vk_data: VkData<151>
```

## Implementations

```rust
impl PrivateKernelData
```

```rust
pub fn validate_vk_in_vk_tree<let N: u32>(self, allowed_indices: [u32; N])
```

Validates the vk hash is in the vk tree at an allowed index. Differs from the helper in `vk_data.nr`: an entry in `allowed_indices` that is a reset-family base permits every variant of that family.

Reset families occupy contiguous blocks within `[PRIVATE_KERNEL_RESET_VK_INDEX, PRIVATE_KERNEL_RESET_BLOCK_END)`; a variant's leaf index is normalised to its family base.

```rust
pub fn verify(self)
```
