Kaizen_Kintsugi_ has quit [Remote host closed the connection]
Kaizen_Kintsugi_ has joined #bitcoin-core-dev
Guest2987 has joined #bitcoin-core-dev
Kaizen_Kintsugi_ has quit [Remote host closed the connection]
Kaizen_Kintsugi_ has joined #bitcoin-core-dev
Guest2946 has quit [Quit: Client closed]
Guest13 has quit [Quit: Client closed]
vysn has quit [Ping timeout: 255 seconds]
Kaizen_Kintsugi_ has quit [Remote host closed the connection]
Guest2987 has quit [Quit: Client closed]
jarthur_ has joined #bitcoin-core-dev
jarthur has quit [Ping timeout: 244 seconds]
brunoerg has quit [Remote host closed the connection]
z9z0b3t1_ has joined #bitcoin-core-dev
brunoerg has joined #bitcoin-core-dev
z9z0b3t1c has quit [Ping timeout: 255 seconds]
brunoerg has quit [Ping timeout: 258 seconds]
Kaizen_Kintsugi_ has joined #bitcoin-core-dev
<jamesob>
_aj_ instagibbs: yeah wait I'm confused again; when you say "package," do you just mean "transactions descended from a single output" - because if so, don't those 4 (or 5 or whatever) outputs all have to correspond to a single transaction (which is not allowed to be RBF'd)? and if so, how did we even get to that state in the first place given the
<jamesob>
25 descendant limit?
Kaizen_Kintsugi_ has quit [Remote host closed the connection]
Kaizen_Kintsugi_ has joined #bitcoin-core-dev
brunoerg has joined #bitcoin-core-dev
Kaizen_Kintsugi_ has quit [Remote host closed the connection]
Guest82 has joined #bitcoin-core-dev
Guest82 has quit [Client Quit]
brunoerg has quit [Ping timeout: 244 seconds]
Guest58 has joined #bitcoin-core-dev
Guest58 has quit [Quit: Ping timeout (120 seconds)]
Guest58 has joined #bitcoin-core-dev
bitdex has joined #bitcoin-core-dev
Guest58 has quit [Quit: Ping timeout (120 seconds)]
brunoerg has joined #bitcoin-core-dev
brunoerg has quit [Ping timeout: 260 seconds]
jarthur has joined #bitcoin-core-dev
jarthur_ has quit [Ping timeout: 255 seconds]
brunoerg has joined #bitcoin-core-dev
cmirror has quit [Remote host closed the connection]
cmirror has joined #bitcoin-core-dev
bairen has quit [Ping timeout: 240 seconds]
mikehu44 has joined #bitcoin-core-dev
bairen has joined #bitcoin-core-dev
ronoaldo has quit [Quit: Konversation terminated!]
sudoforge has quit [Ping timeout: 246 seconds]
brunoerg has quit [Ping timeout: 260 seconds]
hashfunc17b4 has joined #bitcoin-core-dev
z9z0b3t1c has joined #bitcoin-core-dev
brunoerg has joined #bitcoin-core-dev
z9z0b3t1_ has quit [Ping timeout: 244 seconds]
brunoerg has quit [Ping timeout: 260 seconds]
brunoerg has joined #bitcoin-core-dev
vysn has joined #bitcoin-core-dev
mikehu44 has quit [Ping timeout: 246 seconds]
hashfunc17b4 has quit [Ping timeout: 240 seconds]
sipsorcery has joined #bitcoin-core-dev
brunoerg has quit [Ping timeout: 240 seconds]
brunoerg has joined #bitcoin-core-dev
Kaizen_Kintsugi_ has joined #bitcoin-core-dev
Kaizen_Kintsugi_ has quit [Ping timeout: 244 seconds]
sipsorcery has quit [Remote host closed the connection]
sipsorcery has joined #bitcoin-core-dev
Kaizen_Kintsugi_ has joined #bitcoin-core-dev
sipsorcery has quit [Ping timeout: 272 seconds]
vasild has quit [Remote host closed the connection]
<bitcoin-git>
[bitcoin] MarcoFalke opened pull request #25224: Get time less often in AddrManImpl::ResolveCollisions_() (master...2205-time-less-🐠) https://github.com/bitcoin/bitcoin/pull/25224
bfsfhkacjzgcytf9 has joined #bitcoin-core-dev
brunoerg has quit [Ping timeout: 244 seconds]
evanlinjin_ has joined #bitcoin-core-dev
Arvidt has joined #bitcoin-core-dev
Arvidt has quit [Client Quit]
sudoforge has joined #bitcoin-core-dev
brunoerg has joined #bitcoin-core-dev
brunoerg has quit [Ping timeout: 260 seconds]
mudsip has joined #bitcoin-core-dev
brunoerg has joined #bitcoin-core-dev
mudsip has quit []
jonatack has quit [Ping timeout: 255 seconds]
Guest13 has joined #bitcoin-core-dev
Guest63 has joined #bitcoin-core-dev
Guest63 has quit [Client Quit]
Kaizen_Kintsugi_ has quit [Ping timeout: 276 seconds]
Kaizen_Kintsugi_ has joined #bitcoin-core-dev
evanlinjin_ has quit [Ping timeout: 240 seconds]
Guest13 has quit [Ping timeout: 252 seconds]
yanmaani3 has quit [Remote host closed the connection]
<bitcoin-git>
[bitcoin] MarcoFalke merged pull request #24934: refactor, miner: Delete call to UpdatePackagesForAdded at beginning of addPackageTxs (master...2022-04-delete-UpdatePackagesForAdded) https://github.com/bitcoin/bitcoin/pull/24934
<sdaftuar2>
jamesob: not sure if i'm misunderstanding your question, but i'll take a stab at it - imagine there are 5 transactions in the mempool that are unrelated, and each has 24 descendants. then a new transaction comes along that conflicts all 5 of those transactions.
sdaftuar2 is now known as sdaftuar
<sdaftuar>
that new transaction would cause 125 transactions to be evicted, so it would fail that rbf policy test
<bitcoin-git>
bitcoin/master 4185570 t-bast: Add RPC to get mempool txs spending outputs
<bitcoin-git>
bitcoin/master 3ba6dd6 MacroFake: Merge bitcoin/bitcoin#24408: rpc: add rpc to get mempool txs spending spec...
<bitcoin-git>
[bitcoin] MarcoFalke merged pull request #24408: rpc: add rpc to get mempool txs spending specific prevouts (master...get-mempool-spending-tx) https://github.com/bitcoin/bitcoin/pull/24408
<sdaftuar>
jamesob: or even simpler, imagine a transaction with 101 inputs -- that could directly conflict with 101 different in-mempool transactions, which would violate the rule
<jamesob>
sdaftuar: thanks - what do you mean exactly by "directly conflict" in that simpler case? in that case, what exactly is being RBF'd to evict the 101 txns supplying those inputs?
edouard[m] has joined #bitcoin-core-dev
<sdaftuar>
new tx B directly conflicts with existing tx A if an input of tx A is double-spent in B
<sdaftuar>
so in theory, a transaction B with N inputs could directly conflict with N different transactions in the mempool
<jamesob>
I thought we just didn't allow admission to the mempool for tx B on the basis that its inputs are not available?
<sdaftuar>
well this is the RBF case! so the point is to allow it and evict the other transactions if the feerate/total fee checks pass
<jamesob>
ooooh, I see - if each of those N transactions is marked RBFable
<sdaftuar>
right
<sdaftuar>
the point of that rule #5 is to avoid pathological situations where we might be evicted thousands of transactions to make room for a new one
<jamesob>
okay, so the only practical case where rule 5 might apply is when a single RBF replacement txn is "uniting" a bunch of separate txn graphs
<jamesob>
(or where the user has configured higher ancestor/descendant limits)
<sdaftuar>
and there could be cpu dos concerns or something, we could probably reason about it more carefully but i think the 100 limit was designed to be accommodate anything reasonably anyone might want to do
<sdaftuar>
(bah english is hard sorry)
<jamesob>
no I gotcha
<jamesob>
okay thanks, that all makes sense. Looks like we don't have a functional test for that case you just showed me
<jamesob>
(rather we manually set the ancestor/desc limits higher and then trigger rule 5 with a single fully contiguous txn graph)
<sdaftuar>
ah ok, yeah maybe it would be nice to conflict with multiple different transaction packages too then
<sdaftuar>
i don't think that's a different code path, but is it a different logical thing so perhaps worth doing for the next person who has this question :)
<bitcoin-git>
[bitcoin] fanquake merged pull request #25214: multiprocess build fix: ipc/capnp/init.capnp.h: No such file or directory (master...pr/mpdep) https://github.com/bitcoin/bitcoin/pull/25214
<bitcoin-git>
[bitcoin] MarcoFalke opened pull request #25227: Return empty vector on invalid hex encoding (master...2205-reject-non-hex-🌲) https://github.com/bitcoin/bitcoin/pull/25227
furszy has quit []
flooded has joined #bitcoin-core-dev
sipsorcery has joined #bitcoin-core-dev
flooded is now known as _flood
Talkless has joined #bitcoin-core-dev
<_aj_>
jamesob: it's the test_too_many_replacements in feature_rbf.py, no?
sipsorcery has quit [Remote host closed the connection]
sipsorcery has joined #bitcoin-core-dev
<jamesob>
_aj_: right, but that hinges on setting the descendant limit higher than default
<_aj_>
jamesob: *nod*
<_aj_>
omg, setting up CI for a bitcoin fork is easy now? <3 you guys
<jamesob>
I'm writing a test case at the moment that will show what sdaftuar outlined above
<_aj_>
jamesob: 30 comfirmed utxos, each spent by a single in mempool tx, then an attempt to RBF to a single tx that spends all 30 utxos?
<_aj_>
s/30/101/ i guess
<DavidBakin>
wait, setting up CI for a fork is easy? where can I find a step-by-step?
<_aj_>
davidbakin: you just enable cirrus-ci for your repo
<_aj_>
okay, that's not enough for the previous-releases test
<DavidBakin>
no i'm just interested in testing my own code before making a PR so that's ok
<DavidBakin>
i just get myself a cirrus-ci account I guess? (preferably free?)
<_aj_>
free for public repos
<DavidBakin>
huh. i just want to be able to, for example, pass lint and win64 on my own rather than wait for bitcoin/bitcoin to find it in my PR. thanks!
<jamesob>
_aj_: yep, that's right
<DavidBakin>
(w.r.t. win64: I've been bit just recently by the standard annoying windows dev bugaboo of defining an enum value to be FALSE only to have it conflict with a win32 sdk macro FALSE ...)
Talkless has quit [Quit: Konversation terminated!]
<_aj_>
"macro FALSE" sounds like drahtbot's next fake id
<DavidBakin>
yes i've been meaning to try that for the lint run, also tidy, also ASAN & MSAN, but it won't work for win64. So I'm glad to know about setting up cirrus-ci. (I haven't had any issues with ARM/Android/Mac ... yet ...) (Huh, I just looked at a recent random PR and the memory consumption for ASAN & MSAN are both _much_ lower than I expected. I guess it is within my capabilities to
<DavidBakin>
run them.)
AaronvanW has quit [Remote host closed the connection]
Guyver2 has left #bitcoin-core-dev [Closing Window]
sipsorcery has quit [Ping timeout: 258 seconds]
furszy has joined #bitcoin-core-dev
AaronvanW has joined #bitcoin-core-dev
sipsorcery has joined #bitcoin-core-dev
furszy has quit [Ping timeout: 260 seconds]
z9z0b3t1_ has joined #bitcoin-core-dev
furszy has joined #bitcoin-core-dev
z9z0b3t1c has quit [Ping timeout: 256 seconds]
evanlinjin_ has joined #bitcoin-core-dev
AaronvanW has quit [Ping timeout: 244 seconds]
<bitcoin-git>
[bitcoin] jamesob opened pull request #25228: test: add BIP-125 rule 5 testcase with default mempool (master...2022-05-bip125-rule5-test) https://github.com/bitcoin/bitcoin/pull/25228
<jamesob>
sdaftuar _aj_: ^
<jamesob>
man I keep typing _aja_; too much Steely Dan in my subconscious
evanlinjin_ has quit [Ping timeout: 240 seconds]
bomb-on has joined #bitcoin-core-dev
evanlinjin_ has joined #bitcoin-core-dev
vysn has quit [Ping timeout: 260 seconds]
sipsorcery has quit [Ping timeout: 260 seconds]
jarthur has quit [Quit: jarthur]
jonatack has joined #bitcoin-core-dev
Kaizen_Kintsugi_ has quit [Ping timeout: 246 seconds]
jarthur has joined #bitcoin-core-dev
sipsorcery has joined #bitcoin-core-dev
Kaizen_Kintsugi_ has joined #bitcoin-core-dev
furszy has quit [Read error: Connection reset by peer]
kouloumos has quit [Quit: Connection closed for inactivity]
metallicc has joined #bitcoin-core-dev
AaronvanW has joined #bitcoin-core-dev
evanlinjin_ has quit [Ping timeout: 240 seconds]
___nick___ has quit [Ping timeout: 246 seconds]
AaronvanW has quit [Ping timeout: 255 seconds]
Nekorand has joined #bitcoin-core-dev
Guest13 has joined #bitcoin-core-dev
Nekorand has quit [Quit: Leaving]
DeanGuss has quit [Quit: buhbye]
vysn has joined #bitcoin-core-dev
DeanGuss has joined #bitcoin-core-dev
DeanGuss has quit [Changing host]
DeanGuss has joined #bitcoin-core-dev
Kaizen_Kintsugi_ has quit [Ping timeout: 255 seconds]
<willcl_ark>
Is there a specific policy on what gets backported?
<sipa>
bugs
<sipa>
and softforks, if need be
<_aj_>
sipa: i vote we try to backport the fixes, not the bugs
<sipa>
I vote to follow _aj_'s suggestions.
<willcl_ark>
Ok thanks. Is there any height bar for bugs, or is it just if they're deemed sufficiently inconvenient/bad?
<sipa>
There are occasionally examples where it's debatable, but usually it's pretty clear when a commit/PR is fixing an issue vs. introducing a feature.
brunoerg has quit [Remote host closed the connection]
vysn has quit [Ping timeout: 255 seconds]
<willcl_ark>
Ok thanks. And finally, if I was to make a fix on master, I'm not obligated to also provide an equivalent backport too am I? I think I've just seen those PRs get a new label assigned...
<willcl_ark>
perhaps obligated is too strong, would good etiquette be to also provide a backport?
<sipa>
Generally maintainers will do the backporting for you. Unless it's particularly nasty to do so, in which case either it may be decided not to backport it (depending on severity), or a backport-specific bugfix could be developed by the author of the fix.
<willcl_ark>
Makes sense. Thanks for the insight
Kaizen_Kintsugi_ has joined #bitcoin-core-dev
brunoerg has joined #bitcoin-core-dev
z9z0b3t1c has joined #bitcoin-core-dev
brunoerg has quit [Ping timeout: 240 seconds]
z9z0b3t1_ has quit [Ping timeout: 250 seconds]
Talkless has joined #bitcoin-core-dev
_flood has quit [Remote host closed the connection]
aleggg has quit []
brunoerg has joined #bitcoin-core-dev
brunoerg has quit [Ping timeout: 260 seconds]
AaronvanW has joined #bitcoin-core-dev
sipsorcery has quit [Ping timeout: 255 seconds]
SpellChecker has quit [Ping timeout: 240 seconds]
SpellChecker has joined #bitcoin-core-dev
brunoerg has joined #bitcoin-core-dev
Kaizen_Kintsugi_ has quit [Ping timeout: 244 seconds]
Kaizen_Kintsugi_ has joined #bitcoin-core-dev
bomb-on has quit [Quit: aллилѹіа!]
AaronvanW has quit [Ping timeout: 246 seconds]
sipsorcery has joined #bitcoin-core-dev
ronoaldo has joined #bitcoin-core-dev
Talkless has quit [Quit: Konversation terminated!]