add traits to ecashcredential

This commit is contained in:
Simon Wicky
2023-10-27 09:32:53 +02:00
committed by durch
parent 56d36974fa
commit cece0bb80e
3 changed files with 18 additions and 0 deletions
@@ -1,4 +1,5 @@
use crate::scheme::withdrawal::WithdrawalRequest;
use crate::scheme::EcashCredential;
use crate::traits::Bytable;
macro_rules! impl_clone {
@@ -12,3 +13,4 @@ macro_rules! impl_clone {
}
impl_clone!(WithdrawalRequest);
impl_clone!(EcashCredential);
@@ -1,4 +1,6 @@
use crate::scheme::EcashCredential;
use crate::traits::Base58;
use crate::VerificationKeyAuth;
use serde::de::Unexpected;
use serde::{de::Error, de::Visitor, Deserialize, Deserializer, Serialize, Serializer};
use std::fmt;
@@ -45,3 +47,5 @@ macro_rules! impl_serde {
}
impl_serde!(WithdrawalRequest, V1);
impl_serde!(EcashCredential, V2);
impl_serde!(VerificationKeyAuth, V3);
@@ -702,3 +702,15 @@ impl TryFrom<&[u8]> for EcashCredential {
})
}
}
impl Bytable for EcashCredential {
fn to_byte_vec(&self) -> Vec<u8> {
self.to_bytes().to_vec()
}
fn try_from_byte_slice(slice: &[u8]) -> std::result::Result<Self, CompactEcashError> {
Self::try_from(slice)
}
}
impl Base58 for EcashCredential {}