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

# Struct GlobalVariables

Module: `noir_aztec::protocol::abis::global_variables`

```rust
pub struct GlobalVariables {
    pub chain_id: Field,
    pub version: Field,
    pub block_number: u32,
    pub slot_number: Field,
    pub timestamp: u64,
    pub coinbase: EthAddress,
    pub fee_recipient: AztecAddress,
    pub gas_fees: GasFees,
}
```

## Fields

```rust
chain_id: Field
```

```rust
version: Field
```

```rust
block_number: u32
```

```rust
slot_number: Field
```

```rust
timestamp: u64
```

```rust
coinbase: EthAddress
```

```rust
fee_recipient: AztecAddress
```

```rust
gas_fees: GasFees
```

## Implementations

```rust
impl GlobalVariables
```

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

## Trait implementations

```rust
impl Deserialize for GlobalVariables
```

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

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

```rust
impl Empty for GlobalVariables
```

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

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

```rust
impl Serialize for GlobalVariables
```

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

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