use sp1_core_machine::io::SP1Stdin;
pub use sp1_core_machine::utils::setup_logger;
use sp1_prover_types::network_base_types::ProofMode;
use sp1_verifier::SP1ProofMode;
pub(crate) fn sp1_dump(elf: &[u8], stdin: &SP1Stdin) {
if std::env::var("SP1_DUMP").map(|v| v == "1" || v.to_lowercase() == "true").unwrap_or(false) {
std::fs::write("program.bin", elf).unwrap();
let stdin = bincode::serialize(&stdin).unwrap();
std::fs::write("stdin.bin", stdin.clone()).unwrap();
eprintln!("Dumped program.bin and stdin.bin.");
std::process::exit(0);
}
}
pub(crate) fn proof_mode(mode: SP1ProofMode) -> ProofMode {
match mode {
SP1ProofMode::Core => ProofMode::Core,
SP1ProofMode::Compressed => ProofMode::Compressed,
SP1ProofMode::Groth16 => ProofMode::Groth16,
SP1ProofMode::Plonk => ProofMode::Plonk,
}
}