<bitcoin-git>
[bitcoin] rustaceanrob opened pull request #34077: refactor: Use an enum for `Autofile::seek` wrapper (master...12-15-afile) https://github.com/bitcoin/bitcoin/pull/34077
Cory58 has quit [Quit: Client closed]
Cory58 has joined #bitcoin-core-dev
l0rinc has quit [Quit: l0rinc]
brunoerg has joined #bitcoin-core-dev
brunoerg has quit [Ping timeout: 250 seconds]
memset_ has quit [Remote host closed the connection]
memset has joined #bitcoin-core-dev
kevkevin has joined #bitcoin-core-dev
brunoerg has joined #bitcoin-core-dev
kevkevin has quit [Ping timeout: 264 seconds]
Cory58 has quit [Quit: Client closed]
Cory58 has joined #bitcoin-core-dev
memset_ has joined #bitcoin-core-dev
scgbckbone has quit [Quit: Client closed]
hacker4web3bitco has joined #bitcoin-core-dev
bitcoinlover has joined #bitcoin-core-dev
memset has quit [Remote host closed the connection]
kevkevin has joined #bitcoin-core-dev
<bitcoinlover>
hi guys, ask a question about TxGraph, if the graph has A->B->C->D, four Txs in total, and A is the root, then it seems after I remove B, the graph has A->C->D?I infer this since GetWorstChunk() returns these 3 Txs, shouldn't there only be one Tx A?
kevkevin has quit [Ping timeout: 245 seconds]
<instagibbs>
TxGraph isnt responsible for removing descendants, that's up to the caller
<sipa>
just a note on notatiom: the code/comments/descriptions usually use arrows from child to parent, so transactions point to the outpoints they spend
robszarka has quit [Quit: Leaving]
szarka has joined #bitcoin-core-dev
<sipa>
and as instagibbs says: txgraph allows callers to remove whatever transactions they want. in practice (but this is enforced by the caller, txmempool) always either removes a transaction with all its ancestors (when theynget confirmed) or with all its descendants (when conflicted/evixted)
<bitcoinlover>
I see, thanks
memset_ has quit [Remote host closed the connection]
memset has joined #bitcoin-core-dev
<sipa>
and GetWorstChunk will always return a set that includes its own descendants
kevkevin has joined #bitcoin-core-dev
<bitcoinlover>
so after removing B, the graph becomes D->C->A, which is an transient and invalid state, meaningless to test that state, am I right?
<sipa>
TxGraph itself will be consistent at that point, you can call SanityCheck() on it
<sipa>
but it won't correspond to anything that can happen in a real mempool
<sipa>
except as a very transient state, as you say
Cory58 has quit [Quit: Client closed]
Cory58 has joined #bitcoin-core-dev
flooded has quit [Remote host closed the connection]
<bitcoinlover>
thanks for explanation, I've a code detail question here, in GetWorstChunk(), there is two branches, one for singleton chunk, and the other is for generic chunk. The if statement is `if (chunk_data.m_chunk_count == LinearizationIndex(-1) || chunk_data.m_chunk_count == 1)`, when will m_chunk_count be 1, not -1
<bitcoinlover>
I've tested removing B, C, D, only A remains, in this case, m_chunk_count is still -1
<bitcoinlover>
@sipa
<sipa>
bitcoinlover: see the doxygen comment on the definition of m_chunk_count:
<sipa>
/** How many transactions the chunk contains (-1 = singleton tail of cluster). */
<sipa>
LinearizationIndex m_chunk_count;
<sipa>
you can have a singleton chunk that's not the tail of the cluster
<sipa>
in which case m_chunk_count will be 1, not -1
<bitcoinlover>
gotcha, I missed that part, my bad
<sipa>
But note that this property is not observable through the TxGraph public interface; it's an internal implementation detail.
Cory58 has quit [Quit: Client closed]
Cory58 has joined #bitcoin-core-dev
scgbckbone has joined #bitcoin-core-dev
f321x_ has joined #bitcoin-core-dev
f321x has quit [Remote host closed the connection]
<bitcoin-git>
bitcoin/master 16ab6df Ava Chow: gui: Move actual migration part of migrate() to its own function
<bitcoin-git>
bitcoin/master f11a7d2 Ava Chow: gui: Add restore_and_migrate function to restore then migrate a wallet
<bitcoin-git>
[gui] hebasto merged pull request #877: Add a menu action to restore then migrate a legacy wallet (master...gui-migrate-path) https://github.com/bitcoin-core/gui/pull/877
bitcoinlover has quit [Ping timeout: 260 seconds]
hacker4web3bitco has quit [Ping timeout: 260 seconds]
nanotube has quit [Ping timeout: 250 seconds]
nanotube has joined #bitcoin-core-dev
PaperSword has quit [Quit: PaperSword]
stefanos_kapa has joined #bitcoin-core-dev
stefanos_kapa has quit [Changing host]
stefanos_kapa has joined #bitcoin-core-dev
flooded has joined #bitcoin-core-dev
_flood has joined #bitcoin-core-dev
l0rinc has joined #bitcoin-core-dev
flooded has quit [Ping timeout: 264 seconds]
stefanos_kapa has quit [Quit: Client closed]
memset has quit [Remote host closed the connection]