multiversx_sc_meta_lib/abi_json/
esdt_attribute_json.rs

1use multiversx_sc::abi::{EsdtAttributeAbi, TypeName};
2use serde::{Deserialize, Serialize};
3
4#[derive(Serialize, Deserialize)]
5pub struct EsdtAttributeJson {
6    pub ticker: String,
7    #[serde(rename = "type")]
8    pub ty: TypeName,
9}
10
11impl From<&EsdtAttributeAbi> for EsdtAttributeJson {
12    fn from(attr: &EsdtAttributeAbi) -> Self {
13        EsdtAttributeJson {
14            ticker: attr.ticker.to_owned(),
15            ty: attr.ty.clone(),
16        }
17    }
18}
19
20impl From<&EsdtAttributeJson> for EsdtAttributeAbi {
21    fn from(attr: &EsdtAttributeJson) -> Self {
22        EsdtAttributeAbi {
23            ticker: attr.ticker.to_owned(),
24            ty: attr.ty.clone(),
25            type_descriptions: Default::default(),
26        }
27    }
28}
29
30impl From<EsdtAttributeJson> for EsdtAttributeAbi {
31    fn from(attr: EsdtAttributeJson) -> Self {
32        EsdtAttributeAbi::from(&attr)
33    }
34}