--- Log opened Thu Jul 16 00:00:23 2020 00:04 -!- jonatack [~jon@37.167.48.219] has joined ##hwi 00:15 -!- provoostenator [~quassel@provoostenator.sprovoost.nl] has quit [Remote host closed the connection] 00:16 -!- provoostenator [~quassel@provoostenator.sprovoost.nl] has joined ##hwi 01:30 -!- jonatack [~jon@37.167.48.219] has quit [Ping timeout: 265 seconds] 03:31 -!- jonatack [~jon@37.167.121.211] has joined ##hwi 04:09 -!- jonatack [~jon@37.167.121.211] has quit [Read error: Connection reset by peer] 04:14 -!- benma [~benma@unaffiliated/benma] has joined ##hwi 04:19 < benma> Hello all. I am working on the BitBox02 integration into HWI. The BitBox02 is pretty restrictive with keypaths, e.g. it only accepts m/49'/... for p2wpkh-p2sh, m/84'/... for p2wpkh, and m/48'/.../2' for p2wsh multisig. There are a few keypaths that HWI takes for granted, e.g. 04:19 < benma> https://github.com/bitcoin-core/HWI/blob/43b0e8ecb59c97cf5eb84301dca901af18895987/hwilib/commands.py#L210 -> m/44' for p2pkh 04:20 < benma> Any recommendations on how to deal with this? Are all descriptors required? 04:21 < benma> @achow101 04:22 < benma> achow101 also related, why does get_master_fingerprint_hex take the xpub at m/0h and not at m/? (BitBox02 does not support fetching m/0h) 04:30 -!- ghost43 [~daer@gateway/tor-sasl/daer] has quit [Remote host closed the connection] 04:30 -!- jb55 [~jb55@gateway/tor-sasl/jb55] has quit [Write error: Connection reset by peer] 04:32 -!- jb55 [~jb55@gateway/tor-sasl/jb55] has joined ##hwi 04:32 -!- ghost43 [~daer@gateway/tor-sasl/daer] has joined ##hwi 04:46 -!- jonatack [~jon@2a01:e0a:53c:a200:bb54:3be5:c3d0:9ce5] has joined ##hwi 05:42 < provoostenator> benma: that's a good question. Looks like achow101 changed that here, but it's unclear why: https://github.com/bitcoin-core/HWI/pull/12/commits/f1336412b06dca84df25ec240c88d28bfd67cc09 05:44 < provoostenator> I guess this is part of the reason: "Otherwise wallets which do not support fetching the master pubkey or its id will not work." 05:44 < provoostenator> But a non-hardened derivation might have been a better choice. 05:45 < provoostenator> Since some devices can unlock in read-only mode. 05:47 -!- ghost43 [~daer@gateway/tor-sasl/daer] has quit [Remote host closed the connection] 05:47 -!- ghost43 [~daer@gateway/tor-sasl/daer] has joined ##hwi 05:49 < benma> thanks provoostenator. what is the fingerprint used for exactly? if just as a soft ID, a method `get_soft_id()` would be better. The BitBox02 can for example retrieve the fingerprint at `m/`. 05:52 < provoostenator> It's used in descriptors to identify the device 05:53 < provoostenator> So it would be (mildly) annoying if, when you recover your seed on another device, the same wallet doesn't work. 05:54 < benma> in that case i can just override that method. The fingerprint is also mention in https://github.com/bitcoin/bips/blob/master/bip-0174.mediawiki, which is why it is a bit confusing. 05:54 < provoostenator> BIP32 doesn't specificy what derivation a fingerprint should come from, so other than the issue of swithcing devices, it doesn't matter. 05:54 < benma> good point about recovering on a different device 05:57 < benma> aah hang on, the fingerprint at m/0' is the parent fingerprint, so the fingerprint at m/. maybe it will work out just fine like it is 06:08 < provoostenator> In other words m/0 has the same fingerprint as m/0h ? 06:12 < benma> provoostenator yes, but to be clear, it's the parent fingerprint 06:13 < benma> using m/0h might have been a workaround to make it work on e.g. the bitbox01, which does not allow fetching the xpub at m/ or at keypaths with no hardened elements 06:35 < provoostenator> Ok, but if it was a BitBox1 workaround, I suggest we change the default, and only have BitBox1 use the hardened variant. 06:35 < provoostenator> Because in general I think a read-only mode is useful. 06:35 < provoostenator> (as in a non-private key access mode) 06:37 < provoostenator> Although in practice you need private keys for most useful operations, like deriving account xpubs 07:37 -!- Davterra [~tralfaz@104.200.129.62] has joined ##hwi 07:56 -!- Netsplit *.net <-> *.split quits: meshcollider, instagibbs 07:57 -!- Netsplit over, joins: instagibbs, meshcollider 08:09 < achow101> benma: the fingerprint is specified by BIP 32 08:10 < achow101> each xpub contains the fingerprint of the parent key. so m/0h is used to extract the fingerprint for m/ because a lot of devices don't let you fetch m/ 08:10 < achow101> if you can get m/ you can compute the fingerprint manually by hashing it 08:10 < achow101> this is a general workaround for basically all devices 08:12 < achow101> benma: I suppose all descriptors aren't required, but it is a bit ugly to have a device specific thing in what is supposed to be a generic function 09:30 -!- benma [~benma@unaffiliated/benma] has quit [Ping timeout: 260 seconds] 10:04 -!- jonatack [~jon@2a01:e0a:53c:a200:bb54:3be5:c3d0:9ce5] has quit [Quit: jonatack] 10:11 -!- jonatack [~jon@2a01:e0a:53c:a200:bb54:3be5:c3d0:9ce5] has joined ##hwi 11:42 -!- jonatack [~jon@2a01:e0a:53c:a200:bb54:3be5:c3d0:9ce5] has quit [Ping timeout: 260 seconds] 11:46 -!- jonatack [~jon@2a01:e0a:53c:a200:bb54:3be5:c3d0:9ce5] has joined ##hwi 12:08 -!- jnewbery [~john@164.90.178.190] has quit [Quit: Lost terminal] 12:08 -!- jnewbery [~john@164.90.178.190] has joined ##hwi 16:16 -!- Netsplit *.net <-> *.split quits: meshcollider, instagibbs 16:22 -!- instagibbs [~instagibb@pool-71-178-191-230.washdc.fios.verizon.net] has joined ##hwi 16:22 -!- meshcollider [meshcollid@gateway/shell/ircnow/x-otyqznegmsqkmiol] has joined ##hwi --- Log closed Fri Jul 17 00:00:22 2020