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

# Trait IndexedTreeLeafPreimage

Module: `noir_aztec::protocol::merkle_tree::leaf_preimage`

```rust
pub trait IndexedTreeLeafPreimage<Value>:
    Empty
    + LeafPreimage
where
    _: Empty,
    _: LeafPreimage{
    // Required methods
    pub fn get_next_key(self) -> Field
    where
        Self: Empty,
        Self: LeafPreimage;
    pub fn points_to_infinity(self) -> bool
    where
        Self: Empty,
        Self: LeafPreimage;
    pub fn update_pointers(self, next_key: Field, next_index: Field) -> Self
    where
        Self: Empty,
        Self: LeafPreimage;
    pub fn update_value(self, value: Value) -> Self
    where
        Self: Empty,
        Self: LeafPreimage;
    pub fn build_insertion_leaf(value: Value, low_leaf: Self) -> Self
    where
        Self: Empty,
        Self: LeafPreimage;
}
```

## Required methods

```rust
pub fn get_next_key(self) -> Field
where
    Self: Empty,
    Self: LeafPreimage
```

```rust
pub fn points_to_infinity(self) -> bool
where
    Self: Empty,
    Self: LeafPreimage
```

```rust
pub fn update_pointers(self, next_key: Field, next_index: Field) -> Self
where
    Self: Empty,
    Self: LeafPreimage
```

```rust
pub fn update_value(self, value: Value) -> Self
where
    Self: Empty,
    Self: LeafPreimage
```

```rust
pub fn build_insertion_leaf(value: Value, low_leaf: Self) -> Self
where
    Self: Empty,
    Self: LeafPreimage
```

## Implementors

```rust
impl IndexedTreeLeafPreimage<Field> for NullifierLeafPreimage
```

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

```rust
impl IndexedTreeLeafPreimage<Field> for TestLeafPreimage
```
