14:00:21 <achow101> #startmeeting 
14:00:24 <kanzure> hi
14:00:26 <pinheadmz> hi
14:00:29 <instagibbs> hi
14:00:33 <achow101> #bitcoin -core-dev Meeting: achow101 _aj_ amiti ariard aureleoules b10c BlueMatt brunoerg cfields darosior dergoegge dongcarl fanquake fjahr furszy gleb glozow hebasto instagibbs jamesob jarolrod jonatack josibake kallewoof kanzure kouloumos kvaciral laanwj LarryRuane lightlike luke-jr MacroFake Murch phantomcircuit pinheadmz promag provoostenator ryanofsky sdaftuar S3RK stickies-v sipa theStack TheCharlatan vasild
14:00:40 <josie> hi
14:00:53 <achow101> #topic package relay updates (glozow)
14:00:55 <willcl-ark> hi
14:00:58 <Murch> Hi
14:01:05 <dergoegge> hi
14:01:08 <lightlike> Hi
14:01:09 <glozow> hi
14:01:10 <furszy> hi
14:01:42 <stickies-v> hi
14:01:42 <glozow> I've put up Milestone 1 PR for the p2p changes, #28031
14:01:44 <gribble> https://github.com/bitcoin/bitcoin/issues/28031 | Package Relay 1/3: Introduce TxPackageTracker as Orphan Resolution Module by glozow · Pull Request #28031 · bitcoin/bitcoin · GitHub
14:01:56 <brunoerg> hi
14:02:07 <MacroFake> hi
14:02:23 <glozow> For mempool/validation stuff, there's been good discussion on #26711
14:02:27 <gribble> https://github.com/bitcoin/bitcoin/issues/26711 | validate package transactions with their in-package ancestor sets by glozow · Pull Request #26711 · bitcoin/bitcoin · GitHub
14:02:30 <sipa> hi
14:02:36 <_aj_> hi
14:03:37 <jamesob> hi
14:04:01 <achow101> cool
14:04:03 <instagibbs> glozow you think you have the concrete step forward on 26711 people won't be too unhappy with? :)
14:04:23 <theStack> hi
14:04:31 <glozow> Yeah kind of, though sipa's last comment makes me wonder if he has something cool cooking
14:04:39 <sipa> I don't!
14:04:41 <instagibbs> I think sipa literally means he'll think about it more
14:04:43 <instagibbs> 😂
14:04:57 <_aj_> glozow: have you considered reopening #27609?
14:04:59 <glozow> haha okay
14:04:59 <gribble> https://github.com/bitcoin/bitcoin/issues/27609 | rpc: allow submitpackage to be called outside of regtest by glozow · Pull Request #27609 · bitcoin/bitcoin · GitHub
14:05:01 <instagibbs> thanks for weighing in btw, really helpful to see lessons learned on the other side
14:05:20 <instagibbs> even if the end result ends up being very similar to prior attempt...
14:05:21 <_aj_> glozow: (when you cook things, they end up hot, not cool, duh)
14:05:28 <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
14:05:34 <jamesob> _aj_: are you sure you're not a dad
14:06:27 <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
14:07:19 <instagibbs> sitll mulling package rbf or (mostly) punting for v3?
14:07:38 <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.
14:08:04 <instagibbs> linearization beyond topo-sort, right?
14:08:13 <instagibbs> you're already linearizing, in a way
14:08:16 <glozow> yeah sorry. ancestor score-based linearization
14:08:22 <sipa> glozow: I believe that works, and I'd use ancestorset-based linearization.
14:08:23 <instagibbs> great
14:08:24 <achow101> to clarify, there will be major changes to 26711 that are still in progress? should we remove it from the priority for now?
14:08:41 <instagibbs> sipa already doing that, just not tie-breaking based on feerate, iirc
14:09:19 <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.
14:09:20 <glozow> Yeah feel free to remove. #28031 or the BIP PR if people are looking to review something
14:09:21 <gribble> https://github.com/bitcoin/bitcoin/issues/28031 | Package Relay 1/3: Introduce TxPackageTracker as Orphan Resolution Module by glozow · Pull Request #28031 · bitcoin/bitcoin · GitHub
14:09:22 <_aj_> achow101: 28031 is already there, so 26711 should be removed imo -- one pr per project
14:09:49 <instagibbs> sipa agreed 👍
14:09:53 <glozow> sipa: yes I agree
14:10:45 <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.
14:11:59 <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.
14:12:33 <instagibbs> sounds right
14:12:44 <instagibbs> then you only have to submit once, and fail for "any reason"
14:13:36 <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...
14:14:18 <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.
14:14:40 <glozow> That's true
14:14:53 <sipa> Up to you.
14:15:20 <glozow> Ok I will just write one then. It might have customizations later with the RBF stuff anyway.
14:15:34 <glozow> Thanks for the offer :D
14:15:40 <sipa> Ok!
14:15:52 <instagibbs> sipa I wouldn't mind getting a sneak peak for comparison
14:16:17 <glozow> So that's it for me, I'll code this up and push to the PR. Feel free to move on achow101
14:16:35 <achow101> sounds like progress
14:16:45 <achow101> #topic BIP 324 updates (sipa)
14:16:52 <sipa> Hi!
14:17:35 <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.
14:17:36 <gribble> https://github.com/bitcoin/bitcoin/issues/28008 | BIP324 ciphers: FSChaCha20 and FSChaCha20Poly1305 by sipa · Pull Request #28008 · bitcoin/bitcoin · GitHub
14:17:52 <sipa> And I'm pondering about how to structure some further things.
14:18:20 <sipa> #27985 remains the best thing to review now, I believe.
14:18:21 <gribble> https://github.com/bitcoin/bitcoin/issues/27985 | Add support for RFC8439 variant of ChaCha20 by sipa · Pull Request #27985 · bitcoin/bitcoin · GitHub
14:19:14 <sipa> Happy to answer any questions, but otherwise that's it from me.
14:19:45 <achow101> what are those further things?
14:20:40 <sipa> The missing pieces are the key derivation logic, the v2 transport serializer/deserializer, and application level integration (including the short id logic).
14:21:31 <sipa> But some of that may end up in the same PR, I'm not sure yet.
14:22:16 <achow101> ah i see
14:22:38 <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.
14:22:40 <gribble> https://github.com/bitcoin/bitcoin/issues/24748 | test/BIP324: functional tests for v2 P2P encryption by stratospher · Pull Request #24748 · bitcoin/bitcoin · GitHub
14:23:10 <sipa> The dependencies for that are already in since last week (#24005 and #26222).
14:23:13 <gribble> https://github.com/bitcoin/bitcoin/issues/24005 | test: add python implementation of Elligator swift by stratospher · Pull Request #24005 · bitcoin/bitcoin · GitHub
14:23:16 <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
14:24:05 <achow101> #topic libbitcoinkernel updates (TheCharlatan)
14:25:53 <jamesob> don't think we saw a "hi" from him, so he may be out
14:26:14 <achow101> it looks like the current pr is #27866, although #27861 has also been getting review
14:26:16 <gribble> https://github.com/bitcoin/bitcoin/issues/27866 | blockstorage: Return on fatal flush errors by TheCharlatan · Pull Request #27866 · bitcoin/bitcoin · GitHub
14:26:18 <gribble> https://github.com/bitcoin/bitcoin/issues/27861 | kernel: Rm ShutdownRequested and AbortNode from validation code. by TheCharlatan · Pull Request #27861 · bitcoin/bitcoin · GitHub
14:26:38 <achow101> #topic assumeutxo updates (jamesob)
14:26:50 <jamesob> Not much to say here, priority is still on #27746
14:26:53 <gribble> https://github.com/bitcoin/bitcoin/issues/27746 | Rework validation logic for assumeutxo by sdaftuar · Pull Request #27746 · bitcoin/bitcoin · GitHub
14:27:03 <jamesob> Looks pretty close in terms of review, though I don't understand the arm/tidy CI failures
14:27:36 <fanquake> they are unrelated
14:27:43 <fanquake> tidy fixed by rebase
14:27:55 <achow101> looks pretty close
14:28:06 <fanquake> arm is a test-only issue, with has fixes open
14:28:18 <fanquake> i.e #28036
14:28:19 <gribble> https://github.com/bitcoin/bitcoin/issues/28036 | test: Restore unlimited timeout in IndexWaitSynced by MarcoFalke · Pull Request #28036 · bitcoin/bitcoin · GitHub
14:28:25 <sipa> stratospher: I don't think using the "respond" feature works for people on IRC.
14:29:25 <achow101> #topic Ad-hoc high priority for review
14:29:36 <achow101> anything to add or remove from https://github.com/orgs/bitcoin/projects/1/views/4
14:29:46 <MacroFake> Can I have #28012 plz
14:29:47 <gribble> https://github.com/bitcoin/bitcoin/issues/28012 | util: Allow FastRandomContext::randbytes for std::byte, Allow std::byte serialization by MarcoFalke · Pull Request #28012 · bitcoin/bitcoin · GitHub
14:30:13 <achow101> MacroFake: added
14:30:18 <MacroFake> thx
14:30:34 <pinheadmz> I got one ACK from vasild on #27375 looking for another review to top it off
14:30:37 <gribble> https://github.com/bitcoin/bitcoin/issues/27375 | net: support unix domain sockets for -proxy and -onion by pinheadmz · Pull Request #27375 · bitcoin/bitcoin · GitHub
14:31:58 <achow101> any other topics to discuss?
14:34:12 <achow101> re libbitcoinkernel: TheCharlatan is having IRC issues
14:34:23 <_aj_> should #28026 get priority?
14:34:25 <gribble> https://github.com/bitcoin/bitcoin/issues/28026 | test: bugfix, synchronize indexes synchronously by furszy · Pull Request #28026 · bitcoin/bitcoin · GitHub
14:34:30 <achow101> <TheCharlatan> > Don't have news for the open PRs.
14:34:30 <achow101> <TheCharlatan> > I've been looking at cfields' tidy plugins for bitcoin: https://github.com/theuni/bitcoin-tidy-experiments and started writing my own plugins.
14:34:30 <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.
14:34:30 <achow101> <TheCharlatan> > In general I think these plugins have utility for many parts of the code and might catch some bugs.
14:35:00 <fanquake> _aj_: not necessarily over #28036
14:35:01 <gribble> https://github.com/bitcoin/bitcoin/issues/28036 | test: Restore unlimited timeout in IndexWaitSynced by MarcoFalke · Pull Request #28036 · bitcoin/bitcoin · GitHub
14:35:54 <_aj_> fanquake: hadn't seen that
14:36:40 <achow101> #endmeeting