Last active
March 27, 2024 14:44
-
-
Save theStack/d5e40876d6a60bb423c5379ad6d24911 to your computer and use it in GitHub Desktop.
PR28970 review notes
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
summary for #28970: | |
let's assume we have a 1p1c-package consisting of low-feerate parent tx_p | |
and high-feerate child tx_c. a node receives this package in form of two | |
single tx messages, tx_p and then tx_c. | |
to my current understanding, the following happens on this receiving node: | |
on master: | |
1) tx_p is received -> rejected with state TX_RECONSIDERABLE (fee-rate too low) | |
2) tx_p is added to the recent_rejects filter | |
3) tx_c is received -> rejected with state TX_MISSING_INPUTS, kept in orphanage | |
4) tx_p is NOT requested, as it's considered as "already have" (due to being in the recent_rejects filter) /o\ | |
on #28970: | |
1) tx_p is received -> rejected with state TX_RECONSIDERABLE (fee-rate too low) | |
2) tx_p is added to the (newly introduced) recent_rejects_reconsiderable filter | |
3) tx_c is received -> rejected with state TX_MISSING_INPUTS, kept in orphanage | |
4) tx_p *IS* requested, as the new request logic doesn't consider txs in the | |
recent_rejects_reconsiderable filter as "already have" | |
5) tx_p is received -> tx_p is found to be in the recent_rejects_reconsiderable filter, | |
look for a matching child in the orphanage (call MaybeProcess1P1CPackage) | |
6) tx_p and tx_c are evaluated as a package \o/ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment