Fill permutation todos

This commit is contained in:
wborgeaud 2022-02-22 10:46:51 +01:00
parent 56e269e27a
commit ed4aef0fa0

View File

@ -187,24 +187,29 @@ pub fn add_virtual_stark_proof<F: RichField + Extendable<D>, S: Stark<F, D>, con
let fri_params = config.fri_params(degree_bits);
let cap_height = fri_params.config.cap_height;
let num_leaves_per_oracle = &[
S::COLUMNS,
// TODO: permutation polys
stark.quotient_degree_factor() * config.num_challenges,
];
let permutation_zs_cap = if stark.uses_permutation_args() {
Some(builder.add_virtual_cap(cap_height))
let num_leaves_per_oracle = if stark.uses_permutation_args() {
vec![
S::COLUMNS,
stark.num_permutation_batches(config),
stark.quotient_degree_factor() * config.num_challenges,
]
} else {
None
vec![
S::COLUMNS,
stark.quotient_degree_factor() * config.num_challenges,
]
};
let permutation_zs_cap = stark
.uses_permutation_args()
.then(|| builder.add_virtual_cap(cap_height));
StarkProofTarget {
trace_cap: builder.add_virtual_cap(cap_height),
permutation_zs_cap,
quotient_polys_cap: builder.add_virtual_cap(cap_height),
openings: add_stark_opening_set::<F, S, D>(builder, stark, config),
opening_proof: builder.add_virtual_fri_proof(num_leaves_per_oracle, &fri_params),
opening_proof: builder.add_virtual_fri_proof(&num_leaves_per_oracle, &fri_params),
}
}
@ -217,8 +222,10 @@ fn add_stark_opening_set<F: RichField + Extendable<D>, S: Stark<F, D>, const D:
StarkOpeningSetTarget {
local_values: builder.add_virtual_extension_targets(S::COLUMNS),
next_values: builder.add_virtual_extension_targets(S::COLUMNS),
permutation_zs: vec![/*TODO*/],
permutation_zs_right: vec![/*TODO*/],
permutation_zs: builder
.add_virtual_extension_targets(stark.num_permutation_batches(config)),
permutation_zs_right: builder
.add_virtual_extension_targets(stark.num_permutation_batches(config)),
quotient_polys: builder
.add_virtual_extension_targets(stark.quotient_degree_factor() * num_challenges),
}