-
Notifications
You must be signed in to change notification settings - Fork 52
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
code-Update verify.ts #9
base: main
Are you sure you want to change the base?
Conversation
WalkthroughThe pull request involves a minor modification to the import statements in the Changes
Poem
Tip CodeRabbit's docstrings feature is now available as part of our Early Access Program! Simply use the command Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 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
🧹 Outside diff range and nitpick comments (2)
circom/e2e_tests/hardhat/test/verify.ts (2)
Line range hint
11-24
: Consider improving the file processing logic.The current implementation has several areas that could be enhanced:
- Using synchronous file reading could block the event loop
- Multiple string replacements could be simplified using a single regex
- The hard-coded array slicing (8+ indices) is brittle and lacks documentation
Consider applying these improvements:
- const fs = require("fs"); - let text = fs.readFileSync("./test/public.txt").toString(); - text = text.replace(/\s+/g, ''); - text = text.replace(/\[+/g, ''); - text = text.replace(/]+/g, ''); - text = text.replace(/"+/g, ''); - const p = text.split(","); - let public_inputs = []; - for (let i = 0; i < p.length - 8; i++) { - public_inputs.push(p[8 + i]); - } + const fs = require("fs").promises; + // Read and parse the proof data + const text = await fs.readFile("./test/public.txt", "utf8"); + const p = text.replace(/[\s\[\]"]+/g, '').split(","); + + // First 8 elements are for the proof, rest are public inputs + const PROOF_ELEMENTS = 8; + const public_inputs = p.slice(PROOF_ELEMENTS);
Line range hint
25-29
: Consider adding test cases for invalid proofs.The test suite only verifies correct proofs. For robust testing, consider adding test cases for invalid proofs to ensure the verifier correctly rejects them.
Would you like me to help generate additional test cases for invalid proof scenarios?
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
circom/e2e_tests/hardhat/test/verify.ts
(1 hunks)
🔇 Additional comments (1)
circom/e2e_tests/hardhat/test/verify.ts (1)
3-3
: LGTM! Clean removal of unused import.
The removal of the unused assert
import helps maintain a cleaner codebase.
Fix: Removed unused import
What was changed
assert
inverify.ts
to clean up unnecessary dependencies.Why these changes were made
Additional Notes
Summary by CodeRabbit
assert
import, retaining onlyexpect
.