tron_api_client/response/
tron_contract.rs1#[derive(Default, Debug, Clone, PartialEq, serde_derive::Serialize, serde_derive::Deserialize)]
2#[serde(rename_all = "camelCase")]
3pub struct Contract {
4 pub bytecode: String,
5 #[serde(rename = "consume_user_resource_percent")]
6 pub consume_user_resource_percent: i64,
7 #[serde(default)]
8 pub name: String,
9 #[serde(rename = "origin_address")]
10 pub origin_address: String,
11 pub abi: Abi,
12 #[serde(rename = "origin_energy_limit")]
13 pub origin_energy_limit: i64,
14 #[serde(rename = "contract_address")]
15 pub contract_address: String,
16}
17
18#[derive(Default, Debug, Clone, PartialEq, serde_derive::Serialize, serde_derive::Deserialize)]
19#[serde(rename_all = "camelCase")]
20pub struct Abi {
21 pub entrys: Vec<Entry>,
22}
23
24#[derive(Debug, Clone, PartialEq, serde_derive::Serialize, serde_derive::Deserialize)]
25#[serde(tag = "type")]
26pub enum Entry {
27 #[serde(rename_all = "camelCase")]
28 Function {
29 #[serde(default)]
31 outputs: Vec<Output>,
32 #[serde(default)]
33 constant: bool,
34 name: String,
35 #[serde(default)]
37 inputs: Vec<Input>,
38 },
39 #[serde(rename_all = "camelCase")]
40 Constructor {
41 state_mutability: String,
42 #[serde(default)]
43 inputs: Vec<Input>,
44 },
45 Event {
46 name: String,
47 #[serde(default)]
48 inputs: Vec<Input>,
49 },
50}
51
52#[derive(Default, Debug, Clone, PartialEq, serde_derive::Serialize, serde_derive::Deserialize)]
53#[serde(rename_all = "camelCase")]
54pub struct Output {
55 #[serde(rename = "type")]
56 pub type_field: String,
57 pub name: Option<String>,
58}
59
60#[derive(Default, Debug, Clone, PartialEq, serde_derive::Serialize, serde_derive::Deserialize)]
61#[serde(rename_all = "camelCase")]
62pub struct Input {
63 #[serde(default)]
64 pub name: String,
65 #[serde(rename = "type")]
66 pub type_field: String,
67 #[serde(default)]
68 pub indexed: bool,
69}