-
Notifications
You must be signed in to change notification settings - Fork 90
refactor: harden runtime safety across client and prover #2342
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
ce73e21
d0e4697
4650c0a
ed44b77
f9a788c
7ab1c90
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -132,7 +132,7 @@ where | |
| } | ||
|
|
||
| if self.worker_pool.is_none() { | ||
| let job_tx = spawn_proof_workers(&self.context.prover_config); | ||
| let job_tx = spawn_proof_workers(&self.context.prover_config)?; | ||
| self.worker_pool = Some(WorkerPool { job_tx }); | ||
| } | ||
|
Comment on lines
134
to
137
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧹 Nitpick | 🔵 Trivial Extract worker-pool bootstrap into a single helper. The same fallible initialization block now exists in three paths. A small Also applies to: 534-537, 563-566 🤖 Prompt for AI Agents |
||
|
|
||
|
|
@@ -532,7 +532,7 @@ where | |
| ((queue_size / self.zkp_batch_size) as usize).min(self.context.max_batches_per_tree); | ||
|
|
||
| if self.worker_pool.is_none() { | ||
| let job_tx = spawn_proof_workers(&self.context.prover_config); | ||
| let job_tx = spawn_proof_workers(&self.context.prover_config)?; | ||
| self.worker_pool = Some(WorkerPool { job_tx }); | ||
| } | ||
|
|
||
|
|
@@ -561,7 +561,7 @@ where | |
| let max_batches = max_batches.min(self.context.max_batches_per_tree); | ||
|
|
||
| if self.worker_pool.is_none() { | ||
| let job_tx = spawn_proof_workers(&self.context.prover_config); | ||
| let job_tx = spawn_proof_workers(&self.context.prover_config)?; | ||
| self.worker_pool = Some(WorkerPool { job_tx }); | ||
| } | ||
|
|
||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Only return complete, internally consistent address batches.
Lines 495-534 can shrink the requested range to
availableand then slice the companion vectors unchecked. If background fetching ends early or the indexer returns mismatched vector lengths, this either panics or feedsprocess_batcha truncated batch with a derived hashchain. Short or inconsistent batches should stay "not ready" until the full fixed-size batch is present.Suggested guard
🤖 Prompt for AI Agents