Skip to content

Commit

Permalink
chore: adding (pk, vk) to triples_fib integration test (#7)
Browse files Browse the repository at this point in the history
  • Loading branch information
OsamaAlkhodairy authored May 8, 2024
1 parent 13f2460 commit 3e44140
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 8 deletions.
2 changes: 1 addition & 1 deletion stark-middleware/tests/fib_triples_air/columns.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use p3_middleware_derive::AlignedBorrow;
use afs_middleware_derive::AlignedBorrow;

pub const NUM_FIBONACCI_COLS: usize = 3;

Expand Down
22 changes: 15 additions & 7 deletions stark-middleware/tests/fib_triples_integration_test.rs
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
use afs_middleware::{
prover::{trace::TraceCommitter, types::ProvenMultiMatrixAirTrace, PartitionProver},
setup::PartitionSetup,
verifier::PartitionVerifier,
};
use fib_triples_air::trace::generate_trace_rows;
use p3_air::BaseAir;
use p3_baby_bear::BabyBear;
use p3_field::AbstractField;
use p3_uni_stark::StarkGenericConfig;
Expand All @@ -13,21 +14,22 @@ use tracing_subscriber::util::SubscriberInitExt;
use tracing_subscriber::{EnvFilter, Registry};

use crate::config::poseidon2::StarkConfigPoseidon2;
use crate::fib_triples_air::air::FibonacciAir;

mod config;
mod fib_triples_air;

#[test]
fn test_fib_triples_stark() {
use fib_triples_air::air::FibonacciAir;
use fib_triples_air::trace::generate_trace_rows;
// Set up tracing:
let env_filter = EnvFilter::builder()
.with_default_directive(LevelFilter::INFO.into())
.from_env_lossy();
Registry::default()
let _ = Registry::default()
.with(env_filter)
.with(ForestLayer::default())
.init();
.try_init();

let log_trace_degree = 3;
let perm = config::poseidon2::random_perm();
Expand All @@ -41,24 +43,30 @@ fn test_fib_triples_stark() {
type Val = BabyBear;
let pis = [a, b, get_fib_number(n + 1)].map(BabyBear::from_canonical_u32);

let air = FibonacciAir {};

let prep_trace = air.preprocessed_trace();
let setup = PartitionSetup::new(&config);
let (pk, vk) = setup.setup(vec![prep_trace]);

let trace = generate_trace_rows::<Val>(a, b, n);
let trace_committer = TraceCommitter::<StarkConfigPoseidon2>::new(config.pcs());
let proven_trace = trace_committer.commit(vec![trace]);
let proven = ProvenMultiMatrixAirTrace {
trace_data: &proven_trace,
airs: vec![&FibonacciAir],
airs: vec![&air],
};

let prover = PartitionProver::new(config);
let mut challenger = config::poseidon2::Challenger::new(perm.clone());
let proof = prover.prove(&mut challenger, vec![proven], &pis);
let proof = prover.prove(&mut challenger, &pk, vec![proven], &pis);

// Verify the proof:
// Start from clean challenger
let mut challenger = config::poseidon2::Challenger::new(perm.clone());
let verifier = PartitionVerifier::new(prover.config);
verifier
.verify(&mut challenger, vec![&FibonacciAir], proof, &pis)
.verify(&mut challenger, vk, vec![&air], proof, &pis)
.expect("Verification failed");
}

Expand Down

0 comments on commit 3e44140

Please sign in to comment.