--- Log opened Wed Mar 16 00:00:27 2022 00:02 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 00:02 -!- shesek [~shesek@user/shesek] has joined ##miniscript 00:12 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 00:13 -!- shesek [~shesek@user/shesek] has joined ##miniscript 00:24 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 00:25 -!- shesek [~shesek@user/shesek] has joined ##miniscript 00:35 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 00:36 -!- shesek [~shesek@user/shesek] has joined ##miniscript 00:47 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 00:48 -!- shesek [~shesek@user/shesek] has joined ##miniscript 01:01 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 01:01 -!- shesek [~shesek@user/shesek] has joined ##miniscript 01:20 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 01:20 -!- shesek [~shesek@user/shesek] has joined ##miniscript 01:24 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 01:25 -!- shesek [~shesek@user/shesek] has joined ##miniscript 02:08 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 02:09 -!- shesek [~shesek@user/shesek] has joined ##miniscript 02:11 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 02:12 -!- shesek [~shesek@user/shesek] has joined ##miniscript 02:37 < darosior> A recent discussion on lightning-dev made me think about https://gnusha.org/miniscript/2021-12-09.log again. Currently a miniscript with duplicate pubkeys would be considered IsSane, i think this is very misleading. 02:38 <@sipa> Good point to bring that up. 02:43 < darosior> We could still check for it in the constructor using TreeEval. Sure we would still mark as sane, say, multi(2, A, B) with B = A/1 (A is an xpub, B a raw pubkey which happens to be a child of A). But once the descriptor is derived at /1 we would not mark the derived descriptor as sane. 02:45 < darosior> Btw i'm not sleeping on the fuzz PRs :) i recently rebased and addressed comments to the PR (but not yet pushed), and i'm currently playing with the smart fuzzer 02:45 <@sipa> I'm travelling this week and will have little time to look at things until next week. 02:46 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 02:47 -!- shesek [~shesek@user/shesek] has joined ##miniscript 02:47 < darosior> Yeah it's blocked on me to review anyways (hence the head-up). 03:20 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 03:20 -!- shesek [~shesek@user/shesek] has joined ##miniscript 03:28 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 03:29 -!- shesek [~shesek@user/shesek] has joined ##miniscript 03:43 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 03:44 -!- shesek [~shesek@user/shesek] has joined ##miniscript 04:16 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 04:17 -!- shesek [~shesek@user/shesek] has joined ##miniscript 04:25 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 04:25 -!- shesek [~shesek@user/shesek] has joined ##miniscript 04:52 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 04:52 -!- shesek [~shesek@user/shesek] has joined ##miniscript 05:02 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 05:03 -!- shesek [~shesek@user/shesek] has joined ##miniscript 05:14 -!- roconnor [~roconnor@coq/roconnor] has joined ##miniscript 05:30 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 05:31 -!- shesek [~shesek@user/shesek] has joined ##miniscript 05:54 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 05:55 -!- shesek [~shesek@user/shesek] has joined ##miniscript 06:38 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 06:38 -!- shesek [~shesek@user/shesek] has joined ##miniscript 06:46 -!- brm_ [~brm@180.254.65.34] has joined ##miniscript 06:47 -!- brm_ [~brm@180.254.65.34] has left ##miniscript [] 06:55 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 06:56 -!- shesek [~shesek@user/shesek] has joined ##miniscript 07:03 < jeremyrubin> darosior I've brought this up previously for rust miniscript, our key translation setup allows for dup's to sneak in 07:10 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 07:10 -!- shesek [~shesek@user/shesek] has joined ##miniscript 07:14 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 07:14 -!- shesek [~shesek@user/shesek] has joined ##miniscript 07:27 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 07:27 -!- shesek [~shesek@user/shesek] has joined ##miniscript 07:32 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 07:32 -!- shesek [~shesek@user/shesek] has joined ##miniscript 07:56 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 07:56 -!- shesek [~shesek@user/shesek] has joined ##miniscript 08:17 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 08:18 -!- shesek [~shesek@user/shesek] has joined ##miniscript 08:24 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 08:24 -!- shesek [~shesek@user/shesek] has joined ##miniscript 08:32 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 08:33 -!- shesek [~shesek@user/shesek] has joined ##miniscript 08:49 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 08:50 -!- shesek [~shesek@user/shesek] has joined ##miniscript 09:13 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 09:14 -!- shesek [~shesek@user/shesek] has joined ##miniscript 09:29 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 09:29 -!- shesek [~shesek@user/shesek] has joined ##miniscript 09:48 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 09:49 -!- shesek [~shesek@user/shesek] has joined ##miniscript 10:46 < jeremyrubin> sanket1729: the code for spend_info is panic'ing for me in WASM 10:46 < jeremyrubin> trying to figure out why 10:46 < jeremyrubin> looking at it generally, it's very bizzare code 10:46 < jeremyrubin> so it probably makes sense to refactor 10:53 < jeremyrubin> one thing that is odd is that it is not exactly "threadgood" -- if multiple readers see it's not initialized, they'll all compute it. 10:54 < jeremyrubin> would be better if they could e.g. do a condvar sleep/awake 10:55 < jeremyrubin> or maybe something with call_once, where they all try to initialize it 10:55 < jeremyrubin> and then it's just a simple mutex.lock().unwrap().expect("If reached initialization completed") 11:03 < jeremyrubin> tr(72cd6e8422c407fb6d098690f1130b7ded7ec2f7f5e1d30bd9d521f015363793,{t:txtmpl(b139afdec37262bcdb45a398b87ed70295d4ad554f9cbbae9d9309536c8d1d71),t:txtmpl(2a6c189f9b560d4c24a2d1940b51570cb2e24e7a4fff8a4aaa7a8b70e9d0788c)})#eswx9dzd 11:04 < jeremyrubin> that's the failing descriptor, and it's failing on 11:04 < jeremyrubin> descriptor.address 11:04 < jeremyrubin> (the txmtmpl part should be irrelevant here) 11:05 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 11:05 -!- shesek [~shesek@user/shesek] has joined ##miniscript 11:25 < jeremyrubin> ok so exact same desc is fine outside of WASM, inside of wasm it fails 11:32 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 11:33 -!- shesek [~shesek@user/shesek] has joined ##miniscript 11:42 < sanket1729> No experience with WASM, but can't really figure out why it panics 11:43 < sanket1729> if multiple readers see it's not initialized, they'll all compute it. Yes, agreed that this is the case, it should not make it panic.. 11:46 < sanket1729> How can I reproduce it? Are you able to do it reproduce it consistently/deterministically? 11:55 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 11:55 -!- shesek [~shesek@user/shesek] has joined ##miniscript 11:59 < jeremyrubin> i can repro it consistently yet 11:59 < jeremyrubin> you should be able to work on sapio master and follow the readme example of 12:00 < jeremyrubin> https://learn.sapio-lang.org/ch01-01-installation.html 12:00 < jeremyrubin> the step "Instantiate a contract from the plugin:" 12:00 < jeremyrubin> (this *is* sapio-miniscript, but it is largely identical) 12:01 < jeremyrubin> I'm trying to figure out how to get patch.crates-io to work [frustrated] so i can modify it and get more useful output 12:01 < jeremyrubin> or get panic info out of wasm (which is also kinda tricky) 12:09 < jeremyrubin> ok i got patching working 12:09 < jeremyrubin> 1 sec.... will bisect for the rrror 12:10 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 12:10 -!- shesek [~shesek@user/shesek] has joined ##miniscript 12:13 < jeremyrubin> the issue is the creation of the secp context 12:13 < jeremyrubin> Interesting 12:14 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 12:14 -!- shesek [~shesek@user/shesek] has joined ##miniscript 12:26 < jeremyrubin> i think rand is getting pulled in and making it panic 12:27 < jeremyrubin> yep that does the trick 12:29 < jeremyrubin> sanket1729: resolved-ish (it would be good to have that static context there) 12:33 < sanket1729> I think we will get static contexts in the rust-secp release. AFAIR there are some upstream libsecp issues to be resolved 12:33 < sanket1729> So, this is unrelated to the mutex? Secp::new() can panic? 12:34 < jeremyrubin> yes, Secp::new() panics if whtever getrand thing it's expecting is not available 12:35 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 12:35 -!- shesek [~shesek@user/shesek] has joined ##miniscript 12:38 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 12:38 -!- shesek [~shesek@user/shesek] has joined ##miniscript 12:57 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 12:58 -!- shesek [~shesek@user/shesek] has joined ##miniscript 13:29 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 13:30 -!- shesek [~shesek@user/shesek] has joined ##miniscript 13:31 < jeremyrubin> hmm another stumper 13:31 < jeremyrubin> "tr(72cd6e8422c407fb6d098690f1130b7ded7ec2f7f5e1d30bd9d521f015363793,{t:txtmpl(b5ee4f63eb6a436fce1c85c9f47a33cc18a383fca14ddd43920d4ed664ab421f),t:txtmpl(74a2d1a36b1afcbc1bb23bbfb6b7b0bd154b723cae803c620c60a7972aee82ac)})#9drqeu2a" 13:32 < jeremyrubin> does that descriptor seem malformed to you? 13:32 < jeremyrubin> it's failing during: let v = Descriptor::::from_str(s)?; 13:33 < jeremyrubin> other than using txtmpl, it seems to be failing during the execution of let top = expression::Tree::from_str(desc_str)?; 13:35 < jeremyrubin> i don't think that the tr descriptor from_str seems correct because the initial from_str on the Tree uses ( delim only 13:36 < jeremyrubin> whereas it should be using { 13:36 < jeremyrubin> this is problematic b/c the descriptor from_str is what gets used during some serializations 13:41 < jeremyrubin> certainly not kosher, but injecting the following to Descriptor from_str fixes the bug 13:41 < jeremyrubin> if s[..2] == *"tr" { 13:41 < jeremyrubin> return Ok(Descriptor::Tr(Tr::::from_str(s)?)); 13:41 < jeremyrubin> } 13:49 < jeremyrubin> i opened a PR for this... not sure if it would be better to just try parsing as a Tr first, and then if fails backing up to legacy? 13:49 < jeremyrubin> (i improved it to 'tr(') 14:11 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 14:11 -!- shesek [~shesek@user/shesek] has joined ##miniscript 14:36 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 14:37 -!- shesek [~shesek@user/shesek] has joined ##miniscript 14:53 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 14:54 -!- shesek [~shesek@user/shesek] has joined ##miniscript 15:24 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 15:24 -!- shesek [~shesek@user/shesek] has joined ##miniscript 15:38 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 15:38 -!- shesek [~shesek@user/shesek] has joined ##miniscript 15:45 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 15:45 -!- shesek [~shesek@user/shesek] has joined ##miniscript 15:59 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 16:00 -!- shesek [~shesek@user/shesek] has joined ##miniscript 16:10 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 16:10 -!- shesek [~shesek@user/shesek] has joined ##miniscript 16:23 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 16:24 -!- shesek [~shesek@user/shesek] has joined ##miniscript 16:32 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 16:32 -!- shesek [~shesek@user/shesek] has joined ##miniscript 16:50 -!- afilini [~afiliniaf@2001:bc8:1828:245::2] has quit [Ping timeout: 260 seconds] 16:50 -!- enick_544 [~afilini-m@2001:bc8:1828:245::2] has quit [Ping timeout: 252 seconds] 16:51 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 16:52 -!- shesek [~shesek@user/shesek] has joined ##miniscript 17:06 -!- enick_544 [~afilini-m@2001:bc8:1828:245::2] has joined ##miniscript 17:06 -!- afilini [~afiliniaf@2001:bc8:1828:245::2] has joined ##miniscript 17:38 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 17:38 -!- shesek [~shesek@user/shesek] has joined ##miniscript 17:49 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 17:49 -!- shesek [~shesek@user/shesek] has joined ##miniscript 18:08 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 18:08 -!- shesek [~shesek@user/shesek] has joined ##miniscript 18:45 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 18:45 -!- shesek [~shesek@user/shesek] has joined ##miniscript 19:04 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 19:05 -!- shesek [~shesek@user/shesek] has joined ##miniscript 19:30 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 19:30 -!- shesek [~shesek@user/shesek] has joined ##miniscript 20:31 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 20:32 -!- shesek [~shesek@user/shesek] has joined ##miniscript 21:06 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 21:06 -!- shesek [~shesek@user/shesek] has joined ##miniscript 22:24 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 22:25 -!- shesek [~shesek@user/shesek] has joined ##miniscript 23:30 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 23:30 -!- shesek [~shesek@user/shesek] has joined ##miniscript --- Log closed Thu Mar 17 00:00:28 2022