fuzz: track chanmon claims on PaymentClaimed events#4635
Conversation
Only record receiver claims in the fuzz payment tracker after the node emits PaymentClaimed. This keeps the tracker aligned with durable claim completion instead of a claim_funds call that a restart may roll back.
|
👋 Thanks for assigning @TheBlueMatt as a reviewer! |
|
I've thoroughly reviewed the full diff and the surrounding context. The change is small and correct:
No issues found. |
|
🔔 1st Reminder Hey @TheBlueMatt! This PR has been waiting for your review. |
|
🔔 2nd Reminder Hey @TheBlueMatt! This PR has been waiting for your review. |
TheBlueMatt
left a comment
There was a problem hiding this comment.
I mean yes, I believe this should be required, but I'm more interested in why we didn't run into failures without this? Any chance we could debug that and figure out what coverage we're missing?
|
👋 The first review has been submitted! Do you think this PR is ready for a second reviewer? If so, click here to assign a second reviewer. |
I did try that: #4631 (comment) It seems the reload replay prevented failures from happening. |
Ah, so we're kinda indirectly checking the "once its claimable, its guaranteed to remain claimable unless you wait so long the HTLC expires" property - that does kinda seem like a useful thing to continue testing and not entirely sure its worth making payment claiming "async" by queuing them and processing them separately to allow this to be reachable. |
I think the fuzzer should stay close to the public contract, and calling |
|
Right but the other public contract is that if you see an |
|
Hm yes, good point. For the force close coverage I can then indeed use the event-given deadline for the assertion. Can close this PR then. |
|
For the force-close fuzzer addition, I included |
Only record receiver claims in the fuzz payment tracker after the node emits PaymentClaimed. This keeps the tracker aligned with durable claim completion instead of a claim_funds call that a restart may roll back.