diff --git a/crates/anychain-kms/src/bip32/extended_key/extended_private_key.rs b/crates/anychain-kms/src/bip32/extended_key/extended_private_key.rs index a3a51f1..6121855 100644 --- a/crates/anychain-kms/src/bip32/extended_key/extended_private_key.rs +++ b/crates/anychain-kms/src/bip32/extended_key/extended_private_key.rs @@ -1,8 +1,7 @@ //! Extended private keys use crate::bip32::{ - ChildNumber, Depth, Error, ExtendedKey, ExtendedKeyAttrs, ExtendedPublicKey, HmacSha512, - KeyFingerprint, Prefix, PrivateKey, PublicKey, Result, KEY_SIZE, + ChildNumber, Depth, Error, ExtendedKey, ExtendedKeyAttrs, ExtendedPublicKey, HmacSha512, KeyFingerprint, Prefix, PrivateKey, PublicKey, Result, XpubEd25519, XpubSecp256k1, KEY_SIZE }; use core::{ fmt::{self, Debug}, @@ -250,4 +249,4 @@ where Err(Error::Crypto) } } -} +} \ No newline at end of file diff --git a/crates/anychain-kms/src/bip32/extended_key/extended_public_key.rs b/crates/anychain-kms/src/bip32/extended_key/extended_public_key.rs index 9ad7f04..8abf36c 100644 --- a/crates/anychain-kms/src/bip32/extended_key/extended_public_key.rs +++ b/crates/anychain-kms/src/bip32/extended_key/extended_public_key.rs @@ -96,7 +96,12 @@ where attrs: self.attrs.clone(), key_bytes: { let mut key_bytes = [0u8; KEY_SIZE + 1]; - key_bytes.copy_from_slice(&self.to_bytes()); + let bytes = self.to_bytes(); + let bytes = match bytes.len() { + KEY_SIZE => [vec![0u8], bytes].concat(), + _ => bytes, + }; + key_bytes.copy_from_slice(&bytes); key_bytes }, } @@ -148,4 +153,4 @@ where Err(Error::Crypto) } } -} +} \ No newline at end of file