blokli_client/api/v1/graphql/
mod.rs1use crate::errors::ErrorKind;
8
9pub mod accounts;
10pub mod balances;
11pub mod channels;
12#[cfg(feature = "curvy")]
13pub mod curvy;
14pub mod graph;
15pub mod info;
16pub mod safe;
17pub mod services;
18pub mod tickets;
19pub mod txs;
20
21#[cynic::schema("blokli")]
22pub(crate) mod schema {}
23
24#[derive(cynic::Enum, Clone, Copy, Debug, PartialEq, Eq)]
31#[allow(clippy::upper_case_acronyms)]
32pub enum Token {
33 #[cynic(rename = "HOPR")]
35 WxHOPR,
36 #[cynic(rename = "XHOPR")]
38 XHOPR,
39 #[cynic(rename = "NATIVE")]
41 Native,
42}
43
44#[derive(cynic::Enum, Clone, Copy, Debug, PartialEq, Eq)]
46pub enum ChannelStatus {
47 #[cynic(rename = "OPEN")]
49 Open,
50 #[cynic(rename = "PENDINGTOCLOSE")]
52 PendingToClose,
53 #[cynic(rename = "CLOSED")]
55 Closed,
56}
57
58#[derive(cynic::Enum, Clone, Copy, Debug, PartialEq, Eq)]
60pub enum ReadinessState {
61 #[cynic(rename = "READY")]
63 Ready,
64 #[cynic(rename = "NOT_READY")]
66 NotReady,
67}
68
69#[derive(cynic::Scalar, Debug, Clone, PartialEq, Eq)]
71pub struct DateTime(pub String);
72
73#[derive(cynic::Scalar, Debug, Clone, PartialEq, Eq)]
75pub struct TokenValueString(pub String);
76
77#[derive(cynic::Scalar, Debug, Clone, PartialEq, Eq)]
79#[cynic(graphql_type = "UInt64")]
80pub struct Uint64(pub String);
81
82#[derive(cynic::Scalar, Debug, Clone, PartialEq, Eq)]
84#[cynic(graphql_type = "UInt256")]
85pub struct Uint256(pub String);
86
87#[derive(cynic::Scalar, Debug, Clone, PartialEq, Eq)]
89pub struct Hex32(pub String);
90
91#[derive(cynic::InlineFragments, Debug)]
92pub enum CountResult {
93 Count(Count),
94 MissingFilterError(MissingFilterError),
95 QueryFailedError(QueryFailedError),
96 #[cynic(fallback)]
97 Unknown,
98}
99
100impl From<CountResult> for Result<u32, crate::errors::BlokliClientError> {
101 fn from(value: CountResult) -> Self {
102 match value {
103 CountResult::Count(count) => Ok(count.count as u32),
104 CountResult::MissingFilterError(e) => Err(e.into()),
105 CountResult::QueryFailedError(e) => Err(e.into()),
106 CountResult::Unknown => Err(ErrorKind::NoData.into()),
107 }
108 }
109}
110
111#[derive(cynic::QueryFragment, Debug)]
113pub struct Count {
114 pub __typename: String,
116 pub count: i32,
118}
119
120#[derive(cynic::QueryFragment, Debug)]
122pub struct QueryFailedError {
123 pub __typename: String,
125 pub message: String,
127 pub code: String,
129}
130
131impl From<QueryFailedError> for crate::errors::BlokliClientError {
132 fn from(value: QueryFailedError) -> Self {
133 ErrorKind::BlokliError {
134 kind: "query failed",
135 code: value.code,
136 message: value.message,
137 }
138 .into()
139 }
140}
141
142#[derive(cynic::QueryFragment, Debug)]
144pub struct MissingFilterError {
145 pub __typename: String,
147 pub code: String,
149 pub message: String,
151}
152
153impl From<MissingFilterError> for crate::errors::BlokliClientError {
154 fn from(value: MissingFilterError) -> Self {
155 ErrorKind::BlokliError {
156 kind: "missing filter",
157 code: value.code,
158 message: value.message,
159 }
160 .into()
161 }
162}
163
164#[derive(cynic::QueryFragment, Debug)]
166pub struct InvalidAddressError {
167 pub __typename: String,
169 pub code: String,
171 pub message: String,
173}
174
175impl From<InvalidAddressError> for crate::errors::BlokliClientError {
176 fn from(value: InvalidAddressError) -> Self {
177 ErrorKind::BlokliError {
178 kind: "invalid address",
179 code: value.code,
180 message: value.message,
181 }
182 .into()
183 }
184}