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