--- Log opened Thu Jan 30 00:00:24 2020 01:28 -!- jeremyrubin [~jr@c-67-180-60-249.hsd1.ca.comcast.net] has quit [Ping timeout: 240 seconds] 02:34 -!- jonatack [~jon@2a01:e0a:53c:a200:bb54:3be5:c3d0:9ce5] has quit [Ping timeout: 246 seconds] 03:40 -!- jonatack [~jon@109.202.103.170] has joined ##ctv-bip-review 04:40 -!- jonatack [~jon@109.202.103.170] has quit [Ping timeout: 246 seconds] 04:42 -!- jonatack [~jon@54.76.13.109.rev.sfr.net] has joined ##ctv-bip-review 07:49 -!- jonatack [~jon@54.76.13.109.rev.sfr.net] has quit [Ping timeout: 268 seconds] 08:20 < bsm1175321> jeremyrubin: how about one on deleted key, and another presentation on general key management for this kind of setup? 08:20 < bsm1175321> I can throw together the latter... 08:47 -!- jonatack [~jon@2a01:e0a:53c:a200:bb54:3be5:c3d0:9ce5] has joined ##ctv-bip-review 09:23 < bsm1175321> jeremyrubin: what's the latest branch to use for your code? Your sites point to a securethebag implementation. 10:24 -!- jonatack [~jon@2a01:e0a:53c:a200:bb54:3be5:c3d0:9ce5] has quit [Ping timeout: 248 seconds] 10:32 -!- jeremyrubin [~jr@c-67-180-60-249.hsd1.ca.comcast.net] has joined ##ctv-bip-review 10:55 -!- jonatack [~jon@2a01:e0a:53c:a200:bb54:3be5:c3d0:9ce5] has joined ##ctv-bip-review 11:01 < jeremyrubin> sorry we've been having internet outage all morning 11:01 < jeremyrubin> I still don't know what you mean by "key management" 11:01 < jeremyrubin> But maybe there's something I'm missing 11:01 < jeremyrubin> Sorry for having many branches 11:02 < jeremyrubin> I need to update the site on that article... content management.... 11:02 < jeremyrubin> https://github.com/bitcoin/bips/blob/master/bip-0119.mediawiki 11:02 < jeremyrubin> reference here 11:03 < jeremyrubin> https://github.com/JeremyRubin/bitcoin/tree/checktemplateverify 11:03 < jeremyrubin> If you want to look at RPCs I have a WIP branch with some stuff https://github.com/JeremyRubin/bitcoin/tree/checktemplateverify-v2-rpcs-rb 12:41 < bsm1175321> Well we'll have lots of time to talk ;-) 15:50 < jeremyrubin> FYI https://twitter.com/JeremyRubin/status/1223027713440567296 15:50 < jeremyrubin> the best way to do multi path CTV is 15:50 < jeremyrubin> ... OP_ROLL OP_ROLL OP_CTV 15:54 < jeremyrubin> If you're in SEGWIT land I think unfortunately you need to then follow it by a bunch of OP_DROPs. But it's still on good standing compared to OP_IF I think? 16:39 < harding> Segwit would need the drops because of the cleanstack rule? 16:43 < jeremyrubin> yeah 16:43 < jeremyrubin> But you can use OP_2DROP 16:44 < jeremyrubin> still comes out ahead of OP_IFs I think 16:44 < jeremyrubin> I think with OP_IF you end up passing in N bytes and then having OP_IF ... OP_ELSE ... OP_ENDIF nested 16:45 < jeremyrubin> so it's 1+ 3/2 bytes per branch? v.s. a fixed script + N/2 drops 22:47 < kanzure> jeremyrubin: okay so... i have a tree of planned transactions, but to bake the StandardTemplateHash values, i need txids for the inputs spending the parent transactions.. but those txids can't be computed until i know the StandardTemplateHash values in their UTXOs that i am spending. and i can't know the StandardTemplateHash values until i know the txids for the inputs in the child ... 22:47 < kanzure> ...transactions. 22:48 < kanzure> how is this supposed to work..? 22:53 < kanzure> oh, we don't commit to the exact inputs? 22:53 < kanzure> wat 22:53 < kanzure> ok fine 23:19 < jeremyrubin> yep 23:19 < jeremyrubin> If you look at the rpcs WIP branch 23:19 < jeremyrubin> you could *probably* just port the create_ctv_vault code to python 23:20 < jeremyrubin> but it's valuable also for you to *not* look at that too much so the approaches are diverse :) 23:20 < jeremyrubin> In any case, however you do it, you basically need to implement a 2 pass compiler 23:21 < jeremyrubin> pass one goes bottom up 23:21 < jeremyrubin> figuring out the template hashes 23:21 < jeremyrubin> pass two goes top down, filling in txids 23:21 < jeremyrubin> you can think of it like a compiler and linker 23:22 < kanzure> my implementation is basically "done" minus last minute bugs that stop anything from being valid 23:22 < jeremyrubin> cool 23:22 < kanzure> at the very least i have some practical application integration perspective now. 23:22 < jeremyrubin> I also have some of this logic in python in the tests 23:22 < jeremyrubin> but i hate that code as it's gross --- Log closed Fri Jan 31 00:00:25 2020