util:🔑 Provide to_bytes() methods for key types

These are mainly utility methods around the existing way to serialize
the key types.
This commit is contained in:
Steven Roose 2019-03-04 20:45:44 +00:00
parent 08c6435eb7
commit 459059622f
No known key found for this signature in database
GPG Key ID: 7FC91380BB4CE800
1 changed files with 12 additions and 0 deletions

View File

@ -44,6 +44,13 @@ impl PublicKey {
debug_assert!(write_res.is_ok());
}
/// Serialize the public key to bytes
pub fn to_bytes(&self) -> Vec<u8> {
let mut buf = Vec::new();
self.write_into(&mut buf);
buf
}
/// Deserialize a public key from a slice
pub fn from_slice(data: &[u8]) -> Result<PublicKey, encode::Error> {
let compressed: bool = match data.len() {
@ -110,6 +117,11 @@ impl PrivateKey {
}
}
/// Serialize the private key to bytes
pub fn to_bytes(&self) -> Vec<u8> {
self.key[..].to_vec()
}
/// Format the private key to WIF format.
pub fn fmt_wif(&self, fmt: &mut fmt::Write) -> fmt::Result {
let mut ret = [0; 34];