19:01:40 <sipa> #startmeeting
19:01:40 <lightningbot> Meeting started Fri Nov  2 19:01:40 2018 UTC.  The chair is sipa. Information about MeetBot at http://wiki.debian.org/MeetBot.
19:01:40 <lightningbot> Useful Commands: #action #agreed #help #info #idea #link #topic.
19:01:51 <meshcollider> Yep
19:01:54 <meshcollider> #bitcoin-core-dev Meeting: wumpus sipa gmaxwell jonasschnelli morcos luke-jr sdaftuar jtimon cfields petertodd kanzure bluematt instagibbs phantomcircuit codeshark michagogo marcofalke paveljanik NicolasDorier jl2012 achow101 meshcollider jnewbery maaku fanquake promag provoostenator aj Chris_Stewart_5 dongcarl gwillen jamesob
19:02:00 <meshcollider> I added a few more to it
19:02:07 <sipa> thanks!
19:02:08 <gwillen> meshcollider: :D
19:02:32 <kanzure> hi.
19:02:51 <gmaxwell> hi.
19:02:55 <jnewbery> hi
19:03:07 <sipa> hi
19:03:37 <meshcollider> hi
19:04:20 <sipa> topics?
19:05:33 <meshcollider> There was something in the meeting yesterday wasn't there
19:06:32 <bitcoin-git> [13bitcoin] 15MarcoFalke pushed 2 new commits to 06master: 02https://github.com/bitcoin/bitcoin/compare/c34c821e4cbd...750415701cb1
19:06:32 <bitcoin-git> 13bitcoin/06master 14fa43626 15MarcoFalke: test_runner: Remove travis specific code
19:06:33 <bitcoin-git> 13bitcoin/06master 147504157 15MarcoFalke: Merge #14630: test_runner: Remove travis specific code...
19:06:50 <jnewbery> sipa gave a summary of wallet refactor progress yesterday
19:07:01 <sipa> meshcollider: add ryanofsky
19:07:37 <jnewbery> also mentioned we could get an update of wallet separation progress from ryanofsky
19:08:07 <bitcoin-git> [13bitcoin] 15MarcoFalke closed pull request #14630: test_runner: Remove travis specific code (06master...06Mf1811-testNoTravis) 02https://github.com/bitcoin/bitcoin/pull/14630
19:08:37 <ryanofsky> i'm just working on some sjors bugs from 10102, earlier prs are reviewable
19:09:00 <sipa> ryanofsky: in particular, #14437 right?
19:09:02 <gribble> https://github.com/bitcoin/bitcoin/issues/14437 | Refactor: Start to separate wallet from node by ryanofsky · Pull Request #14437 · bitcoin/bitcoin · GitHub
19:09:12 <ryanofsky> yeah
19:09:19 <gwillen> if anybody expects to have opinions on offline signing UI, I have a branch they could try and criticize.
19:09:29 <gwillen> (a bit tangential probably.)
19:09:41 <gmaxwell> gwillen: neat. where?
19:09:42 <sipa> gwillen: unsure, want to give a short update on what you're trying to achieve?
19:10:08 <gwillen> The goal is to take the PSBT stuff and bring it into the GUI in an interface somewhat like Armory has for offline signing.
19:10:34 <gwillen> It adds a 'spend watchonly' checkbox to the send dialog, and another dialog for importing and exporting PSBT blobs, signing and broadcasting them.
19:10:46 <gwillen> It works right now, but all the instruction labels are placeholders and the code is janky.
19:11:17 <gwillen> gmaxwell: https://github.com/gwillen/bitcoin/tree/feature-offline
19:12:16 <gwillen> And I think I have decided that copying the Armory interface is not the best approach, and in reality users do not need to see base64 blobs during this process (at least, without clicking 'advanced' somewhere.) Better to just show them what the transaction will do.
19:12:31 <gwillen> So that will be the next revision.
19:12:52 <sipa> gwillen: so you still plan to change the UI/concept significantly before PRing?
19:12:56 <sipa> or after
19:13:15 <gwillen> I think I should change it before PRing, unless you think it would be better to let people give feedback.
19:13:30 <gwillen> But people are welcome to try out the branch, and I will try to keep it compileable.
19:13:52 <sipa> cool
19:15:02 <sipa> as far as the descriptor/importmulti/wallet progress goes, i think most was said yesterday in the meeting
19:15:12 <instagibbs> ah shoot, wallet meeting
19:15:13 <sipa> should we go over it again, perhaps in more detail?
19:15:16 <instagibbs> need to add to calendar
19:15:31 <sipa> also, provoostenator: ping (since he was excited to hear there was a wallet meeting now)
19:15:46 <jnewbery> achow101: ping
19:16:08 <achow101> hi
19:16:12 <gwillen> instagibbs: remember to put it in iceland time so you don't get smacked by DST
19:16:18 <instagibbs> gwillen, already do for thu meeting
19:17:08 <instagibbs> gwillen, can you elaborate on what non-blob UX would look like?
19:17:17 <meshcollider> provoostenator was in the ping list at the start so he should have already been notified :)
19:18:22 <gwillen> instagibbs: I have been thinking over the last day or two, the first thing that comes to mind is just to replace the blob with the contents of the current "are you sure" dialog, i.e. "this is a transaction that will spenx XX to YY with fee ZZ, are you sure you want to [create/sign/broadcast/etc.]?"
19:18:44 <meshcollider> sipa: are you happy to write the IsMine/keypool abstraction and everything yourself or would you like a minion ;)
19:18:52 <instagibbs> but base64 stuff has to be printed for copying.. right?
19:19:39 <gwillen> well, I think in most cases people are going to want to use file save/load instead of copy/paste, in fact I can't think of a case where copy/paste makes sense when using multiple machines (as opposed to when testing the PR)
19:19:57 <sipa> gwillen: also note that #13932 adds an RPC that tells you waht the next steps are for a PSBT (get X to sign, update input Y, broadcast, ...); may be useful for your UI
19:19:59 <gribble> https://github.com/bitcoin/bitcoin/issues/13932 | Additional utility RPCs for PSBT by achow101 · Pull Request #13932 · bitcoin/bitcoin · GitHub
19:20:14 <instagibbs> Ah, save/load, didn't know that's what you meant
19:20:18 <gwillen> sipa: ooooooooooh! I was thinking I wanted to add something like that, and figuring on having to compute it myself, thanks!
19:20:56 <gwillen> instagibbs: that seems like ultimately the interface people are going to want
19:21:09 <instagibbs> SGTM
19:21:15 <gwillen> also, the armory workflow doesn't have a concept of merging transactions, as far as I can tell, I realized I need to add that functionality
19:21:37 <gwillen> to make multisig reasonably usable
19:21:41 <sipa> instagibbs: Signature Generating Transaction Machinery?
19:22:09 <achow101> gwillen merging transactions in what way?
19:22:20 <sipa> achow101: psbt combiner
19:22:29 <sipa> gwillen: i assume ^
19:22:48 <gwillen> achow101: in the combinepsbt sense, yeah -- perhaps armory has that now, I am on an ancient version and I don't use multisig
19:22:57 <achow101> there's already combinepsbt, but 13932 has joinpsbts to join independent txs
19:23:07 <gwillen> oh, I see, interesting, thanks
19:23:15 <sipa> achow101: gwillen is talking about his GUI
19:28:14 <sipa> meshcollider: so i haven't thought that much about the abstraction, but perhaps we can discuss ideas in PM or so?
19:30:32 <meshcollider> sipa: sounds good yep :)
19:32:57 <sipa> so i think these things can all be done in parallel now: (a) add RPCs to sign/update a PSBT with a descriptor/utxoset (b) create an abstraction for "list of addresses" (that encapsulates the current keypool/hd derivation logic) (c) extend the descriptors code to cache pubkeys (so it can be used as a keypool later, even when hardened derivation is used)
19:34:39 <sipa> any other things people want to discuss?
19:35:05 <jnewbery> One thing. A little off topic for a core wallet meeting, but I think people here might be interested.
19:35:23 <jnewbery> Optech are holding our second workshop in a couple of weeks. We're getting a bunch of engineers from wallets/exchanges together and we'll discuss: RBF/CPFP, PSBT, output script descriptors, lightning integration and coin selection.
19:35:40 <jnewbery> We'll report back on what we learn, but if people here have any specific questions that you'd like us to ask and get feedback on, please let me know.
19:36:21 <jnewbery> PSBT especially could be useful, since everyone would benefit from wider adoption
19:38:29 <gwillen> jnewbery: since I am planning on saving/loading PSBT files for creating/signing/broadcasting, it would be good to be on the same page as other wallets on workflow, so that we can be cross-compatible
19:38:51 <gwillen> I have been advised the the correct PSBT file format is just the raw PSBT bytes, not base64 or any other encoding
19:38:57 <gwillen> so compatibility should be easy
19:39:13 <gwillen> I am interested in any feedback on that from other wallets
19:39:41 <jnewbery> gwillen: sure. We'll be writing up notes and I'll share them with you
19:40:19 <gwillen> Thanks!
19:40:44 <instagibbs> achow101, I can write HWI support :)
19:43:33 <gwillen> achow101: what do you think about the idea of moving the non-wallet PSBT methods into their own file?
19:44:02 <gwillen> I can't use RPCs directly from the GUI, so I have to refactor them into (1) a general-purpose method that operates on PartiallySignedTransactions and (2) an RPC method that calls it
19:44:16 <gwillen> and it seems like maybe all the (1)s should go in a file together outside of /rpc/
19:44:45 <sipa> gwillen: that sounds great
19:44:46 <gwillen> (sorry for thinking out loud here but it doesn't seem like  the meeting has an active topic)
19:44:51 <instagibbs> Maximal reuse sounds amazing, please do
19:44:55 <gwillen> sipa: cool, where would you put it?
19:45:01 <gwillen> (I mean, in the directory structure)
19:45:15 <sipa> gwillen: script/psbtutils ?
19:45:26 <gwillen> also this is going to start getting messy with stacked unmerged refactors
19:45:42 <gwillen> which I guess is why refactoring is discouraged ;-)
19:45:46 <sipa> i don't think it will interact badly
19:46:23 <gwillen> it will be slightly annoying, not horrible
19:46:30 <sipa> when merged, the wallet interfaces/ will need extra methods to access that psbt logic, but that's pretty much just additive, i think - not conflicting
19:47:36 <gwillen> well it's going to rebase annoyingly against things that are messing with the PSBT RPCs, so #13932 #14588, maybe that's it
19:47:38 <gribble> https://github.com/bitcoin/bitcoin/issues/13932 | Additional utility RPCs for PSBT by achow101 · Pull Request #13932 · bitcoin/bitcoin · GitHub
19:47:40 <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:47:53 <gwillen> and one of those is mine so I don't mind that one :-)
19:51:28 <meshcollider> Any other things for now?
19:51:37 <sipa> i think that's it
19:52:43 <jnewbery> IsAllFromMe
19:53:10 <instagibbs> jnewbery, what about it? are we naming functions we like? :)
19:53:16 <meshcollider> Lol
19:53:33 <sipa> IsMine.
19:54:02 <jnewbery> Shutdown
19:54:19 <instagibbs> gwillen, would there be sense to at least have a "copy to clipboard" button, or are you thinking purely save/load?
19:54:26 <achow101> gwillen: I can move them to separate files
19:55:16 <instagibbs> or spit out a complete path or something; something about having me hunt my filesystem for what I saved is a disconnect I don't like.
19:55:26 <instagibbs> unless the naming scheme is highly identifying
19:55:38 <instagibbs> (maybe just me)
19:59:23 <sipa> #endmeeting