--- Day changed Thu Aug 09 2018 01:39 < dongcarl> Rebasing PSBT code now... I make two type aliases in my code... pub type DerivationPath = Vec; and pub type ScriptWitness = Vec>; I believe that the first one can be eliminated as Vec is self-explanatory, but I'm not sure that the ScriptWitness one is... Esp in contexts like: impl FooTrait for Vec>... where there are no clues as to what Vec> is 01:39 < dongcarl> supposed to represent 01:40 < dongcarl> What do you all think should be done? I think if we keep it, it should not be in my module but in blockdata somewhere... But I'm happy to just eliminate the type alias as well... 01:45 < dongcarl> Seems like in Core, CScriptWitness is just a Vec> 04:03 < dongcarl> andytoshi: upon closer reading of sipa's gist, it seems like we need to support a KeyAtom being either: 1. a normal key 2. a xpub with optional path 3. an xpub with a path ending in a wildcard 4. a BIP44 change chain... 04:03 < dongcarl> (not sure about the name KeyAtom myself btw) 04:03 < dongcarl> So it seems like this'll be a little more complicated... will talk to him 07:06 < dongcarl> Upon further reading of https://gist.github.com/sipa/e3d23d498c430bb601c5bca83523fa82, I came up with this: https://pastebin.com/6VpMvKZU 07:07 < dongcarl> KeyDescriptor will be how keys are represented in Descriptors 07:07 < dongcarl> andytoshi: Lmk if that looks to be correct 07:08 < dongcarl> (It also eliminates the need for fancy traits... which is nice) 12:54 < andytoshi> dongcarl: i need a trait 12:54 < andytoshi> liquid will need to understand that functionary keys are different from fixed keys 12:54 < andytoshi> please don't fix the kind of things that our users are allowed to use as keys 12:55 < andytoshi> aside from my specific use case, it will also make it very hard to split contracthash out from rust-bitcoin 12:56 < andytoshi> (actually the descriptor stuff itself will probably come out of rust-bitcoin too, it's gotten pretty involved for a submodule of script) 14:45 -!- schmidty [~schmidty@unaffiliated/schmidty] has quit [Remote host closed the connection] 18:38 -!- treyzania [~treyzania@paphos.tr3y.io] has quit [Ping timeout: 248 seconds] 18:43 -!- treyzania [~treyzania@paphos.tr3y.io] has joined #rust-bitcoin 19:02 -!- schmidty [~schmidty@unaffiliated/schmidty] has joined #rust-bitcoin 22:56 < dongcarl> andytoshi: From the gist, will the key origin identification information also apply to functionary keys, etc? 22:57 < dongcarl> I'm trying to determine whether or not to make key origin identification information part of the trait definition 23:19 < andytoshi> dongcarl: i don't think so 23:19 < andytoshi> the descriptor stuff doesn't need to know that, it just needs to know how to get a pubkey from it 23:55 < andytoshi> dongcarl: if it's impractical to make a trait (it might be, i was thinking abotu this while on a walk today) you can make it an enum 23:56 < andytoshi> i think maybe we'll split the descriptor stuff into a second library which also supports contract hashes 23:56 < andytoshi> i guess it'd be a dev-dependency on rust-bitcoin, so that we can keep PSBT in rust-bitcoin but still test it using the descriptor stuff