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

# Struct HintedNote

Module: `noir_aztec::note`

```rust
pub struct HintedNote<Note> {
    pub note: Note,
    pub contract_address: AztecAddress,
    pub owner: AztecAddress,
    pub randomness: Field,
    pub storage_slot: Field,
    pub metadata: NoteMetadata,
}
```

A hint for a note that might exist.

This contains the actual note content and all metadata that is required in order to prove note's existence, regardless of whether the note is pending or settled (see [`crate::note::note_metadata::NoteMetadata`](/aztec-nr-api/mainnet/noir_aztec/note/note_metadata/struct.NoteMetadata.md)).

This value typically unconstrained (originating from oracles or as a contract function parameter), and can be converted into a [`crate::note::confirmed_note::ConfirmedNote`](/aztec-nr-api/mainnet/noir_aztec/note/struct.ConfirmedNote.md) via [`crate::history::note::assert_note_existed_by`](/aztec-nr-api/mainnet/noir_aztec/history/note/fn.assert_note_existed_by.md).

## Fields

```rust
note: Note
```

```rust
contract_address: AztecAddress
```

```rust
owner: AztecAddress
```

```rust
randomness: Field
```

```rust
storage_slot: Field
```

```rust
metadata: NoteMetadata
```

## Trait implementations

```rust
impl<Note> Deserialize for HintedNote<Note>
where
    Note: Deserialize
```

```rust
pub fn deserialize(
    fields: [Field; <Note as protocol_types::traits::Deserialize>::N + 6],
) -> Self
```

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

```rust
impl<Note> Eq for HintedNote<Note>
where
    Note: Eq
```

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

```rust
impl<Note> Packable for HintedNote<Note>
where
    Note: Packable
```

```rust
pub fn pack(self) -> [Field; <Note as protocol_types::traits::Packable>::N + 6]
```

```rust
pub fn unpack(
    packed: [Field; <Note as protocol_types::traits::Packable>::N + 6],
) -> Self
```

```rust
impl<Note> Serialize for HintedNote<Note>
where
    Note: Serialize
```

```rust
pub fn serialize(self) -> [Field; <Note as protocol_types::traits::Serialize>::N + 6]
```

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