-
Notifications
You must be signed in to change notification settings - Fork 25
docs: update README code refs #426
Conversation
|
Caution Review failedThe pull request is closed. WalkthroughThe changes update the package version from 0.1.1 to 0.2.0 and enhance documentation and examples. The README introduces a new section titled "Emerging Architectures for IVC," detailing the Sangria and Cyclefold schemes, along with updated examples and dependency instructions. Several modules have modified visibility for key structures and fields from Changes
Suggested reviewers
Possibly related PRs
Poem
Tip ⚡🧪 Multi-step agentic review comment chat (experimental)
📜 Recent review detailsConfiguration used: CodeRabbit UI 📒 Files selected for processing (10)
✨ Finishing Touches
🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
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.
Actionable comments posted: 0
🧹 Nitpick comments (1)
README.md (1)
32-47: Well-structured addition of IVC architecture descriptions.This new section excellently describes the emerging IVC architectures implemented in Sirius. The explanation of Sangria and Cyclefold+Protogalaxy schemes provides valuable context for users to understand the differences and benefits of each approach.
Minor spelling correction:
-operations to a compact "co-processor" circuit defined over a secondary ellip... +operations to a compact "coprocessor" circuit defined over a secondary ellip...🧰 Tools
🪛 LanguageTool
[misspelling] ~42-~42: This word is normally spelled as one.
Context: ...point addition operations to a compact "co-processor" circuit defined over a secondary ellip...(EN_COMPOUNDS_CO_PROCESSOR)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (6)
Cargo.toml(1 hunks)README.md(3 hunks)src/ivc/sangria/public_params.rs(2 hunks)src/ivc/sangria/step_folding_circuit.rs(1 hunks)src/lib.rs(1 hunks)src/polynomial/expression.rs(1 hunks)
✅ Files skipped from review due to trivial changes (2)
- src/lib.rs
- Cargo.toml
🧰 Additional context used
🪛 LanguageTool
README.md
[misspelling] ~42-~42: This word is normally spelled as one.
Context: ...point addition operations to a compact "co-processor" circuit defined over a secondary ellip...
(EN_COMPOUNDS_CO_PROCESSOR)
⏰ Context from checks skipped due to timeout of 90000ms (1)
- GitHub Check: build
🔇 Additional comments (8)
src/ivc/sangria/step_folding_circuit.rs (1)
36-36: Increased visibility to support public API usage.The visibility of
StepParamsstruct has been changed frompub(crate)topub, making it accessible outside the crate. This change is consistent with the README updates that now provide examples for using the Sangria IVC scheme directly.src/polynomial/expression.rs (1)
334-334: Improved fallback for unsupported expression types.This change replaces the previous
unimplemented!()macro (which would panic) with a constant valueF::ONE + F::ONE. This significantly improves robustness by providing a fallback expression instead of crashing when encountering unsupported expression types during conversion.The rename from
_to_otheralso enhances code readability by making the catch-all pattern more explicit.src/ivc/sangria/public_params.rs (2)
49-49: Increased visibility to support public API usage.The visibility of
CircuitPublicParamsstruct has been changed frompub(crate)topub, making it accessible outside the crate. This change is essential for supporting the updated README examples that demonstrate the Sangria IVC scheme usage.
149-150: Exposed primary and secondary fields for external access.The visibility of both
primaryandsecondaryfields in thePublicParamsstruct has been changed frompub(crate)topub. This change allows users to access these fields directly when using the Sangria IVC scheme, which is demonstrated in the updated README examples.README.md (4)
54-55: Updated roadmap to reflect completed milestones.The roadmap has been properly updated to mark the high-degree gates optimization and IVC with Cyclefold implementations as completed. This accurately reflects the project's progress and aligns with the new features described in the added IVC architecture section.
68-68: Version bump in dependency instructions.The dependency version has been updated from v0.1.0 to v0.2.0, which matches the version change in Cargo.toml mentioned in the AI summary. This ensures users will use the version that includes the new IVC schemes.
99-198: Comprehensive examples for both IVC schemes.The new examples clearly demonstrate how to use both the Sangria and Cyclefold IVC schemes. The code is well-annotated with comments explaining the purpose of each step, and the examples follow a consistent structure that makes it easy to understand the differences between the schemes.
The use of
no_runin the code blocks is appropriate since these examples require setup that can't be performed directly from the README.
200-201: Clear explanation of scheme differences.The concluding paragraph effectively summarizes the key differences between the Sangria and Cyclefold schemes, highlighting that Cyclefold uses a simpler one-circuit approach while Sangria requires two circuits. This helps users quickly understand which scheme might be more appropriate for their use case.
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.
Actionable comments posted: 1
🧹 Nitpick comments (1)
README.md (1)
41-41: Consider standardizing spelling of "co-processor"The document uses "co-processor" with a hyphen, while standard technical terminology often uses "coprocessor" without a hyphen. For consistency, consider standardizing to either form throughout the document.
-Cyclefold delegates expensive non-native scalar multiplication and point addition operations to a compact "co-processor" circuit defined over a secondary elliptic curve. +Cyclefold delegates expensive non-native scalar multiplication and point addition operations to a compact "coprocessor" circuit defined over a secondary elliptic curve.-- Uses a **single main circuit** with a specialized co-processor architecture -- The co-processor handles expensive elliptic curve operations internally +- Uses a **single main circuit** with a specialized coprocessor architecture +- The coprocessor handles expensive elliptic curve operations internallyAlso applies to: 241-242
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
README.md(3 hunks)examples/cyclefold_trivial.rs(1 hunks)examples/sangria_trivial.rs(1 hunks)
🧰 Additional context used
🪛 LanguageTool
README.md
[misspelling] ~42-~42: This word is normally spelled as one.
Context: ...point addition operations to a compact "co-processor" circuit defined over a secondary ellip...
(EN_COMPOUNDS_CO_PROCESSOR)
[style] ~172-~172: Try using a synonym here to strengthen your wording.
Context: ... complete working example with detailed comments about private inputs between steps, see...
(COMMENT_REMARK)
[style] ~228-~228: Try using a synonym here to strengthen your wording.
Context: ... complete working example with detailed comments about private inputs between steps, see...
(COMMENT_REMARK)
[misspelling] ~241-~241: This word is normally spelled as one.
Context: ...ingle main circuit** with a specialized co-processor architecture - The co-processor handles...
(EN_COMPOUNDS_CO_PROCESSOR)
[misspelling] ~242-~242: This word is normally spelled as one.
Context: ...ialized co-processor architecture - The co-processor handles expensive elliptic curve operat...
(EN_COMPOUNDS_CO_PROCESSOR)
⏰ Context from checks skipped due to timeout of 90000ms (1)
- GitHub Check: build
🔇 Additional comments (23)
examples/sangria_trivial.rs (8)
1-19: Well-structured introduction and architecture overview!The introduction and architecture overview provide a clear and comprehensive explanation of Sangria's IVC scheme, its relationship to Nova, and the advantages of PLONKish arithmetization. This level of documentation is excellent for helping users understand the conceptual framework.
21-27: Appropriate imports with clear organizationThe imports are well-organized, with related functionality grouped together. The use of specific imports from the
siriuscrate provides clarity about what components are being used in this example.
29-56: Clear documentation of constants with thoughtful namingThese constants are well-documented with detailed comments explaining their purpose, requirements, and relationships. The naming convention is consistent and descriptive, making the code more maintainable.
58-76: Good setup for performance monitoring and tracingThe tracing setup is robust, with appropriate configuration for both standard and JSON output formats. This facilitates performance analysis and debugging, especially valuable for complex cryptographic operations.
78-89: Well-structured initialization of circuits and commitment keysThe initialization process is clearly explained with comments detailing what each component does and which curve it operates on. The separation between primary and secondary circuits is explicit.
90-100: Clear creation of public parametersThe parameter ordering might be confusing to new users as the secondary circuit parameters appear before the primary circuit parameters. This is properly documented in the comments, but worth noting.
101-115: Well-structured IVC initialization and executionThe IVC initialization and single-step execution show the core functionality in a clear, straightforward manner. The debug mode is enabled, which is appropriate for an example to provide more detailed logging.
117-157: Excellent documentation of multi-step process for real applicationsThe commented code provides a clear template for extending this example to multiple steps with different private inputs. The explanation of how the public state flows through the computation chain while private witness can change at each step is particularly valuable for understanding IVC concepts.
examples/cyclefold_trivial.rs (8)
1-19: Well-structured introduction with clear benefits explainedThe introduction provides an excellent overview of Cyclefold's advantages over traditional folding schemes, particularly emphasizing the co-processor architecture and its efficiency benefits for recursive proof composition.
19-32: Appropriate imports with clear organizationThe imports are well-structured and appropriately focused on the components needed for Cyclefold IVC. The use of prelude modules simplifies access to the key components.
33-56: Comprehensive constant declarations with informative commentsThe constants are well-documented with comments explaining their purpose and the differences from Sangria (e.g., larger key and table sizes). The use of a cache folder for commitment keys is a good performance optimization.
57-76: Robust tracing setup for performance monitoringThe tracing configuration is identical to the Sangria example, providing consistency across examples and enabling structured logging for performance analysis.
77-80: Simplified circuit initialization highlighting Cyclefold's advantageThe comment appropriately emphasizes one of Cyclefold's main advantages: only one main circuit is needed (as opposed to Sangria's two-circuit approach), with the co-processor handled internally.
102-111: Clear explanation of public parameters differences from SangriaThe comments helpfully highlight that Cyclefold's
PublicParamsare mutable during initialization, unlike Sangria's. This distinction is important for users transitioning between the two schemes.
112-134: Well-structured IVC initialization, execution and verificationThe step-by-step approach with method chaining (
new(),next(),verify()) clearly demonstrates Cyclefold's incremental verification model. The use ofexpect()with descriptive error messages improves debugging.
135-165: Valuable documentation for real-world multi-step applicationsThe commented code example for extending to multiple steps provides a clear pattern for real applications. The explanation of how public state flows through the computation chain while private witness can change is consistent with the Sangria example, reinforcing the concept.
README.md (7)
32-46: Excellent introduction to new IVC architecturesThe new section "Emerging Architectures for IVC" clearly explains both Sangria and Cyclefold, highlighting their unique approaches and advantages. The technical details about how these schemes address challenges in PLONKish arithmetization are well articulated.
🧰 Tools
🪛 LanguageTool
[misspelling] ~42-~42: This word is normally spelled as one.
Context: ...point addition operations to a compact "co-processor" circuit defined over a secondary ellip...(EN_COMPOUNDS_CO_PROCESSOR)
54-55: Roadmap updated to reflect completed milestonesThe roadmap has been properly updated to mark completed tasks, including high-degree gates optimization from Protogalaxy and IVC with Cyclefold, which aligns with the new examples and documentation.
68-68: Updated dependency version matches PR objectivesThe dependency version has been correctly updated from v0.1.0 to v0.2.0, which aligns with the PR's intent to reflect recent changes made to the Sirius project.
107-109: Clear indication of multiple supported IVC schemesThe section now explicitly mentions that Sirius supports both Sangria and Cyclefold IVC schemes, which is important information for users deciding which scheme to use for their specific requirements.
111-172: Comprehensive Sangria IVC example with clear explanationsThe Sangria IVC example is well-structured with detailed comments explaining the two-circuit architecture, configuration parameters, and the entire setup and execution process. The link to the full example file is also helpful.
🧰 Tools
🪛 LanguageTool
[style] ~172-~172: Try using a synonym here to strengthen your wording.
Context: ... complete working example with detailed comments about private inputs between steps, see...(COMMENT_REMARK)
174-228: Comprehensive Cyclefold IVC example with clear explanationsThe Cyclefold IVC example clearly demonstrates its simplified architecture compared to Sangria, with appropriate configuration parameters and execution flow. The link to the full example provides a path for users to explore more details.
🧰 Tools
🪛 LanguageTool
[style] ~228-~228: Try using a synonym here to strengthen your wording.
Context: ... complete working example with detailed comments about private inputs between steps, see...(COMMENT_REMARK)
230-247: Valuable comparison of the two IVC schemesThe direct comparison between Sangria and Cyclefold helps users understand the key differences in architecture, execution model, and parameter mutability. The recommendation to choose based on specific requirements is practical advice.
🧰 Tools
🪛 LanguageTool
[misspelling] ~241-~241: This word is normally spelled as one.
Context: ...ingle main circuit** with a specialized co-processor architecture - The co-processor handles...(EN_COMPOUNDS_CO_PROCESSOR)
[misspelling] ~242-~242: This word is normally spelled as one.
Context: ...ialized co-processor architecture - The co-processor handles expensive elliptic curve operat...(EN_COMPOUNDS_CO_PROCESSOR)
7adca26 to
103be1d
Compare
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.
Actionable comments posted: 0
♻️ Duplicate comments (1)
examples/cyclefold_trivial.rs (1)
81-101:⚠️ Potential issueAdd safety documentation for unsafe blocks
The use of
unsafefor loading commitment keys lacks documentation about the safety assumptions. Similar files in the codebase include safety comments that clarify why this usage is safe.Add a safety comment above each unsafe block to explain that the usage is safe as long as the cache files have not been manually modified:
// Step 2: Set up commitment keys, using caching for better performance // Primary key is on the bn256 curve +// Safety: This call is safe as long as the cache files remain unmodified. +// For more detail, refer to the safety documentation in src/commitment.rs. let primary_key = unsafe { CommitmentKey::<C1Affine>::load_or_setup_cache( Path::new(FOLDER), "bn256", PRIMARY_COMMITMENT_KEY_SIZE, ) .unwrap() }; // Secondary key is on the grumpkin curve (used by the co-processor) +// Safety: This call is safe as long as the cache files remain unmodified. +// For more detail, refer to the safety documentation in src/commitment.rs. let secondary_key = unsafe { CommitmentKey::<C2Affine>::load_or_setup_cache( Path::new(FOLDER), "grumpkin", SECONDARY_COMMITMENT_KEY_SIZE, ) .unwrap() };
🧹 Nitpick comments (3)
examples/cyclefold_trivial.rs (2)
119-120: Consider making the initial state more meaningfulThe example initializes the IVC with an all-zero state, which is valid but might not demonstrate typical usage. Consider using a more meaningful initial state to better illustrate real-world applications.
let mut ivc = IVC::new( &mut public_params, &circuit, - array::from_fn(|_| C1Scalar::ZERO), // Initial state z_0 = [0,0,0,0,0] + array::from_fn(|i| C1Scalar::from(i as u64)), // Initial state z_0 = [0,1,2,3,4] ) .expect("Failed to initialize IVC (step=0)");
126-128: Add private witness data to better demonstrate IVCThe current example uses the trivial circuit which just returns its input unchanged. To better demonstrate the IVC concept, consider showing how to provide private witness data to the step function.
// Step 5: Execute a single computation step // This applies the step function F to transition from z_0 to z_1 // For the trivial circuit, F is the identity function (output = input) +// In a real application, you would typically provide private witness data here ivc = ivc .next(&public_params, &circuit) // Compute z_1 = F(z_0, w_1) .expect("Failed to compute next step (step=1)");README.md (1)
32-47: Excellent addition of IVC architectures sectionThe new section on "Emerging Architectures for IVC" provides valuable context on the different folding schemes supported by Sirius. The explanations of Sangria and Cyclefold are clear and highlight the unique advantages of each approach.
Consider standardizing the spelling of "co-processor" to "coprocessor" for consistency throughout the document.
🧰 Tools
🪛 LanguageTool
[misspelling] ~42-~42: This word is normally spelled as one.
Context: ...point addition operations to a compact "co-processor" circuit defined over a secondary ellip...(EN_COMPOUNDS_CO_PROCESSOR)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (4)
README.md(3 hunks)examples/cyclefold_trivial.rs(1 hunks)examples/sangria_trivial.rs(1 hunks)src/polynomial/expression.rs(1 hunks)
🚧 Files skipped from review as they are similar to previous changes (2)
- src/polynomial/expression.rs
- examples/sangria_trivial.rs
🧰 Additional context used
🪛 LanguageTool
README.md
[misspelling] ~42-~42: This word is normally spelled as one.
Context: ...point addition operations to a compact "co-processor" circuit defined over a secondary ellip...
(EN_COMPOUNDS_CO_PROCESSOR)
[style] ~172-~172: Try using a synonym here to strengthen your wording.
Context: ... complete working example with detailed comments about private inputs between steps, see...
(COMMENT_REMARK)
[style] ~228-~228: Try using a synonym here to strengthen your wording.
Context: ... complete working example with detailed comments about private inputs between steps, see...
(COMMENT_REMARK)
[misspelling] ~241-~241: This word is normally spelled as one.
Context: ...ingle main circuit** with a specialized co-processor architecture - The co-processor handles...
(EN_COMPOUNDS_CO_PROCESSOR)
[misspelling] ~242-~242: This word is normally spelled as one.
Context: ...ialized co-processor architecture - The co-processor handles expensive elliptic curve operat...
(EN_COMPOUNDS_CO_PROCESSOR)
⏰ Context from checks skipped due to timeout of 90000ms (1)
- GitHub Check: build
🔇 Additional comments (12)
examples/cyclefold_trivial.rs (4)
1-19: Excellent documentation of Cyclefold architecture and flow!The comprehensive documentation at the beginning of the file provides a clear understanding of Cyclefold's architecture and IVC flow. This is particularly valuable for users who are new to the concept of folding schemes for IVC.
33-56: Well-documented constants with clear explanationsThe constants are clearly defined with helpful comments explaining their purpose and requirements. This makes it easier for users to understand how to adjust these values for their own implementations.
132-133: LGTM: Verification step is properly documentedThe verification step is clear and well-documented, explaining that it checks the validity of the proof and correctness of the computation.
135-165: Excellent explanation of multi-step IVC applicationsThe detailed comments about how to extend this example for multiple steps with different private witness data are very helpful. The code snippets illustrate the key concept that the public state flows through the computation chain while private witness data can change at each step.
README.md (8)
54-55: Updated roadmap reflects project progressThe roadmap updates accurately reflect the completion of high-degree gates optimization and IVC with Cyclefold, providing users with a clear view of the project's status.
68-68: Dependency version updated to reflect new featuresThe dependency version has been correctly updated from v0.1.0 to v0.2.0 to reflect the addition of the new Cyclefold IVC functionality.
73-103: Improved StepCircuit trait documentationThe documentation for the StepCircuit trait has been significantly enhanced with clearer explanations of its purpose and usage patterns. The comments on each method provide a better understanding of how to implement this trait correctly.
109-110: Clear indication of supported IVC schemesThe documentation now explicitly states that Sirius supports multiple IVC schemes (Sangria & Cyclefold), making it immediately clear to users what options are available.
111-170: Comprehensive example for Sangria IVCThe Sangria IVC example is well-structured and thoroughly documented. It clearly explains the two-circuit architecture and provides all necessary setup steps with appropriate comments.
174-226: Clear and concise Cyclefold IVC exampleThe Cyclefold IVC example effectively demonstrates its simpler architecture while highlighting the step-by-step execution model. The comments clearly explain each step of the process.
230-247: Excellent comparison of IVC schemesThe section comparing the key differences between Sangria and Cyclefold provides valuable guidance to users on when to use each scheme. The bullet points clearly summarize the architectural and usage differences, helping users make informed decisions.
🧰 Tools
🪛 LanguageTool
[misspelling] ~241-~241: This word is normally spelled as one.
Context: ...ingle main circuit** with a specialized co-processor architecture - The co-processor handles...(EN_COMPOUNDS_CO_PROCESSOR)
[misspelling] ~242-~242: This word is normally spelled as one.
Context: ...ialized co-processor architecture - The co-processor handles expensive elliptic curve operat...(EN_COMPOUNDS_CO_PROCESSOR)
228-228: Links to example implementations enhance documentationThe links to the full example implementations in the examples directory provide a valuable reference for users who want to see the complete code in context.
🧰 Tools
🪛 LanguageTool
[style] ~228-~228: Try using a synonym here to strengthen your wording.
Context: ... complete working example with detailed comments about private inputs between steps, see...(COMMENT_REMARK)
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.
Actionable comments posted: 0
🧹 Nitpick comments (5)
README.md (5)
32-47: New "Emerging Architectures for IVC" section review.
The added section introduces both the Sangria and Cyclefold schemes clearly and in a well‐structured manner. The descriptions are comprehensive and provide useful context regarding the trade-offs between flexibility, efficiency, and security.Suggestion: Consider using the unhyphenated spelling “coprocessor” on line 42 (and elsewhere if applicable) to align with standard terminology.
🧰 Tools
🪛 LanguageTool
[misspelling] ~42-~42: This word is normally spelled as one.
Context: ...point addition operations to a compact "co-processor" circuit defined over a secondary ellip...(EN_COMPOUNDS_CO_PROCESSOR)
113-170: Review of the Sangria IVC example code block.
The Sangria IVC example is well-organized and provides a step-by-step guide to setting up and executing the IVC instance. The use ofarray::from_fnfor state initialization and clear inline comments make it easy to follow.Note: While using
unwrap()is acceptable in documentation examples, consider adding a note or using proper error handling in production code.
171-171: Concluding remark for Sangria example.
The follow-up text directs readers to the complete implementation in [examples/sangria_trivial.rs]. To enhance clarity and style, you might consider replacing “complete working example” with “comprehensive working example.”
173-220: Review of the Cyclefold IVC example code block.
The Cyclefold example is detailed and effectively demonstrates the incremental initialization, execution, and verification of the IVC. The inline comments guide the reader through each step, and the chaining ofexpect()calls ensures that errors are caught with descriptive messages.Additional suggestion: As with the earlier section, review the usage of terminology—if “co-processor” is mentioned in any accompanying narrative, consider standardizing it to “coprocessor.”
222-223: Concluding note for the Cyclefold example.
This note efficiently directs the reader to the full implementation in [examples/cyclefold_trivial.rs]. For enhanced readability, consider substituting “complete working example” with “comprehensive working example.”
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
README.md(3 hunks)examples/cyclefold_trivial.rs(1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
- examples/cyclefold_trivial.rs
🧰 Additional context used
🪛 LanguageTool
README.md
[misspelling] ~42-~42: This word is normally spelled as one.
Context: ...point addition operations to a compact "co-processor" circuit defined over a secondary ellip...
(EN_COMPOUNDS_CO_PROCESSOR)
[style] ~172-~172: Try using a synonym here to strengthen your wording.
Context: ... complete working example with detailed comments about private inputs between steps, see...
(COMMENT_REMARK)
[style] ~228-~228: Try using a synonym here to strengthen your wording.
Context: ... complete working example with detailed comments about private inputs between steps, see...
(COMMENT_REMARK)
[misspelling] ~241-~241: This word is normally spelled as one.
Context: ...ingle main circuit** with a specialized co-processor architecture - The co-processor handles...
(EN_COMPOUNDS_CO_PROCESSOR)
[misspelling] ~242-~242: This word is normally spelled as one.
Context: ...ialized co-processor architecture - The co-processor handles expensive elliptic curve operat...
(EN_COMPOUNDS_CO_PROCESSOR)
⏰ Context from checks skipped due to timeout of 90000ms (1)
- GitHub Check: build
🔇 Additional comments (3)
README.md (3)
54-55: Roadmap milestone updates validation.
The updated roadmap items now include milestones for high-degree gates optimization from Protogalaxy and IVC with Cyclefold. The inclusion of links to the relevant GitHub milestones appears correct. Please double-check that these milestones and their descriptions remain consistent with the current project timeline.
68-68: Dependency update confirmation.
The installation instruction now specifies versionv0.2.0of Sirius, which reflects the recent updates. Ensure that all project references and instructions consistently use this updated version.
109-109: Highlighting supported IVC schemes.
The sentence “Sirius supports multiple IVC schemes: Sangria & Cyclefold” succinctly communicates the dual-scheme support. This is clear and sets a proper expectation for the examples that follow.
**Motvation** Reflect recent changes of Sirius in README **Overview** In addition to adding some context, I've also added a README inside the rustdoc module, which will cause the examples from the README to be compiled and checked for correctness
5a1c427 to
bbc7967
Compare
Motvation
Reflect recent changes of Sirius in README
Overview
In addition to adding some context, I've also added a README inside the rustdoc module, which will cause the examples from the README to be compiled and checked for correctness
I have written general words in the description of the different IVCs, a little more in-depth text I suggest working through, later please check that I have not erred anywhere against the truth
Summary by CodeRabbit