338 sats \ 4 replies \ @petertodd 25 Jan freebie \ on: Implement replace-by-fee-rate · bitcoin/bitcoin@c141965 bitdevs
Heh, there's actually an important oversight in that specific commit that I fixed in a follow up.
Homework problem: try to spot the bug!
Extra credit: what additional problem does the fix introduce? (This one, IIUC, is not very important)
peter you mean to tell me you didn't go back and fix up the commit where you introduced the error?? 😱
reply
Well, these commits come from my libre-relay-v25.0 branch that people are actually running on real nodes via
git pull && make
.If I make a "proper" release I'll probably squash these commits so they make more sense in isolation.
Notice how I'm also missing the test cases that I added later.
reply
Would
CFeeRate original_feerate(mi->GetModifiedFee(), mi->GetTxSize());
not want to use ModifiedFee? since it's fetching the original fee rate?reply
Yes, I originally used
GetModifiedFee
, which wasn't correct as the fee was modified with, IIRC, ancestors in ways that didn't work correctly with replace-by-fee-rate. So I changed it in a later commit to GetFee
.I believe that will also work incorrectly in cases where fees are manually prioritized, as, IIUC, manual priorities are done via
GetModifiedFee
. But I haven't had time (or funding) to fix those issues yet. This code is just testing the idea out right now.Good work!
reply