@@ -25,9 +25,8 @@ static SP1_PROVER_CLIENT: LazyLock<EnvProver> = LazyLock::new(ProverClient::from
2525static SP1_PROVER_CLIENT_CPU : LazyLock < CpuProver > =
2626 LazyLock :: new ( || ProverClient :: builder ( ) . cpu ( ) . build ( ) ) ;
2727
28- pub struct SP1ProofWithPubValuesAndElf {
28+ pub struct SP1ProofWithPubValuesAndVk {
2929 pub proof_with_pub_values : SP1ProofWithPublicValues ,
30- pub elf : Vec < u8 > ,
3130 pub vk : SP1VerifyingKey ,
3231}
3332
@@ -37,16 +36,14 @@ pub enum AlignedSP1VerificationError {
3736 UnsupportedProof ,
3837}
3938
40- impl SP1ProofWithPubValuesAndElf {
39+ impl SP1ProofWithPubValuesAndVk {
4140 /// Constructs a new instance of the struct by verifying a given SP1 proof with its public values.
4241 pub fn new (
4342 proof_with_pub_values : SP1ProofWithPublicValues ,
44- elf : Vec < u8 > ,
43+ vk : SP1VerifyingKey ,
4544 ) -> Result < Self , AlignedSP1VerificationError > {
4645 let client = & * SP1_PROVER_CLIENT_CPU ;
4746
48- let ( _pk, vk) = client. setup ( & elf) ;
49-
5047 // only sp1 compressed proofs are supported for aggregation now
5148 match proof_with_pub_values. proof {
5249 sp1_sdk:: SP1Proof :: Compressed ( _) => client
@@ -57,7 +54,6 @@ impl SP1ProofWithPubValuesAndElf {
5754
5855 Ok ( Self {
5956 proof_with_pub_values,
60- elf,
6157 vk,
6258 } )
6359 }
@@ -80,8 +76,8 @@ pub enum SP1AggregationError {
8076}
8177
8278pub ( crate ) fn run_user_proofs_aggregator (
83- proofs : & [ SP1ProofWithPubValuesAndElf ] ,
84- ) -> Result < SP1ProofWithPubValuesAndElf , SP1AggregationError > {
79+ proofs : & [ SP1ProofWithPubValuesAndVk ] ,
80+ ) -> Result < SP1ProofWithPubValuesAndVk , SP1AggregationError > {
8581 let mut stdin = SP1Stdin :: new ( ) ;
8682
8783 let mut program_input = sp1_aggregation_program:: UserProofsAggregatorInput {
@@ -131,18 +127,17 @@ pub(crate) fn run_user_proofs_aggregator(
131127 . verify ( & proof, & vk)
132128 . map_err ( SP1AggregationError :: Verification ) ?;
133129
134- let proof_and_elf = SP1ProofWithPubValuesAndElf {
130+ let proof_and_vk = SP1ProofWithPubValuesAndVk {
135131 proof_with_pub_values : proof,
136- elf : USER_PROOFS_PROGRAM_ELF . to_vec ( ) ,
137132 vk,
138133 } ;
139134
140- Ok ( proof_and_elf )
135+ Ok ( proof_and_vk )
141136}
142137
143138pub ( crate ) fn run_chunk_aggregator (
144- proofs : & [ ( SP1ProofWithPubValuesAndElf , Vec < [ u8 ; 32 ] > ) ] ,
145- ) -> Result < SP1ProofWithPubValuesAndElf , SP1AggregationError > {
139+ proofs : & [ ( SP1ProofWithPubValuesAndVk , Vec < [ u8 ; 32 ] > ) ] ,
140+ ) -> Result < SP1ProofWithPubValuesAndVk , SP1AggregationError > {
146141 let mut stdin = SP1Stdin :: new ( ) ;
147142
148143 let mut program_input = sp1_aggregation_program:: ChunkAggregatorInput {
@@ -204,13 +199,12 @@ pub(crate) fn run_chunk_aggregator(
204199 . verify ( & proof, & vk)
205200 . map_err ( SP1AggregationError :: Verification ) ?;
206201
207- let proof_and_elf = SP1ProofWithPubValuesAndElf {
202+ let proof_and_vk = SP1ProofWithPubValuesAndVk {
208203 proof_with_pub_values : proof,
209- elf : CHUNK_PROGRAM_ELF . to_vec ( ) ,
210204 vk,
211205 } ;
212206
213- Ok ( proof_and_elf )
207+ Ok ( proof_and_vk )
214208}
215209
216210pub fn vk_from_elf ( elf : & [ u8 ] ) -> SP1VerifyingKey {
0 commit comments