--- Log opened Thu Jan 16 12:27:19 2020 12:27 -!- kanzure [~kanzure@unaffiliated/kanzure] has joined ##miniscript 12:27 -!- Irssi: ##miniscript: Total of 25 nicks [0 ops, 0 halfops, 0 voices, 25 normal] 12:27 -!- Irssi: Join to ##miniscript was synced in 1 secs 12:27 < kanzure> hi, is there a way to generate the possible satisfactions for a miniscript policy? or rather, possible witnesses. 12:27 < andytoshi> short answer is yes 12:28 < andytoshi> but even counting them can't be done efficiently in general 12:28 < andytoshi> you've just gotta iterate through them as near as i can tell 12:28 < kanzure> and separately, is there a bitcoin script debugger that lets me use placeholder signatures without me having to go make a real pubkey-signature pair? 12:28 < andytoshi> i've considered implementing this because almost all situations involve only a few possible satisfactions 12:28 < andytoshi> i think you can use rust-miniscript for this 12:29 < andytoshi> yeah, you can do it with rust-miniscript, but it will make you produce an actual bitcoin signature which is annoying (thuogh it doesn't have to verify) 12:30 < kanzure> ok, so i could just use a fake signature and let it fail- and as long as this is the last possible failure then i should be good... 12:30 < kanzure> well.. hrm. 12:31 < andytoshi> i mean, it'll fail on the blockchain 12:31 < andytoshi> but you can use a dummy validation function 12:31 < andytoshi> in rust-miniscritp 12:33 < andytoshi> kanzure: you can use https://docs.rs/miniscript/0.12.0/miniscript/miniscript/struct.Miniscript.html#method.satisfy even if you have dummy keys 12:33 < andytoshi> and if it succeeds, it will produce a "witness" that would fail on the blockchain 12:34 < andytoshi> and if it fails, that means that you actually couldn't satisfy it 12:34 < andytoshi> to use that, define a HashMap from your dummy keys to fake bitcoin sigs 12:34 < andytoshi> for each key you want to sign for, insert a sig into the hashmap 12:35 < kanzure> and to generate a different witness, i would create a different hashmap (assuming my script can be satisfied by different witnesses of course.) 12:36 < kanzure> with different member values. 12:39 < andytoshi> yep 14:04 -!- jb55 [~jb55@gateway/tor-sasl/jb55] has quit [Quit: jb55] 14:55 -!- jb55 [~jb55@gateway/tor-sasl/jb55] has joined ##miniscript 23:16 -!- harrigan [~harrigan@ptr-93-89-242-235.ip.airwire.ie] has quit [Quit: ZNC 1.7.5 - https://znc.in] 23:17 -!- harrigan [~harrigan@ptr-93-89-242-235.ip.airwire.ie] has joined ##miniscript 23:43 -!- harrigan [~harrigan@ptr-93-89-242-235.ip.airwire.ie] has quit [Quit: ZNC 1.7.5 - https://znc.in] 23:44 -!- harrigan [~harrigan@ptr-93-89-242-235.ip.airwire.ie] has joined ##miniscript