1use alloy_primitives::{Address, TxHash, U256};
2use serde::{Deserialize, Serialize};
3
4#[derive(Debug, Clone, Serialize, Deserialize)]
6pub struct TokenBalance {
7 pub token_address: Address,
8 pub token_id: U256,
9 pub token_owner: Address,
10 pub token_type: String,
11 pub version: u32,
12 pub atto_circles: U256,
13 pub circles: f64,
14 pub static_atto_circles: U256,
15 pub static_circles: f64,
16 pub atto_crc: U256,
17 pub crc: f64,
18 pub is_erc20: bool,
19 pub is_erc1155: bool,
20 pub is_wrapped: bool,
21 pub is_inflationary: bool,
22 pub is_group: bool,
23}
24
25#[derive(Debug, Clone, Serialize, Deserialize)]
27pub struct TokenInfo {
28 pub block_number: u64,
29 pub timestamp: u64,
30 pub transaction_index: u32,
31 pub log_index: u32,
32 pub transaction_hash: TxHash,
33 pub version: u32,
34 #[serde(rename = "type")]
35 pub info_type: Option<String>,
36 pub token_type: String,
37 pub token: Address,
38 pub token_owner: Address,
39}
40
41#[derive(Debug, Clone, Serialize, Deserialize)]
43pub struct TokenHolder {
44 pub account: Address,
45 pub token_address: Address,
46 pub demurraged_total_balance: String,
47}