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

# Struct AvmCircuitPublicInputs

Module: `noir_aztec::protocol::abis::avm_circuit_public_inputs`

```rust
pub struct AvmCircuitPublicInputs {
    pub global_variables: GlobalVariables,
    pub protocol_contracts: ProtocolContracts,
    pub start_tree_snapshots: TreeSnapshots,
    pub start_gas_used: Gas,
    pub gas_settings: GasSettings,
    pub effective_gas_fees: GasFees,
    pub fee_payer: AztecAddress,
    pub prover_id: Field,
    pub public_call_request_array_lengths: PublicCallRequestArrayLengths,
    pub public_setup_call_requests: [PublicCallRequest; 32],
    pub public_app_logic_call_requests: [PublicCallRequest; 32],
    pub public_teardown_call_request: PublicCallRequest,
    pub previous_non_revertible_accumulated_data_array_lengths: PrivateToAvmAccumulatedDataArrayLengths,
    pub previous_revertible_accumulated_data_array_lengths: PrivateToAvmAccumulatedDataArrayLengths,
    pub previous_non_revertible_accumulated_data: PrivateToAvmAccumulatedData,
    pub previous_revertible_accumulated_data: PrivateToAvmAccumulatedData,
    pub end_tree_snapshots: TreeSnapshots,
    pub end_gas_used: Gas,
    pub accumulated_data_array_lengths: AvmAccumulatedDataArrayLengths,
    pub accumulated_data: AvmAccumulatedData,
    pub transaction_fee: Field,
    pub reverted: bool,
}
```

## Fields

```rust
global_variables: GlobalVariables
```

```rust
protocol_contracts: ProtocolContracts
```

```rust
start_tree_snapshots: TreeSnapshots
```

```rust
start_gas_used: Gas
```

```rust
gas_settings: GasSettings
```

```rust
effective_gas_fees: GasFees
```

```rust
fee_payer: AztecAddress
```

```rust
prover_id: Field
```

```rust
public_call_request_array_lengths: PublicCallRequestArrayLengths
```

```rust
public_setup_call_requests: [PublicCallRequest; 32]
```

```rust
public_app_logic_call_requests: [PublicCallRequest; 32]
```

```rust
public_teardown_call_request: PublicCallRequest
```

```rust
previous_non_revertible_accumulated_data_array_lengths: PrivateToAvmAccumulatedDataArrayLengths
```

```rust
previous_revertible_accumulated_data_array_lengths: PrivateToAvmAccumulatedDataArrayLengths
```

```rust
previous_non_revertible_accumulated_data: PrivateToAvmAccumulatedData
```

```rust
previous_revertible_accumulated_data: PrivateToAvmAccumulatedData
```

```rust
end_tree_snapshots: TreeSnapshots
```

```rust
end_gas_used: Gas
```

```rust
accumulated_data_array_lengths: AvmAccumulatedDataArrayLengths
```

```rust
accumulated_data: AvmAccumulatedData
```

```rust
transaction_fee: Field
```

```rust
reverted: bool
```

## Implementations

```rust
impl AvmCircuitPublicInputs
```

```rust
pub fn to_columns(self) -> [[Field; 4685]; 4]
```

## Trait implementations

```rust
impl Deserialize for AvmCircuitPublicInputs
```

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

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

```rust
impl Empty for AvmCircuitPublicInputs
```

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

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

```rust
impl Serialize for AvmCircuitPublicInputs
```

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

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

```rust
impl SerializeToColumns<9989> for AvmCircuitPublicInputs
```

```rust
pub fn serialize_to_columns(self) -> [Field; 9989]
```
