<instagibbs>
thanks for weighing in btw, really helpful to see lessons learned on the other side
<instagibbs>
even if the end result ends up being very similar to prior attempt...
<_aj_>
glozow: (when you cook things, they end up hot, not cool, duh)
<glozow>
_aj_: not sure, I was a little worried about it not being 100% safe, and didn't want to encourage submitting directly to miners
<jamesob>
_aj_: are you sure you're not a dad
<glozow>
yeah I'm really glad we spent some time whiteboarding etc, since it looks like I won't need to change that much code
<instagibbs>
sitll mulling package rbf or (mostly) punting for v3?
<glozow>
Right now I'm thinking I (1) add the linearization step (2) when going through the ancestor subpackages, just skip when feerate isn't high enough, and abort everything if something fails for non-fee reasons. That eliminates the O(n^2) concerns.
<sipa>
glozow: I believe that works, and I'd use ancestorset-based linearization.
<instagibbs>
great
<achow101>
to clarify, there will be major changes to 26711 that are still in progress? should we remove it from the priority for now?
<instagibbs>
sipa already doing that, just not tie-breaking based on feerate, iirc
<sipa>
Worse than ancestorset linearization will miss "obvious" things that we'd evict instantly anyway, and better than ancestorset linearization is something the mining/eviction algorithms can't use anyway.
<glozow>
Yeah feel free to remove. #28031 or the BIP PR if people are looking to review something
<_aj_>
achow101: 28031 is already there, so 26711 should be removed imo -- one pr per project
<instagibbs>
sipa agreed 👍
<glozow>
sipa: yes I agree
<sipa>
I can work on a trimmed-down version of my cluster linearization code that just does ancestorset linearization; it'll be overkill for this purpose, but probably end up sharing more code with stuff we'll want later.
luke-jr has joined #bitcoin-core-dev
<glozow>
instagibbs re: package RBF. Provided things make progress, it will be easiest in a post-v3 or post-cluster world. I think I want to use `PreChecks` to get the fee information, which will also grab ancestors and conflicts. That might allow us to bake in some RBFability information into linearization and the "quit early" logic.
<instagibbs>
sounds right
<instagibbs>
then you only have to submit once, and fail for "any reason"
<glozow>
sipa: I think that would be great if it's going to be used for cluster mempool as well. I have already written a duplicate of that logic in MiniMiner, it feels a bit of a shame to make yet another one...
<sipa>
It's a pretty simple algorithm, I don't think there is a problem with using an ad-hoc implementation for now, and then switching over later.
<glozow>
That's true
<sipa>
Up to you.
<glozow>
Ok I will just write one then. It might have customizations later with the RBF stuff anyway.
<glozow>
Thanks for the offer :D
<sipa>
Ok!
<instagibbs>
sipa I wouldn't mind getting a sneak peak for comparison
<glozow>
So that's it for me, I'll code this up and push to the PR. Feel free to move on achow101
<achow101>
sounds like progress
<achow101>
#topic BIP 324 updates (sipa)
<sipa>
Hi!
<sipa>
I've opened an additional PR with the stream and AEAD ciphers, #28008, but leaving it as draft while the dependencies are not in.
<sipa>
Happy to answer any questions, but otherwise that's it from me.
<achow101>
what are those further things?
abubakarsadiq_ has joined #bitcoin-core-dev
<sipa>
The missing pieces are the key derivation logic, the v2 transport serializer/deserializer, and application level integration (including the short id logic).
luke-jr has quit [Ping timeout: 245 seconds]
<sipa>
But some of that may end up in the same PR, I'm not sure yet.
<achow101>
ah i see
<sipa>
There is also integration in the functional test framework, formerly #24748 by stratospher, though I believe that's waiting for the P2P integration to be (re)done.
<gribble>
https://github.com/bitcoin/bitcoin/issues/26222 | Introduce secp256k1 module with field and group classes to test framework by sipa · Pull Request #26222 · bitcoin/bitcoin · GitHub
<achow101>
<TheCharlatan> > Such a plugin can enforce many additional things beyond what is currently done between the compilers and the various tools in our CI. Relevant in the current kernel context, Cory has written a plugin that enforces proper handling of fatal errors. I am experimenting into a similar direction, but with a slightly different approach.
<achow101>
<TheCharlatan> > In general I think these plugins have utility for many parts of the code and might catch some bugs.
<sipa>
The overall function is LinearizeCluster, which does bottleneck analysis (find parts of the cluster that necessarily must be included in order, e.g. a single transaction that has no parents, or a single transaction that has no children). Those bottlenecks are included without doing any kind of feerate comparison at all.
<sipa>
For the rest, either FindBestAncestorSet (for ancestor set feerate quality) or FindBestCandidateSetEfficient (for optimal linearization) is invoked to find good subsets.
<sipa>
And there are two helper data structures in other files, FeeFrac (an exact fee/size ratio) and BitSet (for representing subsets of clusters efficiently).
Guyver2 has left #bitcoin-core-dev [Closing Window]
<bitcoin-git>
[bitcoin] achow101 opened pull request #28037: rpc: Drop migratewallet experimental warning (master...migrate-not-experimental) https://github.com/bitcoin/bitcoin/pull/28037
vasild has joined #bitcoin-core-dev
luke-jr has joined #bitcoin-core-dev
andrew_mo_ has joined #bitcoin-core-dev
andrew_mo_ has quit [Ping timeout: 246 seconds]
salvatoshi has quit [Ping timeout: 245 seconds]
ghost43 has quit [Ping timeout: 240 seconds]
ghost43 has joined #bitcoin-core-dev
bugs_ has quit [Quit: Leaving]
flooded has joined #bitcoin-core-dev
_flood has quit [Ping timeout: 246 seconds]
andrew_mo_ has joined #bitcoin-core-dev
andrew_mo_ has quit [Ping timeout: 246 seconds]
instagibbs1 has joined #bitcoin-core-dev
instagibbs has quit [Ping timeout: 246 seconds]
instagibbs1 is now known as instagibbs
Talkless has quit [Quit: Konversation terminated!]
___nick___ has joined #bitcoin-core-dev
sequences[m] has joined #bitcoin-core-dev
Talkless has joined #bitcoin-core-dev
abubakarsadiq_ has quit [Quit: Connection closed for inactivity]
bugs_ has joined #bitcoin-core-dev
<bitcoin-git>
[bitcoin] furszy opened pull request #28038: wallet: address book migration bug fixes (master...2023_bugfix_addressbook_migration) https://github.com/bitcoin/bitcoin/pull/28038