From f0510a0dd11b3d709e89eca6dfe3615571f680a7 Mon Sep 17 00:00:00 2001 From: G8XSU <3442979+G8XSU@users.noreply.github.com> Date: Thu, 17 Oct 2024 01:17:24 -0700 Subject: [PATCH] fixup! Use KeyObfuscator in VssStore. --- src/io/vss_store.rs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/io/vss_store.rs b/src/io/vss_store.rs index 4be37d524..c750124eb 100644 --- a/src/io/vss_store.rs +++ b/src/io/vss_store.rs @@ -47,7 +47,11 @@ pub struct VssStore { storable_builder: StorableBuilder, key_obfuscator: KeyObfuscator, } + +// Used to derive `data_encryption_key` from `vss_seed`, which is then used by the `StorableBuilder`. const DATA_ENCRYPTION_KEY_DERIVATION_INDEX: u32 = 1; + +// Used to derive `obfuscation_master_key` from `vss_seed`, which is then used by the `KeyObfuscator`. const OBFUSCATION_KEY_DERIVATION_INDEX: u32 = 2; impl VssStore { @@ -56,7 +60,11 @@ impl VssStore { header_provider: Arc, ) -> io::Result { let runtime = tokio::runtime::Builder::new_multi_thread().enable_all().build()?; - let vss_master_xprv = Xpriv::new_master(Network::Bitcoin, &vss_seed).unwrap(); + // The selected bitcoin network doesn't matter here. + let vss_master_xprv = Xpriv::new_master(Network::Bitcoin, &vss_seed).map_err(|e| { + let msg = format!("Failed to create Vss master key, error: {}", e); + io::Error::new(ErrorKind::Other, msg) + })?; let data_encryption_key = derive_hardened_key(&vss_master_xprv, DATA_ENCRYPTION_KEY_DERIVATION_INDEX)?; let obfuscation_master_key =