Wallet: prefilter masternode collateral scans - #1947
Conversation
Check collateral membership before Spark ownership and spent-state checks during startup. Preserve the existing cs_main/cs_wallet locking, collateral predicates, and additive coin-locking behavior. Cover internal and external collateral, owned/watch-only/unowned outputs, spent outputs, wrong amounts, manual locks, and repeated scans.
🤖 CodeAnt AI — Review Status
|
Thanks for using CodeAnt! 🎉We're free for open-source projects. if you're enjoying it, help us grow by sharing. Share on X · |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Team Run ID: 📒 Files selected for processing (2)
Included review availability: Your plan provides up to 4 included reviews per hour; 2 remain after this review. Summary by CodeRabbit
WalkthroughThe wallet checks masternode collateral status before ownership and spent-state checks. A new wallet test covers owned, watched, foreign, spent, wrong-amount, external, and ordinary outputs, plus manual locks and repeated auto-lock calls. ChangesMasternode collateral auto-locking
Estimated code review effort: 2 (Simple) | ~10 minutes Merge Risk: ⚪ Minimal · up to Collateral detection now runs before ownership and spent-state checks during wallet scanning, avoiding unnecessary checks for ordinary outputs while retaining the existing auto-locking rules. Covered collateral and lock-state cases indicate no remaining merge-blocking risk. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
User descriptionPR intentionCheck collateral membership before running Spark ownership and spent-state checks during the startup wallet scan, preserving the existing locks and collateral-locking rules. Code changes briefAdd coverage for internal and external collateral, watch-only and spent outputs, manual locks, and repeated scans. CodeAnt-AI DescriptionRestrict automatic masternode collateral locking to valid collateral outputs What Changed
Impact
💡 Usage GuideChecking Your Pull RequestEvery time you make a pull request, our system automatically looks through it. We check for security issues, mistakes in how you're setting up your infrastructure, and common code problems. We do this to make sure your changes are solid and won't cause any trouble later. Talking to CodeAnt AIGot a question or need a hand with something in your pull request? You can easily get in touch with CodeAnt AI right here. Just type the following in a comment on your pull request, and replace "Your question here" with whatever you want to ask: This lets you have a chat with CodeAnt AI about your pull request, making it easier to understand and improve your code. ExamplePreserve Org Learnings with CodeAntYou can record team preferences so CodeAnt AI applies them in future reviews. Reply directly to the specific CodeAnt AI suggestion (in the same thread) and replace "Your feedback here" with your input: This helps CodeAnt AI learn and adapt to your team's coding style and standards. ExampleRetrigger reviewAsk CodeAnt AI to review the PR again, by typing: Check Your Repository HealthTo analyze the health of your code repository, visit our dashboard at https://app.codeant.ai. This tool helps you identify potential issues and areas for improvement in your codebase, ensuring your repository maintains high standards of code health. |
reubenyap
left a comment
There was a problem hiding this comment.
Reviewed head 5ccb44acbae38bf9dc99024666c81a685fdbf7e4. No additional actionable issues were found. I traced AutoLockMasternodeCollaterals() through its sole startup caller and the ownership, spent-state, and deterministic-MN helpers; the collateral-first short-circuit preserves lock semantics, and the regression covers internal/external, watch-only, foreign, spent, manual-lock, and repeat-scan cases.
PR intention
Check collateral membership before running Spark ownership and spent-state checks during the startup wallet scan, preserving the existing locks and collateral-locking rules.
Code changes brief
Add coverage for internal and external collateral, watch-only and spent outputs, manual locks, and repeated scans.
Debug wallet and deterministic-masternode tests pass, and startup was verified against the existing 1,024-spend regtest fixture.