1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use super::Instruction;
use backtrace::Backtrace;
use p3_field::Field;
use serde::{Deserialize, Serialize};
use sp1_core::air::MachineProgram;

#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct RecursionProgram<F> {
    pub instructions: Vec<Instruction<F>>,
    #[serde(skip)]
    pub traces: Vec<Option<Backtrace>>,
}

impl<F: Field> MachineProgram<F> for RecursionProgram<F> {
    fn pc_start(&self) -> F {
        F::zero()
    }
}