solscan_api/structs/
spl_transfer.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Serialize, Deserialize)]
4pub struct SplTransfer {
5 pub total: Option<i64>,
6 pub data: Option<Vec<Datum>>,
7}
8
9#[derive(Debug, Serialize, Deserialize)]
10pub struct Datum {
11 #[serde(rename = "_id")]
12 pub id: Option<String>,
13 pub address: Option<String>,
14 pub signature: Option<Vec<String>>,
15 #[serde(rename = "changeType")]
16 pub change_type: Option<ChangeType>,
17 pub decimals: Option<i64>,
18 #[serde(rename = "changeAmount")]
19 pub change_amount: Option<ChangeAmount>,
20 #[serde(rename = "postBalance")]
21 pub post_balance: Option<String>,
22 #[serde(rename = "preBalance")]
23 pub pre_balance: Option<ChangeAmount>,
24 #[serde(rename = "tokenAddress")]
25 pub token_address: Option<String>,
26 #[serde(rename = "blockTime")]
27 pub block_time: Option<i64>,
28 pub slot: Option<i64>,
29 pub fee: Option<i64>,
30 pub owner: Option<String>,
31 pub balance: Option<Balance>,
32 #[serde(skip_serializing_if = "Option::is_none")]
33 pub symbol: Option<String>,
34}
35
36#[derive(Debug, Serialize, Deserialize)]
37pub struct Balance {
38 pub amount: Option<String>,
39 pub decimals: Option<i64>,
40}
41
42#[derive(Debug, Serialize, Deserialize)]
43#[serde(untagged)]
44pub enum ChangeAmount {
45 Integer(i64),
46 String(String),
47}
48
49#[derive(Debug, Serialize, Deserialize)]
50pub enum ChangeType {
51 #[serde(rename = "dec")]
52 Dec,
53 #[serde(rename = "inc")]
54 Inc,
55}