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