--- Log opened Thu Mar 10 00:00:21 2022 04:04 -!- shesek__ [~shesek@user/shesek] has quit [Remote host closed the connection] 04:05 -!- shesek__ [~shesek@user/shesek] has joined ##miniscript 06:05 -!- shesek__ [~shesek@user/shesek] has quit [Remote host closed the connection] 06:07 -!- shesek [~shesek@user/shesek] has joined ##miniscript 07:00 -!- shesek_ [~shesek@user/shesek] has joined ##miniscript 07:03 -!- shesek [~shesek@user/shesek] has quit [Ping timeout: 252 seconds] 07:54 -!- shesek_ [~shesek@user/shesek] has quit [Remote host closed the connection] 07:54 -!- shesek_ [~shesek@user/shesek] has joined ##miniscript 08:26 -!- shesek_ [~shesek@user/shesek] has quit [Remote host closed the connection] 08:27 -!- shesek_ [~shesek@user/shesek] has joined ##miniscript 08:36 -!- shesek_ [~shesek@user/shesek] has quit [Remote host closed the connection] 08:37 -!- shesek_ [~shesek@user/shesek] has joined ##miniscript 09:31 -!- shesek_ [~shesek@user/shesek] has quit [Remote host closed the connection] 09:31 -!- shesek_ [~shesek@user/shesek] has joined ##miniscript 09:54 -!- shesek_ [~shesek@user/shesek] has quit [Remote host closed the connection] 09:54 -!- shesek_ [~shesek@user/shesek] has joined ##miniscript 11:26 -!- shesek_ [~shesek@user/shesek] has quit [Remote host closed the connection] 11:26 -!- shesek_ [~shesek@user/shesek] has joined ##miniscript 12:02 < jeremyrubin> andytoshi: i'll prototype one 12:03 < jeremyrubin> i am more or less just saying we should have the role defined in https://github.com/achow101/bips/blob/psbt2/bip-0174.mediawiki "Signer" 12:16 -!- shesek_ [~shesek@user/shesek] has quit [Remote host closed the connection] 12:16 -!- shesek_ [~shesek@user/shesek] has joined ##miniscript 12:34 < andytoshi> jeremyrubin: the `Satisfier` trait is designed to fulfill that role 12:34 < andytoshi> the role of the Signer is to provide a signature for a given key 12:45 -!- shesek_ [~shesek@user/shesek] has quit [Remote host closed the connection] 12:45 -!- shesek_ [~shesek@user/shesek] has joined ##miniscript 12:57 * jeremyrubin note to self, don't put "Satisfier" into google expecting to get rust bitcoin content 12:57 <@sipa> :D 12:58 < jeremyrubin> hmm 12:59 < jeremyrubin> so i think that satisfier and psbtinputsatisfier are not correct wrt 174 12:59 < jeremyrubin> in particular, PsbtInputSatisfier is for data *already there* 13:00 < jeremyrubin> and Satisfier doesn't have a concept of an API which checks the data 174 says must be checked 13:00 < jeremyrubin> further, Satisfier doesn't "put things in the right place" in the PSBT, it puts things into the Witness 13:00 < jeremyrubin> so what i'm talking about is more the Signer role for 174 which puts things into the psbt in the right places 13:00 < jeremyrubin> v.s. the finalizer role which extracts it into a witness 13:02 < jeremyrubin> if it helps, i would expect a barebones Signer struct to be like: Signer { xpubs: Set, sk: Set } 13:02 < jeremyrubin> and for it to have some sort of trait that has a method that you pass the data 174 says must be checked into (as well as an unsafe_sign that doesn't check) 13:03 < jeremyrubin> and then do something like what i do in https://github.com/sapio-lang/sapio/blob/072b8835dcf4ba6f8f00f3a5d9034ef8e021e0a7/ctv_emulators/src/servers/hd.rs#L63 which doesn't finalize anything, just puts the signatures where they belong 13:04 < jeremyrubin> maybe this can be handled by making a Satisfier that does these things on construction? 13:05 < jeremyrubin> my main vibe is that "this is complex to get right stuff"=>"put it in the crate" vs telling people to roll their own like I did (im not even sure mine is right, but my intergation tests pass) 13:36 -!- elsirion [~quassel@gateway/tor-sasl/elsirion] has quit [Ping timeout: 240 seconds] 13:37 -!- elsirion [~quassel@gateway/tor-sasl/elsirion] has joined ##miniscript 13:51 -!- shesek_ [~shesek@user/shesek] has quit [Remote host closed the connection] 13:52 -!- shesek_ [~shesek@user/shesek] has joined ##miniscript 14:01 < andytoshi> Satisfier doesn't "put data" anywhere, it is purely a lookup API 14:03 < andytoshi> and i proposed adding an API to pass it data so that it can also do checks 14:38 -!- shesek_ [~shesek@user/shesek] has quit [Remote host closed the connection] 14:38 -!- shesek_ [~shesek@user/shesek] has joined ##miniscript 14:44 < jeremyrubin> sure 14:44 < jeremyrubin> have you read https://hwi.readthedocs.io/en/latest/usage/cli-usage.html andytoshi? 14:44 < jeremyrubin> it really seems that for HWI you want to pass it a psbt and get back a modified PSBT 14:45 < jeremyrubin> and then call combine on that 14:45 < jeremyrubin> v.s. a "satisfier", where it's not really clear to me what you'd do -- write a wrapper around HWI to get back a PSBT and then query against the new PSBT>? 14:46 -!- shesek_ [~shesek@user/shesek] has quit [Remote host closed the connection] 14:46 -!- shesek_ [~shesek@user/shesek] has joined ##miniscript 15:08 < andytoshi> a library API is not a CLI 15:25 < jeremyrubin> sure but e.g. https://github.com/bitcoin-core/HWI/blob/3fe369d0379212fae1c72729a179d133b0adc872/hwilib/devices/coldcard.py#L118 15:25 < jeremyrubin> it looks like the way it works is that it sends the psbt to the coldcard and gets a psbt back 15:32 < jeremyrubin> so my idea is that we'd have something where if a HWW wanted to implement miniscript they could in theory (memory be damned) run that trait as the signer logic 15:34 < jeremyrubin> if you were to put this on a jade what logic would you have? 15:35 < jeremyrubin> it looks like for jade the library is doing more lifting than the HW itself 15:36 <@sipa> the intent when PSBT was designed was that you'd have HWW drivers that could provide hardware with whatever it asked for during signing (imagining some sort of interactive process perhaps where the hardware sends callbacks for needed information). 15:36 < jeremyrubin> can you microSD card a psbt onto Jade like you can with coldcard? 15:36 <@sipa> Coldcard is more the exception than the norm, in that it natively supports PSBT. 15:40 < andytoshi> i don't think the jade has a sd card slot 15:40 < andytoshi> but i don't have mine with me 15:52 -!- shesek_ [~shesek@user/shesek] has quit [Remote host closed the connection] 15:53 -!- shesek_ [~shesek@user/shesek] has joined ##miniscript 15:57 < jeremyrubin> "Camera for fully air-gapped transactions" 15:57 < jeremyrubin> so in theory you can airgap load with a video qr code 15:59 < jeremyrubin> "More features will be enabled in the future through software updates, including:" 15:59 < jeremyrubin> who works on Jade? 15:59 < jeremyrubin> can we ask them? 16:04 < jeremyrubin> well it as 520kb of ram 16:04 < jeremyrubin> 448kB 16:04 < jeremyrubin> rom 16:17 < andytoshi> i don't think the jade people are on irc. they're all based in milan so it's hard to find good times to have realtime conversations 16:59 -!- shesek_ [~shesek@user/shesek] has quit [Remote host closed the connection] 17:00 -!- shesek_ [~shesek@user/shesek] has joined ##miniscript 17:08 -!- shesek__ [~shesek@user/shesek] has joined ##miniscript 17:11 -!- shesek_ [~shesek@user/shesek] has quit [Ping timeout: 240 seconds] 17:14 -!- shesek_ [~shesek@user/shesek] has joined ##miniscript 17:18 -!- shesek__ [~shesek@user/shesek] has quit [Ping timeout: 240 seconds] 17:38 -!- shesek_ [~shesek@user/shesek] has quit [Remote host closed the connection] 17:38 -!- shesek_ [~shesek@user/shesek] has joined ##miniscript 17:54 -!- enick_544 [~afilini-m@2001:bc8:1828:245::2] has quit [Ping timeout: 256 seconds] 18:07 -!- enick_544 [~afilini-m@2001:bc8:1828:245::2] has joined ##miniscript 18:19 -!- shesek__ [~shesek@user/shesek] has joined ##miniscript 18:22 -!- shesek_ [~shesek@user/shesek] has quit [Ping timeout: 240 seconds] 18:48 -!- shesek__ [~shesek@user/shesek] has quit [Remote host closed the connection] 18:48 -!- shesek__ [~shesek@user/shesek] has joined ##miniscript 18:53 -!- shesek_ [~shesek@user/shesek] has joined ##miniscript 18:58 -!- shesek__ [~shesek@user/shesek] has quit [Ping timeout: 256 seconds] 19:08 -!- shesek_ [~shesek@user/shesek] has quit [Remote host closed the connection] 19:08 -!- shesek_ [~shesek@user/shesek] has joined ##miniscript 19:45 -!- shesek_ is now known as shesek 20:06 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 20:06 -!- shesek [~shesek@user/shesek] has joined ##miniscript 21:46 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 21:47 -!- shesek [~shesek@user/shesek] has joined ##miniscript 23:42 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 23:42 -!- shesek [~shesek@user/shesek] has joined ##miniscript --- Log closed Fri Mar 11 00:00:22 2022