1#[derive(serde::Serialize, serde::Deserialize, schemars::JsonSchema)]
4#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
5pub struct BlsPublicKey {
6 #[prost(string, tag = "1")]
7 pub key: ::prost::alloc::string::String,
8}
9#[derive(serde::Serialize, serde::Deserialize, schemars::JsonSchema)]
11#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
12pub struct SchnorrPublicKey {
13 #[prost(string, tag = "1")]
14 pub key: ::prost::alloc::string::String,
15}
16#[derive(serde::Serialize, serde::Deserialize, schemars::JsonSchema)]
18#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
19pub struct NetAddr {
20 #[prost(oneof = "net_addr::AddrType", tags = "1, 2")]
21 pub addr_type: ::core::option::Option<net_addr::AddrType>,
22}
23pub mod net_addr {
25 #[derive(serde::Serialize, serde::Deserialize, schemars::JsonSchema)]
26 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
27 pub enum AddrType {
28 #[prost(message, tag = "1")]
29 Inet(super::InetAddr),
30 #[prost(message, tag = "2")]
31 Name(super::NameAddr),
32 }
33}
34#[derive(serde::Serialize, serde::Deserialize, schemars::JsonSchema)]
40#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
41pub struct InetAddr {
42 #[prost(string, tag = "1")]
43 pub host: ::prost::alloc::string::String,
44 #[prost(uint32, tag = "2")]
45 pub port: u32,
46}
47#[derive(serde::Serialize, serde::Deserialize, schemars::JsonSchema)]
49#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
50pub struct NameAddr {
51 #[prost(string, tag = "1")]
53 pub name: ::prost::alloc::string::String,
54 #[prost(uint32, tag = "2")]
55 pub port: u32,
56}
57#[derive(serde::Serialize, serde::Deserialize, schemars::JsonSchema)]
59#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
60pub struct StakeTableEntry {
61 #[prost(message, optional, tag = "1")]
63 pub stake_key: ::core::option::Option<BlsPublicKey>,
64 #[prost(string, tag = "2")]
66 pub stake_amount: ::prost::alloc::string::String,
67}
68#[derive(serde::Serialize, serde::Deserialize, schemars::JsonSchema)]
70#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
71pub struct PeerConnectInfo {
72 #[prost(string, tag = "1")]
74 pub x25519_key: ::prost::alloc::string::String,
75 #[prost(message, optional, tag = "2")]
77 pub p2p_addr: ::core::option::Option<NetAddr>,
78}
79#[derive(serde::Serialize, serde::Deserialize, schemars::JsonSchema)]
81#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
82pub struct PeerConfig {
83 #[prost(message, optional, tag = "1")]
85 pub stake_table_entry: ::core::option::Option<StakeTableEntry>,
86 #[prost(message, optional, tag = "2")]
88 pub state_ver_key: ::core::option::Option<SchnorrPublicKey>,
89 #[prost(message, optional, tag = "3")]
91 pub connect_info: ::core::option::Option<PeerConnectInfo>,
92}
93#[derive(serde::Serialize, serde::Deserialize, schemars::JsonSchema)]
95#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
96pub struct U256 {
97 #[prost(string, tag = "1")]
99 pub value: ::prost::alloc::string::String,
100}
101#[derive(serde::Serialize, serde::Deserialize, schemars::JsonSchema)]
104#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
105pub struct RewardClaimInput {
106 #[prost(string, tag = "1")]
108 pub address: ::prost::alloc::string::String,
109 #[prost(string, tag = "2")]
111 pub lifetime_rewards: ::prost::alloc::string::String,
112 #[prost(string, tag = "3")]
115 pub auth_data: ::prost::alloc::string::String,
116}
117#[derive(serde::Serialize, serde::Deserialize, schemars::JsonSchema)]
119#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
120pub struct GetRewardClaimInputRequest {
121 #[prost(string, tag = "1")]
123 #[schemars(example = "0x0000000000000000000000000000000000000000")]
124 pub address: ::prost::alloc::string::String,
125}
126#[derive(serde::Serialize, serde::Deserialize, schemars::JsonSchema)]
128#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
129pub struct RewardBalance {
130 #[prost(string, tag = "1")]
132 pub amount: ::prost::alloc::string::String,
133}
134#[derive(serde::Serialize, serde::Deserialize, schemars::JsonSchema)]
136#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
137pub struct GetRewardBalanceRequest {
138 #[prost(string, tag = "1")]
140 #[schemars(example = "0x0000000000000000000000000000000000000000")]
141 pub address: ::prost::alloc::string::String,
142}
143#[derive(serde::Serialize, serde::Deserialize, schemars::JsonSchema)]
145#[derive(Clone, PartialEq, ::prost::Message)]
146pub struct RewardAccountQueryDataV2 {
147 #[prost(string, tag = "1")]
149 pub balance: ::prost::alloc::string::String,
150 #[prost(message, optional, tag = "2")]
152 pub proof: ::core::option::Option<RewardAccountProofV2>,
153}
154#[derive(serde::Serialize, serde::Deserialize, schemars::JsonSchema)]
156#[derive(Clone, PartialEq, ::prost::Message)]
157pub struct RewardAccountProofV2 {
158 #[prost(string, tag = "1")]
160 pub account: ::prost::alloc::string::String,
161 #[prost(message, optional, tag = "2")]
163 pub proof: ::core::option::Option<RewardMerkleProofV2>,
164}
165#[derive(serde::Serialize, serde::Deserialize, schemars::JsonSchema)]
167#[derive(Clone, PartialEq, ::prost::Message)]
168pub struct RewardMerkleProofV2 {
169 #[prost(oneof = "reward_merkle_proof_v2::ProofType", tags = "1, 2")]
170 pub proof_type: ::core::option::Option<reward_merkle_proof_v2::ProofType>,
171}
172pub mod reward_merkle_proof_v2 {
174 #[derive(serde::Serialize, serde::Deserialize, schemars::JsonSchema)]
175 #[derive(Clone, PartialEq, ::prost::Oneof)]
176 pub enum ProofType {
177 #[prost(message, tag = "1")]
178 Presence(super::MerkleProof),
179 #[prost(message, tag = "2")]
180 Absence(super::MerkleProof),
181 }
182}
183#[derive(serde::Serialize, serde::Deserialize, schemars::JsonSchema)]
185#[derive(Clone, PartialEq, ::prost::Message)]
186pub struct MerkleProof {
187 #[prost(string, tag = "1")]
189 pub pos: ::prost::alloc::string::String,
190 #[prost(message, repeated, tag = "2")]
192 pub proof: ::prost::alloc::vec::Vec<MerkleNode>,
193}
194#[derive(serde::Serialize, serde::Deserialize, schemars::JsonSchema)]
196#[derive(Clone, PartialEq, ::prost::Message)]
197pub struct MerkleNode {
198 #[prost(oneof = "merkle_node::NodeType", tags = "1, 2, 3, 4")]
199 pub node_type: ::core::option::Option<merkle_node::NodeType>,
200}
201pub mod merkle_node {
203 #[derive(serde::Serialize, serde::Deserialize, schemars::JsonSchema)]
204 #[derive(Clone, PartialEq, ::prost::Oneof)]
205 pub enum NodeType {
206 #[prost(message, tag = "1")]
207 Empty(super::Empty),
208 #[prost(message, tag = "2")]
209 Leaf(super::Leaf),
210 #[prost(message, tag = "3")]
211 Branch(super::Branch),
212 #[prost(message, tag = "4")]
213 ForgottenSubtree(super::ForgottenSubtree),
214 }
215}
216#[derive(serde::Serialize, serde::Deserialize, schemars::JsonSchema)]
218#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
219pub struct EmptyData {}
220#[derive(serde::Serialize, serde::Deserialize, schemars::JsonSchema)]
222#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
223pub struct Empty {
224 #[prost(message, optional, tag = "1")]
226 #[serde(skip)]
227 pub dummy: ::core::option::Option<EmptyData>,
228}
229#[derive(serde::Serialize, serde::Deserialize, schemars::JsonSchema)]
231#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
232pub struct Leaf {
233 #[prost(string, tag = "1")]
235 pub pos: ::prost::alloc::string::String,
236 #[prost(string, tag = "2")]
238 pub elem: ::prost::alloc::string::String,
239 #[prost(string, tag = "3")]
241 pub value: ::prost::alloc::string::String,
242}
243#[derive(serde::Serialize, serde::Deserialize, schemars::JsonSchema)]
245#[derive(Clone, PartialEq, ::prost::Message)]
246pub struct Branch {
247 #[prost(string, tag = "1")]
249 pub value: ::prost::alloc::string::String,
250 #[prost(message, repeated, tag = "2")]
252 pub children: ::prost::alloc::vec::Vec<MerkleNode>,
253}
254#[derive(serde::Serialize, serde::Deserialize, schemars::JsonSchema)]
256#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
257pub struct ForgottenSubtree {
258 #[prost(string, tag = "1")]
260 pub value: ::prost::alloc::string::String,
261}
262#[derive(serde::Serialize, serde::Deserialize, schemars::JsonSchema)]
264#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
265pub struct GetRewardAccountProofRequest {
266 #[prost(string, tag = "1")]
268 #[schemars(example = "0x0000000000000000000000000000000000000000")]
269 pub address: ::prost::alloc::string::String,
270}
271#[derive(serde::Serialize, serde::Deserialize, schemars::JsonSchema)]
273#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
274pub struct RewardAmount {
275 #[prost(string, tag = "1")]
277 pub address: ::prost::alloc::string::String,
278 #[prost(string, tag = "2")]
280 pub amount: ::prost::alloc::string::String,
281}
282#[derive(serde::Serialize, serde::Deserialize, schemars::JsonSchema)]
284#[derive(Clone, PartialEq, ::prost::Message)]
285pub struct RewardBalances {
286 #[prost(message, repeated, tag = "1")]
288 pub amounts: ::prost::alloc::vec::Vec<RewardAmount>,
289 #[prost(uint64, tag = "2")]
291 pub total: u64,
292}
293#[derive(serde::Serialize, serde::Deserialize, schemars::JsonSchema)]
295#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
296pub struct GetRewardBalancesRequest {
297 #[prost(uint64, tag = "1")]
299 #[schemars(example = "1000000")]
300 pub height: u64,
301 #[prost(uint64, tag = "2")]
303 #[schemars(example = "0")]
304 pub offset: u64,
305 #[prost(uint64, tag = "3")]
307 #[schemars(example = "100")]
308 pub limit: u64,
309}
310#[derive(serde::Serialize, serde::Deserialize, schemars::JsonSchema)]
312#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
313pub struct RewardMerkleTreeV2Data {
314 #[prost(bytes = "vec", tag = "1")]
316 pub data: ::prost::alloc::vec::Vec<u8>,
317}
318#[derive(serde::Serialize, serde::Deserialize, schemars::JsonSchema)]
320#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
321pub struct GetRewardMerkleTreeRequest {
322 #[prost(uint64, tag = "1")]
324 #[schemars(example = "1000000")]
325 pub height: u64,
326}
327#[derive(serde::Serialize, serde::Deserialize, schemars::JsonSchema)]
329#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
330pub struct AdvzNsProof {
331 #[prost(uint64, tag = "1")]
332 pub namespace_id: u64,
333 #[prost(string, tag = "2")]
334 pub ns_payload: ::prost::alloc::string::String,
335 #[prost(string, optional, tag = "3")]
337 pub ns_proof: ::core::option::Option<::prost::alloc::string::String>,
338}
339#[derive(serde::Serialize, serde::Deserialize, schemars::JsonSchema)]
341#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
342pub struct AvidMNsProof {
343 #[prost(uint64, tag = "1")]
344 pub ns_index: u64,
345 #[prost(string, tag = "2")]
346 pub ns_payload: ::prost::alloc::string::String,
347 #[prost(string, tag = "3")]
349 pub ns_proof: ::prost::alloc::string::String,
350}
351#[derive(serde::Serialize, serde::Deserialize, schemars::JsonSchema)]
353#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
354pub struct AvidMIncorrectEncodingNsProof {
355 #[prost(string, tag = "1")]
357 pub proof_data: ::prost::alloc::string::String,
358}
359#[derive(serde::Serialize, serde::Deserialize, schemars::JsonSchema)]
361#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
362pub struct AvidmGf2NsProof {
363 #[prost(uint64, tag = "1")]
364 pub ns_index: u64,
365 #[prost(string, tag = "2")]
366 pub ns_payload: ::prost::alloc::string::String,
367 #[prost(string, tag = "3")]
369 pub ns_proof: ::prost::alloc::string::String,
370}
371#[derive(serde::Serialize, serde::Deserialize, schemars::JsonSchema)]
373#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
374pub struct NsProof {
375 #[prost(oneof = "ns_proof::ProofVersion", tags = "1, 2, 3, 4")]
376 pub proof_version: ::core::option::Option<ns_proof::ProofVersion>,
377}
378pub mod ns_proof {
380 #[derive(serde::Serialize, serde::Deserialize, schemars::JsonSchema)]
381 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
382 pub enum ProofVersion {
383 #[prost(message, tag = "1")]
384 V0(super::AdvzNsProof),
385 #[prost(message, tag = "2")]
386 V1(super::AvidMNsProof),
387 #[prost(message, tag = "3")]
388 V1IncorrectEncoding(super::AvidMIncorrectEncodingNsProof),
389 #[prost(message, tag = "4")]
390 V2(super::AvidmGf2NsProof),
391 }
392}
393#[derive(serde::Serialize, serde::Deserialize, schemars::JsonSchema)]
396#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
397pub struct GetNamespaceProofRequest {
398 #[prost(uint64, tag = "1")]
400 #[schemars(example = "10001")]
401 pub namespace_id: u64,
402 #[prost(uint64, optional, tag = "2")]
404 #[schemars(example = "1000000")]
405 pub block: ::core::option::Option<u64>,
406 #[prost(uint64, optional, tag = "3")]
408 #[schemars(example = "1000000")]
409 pub first: ::core::option::Option<u64>,
410 #[prost(uint64, optional, tag = "4")]
412 #[schemars(example = "1000100")]
413 pub last: ::core::option::Option<u64>,
414}
415#[derive(serde::Serialize, serde::Deserialize, schemars::JsonSchema)]
417#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
418pub struct Transaction {
419 #[prost(uint64, tag = "1")]
420 pub namespace: u64,
421 #[prost(string, tag = "2")]
423 pub payload: ::prost::alloc::string::String,
424}
425#[derive(serde::Serialize, serde::Deserialize, schemars::JsonSchema)]
427#[derive(Clone, PartialEq, ::prost::Message)]
428pub struct NamespaceProofResponse {
429 #[prost(message, repeated, tag = "1")]
431 pub transactions: ::prost::alloc::vec::Vec<Transaction>,
432 #[prost(message, optional, tag = "2")]
434 pub proof: ::core::option::Option<NsProof>,
435}
436#[derive(serde::Serialize, serde::Deserialize, schemars::JsonSchema)]
438#[derive(Clone, PartialEq, ::prost::Message)]
439pub struct NamespaceProofRangeResponse {
440 #[prost(message, repeated, tag = "1")]
442 pub proofs: ::prost::alloc::vec::Vec<NamespaceProofResponse>,
443}
444#[derive(serde::Serialize, serde::Deserialize, schemars::JsonSchema)]
446#[derive(Clone, PartialEq, ::prost::Message)]
447pub struct GetNamespaceProofResponse {
448 #[prost(oneof = "get_namespace_proof_response::Response", tags = "1, 2")]
449 pub response: ::core::option::Option<get_namespace_proof_response::Response>,
450}
451pub mod get_namespace_proof_response {
453 #[derive(serde::Serialize, serde::Deserialize, schemars::JsonSchema)]
454 #[derive(Clone, PartialEq, ::prost::Oneof)]
455 pub enum Response {
456 #[prost(message, tag = "1")]
458 Single(super::NamespaceProofResponse),
459 #[prost(message, tag = "2")]
461 Range(super::NamespaceProofRangeResponse),
462 }
463}
464#[derive(serde::Serialize, serde::Deserialize, schemars::JsonSchema)]
466#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
467pub struct GetIncorrectEncodingProofRequest {
468 #[prost(uint64, tag = "1")]
470 #[schemars(example = "10001")]
471 pub namespace_id: u64,
472 #[prost(uint64, tag = "2")]
474 #[schemars(example = "1000000")]
475 pub block_height: u64,
476}
477#[derive(serde::Serialize, serde::Deserialize, schemars::JsonSchema)]
479#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
480pub struct IncorrectEncodingProofResponse {
481 #[prost(message, optional, tag = "1")]
483 pub proof: ::core::option::Option<AvidMIncorrectEncodingNsProof>,
484}
485#[derive(serde::Serialize, serde::Deserialize, schemars::JsonSchema)]
487#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
488pub struct LightClientState {
489 #[prost(uint64, tag = "1")]
490 pub view_number: u64,
491 #[prost(uint64, tag = "2")]
492 pub block_height: u64,
493 #[prost(string, tag = "3")]
495 pub block_comm_root: ::prost::alloc::string::String,
496}
497#[derive(serde::Serialize, serde::Deserialize, schemars::JsonSchema)]
499#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
500pub struct StakeTableState {
501 #[prost(string, tag = "1")]
503 pub bls_key_comm: ::prost::alloc::string::String,
504 #[prost(string, tag = "2")]
506 pub schnorr_key_comm: ::prost::alloc::string::String,
507 #[prost(string, tag = "3")]
509 pub amount_comm: ::prost::alloc::string::String,
510 #[prost(string, tag = "4")]
512 pub threshold: ::prost::alloc::string::String,
513}
514#[derive(serde::Serialize, serde::Deserialize, schemars::JsonSchema)]
516#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
517pub struct StateSignatureTuple {
518 #[prost(message, optional, tag = "1")]
520 pub state_signature_key: ::core::option::Option<SchnorrPublicKey>,
521 #[prost(string, tag = "2")]
523 pub lcv3_signature: ::prost::alloc::string::String,
524 #[prost(string, tag = "3")]
526 pub lcv2_signature: ::prost::alloc::string::String,
527}
528#[derive(serde::Serialize, serde::Deserialize, schemars::JsonSchema)]
530#[derive(Clone, PartialEq, ::prost::Message)]
531pub struct LightClientStateUpdateCertificateV2 {
532 #[prost(uint64, tag = "1")]
533 pub epoch: u64,
534 #[prost(string, tag = "2")]
536 pub light_client_state: ::prost::alloc::string::String,
537 #[prost(string, tag = "3")]
539 pub next_stake_table_state: ::prost::alloc::string::String,
540 #[prost(message, repeated, tag = "4")]
541 pub signatures: ::prost::alloc::vec::Vec<StateSignatureTuple>,
542 #[prost(string, tag = "5")]
544 pub auth_root: ::prost::alloc::string::String,
545}
546#[derive(serde::Serialize, serde::Deserialize, schemars::JsonSchema)]
548#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
549pub struct GetStateCertificateRequest {
550 #[prost(uint64, tag = "1")]
552 #[schemars(example = "100")]
553 pub epoch: u64,
554}
555#[derive(serde::Serialize, serde::Deserialize, schemars::JsonSchema)]
557#[derive(Clone, PartialEq, ::prost::Message)]
558pub struct StateCertificateResponse {
559 #[prost(message, optional, tag = "1")]
561 pub certificate: ::core::option::Option<LightClientStateUpdateCertificateV2>,
562}
563#[derive(serde::Serialize, serde::Deserialize, schemars::JsonSchema)]
565#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
566pub struct GetStakeTableRequest {
567 #[prost(uint64, tag = "1")]
569 #[schemars(example = "100")]
570 pub epoch: u64,
571}
572#[derive(serde::Serialize, serde::Deserialize, schemars::JsonSchema)]
574#[derive(Clone, PartialEq, ::prost::Message)]
575pub struct StakeTableResponse {
576 #[prost(message, repeated, tag = "1")]
578 pub peers: ::prost::alloc::vec::Vec<PeerConfig>,
579}