Enhance serialization support for proof types#1
Conversation
- Added `serde::Serialize` and `serde::Deserialize` derives to various structs including `Commitment`, `ShoutAddrPreProof`, and `BatchedTimeProof` for improved serialization capabilities. - Introduced `serde_helpers` module with custom serialization functions for handling non-trivially-serializable fields, specifically for `Vec<&'static [u8]>`. - Implemented verification methods in `FoldingSession` to allow proof verification using externally supplied step instance bundles without executing the program. This update enhances the flexibility and usability of proof serialization across the codebase.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e559fbbf28
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c8096d0328
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 1aa6fe14df
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
- Introduced Poseidon2 compute and read ECALLs for hashing Goldilocks field elements. - Implemented guest-side API for computing Poseidon2 hashes, allowing for efficient input handling and digest retrieval. - Enhanced RISC-V CPU to manage Poseidon2 ECALLs, including internal state for pending digest words. - Updated CCS layout and constraints to accommodate new ECALLs and ensure proper integration with existing functionality.
- Introduced new timing fields in `ProveTimings` to track durations for VM trace collection and CPU witness building. - Updated `ShardWitnessAux` to include wall-clock time for VM trace and CPU witness phases. - Enhanced `R1csCpu` to log detailed timing for witness building, bus filling, matrix decomposition, and commitment processes. - Added methods in `Session` for preloading CCS preprocessing with matrix digests to optimize performance during proving and verification.
serde::Serializeandserde::Deserializederives to various structs includingCommitment,ShoutAddrPreProof, andBatchedTimeProoffor improved serialization capabilities.serde_helpersmodule with custom serialization functions for handling non-trivially-serializable fields, specifically forVec<&'static [u8]>.FoldingSessionto allow proof verification using externally supplied step instance bundles without executing the program.