openvm_recursion_circuit/cuda/
types.rs

1use openvm_stark_sdk::config::baby_bear_poseidon2::F;
2
3#[repr(C)]
4#[derive(Debug, Default)]
5pub struct TraceHeight {
6    pub air_idx: usize,
7    pub log_height: u8,
8}
9
10#[repr(C)]
11#[derive(Debug, Default)]
12pub struct TraceMetadata {
13    pub cached_idx: usize,
14    pub starting_cidx: usize,
15    pub total_interactions: usize,
16    pub num_air_id_lookups: usize,
17}
18
19#[repr(C)]
20#[derive(Debug, Default)]
21pub struct PublicValueData {
22    pub air_idx: usize,
23    pub air_num_pvs: usize,
24    pub num_airs: usize,
25    pub pv_idx: usize,
26    pub value: F,
27}
28
29#[repr(C)]
30#[derive(Debug, Default)]
31pub struct AirData {
32    pub num_cached: usize,
33    pub num_interactions_per_row: usize,
34    pub total_width: usize,
35    pub has_preprocessed: bool,
36}
37
38#[repr(C)]
39#[derive(Debug, Default, Clone, Copy)]
40pub struct MerkleVerifyRecord {
41    pub proof_idx: u16,
42    pub merkle_proof_idx: u16,
43    pub start_row: u32,
44    pub num_rows: u32,
45    pub depth: u16,
46    pub merkle_idx: u32,
47    pub commit_major: u16,
48    pub commit_minor: u16,
49    pub leaf_hash_offset: u32,
50    pub siblings_offset: u32,
51}