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

# Struct EphemeralOracles

Module: `noir_aztec::ephemeral`

```rust
pub struct EphemeralOracles {}
```

## Trait implementations

```rust
impl ArrayOracles for EphemeralOracles
```

```rust
pub unconstrained fn len_oracle(slot: Field) -> u32
```

```rust
pub unconstrained fn push_oracle<let N: u32>(slot: Field, values: [Field; N]) -> u32
```

```rust
pub unconstrained fn pop_oracle<let N: u32>(slot: Field) -> [Field; N]
```

```rust
pub unconstrained fn get_oracle<let N: u32>(slot: Field, index: u32) -> [Field; N]
```

```rust
pub unconstrained fn set_oracle<let N: u32>(slot: Field, index: u32, values: [Field; N])
```

```rust
pub unconstrained fn remove_oracle(slot: Field, index: u32)
```

```rust
pub unconstrained fn clear_oracle(slot: Field)
```

```rust
impl<T> Deserialize for UnconstrainedArray<T, EphemeralOracles>
```

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

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

```rust
impl<T> Serialize for UnconstrainedArray<T, EphemeralOracles>
```

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

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