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

# Struct FactScope

Module: `noir_aztec::facts`

```rust
pub struct FactScope
{ /* private fields */ }
```

The scope a fact collection belongs to.

A collection under an account scope is only accessible to executions where that account is in scope. A collection under the public scope is shared by all accounts, so any execution of the contract can access it.

## Implementations

```rust
impl FactScope
```

```rust
pub fn account(account: AztecAddress) -> Self
```

The scope of a single account.

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

The scope shared by all accounts.

## Trait implementations

```rust
impl Deserialize for FactScope
```

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

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

```rust
impl Eq for FactScope
```

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

```rust
impl Serialize for FactScope
```

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

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