Skip to content

Commit 5eb4da9

Browse files
committed
change the interface, expose some functions
1 parent 748e611 commit 5eb4da9

File tree

2 files changed

+13
-38
lines changed

2 files changed

+13
-38
lines changed

crates/proof-compression/src/chain.rs

Lines changed: 12 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -84,72 +84,54 @@ pub type SchedulerProof = franklin_crypto::boojum::cs::implementations::proof::P
8484
GoldilocksExt2,
8585
>;
8686

87-
pub fn run_proof_chain<BS, PS>(
87+
pub fn run_proof_chain<BS>(
8888
snark_wrapper: SnarkWrapper,
8989
blob_storage: &BS,
90-
proof_storage: &mut PS,
91-
) where
90+
scheduler_proof: SchedulerProof,
91+
) -> SnarkWrapperProof
92+
where
9293
BS: BlobStorage,
93-
PS: ProofStorage,
9494
{
9595
match snark_wrapper {
96-
SnarkWrapper::Plonk => run_proof_chain_with_plonk(blob_storage, proof_storage),
97-
SnarkWrapper::FFfonk => run_proof_chain_with_fflonk(blob_storage, proof_storage),
96+
SnarkWrapper::Plonk => run_proof_chain_with_plonk(blob_storage, scheduler_proof),
97+
SnarkWrapper::FFfonk => run_proof_chain_with_fflonk(blob_storage, scheduler_proof),
9898
}
9999
}
100100

101-
pub fn run_proof_chain_with_fflonk<BS, PS>(blob_storage: &BS, proof_storage: &mut PS)
101+
pub fn run_proof_chain_with_fflonk<BS>(blob_storage: &BS, scheduler_proof: SchedulerProof) -> SnarkWrapperProof
102102
where
103103
BS: BlobStorage,
104-
PS: ProofStorage,
105104
{
106105
let context_manager = SimpleContextManager::new();
107106
let start = std::time::Instant::now();
108107
<FflonkSnarkWrapper as SnarkWrapperStep>::run_pre_initialization_tasks();
109108
let compact_raw_crs =
110109
<FflonkSnarkWrapper as SnarkWrapperStep>::load_compact_raw_crs(blob_storage);
111110
let fflonk_precomputation = FflonkSnarkWrapper::get_precomputation(blob_storage);
112-
113-
let input_proof = proof_storage.get_scheduler_proof();
114-
115111
let next_proof =
116-
CompressionMode1::prove_compression_step(input_proof, blob_storage, &context_manager);
117-
let compression_proof_1 = ZkSyncCompressionLayerProof::from_inner(1, next_proof.clone());
118-
proof_storage.save_compression_layer_proof(1, compression_proof_1.clone());
112+
CompressionMode1::prove_compression_step(scheduler_proof, blob_storage, &context_manager);
119113

120114
let next_proof = CompressionMode2::prove_compression_step::<_, SimpleContextManager>(
121115
next_proof,
122116
blob_storage,
123117
&context_manager,
124118
);
125-
let compression_proof_2 = ZkSyncCompressionLayerProof::from_inner(2, next_proof.clone());
126-
proof_storage.save_compression_layer_proof(2, compression_proof_2.clone());
127-
128119
let next_proof = CompressionMode3::prove_compression_step::<_, SimpleContextManager>(
129120
next_proof,
130121
blob_storage,
131122
&context_manager,
132123
);
133-
let compression_proof_3 = ZkSyncCompressionLayerProof::from_inner(3, next_proof.clone());
134-
proof_storage.save_compression_layer_proof(3, compression_proof_3.clone());
135124

136125
let next_proof = CompressionMode4::prove_compression_step::<_, SimpleContextManager>(
137126
next_proof,
138127
blob_storage,
139128
&context_manager,
140129
);
141-
let compression_proof_4 = ZkSyncCompressionLayerProof::from_inner(4, next_proof.clone());
142-
proof_storage.save_compression_layer_proof(4, compression_proof_4.clone());
143-
144130
let next_proof = CompressionMode5ForWrapper::prove_compression_step::<_, SimpleContextManager>(
145131
next_proof,
146132
blob_storage,
147133
&context_manager,
148134
);
149-
proof_storage.save_compression_wrapper_proof(
150-
5,
151-
ZkSyncCompressionForWrapperProof::from_inner(5, next_proof.clone()),
152-
);
153135
println!(
154136
"Proving entire compression chain took {}s",
155137
start.elapsed().as_secs()
@@ -165,7 +147,7 @@ where
165147
"Proving entire chain with snark wrapper took {}s",
166148
start.elapsed().as_secs()
167149
);
168-
proof_storage.save_fflonk_proof(final_proof);
150+
SnarkWrapperProof::FFfonk(final_proof)
169151
}
170152

171153
pub fn precompute_proof_chain_with_fflonk<BS>(blob_storage: &BS)
@@ -201,28 +183,21 @@ where
201183
);
202184
}
203185

204-
pub fn run_proof_chain_with_plonk<BS, PS>(blob_storage: &BS, proof_storage: &mut PS)
186+
pub fn run_proof_chain_with_plonk<BS>(blob_storage: &BS, scheduler_proof: SchedulerProof) -> SnarkWrapperProof
205187
where
206188
BS: BlobStorage,
207-
PS: ProofStorage,
208189
{
209190
let context_manager = SimpleContextManager::new();
210191
let start = std::time::Instant::now();
211192
let compact_raw_crs =
212193
<PlonkSnarkWrapper as SnarkWrapperStep>::load_compact_raw_crs(blob_storage);
213194
let plonk_precomputation = PlonkSnarkWrapper::get_precomputation(blob_storage);
214195

215-
let input_proof = proof_storage.get_scheduler_proof();
216-
217196
let next_proof = CompressionMode1ForWrapper::prove_compression_step(
218-
input_proof,
197+
scheduler_proof,
219198
blob_storage,
220199
&context_manager,
221200
);
222-
proof_storage.save_compression_wrapper_proof(
223-
1,
224-
ZkSyncCompressionForWrapperProof::from_inner(1, next_proof.clone()),
225-
);
226201

227202
let final_proof = PlonkSnarkWrapper::prove_snark_wrapper_step(
228203
compact_raw_crs,
@@ -235,7 +210,7 @@ where
235210
"Entire compression chain with plonk took {}s",
236211
start.elapsed().as_secs()
237212
);
238-
proof_storage.save_plonk_proof(final_proof);
213+
SnarkWrapperProof::Plonk(final_proof)
239214
}
240215

241216
pub fn precompute_proof_chain_with_plonk<BS>(blob_storage: &BS)

crates/proof-compression/src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
#![feature(allocator_api)]
33

44
mod blob_storage;
5-
use blob_storage::*;
5+
pub use blob_storage::*;
66

77
mod chain;
88
pub use chain::*;

0 commit comments

Comments
 (0)