--- Log opened Mon Oct 25 00:00:13 2021 07:49 < michaelfolkson> puefix: My guess would be first half of next year (without Taproot support of course). I don't think it will be this year. I could be totally wrong though 07:51 <@sipa> i don't think a number can be put on that; it depends on how people prioritize working on it and reviewing 07:52 <@sipa> it may be in a month, it could be never 07:52 <@sipa> on that topic: are there things that need my review? 07:53 < darosior> Yes 07:54 < darosior> meshcollider rebased his non-recursive parsing PR (wanted to review it too but didn't find the time yet) 07:54 <@sipa> ah, great 07:55 < darosior> A quick look at the fuzzing target PR would be great too :) 07:56 < darosior> And #77, #74 too i guess 07:57 < _aj_> what would it mean to merge it into bitcoin? allowing minicript in descriptors or somthing? 07:57 <@sipa> yes 07:57 <@sipa> and generic signing 07:58 < _aj_> oh, is it easy to know how to sign a miniscript? 07:58 < darosior> (still on it, fwiw) 07:58 < darosior> Yes :) 07:58 <@sipa> _aj_: that's the design goal :p 07:59 <@sipa> you can parse a miniscript-compatible-form into miniscript AST easily, and then there is a relatively simple recursive algorithm that can sign for it 07:59 <@sipa> +script 08:02 < _aj_> does miniscript-compatible include anything where "checkk(multi)sig" isn't immediately preceded by a literal push of the signing pubkey? 08:03 <@sipa> checksig, yes 08:03 <@sipa> checkmultisig, no 08:03 <@sipa> there is a K type which represents a subexpression that evaluates to a public key to verify a signature against 08:04 <@sipa> so you can have if/... stuff, where every branch pushes a different key onto the stack (and possibly does other checks), and then performs the checksig afterwards 08:12 < _aj_> can you construct an AST of the witness for a miniscript, so that you can leave "unknown" for missing hash preimages? seems great for psbt signing, not so useful for signing if all the signers are regular bitcoin core wallets? 08:13 <@sipa> you need to see the script 08:14 < _aj_> sure 08:14 <@sipa> pubkey hash preiamges can be missing, for some use cases 08:14 <@sipa> but the AST is for the script, not the witness 08:15 < _aj_> but if your script is or( and(pk(A),preimage(X), and(pk(B), after(t)) ) I could provide a signature for A and B without knowing which path is actually needed in an AST ? 08:15 < _aj_> it's not really an AST i guess 08:15 <@sipa> indeed 08:16 <@sipa> a miniscript-compatible finalizer can just gather all the provided signatures and construct a full witness with them 08:16 <@sipa> if one exists 08:17 < _aj_> oh i guess psbt already records signatures as "A:sig", "B:sig", and does/could record primages as "H:preimage" and that's your abstract-witness-tree there, that the finalizer can build a witness vector from 08:18 <@sipa> well it's not a tree 08:18 <@sipa> it's just a key-value map, giving sigs/preimages for certain keys 08:18 < _aj_> everthing's a tree :) 08:18 <@sipa> a finalizer walks over the script AST, and tries to construct satisfaction/dissatisfactions for each node with the provided data 08:19 <@sipa> looking in the PSBT map for sigs/preimages 08:19 < _aj_> yes, that does sound very straightforward :+1: 09:18 -!- elsirion [~quassel@gateway/tor-sasl/elsirion] has quit [Remote host closed the connection] 09:18 -!- elsirion [~quassel@gateway/tor-sasl/elsirion] has joined ##miniscript 11:33 -!- gene [~gene@gateway/tor-sasl/gene] has joined ##miniscript 12:15 -!- gene is now known as mzpetty 12:15 -!- mzpetty is now known as gene 14:18 -!- gene [~gene@gateway/tor-sasl/gene] has quit [Quit: gene] 15:27 < jeremyrubin> _aj_ technically the preimages are their own self map and don't need a key --- Log closed Tue Oct 26 00:00:14 2021