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