test: adds QSENDRECSIGS functional tests for watchquorum nodes#7301
test: adds QSENDRECSIGS functional tests for watchquorum nodes#7301knst wants to merge 1 commit intodashpay:developfrom
Conversation
✅ No Merge Conflicts DetectedThis PR currently has no conflicts with other open PRs. |
|
🕓 Ready for review — 15 ahead in queue (commit 3a4fea7) |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3a4fea7360
ℹ️ About Codex in GitHub
Codex has been enabled to automatically 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 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| b"qpcommit": None, | ||
| b"qrinfo": None, | ||
| b"qsendrecsigs": None, | ||
| b"qsendrecsigs": msg_qsendrecsigs, |
There was a problem hiding this comment.
Keep qsendrecsigs ignored until callback exists
Changing MESSAGEMAP to decode qsendrecsigs makes P2PInterface.on_message() dispatch to on_qsendrecsigs, but P2PInterface has no such callback method, so receiving this message raises AttributeError and tears down the test peer. This is reachable when nodes send QSENDRECSIGS to authenticated quorum-relay peers (see the send paths in CMNAuth::ProcessMessage / CConnman::SetMasternodeQuorumRelayMembers), so this mapping change can break functional tests that use default P2PInterface on those connections.
Useful? React with 👍 / 👎.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (3)
WalkthroughThese changes add test infrastructure for verifying InstantSend lock propagation to configured masternodes. A new wire-message type Sequence DiagramsequenceDiagram
participant Test as Test Case
participant MN as Masternode
participant Obs as RecSigsObserver
participant Net as P2P Network
Test->>Test: Create RecSigsObserver instances
Test->>Obs: send_qsendrecsigs(on=True)
Obs->>MN: Enable qsendrecsigs message
Test->>Test: Trigger InstantSend transaction
MN->>Net: Broadcast MSG_ISDLOCK inv
Net->>Obs: on_inv(MSG_ISDLOCK message)
Obs->>Obs: Record MSG_ISDLOCK received
Test->>Test: Sync P2P observers
Test->>Obs: Assert lock observed
Obs-->>Test: Confirmation received
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ 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. Review rate limit: 7/8 reviews remaining, refill in 7 minutes and 30 seconds.Comment |
Issue being fixed or feature implemented
Addresses #7293 (comment)
What was done?
Adds functional tests for QSENDRECSIGS for watch-quorum nodes.
How Has This Been Tested?
Run on the top of #7293 and on develop with #7293 reverted.
Breaking Changes
N/A
Checklist: