tron_api_client/response/
transaction.rs

1#[derive(Default, Debug, Clone, PartialEq, serde_derive::Serialize, serde_derive::Deserialize)]
2#[serde(rename_all = "camelCase")]
3pub struct Transaction {
4    pub ret: Vec<Ret>,
5    pub signature: Vec<String>,
6    #[serde(rename = "txID")]
7    pub tx_id: String,
8    #[serde(rename = "raw_data")]
9    pub raw_data: RawData,
10    #[serde(rename = "raw_data_hex")]
11    pub raw_data_hex: String,
12}
13
14#[derive(Default, Debug, Clone, PartialEq, serde_derive::Serialize, serde_derive::Deserialize)]
15#[serde(rename_all = "camelCase")]
16pub struct Ret {
17    pub contract_ret: String,
18}
19
20#[derive(Default, Debug, Clone, PartialEq, serde_derive::Serialize, serde_derive::Deserialize)]
21#[serde(rename_all = "camelCase")]
22pub struct RawData {
23    pub contract: Vec<Contract>,
24    #[serde(rename = "ref_block_bytes")]
25    pub ref_block_bytes: String,
26    #[serde(rename = "ref_block_hash")]
27    pub ref_block_hash: String,
28    pub expiration: i64,
29    // we need default here because there is one known transaction that does not have the
30    // timestamp field.... WTF
31    // tron get_transaction_by_id 8b8e052a058b228a7aacc24e57bf328096fb6c8878cbd42cb226bf4c626377d8
32    #[serde(default)]
33    pub timestamp: i64,
34}
35
36#[derive(Default, Debug, Clone, PartialEq, serde_derive::Serialize, serde_derive::Deserialize)]
37#[serde(rename_all = "camelCase")]
38pub struct Contract {
39    pub parameter: Parameter,
40    #[serde(rename = "type")]
41    pub type_field: String,
42}
43
44#[derive(Default, Debug, Clone, PartialEq, serde_derive::Serialize, serde_derive::Deserialize)]
45#[serde(rename_all = "camelCase")]
46pub struct Parameter {
47    pub value: Value,
48    #[serde(rename = "type_url")]
49    pub type_url: String,
50}
51
52#[derive(Default, Debug, Clone, PartialEq, serde_derive::Serialize, serde_derive::Deserialize)]
53#[serde(rename_all = "camelCase")]
54pub struct Value {
55    pub data: Option<String>,
56    #[serde(rename = "owner_address")]
57    pub owner_address: String,
58    #[serde(rename = "contract_address")]
59    pub contract_address: Option<String>,
60    #[serde(rename = "call_value")]
61    pub call_value: Option<i64>,
62    pub amount: Option<i64>,
63    #[serde(rename = "asset_name")]
64    pub asset_name: Option<String>,
65    #[serde(rename = "to_address")]
66    pub to_address: Option<String>,
67}