Add prover_data method

This commit is contained in:
wborgeaud 2022-09-06 16:51:14 +02:00
parent 11bdd501c8
commit 00c439513a
2 changed files with 16 additions and 18 deletions

View File

@ -836,15 +836,8 @@ impl<F: RichField + Extendable<D>, const D: usize> CircuitBuilder<F, D> {
[(); C::Hasher::HASH_SIZE]:,
{
// TODO: Can skip parts of this.
let CircuitData {
prover_only,
common,
..
} = self.build();
ProverCircuitData {
prover_only,
common,
}
let circuit_data = self.build();
circuit_data.prover_data()
}
/// Builds a "verifier circuit", with data needed to verify proofs but not generate them.
@ -853,14 +846,7 @@ impl<F: RichField + Extendable<D>, const D: usize> CircuitBuilder<F, D> {
[(); C::Hasher::HASH_SIZE]:,
{
// TODO: Can skip parts of this.
let CircuitData {
verifier_only,
common,
..
} = self.build();
VerifierCircuitData {
verifier_only,
common,
}
let circuit_data = self.build();
circuit_data.verifier_data()
}
}

View File

@ -151,6 +151,18 @@ impl<F: RichField + Extendable<D>, C: GenericConfig<D, F = F>, const D: usize>
common,
}
}
pub fn prover_data(self) -> ProverCircuitData<F, C, D> {
let CircuitData {
prover_only,
common,
..
} = self;
ProverCircuitData {
prover_only,
common,
}
}
}
/// Circuit data required by the prover. This may be thought of as a proving key, although it