hopr_db_entity/conversions/
account.rs1use std::str::FromStr;
2
3use hopr_crypto_types::types::OffchainPublicKey;
4use hopr_primitive_types::{primitives::Address, traits::ToHex};
5
6impl TryFrom<crate::codegen::sqlite::account::Model> for Address {
7 type Error = crate::errors::DbEntityError;
8
9 fn try_from(value: crate::codegen::sqlite::account::Model) -> std::result::Result<Self, Self::Error> {
10 Ok(Address::from_str(&value.chain_key).map_err(|e| Self::Error::ConversionError(format!("{e}")))?)
11 }
12}
13
14impl TryFrom<crate::codegen::sqlite::account::Model> for OffchainPublicKey {
15 type Error = crate::errors::DbEntityError;
16
17 fn try_from(value: crate::codegen::sqlite::account::Model) -> std::result::Result<Self, Self::Error> {
18 Ok(OffchainPublicKey::from_hex(&value.packet_key).map_err(|e| Self::Error::ConversionError(format!("{e}")))?)
19 }
20}