1use crate::types::{
5 body::BodyInner,
6 dtos::{LedgerInclusionStateDto, MessageDto, OutputDto, PeerDto, ReceiptDto},
7};
8
9use serde::{Deserialize, Serialize};
10
11#[derive(Clone, Debug, Serialize, Deserialize)]
14pub struct InfoResponse {
15 pub name: String,
16 pub version: String,
17 #[serde(rename = "isHealthy")]
18 pub is_healthy: bool,
19 #[serde(rename = "networkId")]
20 pub network_id: String,
21 #[serde(rename = "bech32HRP")]
22 pub bech32_hrp: String,
23 #[serde(rename = "minPoWScore")]
24 pub min_pow_score: f64,
25 #[serde(rename = "messagesPerSecond")]
26 pub messages_per_second: f64,
27 #[serde(rename = "referencedMessagesPerSecond")]
28 pub referenced_messages_per_second: f64,
29 #[serde(rename = "referencedRate")]
30 pub referenced_rate: f64,
31 #[serde(rename = "latestMilestoneTimestamp")]
32 pub latest_milestone_timestamp: u64,
33 #[serde(rename = "latestMilestoneIndex")]
34 pub latest_milestone_index: u32,
35 #[serde(rename = "confirmedMilestoneIndex")]
36 pub confirmed_milestone_index: u32,
37 #[serde(rename = "pruningIndex")]
38 pub pruning_index: u32,
39 pub features: Vec<String>,
40}
41
42impl BodyInner for InfoResponse {}
43
44#[derive(Clone, Debug, Serialize, Deserialize)]
47pub struct TipsResponse {
48 #[serde(rename = "tipMessageIds")]
49 pub tip_message_ids: Vec<String>,
50}
51
52impl BodyInner for TipsResponse {}
53
54#[derive(Clone, Debug, Serialize, Deserialize)]
57pub struct SubmitMessageResponse {
58 #[serde(rename = "messageId")]
59 pub message_id: String,
60}
61
62impl BodyInner for SubmitMessageResponse {}
63
64#[derive(Clone, Debug, Serialize, Deserialize)]
67pub struct MessagesFindResponse {
68 pub index: String,
69 #[serde(rename = "maxResults")]
70 pub max_results: usize,
71 pub count: usize,
72 #[serde(rename = "messageIds")]
73 pub message_ids: Vec<String>,
74}
75
76impl BodyInner for MessagesFindResponse {}
77
78#[derive(Clone, Debug, Serialize, Deserialize)]
81pub struct MessageResponse(pub MessageDto);
82
83impl BodyInner for MessageResponse {}
84
85#[derive(Clone, Debug, Serialize, Deserialize)]
88pub struct MessageMetadataResponse {
89 #[serde(rename = "messageId")]
90 pub message_id: String,
91 #[serde(rename = "parentMessageIds")]
92 pub parent_message_ids: Vec<String>,
93 #[serde(rename = "isSolid")]
94 pub is_solid: bool,
95 #[serde(rename = "referencedByMilestoneIndex", skip_serializing_if = "Option::is_none")]
96 pub referenced_by_milestone_index: Option<u32>,
97 #[serde(rename = "milestoneIndex", skip_serializing_if = "Option::is_none")]
98 pub milestone_index: Option<u32>,
99 #[serde(rename = "ledgerInclusionState", skip_serializing_if = "Option::is_none")]
100 pub ledger_inclusion_state: Option<LedgerInclusionStateDto>,
101 #[serde(rename = "conflictReason", skip_serializing_if = "Option::is_none")]
102 pub conflict_reason: Option<u8>,
103 #[serde(rename = "shouldPromote", skip_serializing_if = "Option::is_none")]
104 pub should_promote: Option<bool>,
105 #[serde(rename = "shouldReattach", skip_serializing_if = "Option::is_none")]
106 pub should_reattach: Option<bool>,
107}
108
109impl BodyInner for MessageMetadataResponse {}
110
111#[derive(Clone, Debug, Serialize, Deserialize)]
114pub struct MessageChildrenResponse {
115 #[serde(rename = "messageId")]
116 pub message_id: String,
117 #[serde(rename = "maxResults")]
118 pub max_results: usize,
119 pub count: usize,
120 #[serde(rename = "childrenMessageIds")]
121 pub children_message_ids: Vec<String>,
122}
123
124impl BodyInner for MessageChildrenResponse {}
125
126#[derive(Clone, Debug, Serialize, Deserialize)]
129pub struct OutputResponse {
130 #[serde(rename = "messageId")]
131 pub message_id: String,
132 #[serde(rename = "transactionId")]
133 pub transaction_id: String,
134 #[serde(rename = "outputIndex")]
135 pub output_index: u16,
136 #[serde(rename = "isSpent")]
137 pub is_spent: bool,
138 pub output: OutputDto,
139 #[serde(rename = "ledgerIndex", default)]
140 pub ledger_index: u32,
141}
142
143impl BodyInner for OutputResponse {}
144
145#[derive(Clone, Debug, Serialize, Deserialize)]
148pub struct BalanceAddressResponse {
149 #[serde(rename = "addressType")]
150 pub address_type: u8,
151 pub address: String,
152 pub balance: u64,
153 #[serde(rename = "dustAllowed")]
154 pub dust_allowed: bool,
155 #[serde(rename = "ledgerIndex", default)]
156 pub ledger_index: u32,
157}
158
159impl BodyInner for BalanceAddressResponse {}
160
161#[derive(Clone, Debug, Serialize, Deserialize)]
164pub struct OutputsAddressResponse {
165 #[serde(rename = "addressType")]
166 pub address_type: u8,
167 pub address: String,
168 #[serde(rename = "maxResults")]
169 pub max_results: usize,
170 pub count: usize,
171 #[serde(rename = "outputIds")]
172 pub output_ids: Vec<String>,
173 #[serde(rename = "ledgerIndex", default)]
174 pub ledger_index: u32,
175}
176
177impl BodyInner for OutputsAddressResponse {}
178
179#[derive(Clone, Debug, Serialize, Deserialize)]
183pub struct ReceiptsResponse {
184 pub receipts: Vec<ReceiptDto>,
185}
186
187impl BodyInner for ReceiptsResponse {}
188
189#[derive(Clone, Debug, Serialize, Deserialize)]
192pub struct TreasuryResponse {
193 #[serde(rename = "milestoneId")]
194 pub milestone_id: String,
195 pub amount: u64,
196}
197
198impl BodyInner for TreasuryResponse {}
199
200#[derive(Clone, Debug, Serialize, Deserialize)]
203pub struct MilestoneResponse {
204 #[serde(rename = "index")]
205 pub milestone_index: u32,
206 #[serde(rename = "messageId")]
207 pub message_id: String,
208 pub timestamp: u64,
209}
210
211impl BodyInner for MilestoneResponse {}
212
213#[derive(Clone, Debug, Serialize, Deserialize)]
216pub struct UtxoChangesResponse {
217 pub index: u32,
218 #[serde(rename = "createdOutputs")]
219 pub created_outputs: Vec<String>,
220 #[serde(rename = "consumedOutputs")]
221 pub consumed_outputs: Vec<String>,
222}
223
224impl BodyInner for UtxoChangesResponse {}
225
226#[derive(Clone, Debug, Serialize, Deserialize)]
229pub struct PeersResponse(pub Vec<PeerDto>);
230
231impl BodyInner for PeersResponse {}
232
233#[derive(Clone, Debug, Serialize, Deserialize)]
236pub struct AddPeerResponse(pub PeerDto);
237
238impl BodyInner for AddPeerResponse {}
239
240#[derive(Clone, Debug, Serialize, Deserialize)]
243pub struct PeerResponse(pub PeerDto);
244
245impl BodyInner for PeerResponse {}
246
247#[derive(Clone, Debug, Serialize, Deserialize)]
250pub struct WhiteFlagResponse {
251 #[serde(rename = "merkleTreeHash")]
252 pub merkle_tree_hash: String,
253}
254
255impl BodyInner for WhiteFlagResponse {}