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

# Struct PublicDataTreeLeafPreimage

Module: `noir_aztec::protocol::data::public_data_tree_leaf_preimage`

```rust
pub struct PublicDataTreeLeafPreimage {
    pub slot: Field,
    pub value: Field,
    pub next_slot: Field,
    pub next_index: Field,
}
```

## Fields

```rust
slot: Field
```

```rust
value: Field
```

```rust
next_slot: Field
```

```rust
next_index: Field
```

## Trait implementations

```rust
impl Deserialize for PublicDataTreeLeafPreimage
```

```rust
pub fn deserialize(fields: [Field; 4]) -> Self
```

```rust
pub fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self
```

```rust
impl Empty for PublicDataTreeLeafPreimage
```

```rust
pub fn empty() -> Self
```

```rust
pub fn is_empty(self: Self) -> bool
where
    Self: Eq
```

```rust
pub fn assert_empty<let S: u32>(self: Self, msg: str<S>)
where
    Self: Eq
```

```rust
impl Eq for PublicDataTreeLeafPreimage
```

```rust
pub fn eq(_self: Self, _other: Self) -> bool
```

```rust
impl Hash for PublicDataTreeLeafPreimage
```

```rust
pub fn hash(self) -> Field
```

```rust
impl IndexedTreeLeafPreimage<PublicDataTreeLeaf> for PublicDataTreeLeafPreimage
```

```rust
pub fn get_next_key(self) -> Field
```

```rust
pub fn points_to_infinity(self) -> bool
```

```rust
pub fn update_pointers(self, next_slot: Field, next_index: Field) -> Self
```

```rust
pub fn update_value(self, write: PublicDataTreeLeaf) -> Self
```

```rust
pub fn build_insertion_leaf(write: PublicDataTreeLeaf, low_leaf: Self) -> Self
```

```rust
impl LeafPreimage for PublicDataTreeLeafPreimage
```

```rust
pub fn get_key(self) -> Field
```

```rust
pub fn as_leaf(self) -> Field
```

```rust
impl Serialize for PublicDataTreeLeafPreimage
```

```rust
pub fn serialize(self) -> [Field; 4]
```

```rust
pub fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>)
```
