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

# Struct AztecAddress

Module: `noir_aztec::protocol::address::aztec_address`

```rust
pub struct AztecAddress {
    pub inner: Field,
}
```

## Fields

```rust
inner: Field
```

## Implementations

```rust
impl AztecAddress
```

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

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

Returns `true` if the address is valid.

An invalid address is one that can be proven to not be correctly derived, meaning it contains no contract code, public keys, etc., and can therefore not receive messages nor execute calls.

```rust
pub fn to_address_point(self) -> Option<AddressPoint>
```

Returns an address's [`AddressPoint`](/aztec-nr-api/v6.0.0/protocol_types/public_keys/struct.AddressPoint.md).

This can be used to create shared secrets with the owner of the address. If the address is invalid (see [`AztecAddress::is_valid`](/aztec-nr-api/v6.0.0/protocol_types/address/aztec_address/struct.AztecAddress.md#is_valid)) then this returns `Option::none()`, and no shared secrets can be created.

```rust
pub fn compute(public_keys: PublicKeys, partial_address: PartialAddress) -> Self
```

```rust
pub fn compute_from_class_id(
    contract_class_id: ContractClassId,
    salted_initialization_hash: SaltedInitializationHash,
    public_keys: PublicKeys,
) -> Self
```

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

```rust
pub fn assert_is_zero(self)
```

## Trait implementations

```rust
impl Deserialize for AztecAddress
```

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

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

```rust
impl Empty for AztecAddress
```

```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 AztecAddress
```

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

```rust
impl FromField for AztecAddress
```

```rust
pub fn from_field(value: Field) -> Self
```

```rust
impl Packable for AztecAddress
```

```rust
pub fn pack(self) -> [Field; 1]
```

```rust
pub fn unpack(packed: [Field; 1]) -> Self
```

```rust
impl Serialize for AztecAddress
```

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

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

```rust
impl ToField for AztecAddress
```

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