--- Log opened Fri Oct 01 00:00:23 2021 00:20 -!- jnewbery [~john@user/jnewbery] has joined ##miniscript 00:21 -!- jnewbery_ [~john@user/jnewbery] has quit [Ping timeout: 252 seconds] 00:25 -!- meshcollider [meshcollid@meshcollider.jujube.ircnow.org] has joined ##miniscript 00:32 -!- MatrixBot1234514 [~matrixbot@51.15.54.153] has joined ##miniscript 00:34 -!- MatrixBot1234516 [~matrixbot@51.15.54.153] has quit [Ping timeout: 252 seconds] 02:09 -!- MatrixBot1234510 [~matrixbot@51.15.54.153] has joined ##miniscript 02:12 -!- jnewbery_ [~john@user/jnewbery] has joined ##miniscript 02:14 -!- MatrixBot1234514 [~matrixbot@51.15.54.153] has quit [Ping timeout: 252 seconds] 02:14 -!- jnewbery [~john@user/jnewbery] has quit [Ping timeout: 252 seconds] 04:39 -!- meshcollider [meshcollid@meshcollider.jujube.ircnow.org] has quit [Changing host] 04:39 -!- meshcollider [meshcollid@user/meshcollider] has joined ##miniscript 08:07 < darosior> and_b(and_b(older(1),a:after(1000000000)),s:pk(03cdabb7f2dce7bfbd8a0b9570c6fd1e712e5d64045e9d6b517b3d5072251dc204)) is both "s" and a timelock mix isn't it? 08:08 <@sipa> i'd say so 08:08 < darosior> Both implem don't treat it as such 08:09 < darosior> Here is a repro: 08:09 < darosior> Test("and_b(and_b(older(1),a:after(1000000000)),s:pk(03cdabb7f2dce7bfbd8a0b9570c6fd1e712e5d64045e9d6b517b3d5072251dc204))", "?", TESTMODE_VALID | TESTMODE_NONMAL | TESTMODE_TIMELOCKMIX); 08:11 <@sipa> $ ./miniscript 08:11 <@sipa> and_b(and_b(older(1),a:after(1000000000)),s:pk(A)) 0 scriptlen=48 maxops=8 type=B safe=yes nonmal=yes dissat=unknown input=- output=1 timelock_mix=no miniscript=and_b(and_b(older(1),a:after(1000000000)),s:pk(A)) 08:12 < darosior> It is not caught as a timelock mix, cc sanket1729 08:13 <@sipa> oh, indeed 08:14 < darosior> Oh no we only check for the same type of timelock 08:14 < darosior> relative vs relative and absolute vs absolute 08:15 * darosior hides 08:15 <@sipa> right 08:15 <@sipa> making both after() should trigger timelock mix 09:08 -!- jnewbery_ is now known as jnewbery 14:43 < andytoshi> sanket1729: do you think the extension trait stuff from elements-miniscript could be moved to rust-miniscript? 14:44 < andytoshi> i wonder if there's a way that we could implement elements-miniscript (and jeremyrubin could implement his ctv stuff) without actually needing to fork the library 14:45 < andytoshi> well, there are a few reasons that elements-miniscript needs to be a fork (mainly the distinct Script type) but it would be cool if we could have ~0 diff in the complicated parts of the lib 14:45 < andytoshi> sanket1729: it could also be used for prototyping actual extensions to miniscript ... e.g. you could add an htlc fragment or something 14:47 <@sipa> can't htlcs already be accurately represented? 15:02 < andytoshi> semantically yes 15:03 < andytoshi> but the specific construction in use today, no 15:03 <@sipa> oh, i see 15:03 < andytoshi> i think, this would be useful for something like a block explorer that is just trying to categorize scripts 15:24 < andytoshi> maybe a more realistic "extension" would be petertodd's hash equality checks 15:24 < andytoshi> if petertodd wanted to do that today, he could just write a program depending on rust-miniscript, implement all the types/values for the fragment, and be off to the races 15:25 <@sipa> and then have it fail because the result doesn't have the 's' property :p 15:25 < andytoshi> lol, fair :P 20:39 < sanket_cell> andytoshi: I like the idea. It does make sense have it upstream. It allows users to experiment with custom leaf fragments. 20:39 < sanket_cell> But it increases some code complexity, specifically it adds one more generic to Miniscript struct. 20:45 < sanket_cell> After some thinking, I don't think we should have leaf extensions in rust-miniscript. 20:45 < sanket_cell> We might end up in a situation where people are creating extensions for every special purpose case and have incomplible softwares. 20:47 < sanket_cell> Creating the same problem which miniscript was designed to solve :P 21:07 < sanket_cell> Maybe we can guard it under a feature flag --- Log closed Sat Oct 02 00:00:24 2021