19:04:17 <sipa> #startmeeting 19:04:17 <lightningbot> Meeting started Thu Nov 1 19:04:17 2018 UTC. The chair is sipa. Information about MeetBot at http://wiki.debian.org/MeetBot. 19:04:17 <lightningbot> Useful Commands: #action #agreed #help #info #idea #link #topic. 19:04:30 <instagibbs> hi 19:04:33 <sipa> topics? 19:04:35 <MarcoFalke> hi 19:04:41 <jnewbery> hi 19:04:49 <luke-jr> suggested topic: do we have a way to test non-HD wallet code paths at this point? :/ 19:04:50 <MarcoFalke> Could someone do the ping string? 19:05:05 <jnewbery> #bitcoin-core-dev Meeting: wumpus sipa gmaxwell jonasschnelli morcos luke-jr btcdrak sdaftuar jtimon cfields petertodd kanzure bluematt instagibbs phantomcircuit codeshark michagogo marcofalke paveljanik NicolasDorier jl2012 achow101 meshcollider jnewbery maaku fanquake promag provoostenator 19:05:08 <MarcoFalke> suggested topic: High priority for review 19:05:08 <provoostenator> Topic suggesiton: wallet refactor progress 19:05:09 <MarcoFalke> thx 19:05:10 <jnewbery> that one? 19:05:14 <sipa> thanks jnewbery 19:05:27 <sipa> #topic high priority for review 19:05:31 <sipa> let's start with that one 19:05:44 <achow101> we should make a gribble command for the meeting ping 19:06:05 <sipa> on the list are #14532 #14350 #14046 19:06:07 <gribble> https://github.com/bitcoin/bitcoin/issues/14532 | Never bind INADDR_ANY by default, and warn when doing so explicitly by luke-jr · Pull Request #14532 · bitcoin/bitcoin · GitHub 19:06:09 <gribble> https://github.com/bitcoin/bitcoin/issues/14350 | Add WalletLocation class by promag · Pull Request #14350 · bitcoin/bitcoin · GitHub 19:06:13 <gribble> https://github.com/bitcoin/bitcoin/issues/14046 | net: Refactor message parsing (CNetMessage), adds flexibility by jonasschnelli · Pull Request #14046 · bitcoin/bitcoin · GitHub 19:06:54 <sipa> anyone wants to add/remove something? 19:06:56 <meshcollider> Hi 19:07:00 <kanzure> hi. 19:07:11 <achow101> can I get #13932 on hi prio? 19:07:13 <gribble> https://github.com/bitcoin/bitcoin/issues/13932 | Additional utility RPCs for PSBT by achow101 · Pull Request #13932 · bitcoin/bitcoin · GitHub 19:07:16 <achow101> I'll rebase it today 19:07:56 <phantomcircuit> hello 19:07:58 <luke-jr> usually hi-prio requires up-to-date-base before being added, but no reason it needs to be added during meetings 19:08:09 <sipa> achow101: yeah, ping me when rebased 19:08:14 <MarcoFalke> I'd like to propose #14437 if ryanofsky commits to rebasing it 19:08:18 <gribble> https://github.com/bitcoin/bitcoin/issues/14437 | Refactor: Start to separate wallet from node by ryanofsky · Pull Request #14437 · bitcoin/bitcoin · GitHub 19:08:59 <provoostenator> ^ good idea, this new PR is much smaller than the original and a good start 19:09:25 <sipa> i'd like to add #14477 19:09:27 <gribble> https://github.com/bitcoin/bitcoin/issues/14477 | Add ability to convert solvability info to descriptor by sipa · Pull Request #14477 · bitcoin/bitcoin · GitHub 19:09:54 <provoostenator> ^ works for me 19:10:11 <phantomcircuit> i believe #14336 is done and needs more eyeballs 19:10:13 <sipa> done 19:10:14 <gribble> https://github.com/bitcoin/bitcoin/issues/14336 | net: implement poll by pstratem · Pull Request #14336 · bitcoin/bitcoin · GitHub 19:10:24 <sipa> ryanofsky: happy to put on the list if up to date 19:10:28 <sipa> phantomcircuit: ack 19:10:44 <provoostenator> It also needs a more appealing description. 19:10:56 <phantomcircuit> provoostenator, true 19:10:59 <sipa> agree, but let's not do review in this meeting 19:11:13 <MarcoFalke> Added #14437 and #14477 19:11:15 <gribble> https://github.com/bitcoin/bitcoin/issues/14437 | Refactor: Start to separate wallet from node by ryanofsky · Pull Request #14437 · bitcoin/bitcoin · GitHub 19:11:16 <achow101> sipa: rebased it 19:11:17 <gribble> https://github.com/bitcoin/bitcoin/issues/14477 | Add ability to convert solvability info to descriptor by sipa · Pull Request #14477 · bitcoin/bitcoin · GitHub 19:11:20 <provoostenator> No, that was more a general suggestion, some PR's have quite poor descriptions. 19:11:50 <sipa> phantomcircuit: added to the list 19:12:34 <sipa> achow101: done 19:12:38 <sipa> ok 19:12:45 <meshcollider> sipa: btw I realise 14477 duplicates the addition of solvable to getaddressinfo 19:12:47 <luke-jr> provoostenator: more annoying is the intentionally confusing titles IMO :/ 19:12:52 <sipa> #topic do we have a way to test non-HD wallet code paths at this point? 19:13:06 <sipa> luke-jr: ^ 19:13:21 <luke-jr> yeah, it looks like -usehd removal just removed the tests :/ 19:13:33 <luke-jr> and I think it should get tested 19:13:49 <provoostenator> Easiest solution might be just add a legacy wallet payload to the functional test suite and then load that. 19:13:53 <achow101> there's no way to create a non-hd wallet, so they can't be tested unless a non-hd wallet is put into the test data 19:14:02 <sipa> phantomcircuit: seems reasonable to me 19:14:06 <MarcoFalke> sipa: Any reason why you added 13932 to "For backport" in high priority? 19:14:06 <sipa> eh, provoostenator ^ 19:14:17 <MarcoFalke> It is tagged with 0.18.0 19:14:18 <luke-jr> good idea, didn't think of that 19:14:36 <provoostenator> Dynamic wallet loading feature is quite handy. 19:14:38 <sipa> MarcoFalke: did i? 19:14:50 <sipa> oh, indeed; fixed 19:15:07 <luke-jr> or github did and attributed it to you? XD 19:15:09 <gwillen> I would love for #14588 to get looked at, I don't know what the criteria for high priority are. :-) I did just rebase it. 19:15:10 <gribble> https://github.com/bitcoin/bitcoin/issues/14588 | Refactor PSBT signing logic to enforce invariant and fix signing bug by gwillen · Pull Request #14588 · bitcoin/bitcoin · GitHub 19:15:35 <MarcoFalke> on topic: The way to test legacy wallet paths is #14536 19:15:35 <gribble> https://github.com/bitcoin/bitcoin/issues/14536 | functional test with ancient wallet.dat (upgrade test) · Issue #14536 · bitcoin/bitcoin · GitHub 19:15:44 <sipa> gwillen: every active contributor gets to nominate one PR they want to encourage others to look at, because it is blocking their own work 19:15:56 <jnewbery> lukejr: see also https://github.com/bitcoin/bitcoin/pull/12134#issuecomment-430107394 . Having some different version wallet payloads in the test framework would be generally useful 19:16:10 <sipa> yes, i agree 19:16:38 <sipa> we do not care about the ability to create such wallets anymore, but as long as they're supported we should test them - especially we should test upgrade scenarios 19:16:38 <jnewbery> ah, thanks Marco. I'll take a look at that 19:16:51 <luke-jr> hmm 19:17:02 <luke-jr> so we might actually want to run the wallet tests against N different wallets 19:17:54 <sipa> i guess we may want to discuss different approaches on #14536? 19:17:57 <gribble> https://github.com/bitcoin/bitcoin/issues/14536 | functional test with ancient wallet.dat (upgrade test) · Issue #14536 · bitcoin/bitcoin · GitHub 19:21:07 <luke-jr> sgtm 19:21:09 <sipa> anything more on this topic? 19:21:30 <sipa> #topic wallet refactor progress 19:21:33 <sipa> provoostenator: ^ 19:22:08 <provoostenator> sipa: you've been adding a lot of descriptor magic, which is great 19:22:14 <provoostenator> What's next? 19:22:25 <provoostenator> And do we want to have a seperate recurring wallet-refactor meeting? 19:22:27 <sipa> provoostenator: tomorrow's wallet meeting (DING DING reminder) 19:22:37 <provoostenator> TIL, nice 19:22:38 <sipa> provoostenator: yes, we had the first one 2 weeks ago 19:22:40 <instagibbs> waiting for review go ahead for #14565 19:22:41 <gribble> https://github.com/bitcoin/bitcoin/issues/14565 | Overhaul importmulti logic by sipa · Pull Request #14565 · bitcoin/bitcoin · GitHub 19:22:54 <instagibbs> in prep for importmulti descriptor.. 19:22:57 <provoostenator> What time? 19:23:14 <sipa> provoostenator: same time as this meeting, but a day later, and only every 2 weeks 19:24:08 <sipa> more concretely what's next: * the current "old style" descriptor import (which downconverts the descriptor to the existing wallet structures) 19:24:11 <achow101> #14491 implements descriptor import for importmulti, although that should probably be rebased onto #14565 19:24:14 <gribble> https://github.com/bitcoin/bitcoin/issues/14491 | Allow descriptor imports with importmulti by MeshCollider · Pull Request #14491 · bitcoin/bitcoin · GitHub 19:24:15 <gribble> https://github.com/bitcoin/bitcoin/issues/14565 | Overhaul importmulti logic by sipa · Pull Request #14565 · bitcoin/bitcoin · GitHub 19:24:26 <sipa> yup, that 19:24:49 <sipa> then some preparation work for being able to use descriptors instead of keypools (which requires logic for caching pubkeys etc), i plan to work on that 19:25:02 <meshcollider> Yep I'll rebase it as soon as 14565 is in 19:25:17 <provoostenator> Sweet, that should make achow101's hardware wallet stuff easier too. 19:25:49 <provoostenator> Feel free to tag me on those PRs, in case I miss them. 19:25:53 <sipa> with follow up some refactoring to move the existing keypool/ismine logic behind an abstraction that can be instantiated with the old logic, or descriptors (so we can natively import descriptors) 19:25:57 <achow101> provoostenator: instagibbs: the plan is to make hwi do things with descriptors instead of the different pubkey stuff I was doing earlier 19:26:15 <sipa> and i think independently there is also a possibility for a few more RPCs now, like PSBT signing that takes descriptors as inpit 19:26:17 <instagibbs> achow101, That was my assumption 19:26:52 <achow101> so i'll have to rebase #14075 on top of 14491 19:26:54 <gribble> https://github.com/bitcoin/bitcoin/issues/14075 | Import watch only pubkeys to the keypool if private keys are disabled by achow101 · Pull Request #14075 · bitcoin/bitcoin · GitHub 19:26:55 <achow101> probably 19:27:27 <instagibbs> should be simply 19:27:58 <sipa> there are other wallet related topics, like ryanofsky's wallet separation 19:28:01 <sipa> ryanofsky: here? 19:28:10 <ryanofsky> yes sir 19:28:16 <sipa> or maybe we can bring that up in tomorrow's meeting 19:28:33 <provoostenator> Thanks for the quick overview, happy to wait until tomorrow for more details. 19:28:40 <sipa> it's on high priority too, so hopefully it can get some more attention 19:28:59 <sipa> if that's enough for this topic, i have another one myself: appveyor failures 19:29:21 <phantomcircuit> sipa, the wallet stuff seems to be sort of a specialized thing 19:29:39 <phantomcircuit> it's pretty difficult to maintain any idea of how it's working unless you're spending a lot of time looking at it 19:30:04 <provoostenator> The refactoring seems to be taking it to a place where it's easier to understand. 19:30:11 <sipa> phantomcircuit: yeah... i hope it will improve in the future 19:30:18 <provoostenator> I generally find the "after" code a lot more readable than the "before" code. 19:30:41 <provoostenator> And descriptors are very useful. 19:31:11 <luke-jr> they even do the dishes 19:31:44 <sipa> ha 19:32:34 <sipa> #topic appveyor failures 19:32:56 <sipa> i find it pretty annoying that appveyor currently spuriously fails quite frequently 19:33:04 <jnewbery> they're annoying 19:33:08 <meshcollider> Indeed 19:33:18 <sipa> there's an open issue (#14446) 19:33:19 <gribble> https://github.com/bitcoin/bitcoin/issues/14446 | tests: Some issue about running functional tests on Windows · Issue #14446 · bitcoin/bitcoin · GitHub 19:33:23 <provoostenator> Is it fixable or is there an alternative platform? 19:33:37 <provoostenator> Because ignoring Windows may be less annoying, but not a good idea :-) 19:33:41 <sipa> and one alleged improvement to it, #13501, which i think should urgently get some attention 19:33:43 <gribble> https://github.com/bitcoin/bitcoin/issues/13501 | Correctly terminate HTTP server by promag · Pull Request #13501 · bitcoin/bitcoin · GitHub 19:33:58 <sipa> provoostenator: it's doing MSVC builds and MinGW on windows, which aren't used for any production binaries 19:34:26 <sipa> so they're useful in likely testing for other types of issues by means of platform variety, but they're not necessarily issues that affect real production deployments 19:34:48 <luke-jr> sipa: well, we don't test Windows binaries when built on gitian/Linux, right? 19:34:53 <luke-jr> with CI I mean 19:35:00 <sipa> luke-jr: that's fair! 19:35:44 <sipa> anyway, i'd just very much like to get some attention to improving this, as continuously seeing red crosses in travis is pretty annoying 19:36:31 <luke-jr> for now I just ignore the appveyor failures on my PRs 19:37:46 <sipa> anyone have other topics? 19:38:31 <meshcollider> It is quite easy to restart appveyor in the same way to restart Travis btw, if it fails 19:38:45 <sipa> meshcollider: yes, i've restarted dozens of appveyor failures the past days... 19:40:14 <sipa> #topic open floor: what are people working on? 19:40:23 <jarthur> I'd bring up unix socket RPC topic again, but haven't had time to think about it. It sounded like folks are ok if it needs to go forward on bitcoind even if cli only has TCP, provided there are thorough tests. 19:40:26 <luke-jr> rebasing all my PRs :x 19:41:22 <sipa> jarthur: i personally am ok with that, especially since we have an option to use a different HTTP implementation in bitcoin-cli 19:41:22 <achow101> psbt + hww stuff ..... and taking lots of exams 19:41:29 <jnewbery> sipa: still not enough, but hoping to spend much more time reviewing wallet PRs before the end of the year 19:41:31 <sipa> achow101: good luck! 19:43:17 <sipa> i've picked up looking at private authentication again (being able to tell a peer is one of multiple acceptable peers who pubkey you know, but they don't learn who you were looking for, and you don't learn who they are, just that they're part of your acceptable set)... this is probably too novel to deploy, but it's a fun exercise 19:43:51 <sipa> jnewbery: cool :) 19:44:11 <instagibbs> jnewbery, same, as well as HWI assistance 19:45:10 <meshcollider> I want to continue focusing on the wallet rework and everything mainly and reviewing wallet stuff like jnewbery 19:45:35 <meshcollider> And exams like achow101 xD 19:46:04 <sipa> perhaps you guys should collaborate on the exam thing? :p 19:46:31 <sipa> ok, any more topics? 19:47:01 <meshcollider> sipa: lol, he can write it and I'll review :) 19:47:47 <luke-jr> LOL 19:47:52 <luke-jr> open source exam answers 19:48:24 <sipa> #endmeeting