penumbra_sdk_asset/asset/
denom.rs1use penumbra_sdk_proto::{penumbra::core::asset::v1 as pb, DomainType};
2use serde::{Deserialize, Serialize};
3#[derive(Serialize, Deserialize, Clone)]
8#[serde(try_from = "pb::Denom", into = "pb::Denom")]
9pub struct Denom {
10 pub denom: String,
11}
12
13impl DomainType for Denom {
14 type Proto = pb::Denom;
15}
16
17impl From<Denom> for pb::Denom {
18 fn from(dn: Denom) -> Self {
19 pb::Denom { denom: dn.denom }
20 }
21}
22
23impl TryFrom<pb::Denom> for Denom {
24 type Error = anyhow::Error;
25
26 fn try_from(value: pb::Denom) -> Result<Self, Self::Error> {
27 Ok(Denom { denom: value.denom })
28 }
29}