Skip to main content

chain_registry/
assets.rs

1/// Contains models for serializing and deserializing `assets.json` for a given chain
2use serde::{Deserialize, Serialize};
3
4#[derive(Clone, Debug, Default, Deserialize, Serialize)]
5#[serde(default)]
6pub struct AssetList {
7    pub chain_name: String,
8    pub assets: Vec<Asset>,
9}
10
11#[derive(Clone, Debug, Default, Deserialize, Serialize)]
12#[serde(default)]
13pub struct Asset {
14    pub description: String,
15    pub denom_units: Vec<DenomUnit>,
16    pub base: String,
17    pub name: String,
18    pub display: String,
19    pub symbol: String,
20    #[serde(rename = "logo_URIs")]
21    pub logo_uris: LogoURIs,
22    pub coingecko_id: String,
23}
24
25#[derive(Clone, Debug, Default, Deserialize, Serialize)]
26#[serde(default)]
27pub struct DenomUnit {
28    pub denom: String,
29    pub exponent: u16,
30}
31
32#[derive(Clone, Debug, Default, Deserialize, Serialize)]
33#[serde(default)]
34pub struct LogoURIs {
35    pub png: String,
36    pub svg: String,
37}