ic_query/sns/report/model/reports/
token.rs1use crate::icrc::IcrcMetadataValueKind;
8use serde::Serialize;
9use serde_json::Value as JsonValue;
10
11#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
18pub struct SnsTokenReport {
19 pub schema_version: u32,
20 pub network: String,
21 pub sns_wasm_canister_id: String,
22 pub fetched_at: String,
23 pub source_endpoint: String,
24 pub fetched_by: String,
25 pub id: usize,
26 pub name: String,
27 pub root_canister_id: String,
28 pub ledger_canister_id: String,
29 pub sns_index_canister_id: String,
30 pub token_name: String,
31 pub token_symbol: String,
32 pub decimals: u8,
33 pub transfer_fee: String,
34 pub total_supply: String,
35 pub minting_account_owner: Option<String>,
36 pub minting_account_subaccount_hex: Option<String>,
37 pub ledger_index_canister_id: Option<String>,
38 pub ledger_index_error: Option<String>,
39 pub supported_standards: Vec<SnsTokenStandardRow>,
40 pub metadata: Vec<SnsTokenMetadataRow>,
41}
42
43#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
50pub struct SnsTokenStandardRow {
51 pub name: String,
52 pub url: String,
53}
54
55#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
62pub struct SnsTokenMetadataRow {
63 pub key: String,
64 pub value_type: IcrcMetadataValueKind,
65 pub value: JsonValue,
66}