19:15:03 <sipa> #startmeeting 19:15:03 <lightningbot> Meeting started Fri Nov 16 19:15:03 2018 UTC. The chair is sipa. Information about MeetBot at http://wiki.debian.org/MeetBot. 19:15:03 <lightningbot> Useful Commands: #action #agreed #help #info #idea #link #topic. 19:15:42 <sipa> topics? 19:16:13 <provoostenator> Not really, I need to catch up on review and testing. 19:16:42 <instagibbs> #14565 needs rebase/more review 19:16:44 <gribble> https://github.com/bitcoin/bitcoin/issues/14565 | Overhaul importmulti logic by sipa · Pull Request #14565 · bitcoin/bitcoin · GitHub 19:16:49 <meshcollider> Hi 19:17:24 <sipa> yeah, i need to get back to that 19:17:28 <meshcollider> Yeah I need to rebase #14491 on it to 19:17:31 <gribble> https://github.com/bitcoin/bitcoin/issues/14491 | Allow descriptor imports with importmulti by MeshCollider · Pull Request #14491 · bitcoin/bitcoin · GitHub 19:17:41 <sipa> and i need to add more tests 19:17:48 <sipa> and address ryanofsky_'s comments 19:18:45 <instagibbs> gwillen, any update on psbt signing stuff? 19:19:10 <provoostenator> For those reading (the logs): ##hwi is a fun place for those interesting in _hardware_ wallet support, and there's some overlap with this effort. 19:19:11 <sipa> a question i had, how do we progress with things like #14481 ? 19:19:14 <gribble> https://github.com/bitcoin/bitcoin/issues/14481 | Add P2SH-P2WSH support to listunspent RPC by MeshCollider · Pull Request #14481 · bitcoin/bitcoin · GitHub 19:19:25 <gwillen> instagibbs: no update, other than I think https://github.com/bitcoin/bitcoin/pull/14588 getting in happened since the last time we had this meeting 19:20:12 <sipa> because it seems to me that using descriptors instead of lists of keys/redeemscript/witnessnessscript in sign* RPCs will be a much better user experience 19:20:22 <gwillen> I still owe another PR of PSBT related refactoring, and I have a working demo of offline signing UI if anybody wants to play with it (it's the same one I had around this time last week already) 19:20:37 <provoostenator> How would listunspent return descriptors? 19:20:56 <sipa> provoostenator: #14477 19:21:00 <sipa> already implemented 19:21:00 <meshcollider> provoostenator: accept, not return 19:21:01 <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:21:09 <sipa> meshcollider: no, return 19:21:19 <instagibbs> the stuff you need to pass to other calls 19:21:23 <provoostenator> Ah ok, by converting scripts, that makes sense. 19:21:28 <meshcollider> Oh right 19:21:42 <provoostenator> And ultimately if the wallet contains descriptors, then it would just take that descriptor and an array of indexes? 19:21:59 <sipa> provoostenator: sure, but i'm talking about right now 19:22:24 <sipa> we can also add descriptor responses to addmultisig etc 19:22:33 <provoostenator> I like the idea of using descriptors for both inputs and outputs wherever feasible. 19:22:38 <instagibbs> basically we're taking advantage of descriptors pre-descriptor-record based wallets 19:22:52 <meshcollider> After I've finished reviewing the last few wallet PRs adding more descriptor support is what I really want to work on anyway 19:23:10 <sipa> that would mean adding descriptor support to signrawtransaction etc 19:23:24 <instagibbs> is there a list of places to be added? 19:23:31 <instagibbs> or is that an action item 19:23:42 <sipa> that's a good idea, we should make such a list 19:23:45 <sipa> i'll open an issue 19:23:51 <provoostenator> Yes please 19:23:51 <meshcollider> +1 19:24:26 <sipa> the question is then: do we go for that, or do we also try to keep the pre-descriptor approach functional? 19:24:49 <sipa> (which needs things like 14481, because listunspent + signrawtransactionwithkey is pretty much broken right now) 19:24:59 <meshcollider> I feel like it would have to be deprecated like accounts were 19:25:26 <sipa> i don't think there is a strong need to actually remove it 19:25:29 <meshcollider> 14481 is only broken for P2SH-P2WSH I think 19:25:34 <sipa> it's more a question of do we keep updating it with new stuff 19:26:16 <meshcollider> Ah yep, well if we're keeping the old stuff it at least needs to be maintained to a working level right 19:26:23 <meshcollider> But not new features no, IMO 19:27:02 <sipa> ok, fair 19:27:27 <ryanofsky_> 14481 also adds a test for signrawtransaction, though that could be added separately 19:28:04 <sipa> ryanofsky_: ah, good 19:28:39 <meshcollider> See also #11708 19:28:43 <gribble> https://github.com/bitcoin/bitcoin/issues/11708 | Add P2SH-P2WSH support to signrawtransaction and listunspent RPC by MeshCollider · Pull Request #11708 · bitcoin/bitcoin · GitHub 19:28:52 <meshcollider> Which was the precursor to 14481 19:29:33 <meshcollider> Which it sounds like is actually a better approach to resurrect after all 19:33:00 <sipa> another topic: #13932 19:33:02 <gribble> https://github.com/bitcoin/bitcoin/issues/13932 | Additional utility RPCs for PSBT by achow101 · Pull Request #13932 · bitcoin/bitcoin · GitHub 19:33:18 <sipa> achow101: when rebase? 19:33:25 <achow101> later today 19:34:09 <sipa> i was thinking about a processpsbtwithdescriptor RPC, and was wondering if it should be integrated with utxoupdatepsbt 19:34:25 <meshcollider> Ok I have to go now, I'll catch up on the rest later today 19:34:32 <sipa> as we have all the pieces in place now 19:35:09 <sipa> or should we keep them separate, where you'd first run utxoupdatepsbt, then processpsbtwithdescriptor to fill in scripts, and then sign (which could be done by any signer, or with processpsbtwithdescriptor at once) 19:35:15 <instagibbs> sipa, would that be a "stateless" call? 19:35:42 <sipa> utxoupdatepsbt is not stateless (it looks at the UTXO set), but processpsbtwithdescriptor would be 19:36:06 <instagibbs> was asking about latter 19:36:26 <instagibbs> so it would involve passing in xprv-containing descriptors when signing required 19:37:04 <sipa> i was thinking you could give it either public descriptors, private descriptors, or private keys separately 19:39:25 <achow101> i think it should stay separate 19:40:42 <sipa> i have a slight preference for that as well, but it's less convenient 19:41:25 <achow101> but do you really need a descriptor to process a psbt? what if we just made it a simple signer? 19:41:34 <achow101> the descriptor is only needed for finalizing 19:42:14 <achow101> i guess you could also fill in keys from a descriptor 19:42:16 <sipa> achow101: to fill in witnessscript/redeemscripts/keys 19:42:19 <sipa> so yes 19:45:36 <provoostenator> Just a key could be a handy shortcut for some descriptors, but perhaps the base case should be a descriptor. 19:46:02 <sipa> provoostenator: just a key is for the case where you have an xpub-based descriptor, and a private key separately 19:46:21 <provoostenator> For the unambiguous case if you have pwpk(blah xpub blah) then if you pass in an xpriv that's clear. 19:46:30 <provoostenator> Right 19:46:59 <provoostenator> But that would just be a shortcut for pwpk(blah xpriv blah) 19:46:59 <sipa> or when the PSBT already has all script fields, and all you have is a private key 19:47:44 <sipa> i'll add them to the issue i'm opening 19:47:49 <sipa> anything else we want to discuss? 19:54:08 <provoostenator> Nope 19:54:53 <sipa> as decreed by provoostenator: 19:54:56 <sipa> #endmeeting