Skip to main content

accumulate_client/generated/
types.rs

1//! Protocol Types for Accumulate
2//!
3//! Auto-generated from Go protocol YAML files.
4//! Generated at: 2025-10-04T06:19:17.820322
5//!
6//! DO NOT EDIT: This file is auto-generated by Stage 3.2
7//! To modify types, edit the Go protocol YAML files and re-run the generator.
8
9#![allow(missing_docs)]
10
11use serde::{Serialize, Deserialize};
12
13// Import enum types from other modules
14use crate::generated::enums::{
15    BookType, ExecutorVersion, ObjectType, PartitionType, TransactionType, VoteType
16};
17
18// Re-export types that may be used as field types
19pub use serde_json::Value as JsonValue;
20
21
22#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
23pub struct ADI {
24    #[serde(rename = "Url")]
25    pub url: String,
26}
27
28#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
29pub struct AccountAuth {
30    #[serde(rename = "Authorities")]
31    pub authorities: AuthorityEntry,
32}
33
34// Type AccountAuthOperationType already defined in enums module
35
36
37// Type AccountType already defined in enums module
38
39
40#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
41pub struct AccumulateDataEntry {
42    #[serde(rename = "Data")]
43    pub data: Vec<u8>,
44}
45
46#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
47pub struct AcmeFaucet {
48    #[serde(rename = "Url")]
49    pub url: String,
50}
51
52#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
53pub struct AcmeOracle {
54    #[serde(rename = "Price")]
55    pub price: u64,
56}
57
58#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
59pub struct ActivateProtocolVersion {
60    #[serde(rename = "Version")]
61    pub version: ExecutorVersion,
62}
63
64#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
65pub struct AddAccountAuthorityOperation {
66    #[serde(rename = "Authority")]
67    pub authority: String,
68}
69
70#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
71pub struct AddCredits {
72    #[serde(rename = "Recipient")]
73    pub recipient: String,
74    #[serde(rename = "Amount")]
75    pub amount: String,
76    #[serde(rename = "Oracle")]
77    pub oracle: u64,
78}
79
80#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
81pub struct AddCreditsResult {
82    #[serde(rename = "Amount")]
83    pub amount: String,
84    #[serde(rename = "Credits")]
85    pub credits: u64,
86    #[serde(rename = "Oracle")]
87    pub oracle: u64,
88}
89
90#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
91pub struct AddKeyOperation {
92    #[serde(rename = "Entry")]
93    pub entry: KeySpecParams,
94}
95
96// Type AllowedTransactionBit already defined in enums module
97
98
99#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
100pub struct AnchorLedger {
101    #[serde(rename = "Url")]
102    pub url: String,
103    #[serde(rename = "MinorBlockSequenceNumber")]
104    pub minor_block_sequence_number: u64,
105    #[serde(rename = "MajorBlockIndex")]
106    pub major_block_index: u64,
107    #[serde(rename = "MajorBlockTime")]
108    pub major_block_time: String,
109    #[serde(rename = "PendingMajorBlockAnchors")]
110    pub pending_major_block_anchors: String,
111    #[serde(rename = "Sequence")]
112    pub sequence: PartitionSyntheticLedger,
113}
114
115#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
116pub struct AnchorMetadata {
117    #[serde(rename = "Account")]
118    pub account: String,
119    #[serde(rename = "Index")]
120    pub index: u64,
121    #[serde(rename = "SourceIndex")]
122    pub source_index: u64,
123    #[serde(rename = "SourceBlock")]
124    pub source_block: u64,
125    #[serde(rename = "Entry")]
126    pub entry: Vec<u8>,
127}
128
129#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
130pub struct AnnotatedReceipt {
131    #[serde(rename = "Receipt")]
132    pub receipt: Vec<u8>,
133    #[serde(rename = "Anchor")]
134    pub anchor: AnchorMetadata,
135}
136
137#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
138pub struct AuthorityEntry {
139    #[serde(rename = "Url")]
140    pub url: String,
141    #[serde(rename = "Disabled")]
142    pub disabled: bool,
143}
144
145#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
146pub struct AuthoritySignature {
147    #[serde(rename = "Origin")]
148    pub origin: String,
149    #[serde(rename = "Authority")]
150    pub authority: String,
151    #[serde(rename = "Vote")]
152    pub vote: VoteType,
153    #[serde(rename = "TxID")]
154    pub tx_id: [u8; 32],
155    #[serde(rename = "Cause")]
156    pub cause: [u8; 32],
157    #[serde(rename = "Delegator")]
158    pub delegator: String,
159    #[serde(rename = "Memo")]
160    pub memo: String,
161}
162
163#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
164pub struct BTCLegacySignature {
165    #[serde(rename = "PublicKey")]
166    pub public_key: Vec<u8>,
167    #[serde(rename = "Signature")]
168    pub signature: Vec<u8>,
169    #[serde(rename = "Signer")]
170    pub signer: String,
171    #[serde(rename = "SignerVersion")]
172    pub signer_version: u64,
173    #[serde(rename = "Timestamp")]
174    pub timestamp: u64,
175    #[serde(rename = "Vote")]
176    pub vote: VoteType,
177    #[serde(rename = "TransactionHash")]
178    pub transaction_hash: [u8; 32],
179    #[serde(rename = "Memo")]
180    pub memo: String,
181    #[serde(rename = "Data")]
182    pub data: Vec<u8>,
183}
184
185#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
186pub struct BTCSignature {
187    #[serde(rename = "PublicKey")]
188    pub public_key: Vec<u8>,
189    #[serde(rename = "Signature")]
190    pub signature: Vec<u8>,
191    #[serde(rename = "Signer")]
192    pub signer: String,
193    #[serde(rename = "SignerVersion")]
194    pub signer_version: u64,
195    #[serde(rename = "Timestamp")]
196    pub timestamp: u64,
197    #[serde(rename = "Vote")]
198    pub vote: VoteType,
199    #[serde(rename = "TransactionHash")]
200    pub transaction_hash: [u8; 32],
201    #[serde(rename = "Memo")]
202    pub memo: String,
203    #[serde(rename = "Data")]
204    pub data: Vec<u8>,
205}
206
207#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
208pub struct BlockEntry {
209    #[serde(rename = "Account")]
210    pub account: String,
211    #[serde(rename = "Chain")]
212    pub chain: String,
213    #[serde(rename = "Index")]
214    pub index: u64,
215}
216
217#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
218pub struct BlockLedger {
219    #[serde(rename = "Url")]
220    pub url: String,
221    #[serde(rename = "Index")]
222    pub index: u64,
223    #[serde(rename = "Time")]
224    pub time: String,
225    #[serde(rename = "Entries")]
226    pub entries: BlockEntry,
227}
228
229#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
230pub struct BlockValidatorAnchor {
231    #[serde(rename = "AcmeBurnt")]
232    pub acme_burnt: String,
233}
234
235// Type BookType already defined in enums module
236
237
238#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
239pub struct BurnCredits {
240    #[serde(rename = "Amount")]
241    pub amount: u64,
242}
243
244#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
245pub struct BurnTokens {
246    #[serde(rename = "Amount")]
247    pub amount: String,
248}
249
250#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
251pub struct ChainMetadata {
252    #[serde(rename = "Name")]
253    pub name: String,
254    #[serde(rename = "Type")]
255    pub r#type: String,
256}
257
258#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
259pub struct ChainParams {
260    #[serde(rename = "Data")]
261    pub data: Vec<u8>,
262    #[serde(rename = "IsUpdate")]
263    pub is_update: bool,
264}
265
266// Type ChainType already defined in enums module
267
268
269#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
270pub struct CreateDataAccount {
271    #[serde(rename = "Url")]
272    pub url: String,
273    #[serde(rename = "Authorities")]
274    pub authorities: String,
275}
276
277#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
278pub struct CreateIdentity {
279    #[serde(rename = "Url")]
280    pub url: String,
281    #[serde(rename = "KeyHash")]
282    pub key_hash: Vec<u8>,
283    #[serde(rename = "KeyBookUrl")]
284    pub key_book_url: String,
285    #[serde(rename = "Authorities")]
286    pub authorities: String,
287}
288
289#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
290pub struct CreateKeyBook {
291    #[serde(rename = "Url")]
292    pub url: String,
293    #[serde(rename = "PublicKeyHash")]
294    pub public_key_hash: Vec<u8>,
295    #[serde(rename = "Authorities")]
296    pub authorities: String,
297}
298
299#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
300pub struct CreateKeyPage {
301    #[serde(rename = "Keys")]
302    pub keys: KeySpecParams,
303}
304
305#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
306pub struct CreateLiteTokenAccount {
307
308}
309
310#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
311pub struct CreateToken {
312    #[serde(rename = "Url")]
313    pub url: String,
314    #[serde(rename = "Symbol")]
315    pub symbol: String,
316    #[serde(rename = "Precision")]
317    pub precision: u64,
318    #[serde(rename = "Properties")]
319    pub properties: String,
320    #[serde(rename = "SupplyLimit")]
321    pub supply_limit: String,
322    #[serde(rename = "Authorities")]
323    pub authorities: String,
324}
325
326#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
327pub struct CreateTokenAccount {
328    #[serde(rename = "Url")]
329    pub url: String,
330    #[serde(rename = "TokenUrl")]
331    pub token_url: String,
332    #[serde(rename = "Authorities")]
333    pub authorities: String,
334    #[serde(rename = "Proof")]
335    pub proof: TokenIssuerProof,
336}
337
338#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
339pub struct CreditRecipient {
340    #[serde(rename = "Url")]
341    pub url: String,
342    #[serde(rename = "Amount")]
343    pub amount: u64,
344}
345
346#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
347pub struct DataAccount {
348    #[serde(rename = "Url")]
349    pub url: String,
350    #[serde(rename = "Entry")]
351    pub entry: serde_json::Value,
352}
353
354// Type DataEntryType already defined in enums module
355
356
357#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
358pub struct DelegatedSignature {
359    #[serde(rename = "Signature")]
360    pub signature: serde_json::Value,
361    #[serde(rename = "Delegator")]
362    pub delegator: String,
363}
364
365#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
366pub struct DirectoryAnchor {
367    #[serde(rename = "Updates")]
368    pub updates: NetworkAccountUpdate,
369    #[serde(rename = "Receipts")]
370    pub receipts: PartitionAnchorReceipt,
371    #[serde(rename = "MakeMajorBlock")]
372    pub make_major_block: u64,
373    #[serde(rename = "MakeMajorBlockTime")]
374    pub make_major_block_time: String,
375}
376
377#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
378pub struct DisableAccountAuthOperation {
379    #[serde(rename = "Authority")]
380    pub authority: String,
381}
382
383#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
384pub struct DoubleHashDataEntry {
385    #[serde(rename = "Data")]
386    pub data: Vec<u8>,
387}
388
389#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
390pub struct ED25519Signature {
391    #[serde(rename = "PublicKey")]
392    pub public_key: Vec<u8>,
393    #[serde(rename = "Signature")]
394    pub signature: Vec<u8>,
395    #[serde(rename = "Signer")]
396    pub signer: String,
397    #[serde(rename = "SignerVersion")]
398    pub signer_version: u64,
399    #[serde(rename = "Timestamp")]
400    pub timestamp: u64,
401    #[serde(rename = "Vote")]
402    pub vote: VoteType,
403    #[serde(rename = "TransactionHash")]
404    pub transaction_hash: [u8; 32],
405    #[serde(rename = "Memo")]
406    pub memo: String,
407    #[serde(rename = "Data")]
408    pub data: Vec<u8>,
409}
410
411#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
412pub struct ETHSignature {
413    #[serde(rename = "PublicKey")]
414    pub public_key: Vec<u8>,
415    #[serde(rename = "Signature")]
416    pub signature: Vec<u8>,
417    #[serde(rename = "Signer")]
418    pub signer: String,
419    #[serde(rename = "SignerVersion")]
420    pub signer_version: u64,
421    #[serde(rename = "Timestamp")]
422    pub timestamp: u64,
423    #[serde(rename = "Vote")]
424    pub vote: VoteType,
425    #[serde(rename = "TransactionHash")]
426    pub transaction_hash: [u8; 32],
427    #[serde(rename = "Memo")]
428    pub memo: String,
429    #[serde(rename = "Data")]
430    pub data: Vec<u8>,
431}
432
433#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
434pub struct EcdsaSha256Signature {
435    #[serde(rename = "PublicKey")]
436    pub public_key: Vec<u8>,
437    #[serde(rename = "Signature")]
438    pub signature: Vec<u8>,
439    #[serde(rename = "Signer")]
440    pub signer: String,
441    #[serde(rename = "SignerVersion")]
442    pub signer_version: u64,
443    #[serde(rename = "Timestamp")]
444    pub timestamp: u64,
445    #[serde(rename = "Vote")]
446    pub vote: VoteType,
447    #[serde(rename = "TransactionHash")]
448    pub transaction_hash: [u8; 32],
449    #[serde(rename = "Memo")]
450    pub memo: String,
451    #[serde(rename = "Data")]
452    pub data: Vec<u8>,
453}
454
455#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
456pub struct EmptyResult {
457
458}
459
460#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
461pub struct EnableAccountAuthOperation {
462    #[serde(rename = "Authority")]
463    pub authority: String,
464}
465
466// Type ErrorCode already defined in enums module
467
468
469// Type ExecutorVersion already defined in enums module
470
471
472#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
473pub struct ExpireOptions {
474    #[serde(rename = "AtTime")]
475    pub at_time: String,
476}
477
478#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
479pub struct FactomDataEntry {
480    #[serde(rename = "AccountId")]
481    pub account_id: [u8; 32],
482    #[serde(rename = "Data")]
483    pub data: Vec<u8>,
484    #[serde(rename = "ExtIds")]
485    pub ext_ids: Vec<u8>,
486}
487
488#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
489pub struct FactomDataEntryWrapper {
490
491}
492
493#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
494pub struct FeeSchedule {
495    #[serde(rename = "CreateIdentitySliding")]
496    pub create_identity_sliding: String,
497    #[serde(rename = "CreateSubIdentity")]
498    pub create_sub_identity: String,
499    #[serde(rename = "BareIdentityDiscount")]
500    pub bare_identity_discount: String,
501}
502
503#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
504pub struct HoldUntilOptions {
505    #[serde(rename = "MinorBlock")]
506    pub minor_block: u64,
507}
508
509#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
510pub struct IndexEntry {
511    #[serde(rename = "Source")]
512    pub source: u64,
513    #[serde(rename = "Anchor")]
514    pub anchor: u64,
515    #[serde(rename = "BlockIndex")]
516    pub block_index: u64,
517    #[serde(rename = "BlockTime")]
518    pub block_time: String,
519    #[serde(rename = "RootIndexIndex")]
520    pub root_index_index: u64,
521}
522
523#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
524pub struct InternalSignature {
525    #[serde(rename = "Cause")]
526    pub cause: [u8; 32],
527    #[serde(rename = "TransactionHash")]
528    pub transaction_hash: [u8; 32],
529}
530
531#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
532pub struct IssueTokens {
533    #[serde(rename = "Recipient")]
534    pub recipient: String,
535    #[serde(rename = "Amount")]
536    pub amount: String,
537    #[serde(rename = "To")]
538    pub to: TokenRecipient,
539}
540
541#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
542pub struct KeyBook {
543    #[serde(rename = "Url")]
544    pub url: String,
545    #[serde(rename = "BookType")]
546    pub book_type: BookType,
547    #[serde(rename = "PageCount")]
548    pub page_count: u64,
549}
550
551#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
552pub struct KeyPage {
553    #[serde(rename = "KeyBook")]
554    pub key_book: String,
555    #[serde(rename = "Url")]
556    pub url: String,
557    #[serde(rename = "CreditBalance")]
558    pub credit_balance: u64,
559    #[serde(rename = "AcceptThreshold")]
560    pub accept_threshold: u64,
561    #[serde(rename = "RejectThreshold")]
562    pub reject_threshold: u64,
563    #[serde(rename = "ResponseThreshold")]
564    pub response_threshold: u64,
565    #[serde(rename = "BlockThreshold")]
566    pub block_threshold: u64,
567    #[serde(rename = "Version")]
568    pub version: u64,
569    #[serde(rename = "Keys")]
570    pub keys: KeySpec,
571    #[serde(rename = "TransactionBlacklist")]
572    pub transaction_blacklist: Vec<String>,
573}
574
575// Type KeyPageOperationType already defined in enums module
576
577
578#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
579pub struct KeySpec {
580    #[serde(rename = "PublicKeyHash")]
581    pub public_key_hash: Vec<u8>,
582    #[serde(rename = "LastUsedOn")]
583    pub last_used_on: u64,
584    #[serde(rename = "Delegate")]
585    pub delegate: String,
586}
587
588#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
589pub struct KeySpecParams {
590    #[serde(rename = "KeyHash")]
591    pub key_hash: Vec<u8>,
592    #[serde(rename = "Delegate")]
593    pub delegate: String,
594}
595
596#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
597pub struct LegacyED25519Signature {
598    #[serde(rename = "Timestamp")]
599    pub timestamp: u64,
600    #[serde(rename = "PublicKey")]
601    pub public_key: Vec<u8>,
602    #[serde(rename = "Signature")]
603    pub signature: Vec<u8>,
604    #[serde(rename = "Signer")]
605    pub signer: String,
606    #[serde(rename = "SignerVersion")]
607    pub signer_version: u64,
608    #[serde(rename = "Vote")]
609    pub vote: VoteType,
610    #[serde(rename = "TransactionHash")]
611    pub transaction_hash: [u8; 32],
612}
613
614#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
615pub struct LiteDataAccount {
616    #[serde(rename = "Url")]
617    pub url: String,
618}
619
620#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
621pub struct LiteIdentity {
622    #[serde(rename = "Url")]
623    pub url: String,
624    #[serde(rename = "CreditBalance")]
625    pub credit_balance: u64,
626    #[serde(rename = "LastUsedOn")]
627    pub last_used_on: u64,
628}
629
630#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
631pub struct LiteTokenAccount {
632    #[serde(rename = "Url")]
633    pub url: String,
634    #[serde(rename = "TokenUrl")]
635    pub token_url: String,
636    #[serde(rename = "Balance")]
637    pub balance: String,
638    #[serde(rename = "LockHeight")]
639    pub lock_height: u64,
640}
641
642#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
643pub struct LockAccount {
644    #[serde(rename = "Height")]
645    pub height: u64,
646}
647
648#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
649pub struct MetricsRequest {
650    #[serde(rename = "Metric")]
651    pub metric: String,
652    #[serde(rename = "Duration")]
653    pub duration: String,
654}
655
656#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
657pub struct MetricsResponse {
658    #[serde(rename = "Value")]
659    pub value: serde_json::Value,
660}
661
662#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
663pub struct NetworkAccountUpdate {
664    #[serde(rename = "Name")]
665    pub name: String,
666    #[serde(rename = "Body")]
667    pub body: serde_json::Value,
668}
669
670#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
671pub struct NetworkDefinition {
672    #[serde(rename = "NetworkName")]
673    pub network_name: String,
674    #[serde(rename = "Version")]
675    pub version: u64,
676    #[serde(rename = "Partitions")]
677    pub partitions: PartitionInfo,
678    #[serde(rename = "Validators")]
679    pub validators: ValidatorInfo,
680}
681
682#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
683pub struct NetworkGlobals {
684    #[serde(rename = "OperatorAcceptThreshold")]
685    pub operator_accept_threshold: Rational,
686    #[serde(rename = "ValidatorAcceptThreshold")]
687    pub validator_accept_threshold: Rational,
688    #[serde(rename = "MajorBlockSchedule")]
689    pub major_block_schedule: String,
690    #[serde(rename = "AnchorEmptyBlocks")]
691    pub anchor_empty_blocks: bool,
692    #[serde(rename = "FeeSchedule")]
693    pub fee_schedule: FeeSchedule,
694    #[serde(rename = "Limits")]
695    pub limits: NetworkLimits,
696}
697
698#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
699pub struct NetworkLimits {
700    #[serde(rename = "DataEntryParts")]
701    pub data_entry_parts: u64,
702    #[serde(rename = "AccountAuthorities")]
703    pub account_authorities: u64,
704    #[serde(rename = "BookPages")]
705    pub book_pages: u64,
706    #[serde(rename = "PageEntries")]
707    pub page_entries: u64,
708    #[serde(rename = "IdentityAccounts")]
709    pub identity_accounts: u64,
710    #[serde(rename = "PendingMajorBlocks")]
711    pub pending_major_blocks: u64,
712    #[serde(rename = "EventsPerBlock")]
713    pub events_per_block: u64,
714}
715
716#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
717pub struct NetworkMaintenance {
718    #[serde(rename = "Operations")]
719    pub operations: serde_json::Value,
720}
721
722// Type NetworkMaintenanceOperationType already defined in enums module
723
724
725#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
726pub struct Object {
727    #[serde(rename = "Type")]
728    pub r#type: ObjectType,
729    #[serde(rename = "Chains")]
730    pub chains: ChainMetadata,
731    #[serde(rename = "Pending")]
732    pub pending: TxIdSet,
733}
734
735// Type ObjectType already defined in enums module
736
737
738#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
739pub struct PartitionAnchor {
740    #[serde(rename = "Source")]
741    pub source: String,
742    #[serde(rename = "MajorBlockIndex")]
743    pub major_block_index: u64,
744    #[serde(rename = "MinorBlockIndex")]
745    pub minor_block_index: u64,
746    #[serde(rename = "RootChainIndex")]
747    pub root_chain_index: u64,
748    #[serde(rename = "RootChainAnchor")]
749    pub root_chain_anchor: [u8; 32],
750    #[serde(rename = "StateTreeAnchor")]
751    pub state_tree_anchor: [u8; 32],
752}
753
754#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
755pub struct PartitionAnchorReceipt {
756    #[serde(rename = "Anchor")]
757    pub anchor: PartitionAnchor,
758    #[serde(rename = "RootChainReceipt")]
759    pub root_chain_receipt: Vec<u8>,
760}
761
762#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
763pub struct PartitionExecutorVersion {
764    #[serde(rename = "Partition")]
765    pub partition: String,
766    #[serde(rename = "Version")]
767    pub version: ExecutorVersion,
768}
769
770#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
771pub struct PartitionInfo {
772    #[serde(rename = "ID")]
773    pub id: String,
774    #[serde(rename = "Type")]
775    pub r#type: PartitionType,
776}
777
778#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
779pub struct PartitionSignature {
780    #[serde(rename = "SourceNetwork")]
781    pub source_network: String,
782    #[serde(rename = "DestinationNetwork")]
783    pub destination_network: String,
784    #[serde(rename = "SequenceNumber")]
785    pub sequence_number: u64,
786    #[serde(rename = "TransactionHash")]
787    pub transaction_hash: [u8; 32],
788}
789
790#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
791pub struct PartitionSyntheticLedger {
792    #[serde(rename = "Url")]
793    pub url: String,
794    #[serde(rename = "Produced")]
795    pub produced: u64,
796    #[serde(rename = "Received")]
797    pub received: u64,
798    #[serde(rename = "Delivered")]
799    pub delivered: u64,
800    #[serde(rename = "Pending")]
801    pub pending: [u8; 32],
802}
803
804// Type PartitionType already defined in enums module
805
806
807#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
808pub struct PendingTransactionGCOperation {
809    #[serde(rename = "Account")]
810    pub account: String,
811}
812
813#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
814pub struct RCD1Signature {
815    #[serde(rename = "PublicKey")]
816    pub public_key: Vec<u8>,
817    #[serde(rename = "Signature")]
818    pub signature: Vec<u8>,
819    #[serde(rename = "Signer")]
820    pub signer: String,
821    #[serde(rename = "SignerVersion")]
822    pub signer_version: u64,
823    #[serde(rename = "Timestamp")]
824    pub timestamp: u64,
825    #[serde(rename = "Vote")]
826    pub vote: VoteType,
827    #[serde(rename = "TransactionHash")]
828    pub transaction_hash: [u8; 32],
829    #[serde(rename = "Memo")]
830    pub memo: String,
831    #[serde(rename = "Data")]
832    pub data: Vec<u8>,
833}
834
835#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
836pub struct Rational {
837    #[serde(rename = "Numerator")]
838    pub numerator: u64,
839    #[serde(rename = "Denominator")]
840    pub denominator: u64,
841}
842
843#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
844pub struct ReceiptSignature {
845    #[serde(rename = "SourceNetwork")]
846    pub source_network: String,
847    #[serde(rename = "Proof")]
848    pub proof: Vec<u8>,
849    #[serde(rename = "TransactionHash")]
850    pub transaction_hash: [u8; 32],
851}
852
853#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
854pub struct RemoteSignature {
855    #[serde(rename = "Destination")]
856    pub destination: String,
857    #[serde(rename = "Signature")]
858    pub signature: serde_json::Value,
859    #[serde(rename = "Cause")]
860    pub cause: [u8; 32],
861}
862
863#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
864pub struct RemoteTransaction {
865    #[serde(rename = "Hash")]
866    pub hash: [u8; 32],
867}
868
869// Type RemoteTransactionReason not found in graph
870
871
872#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
873pub struct RemoveAccountAuthorityOperation {
874    #[serde(rename = "Authority")]
875    pub authority: String,
876}
877
878#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
879pub struct RemoveKeyOperation {
880    #[serde(rename = "Entry")]
881    pub entry: KeySpecParams,
882}
883
884#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
885pub struct Route {
886    #[serde(rename = "Length")]
887    pub length: u64,
888    #[serde(rename = "Value")]
889    pub value: u64,
890    #[serde(rename = "Partition")]
891    pub partition: String,
892}
893
894#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
895pub struct RouteOverride {
896    #[serde(rename = "Account")]
897    pub account: String,
898    #[serde(rename = "Partition")]
899    pub partition: String,
900}
901
902#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
903pub struct RoutingTable {
904    #[serde(rename = "Overrides")]
905    pub overrides: RouteOverride,
906    #[serde(rename = "Routes")]
907    pub routes: Route,
908}
909
910#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
911pub struct RsaSha256Signature {
912    #[serde(rename = "PublicKey")]
913    pub public_key: Vec<u8>,
914    #[serde(rename = "Signature")]
915    pub signature: Vec<u8>,
916    #[serde(rename = "Signer")]
917    pub signer: String,
918    #[serde(rename = "SignerVersion")]
919    pub signer_version: u64,
920    #[serde(rename = "Timestamp")]
921    pub timestamp: u64,
922    #[serde(rename = "Vote")]
923    pub vote: VoteType,
924    #[serde(rename = "TransactionHash")]
925    pub transaction_hash: [u8; 32],
926    #[serde(rename = "Memo")]
927    pub memo: String,
928    #[serde(rename = "Data")]
929    pub data: Vec<u8>,
930}
931
932#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
933pub struct SendTokens {
934    #[serde(rename = "Hash")]
935    pub hash: [u8; 32],
936    #[serde(rename = "Meta")]
937    pub meta: serde_json::Value,
938    #[serde(rename = "To")]
939    pub to: TokenRecipient,
940}
941
942#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
943pub struct SetRejectThresholdKeyPageOperation {
944    #[serde(rename = "Threshold")]
945    pub threshold: u64,
946}
947
948#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
949pub struct SetResponseThresholdKeyPageOperation {
950    #[serde(rename = "Threshold")]
951    pub threshold: u64,
952}
953
954#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
955pub struct SetThresholdKeyPageOperation {
956    #[serde(rename = "Threshold")]
957    pub threshold: u64,
958}
959
960#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
961pub struct SignatureSet {
962    #[serde(rename = "Vote")]
963    pub vote: VoteType,
964    #[serde(rename = "Signer")]
965    pub signer: String,
966    #[serde(rename = "TransactionHash")]
967    pub transaction_hash: [u8; 32],
968    #[serde(rename = "Signatures")]
969    pub signatures: serde_json::Value,
970    #[serde(rename = "Authority")]
971    pub authority: String,
972}
973
974// Type SignatureType already defined in enums module
975
976
977#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
978pub struct SyntheticBurnTokens {
979    #[serde(rename = "Amount")]
980    pub amount: String,
981    #[serde(rename = "IsRefund")]
982    pub is_refund: bool,
983}
984
985#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
986pub struct SyntheticCreateIdentity {
987    #[serde(rename = "Accounts")]
988    pub accounts: serde_json::Value,
989}
990
991#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
992pub struct SyntheticDepositCredits {
993    #[serde(rename = "Amount")]
994    pub amount: u64,
995    #[serde(rename = "AcmeRefundAmount")]
996    pub acme_refund_amount: String,
997    #[serde(rename = "IsRefund")]
998    pub is_refund: bool,
999}
1000
1001#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1002pub struct SyntheticDepositTokens {
1003    #[serde(rename = "Token")]
1004    pub token: String,
1005    #[serde(rename = "Amount")]
1006    pub amount: String,
1007    #[serde(rename = "IsIssuer")]
1008    pub is_issuer: bool,
1009    #[serde(rename = "IsRefund")]
1010    pub is_refund: bool,
1011}
1012
1013#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1014pub struct SyntheticForwardTransaction {
1015    #[serde(rename = "Signatures")]
1016    pub signatures: RemoteSignature,
1017    #[serde(rename = "Transaction")]
1018    pub transaction: Transaction,
1019}
1020
1021#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1022pub struct SyntheticLedger {
1023    #[serde(rename = "Url")]
1024    pub url: String,
1025    #[serde(rename = "Sequence")]
1026    pub sequence: PartitionSyntheticLedger,
1027}
1028
1029#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1030pub struct SyntheticOrigin {
1031    #[serde(rename = "Cause")]
1032    pub cause: [u8; 32],
1033    #[serde(rename = "Source")]
1034    pub source: String,
1035    #[serde(rename = "Initiator")]
1036    pub initiator: String,
1037    #[serde(rename = "FeeRefund")]
1038    pub fee_refund: u64,
1039    #[serde(rename = "Index")]
1040    pub index: u64,
1041}
1042
1043#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1044pub struct SyntheticWriteData {
1045    #[serde(rename = "Entry")]
1046    pub entry: serde_json::Value,
1047}
1048
1049#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1050#[serde(tag = "type")]
1051pub enum SystemGenesis {
1052    // Union variants would be populated based on the union definition
1053}
1054
1055#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1056pub struct SystemLedger {
1057    #[serde(rename = "Url")]
1058    pub url: String,
1059    #[serde(rename = "Index")]
1060    pub index: u64,
1061    #[serde(rename = "Timestamp")]
1062    pub timestamp: String,
1063    #[serde(rename = "AcmeBurnt")]
1064    pub acme_burnt: String,
1065    #[serde(rename = "PendingUpdates")]
1066    pub pending_updates: NetworkAccountUpdate,
1067    #[serde(rename = "Anchor")]
1068    pub anchor: serde_json::Value,
1069    #[serde(rename = "ExecutorVersion")]
1070    pub executor_version: ExecutorVersion,
1071    #[serde(rename = "BvnExecutorVersions")]
1072    pub bvn_executor_versions: PartitionExecutorVersion,
1073}
1074
1075#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1076pub struct SystemWriteData {
1077    #[serde(rename = "Entry")]
1078    pub entry: serde_json::Value,
1079    #[serde(rename = "WriteToState")]
1080    pub write_to_state: bool,
1081}
1082
1083#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1084pub struct TokenAccount {
1085    #[serde(rename = "Url")]
1086    pub url: String,
1087    #[serde(rename = "TokenUrl")]
1088    pub token_url: String,
1089    #[serde(rename = "Balance")]
1090    pub balance: String,
1091}
1092
1093#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1094pub struct TokenIssuer {
1095    #[serde(rename = "Url")]
1096    pub url: String,
1097    #[serde(rename = "Symbol")]
1098    pub symbol: String,
1099    #[serde(rename = "Precision")]
1100    pub precision: u64,
1101    #[serde(rename = "Properties")]
1102    pub properties: String,
1103    #[serde(rename = "Issued")]
1104    pub issued: String,
1105    #[serde(rename = "SupplyLimit")]
1106    pub supply_limit: String,
1107}
1108
1109#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1110pub struct TokenIssuerProof {
1111    #[serde(rename = "Transaction")]
1112    pub transaction: CreateToken,
1113    #[serde(rename = "Receipt")]
1114    pub receipt: Vec<u8>,
1115}
1116
1117#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1118pub struct TokenRecipient {
1119    #[serde(rename = "Url")]
1120    pub url: String,
1121    #[serde(rename = "Amount")]
1122    pub amount: String,
1123}
1124
1125#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1126pub struct Transaction {
1127    #[serde(rename = "Header")]
1128    pub header: TransactionHeader,
1129    #[serde(rename = "Body")]
1130    pub body: serde_json::Value,
1131    pub hash: Vec<u8>,
1132    pub header64bytes: bool,
1133    pub body64bytes: bool,
1134}
1135
1136#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1137pub struct TransactionHeader {
1138    #[serde(rename = "Principal")]
1139    pub principal: String,
1140    #[serde(rename = "Initiator")]
1141    pub initiator: [u8; 32],
1142    #[serde(rename = "Memo")]
1143    pub memo: String,
1144    #[serde(rename = "Metadata")]
1145    pub metadata: Vec<u8>,
1146    #[serde(rename = "Expire")]
1147    pub expire: ExpireOptions,
1148    #[serde(rename = "HoldUntil")]
1149    pub hold_until: HoldUntilOptions,
1150    #[serde(rename = "Authorities")]
1151    pub authorities: String,
1152}
1153
1154// Type TransactionMax already defined in enums module
1155
1156
1157#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1158pub struct TransactionResultSet {
1159    #[serde(rename = "Results")]
1160    pub results: TransactionStatus,
1161}
1162
1163#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1164pub struct TransactionStatus {
1165    #[serde(rename = "TxID")]
1166    pub tx_id: [u8; 32],
1167    #[serde(rename = "Code")]
1168    pub code: String,
1169    #[serde(rename = "Remote")]
1170    pub remote: bool,
1171    #[serde(rename = "Delivered")]
1172    pub delivered: bool,
1173    #[serde(rename = "Pending")]
1174    pub pending: bool,
1175    #[serde(rename = "Failed")]
1176    pub failed: bool,
1177    #[serde(rename = "CodeNum")]
1178    pub code_num: u64,
1179    #[serde(rename = "Error")]
1180    pub error: String,
1181    #[serde(rename = "Result")]
1182    pub result: serde_json::Value,
1183    #[serde(rename = "Received")]
1184    pub received: u64,
1185    #[serde(rename = "Initiator")]
1186    pub initiator: String,
1187    #[serde(rename = "Signers")]
1188    pub signers: String,
1189    #[serde(rename = "SourceNetwork")]
1190    pub source_network: String,
1191    #[serde(rename = "DestinationNetwork")]
1192    pub destination_network: String,
1193    #[serde(rename = "SequenceNumber")]
1194    pub sequence_number: u64,
1195    #[serde(rename = "GotDirectoryReceipt")]
1196    pub got_directory_receipt: bool,
1197    #[serde(rename = "Proof")]
1198    pub proof: Vec<u8>,
1199    #[serde(rename = "AnchorSigners")]
1200    pub anchor_signers: Vec<u8>,
1201}
1202
1203// Type TransactionType already defined in enums module
1204
1205
1206#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1207pub struct TransferCredits {
1208    #[serde(rename = "To")]
1209    pub to: CreditRecipient,
1210}
1211
1212#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1213pub struct TxIdSet {
1214    #[serde(rename = "Entries")]
1215    pub entries: [u8; 32],
1216}
1217
1218#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1219pub struct TypedDataSignature {
1220    #[serde(rename = "PublicKey")]
1221    pub public_key: Vec<u8>,
1222    #[serde(rename = "Signature")]
1223    pub signature: Vec<u8>,
1224    #[serde(rename = "Signer")]
1225    pub signer: String,
1226    #[serde(rename = "SignerVersion")]
1227    pub signer_version: u64,
1228    #[serde(rename = "Timestamp")]
1229    pub timestamp: u64,
1230    #[serde(rename = "Vote")]
1231    pub vote: VoteType,
1232    #[serde(rename = "TransactionHash")]
1233    pub transaction_hash: [u8; 32],
1234    #[serde(rename = "Memo")]
1235    pub memo: String,
1236    #[serde(rename = "Data")]
1237    pub data: Vec<u8>,
1238    #[serde(rename = "ChainID")]
1239    pub chain_id: String,
1240}
1241
1242#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1243pub struct UnknownAccount {
1244    #[serde(rename = "Url")]
1245    pub url: String,
1246}
1247
1248#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1249pub struct UnknownSigner {
1250    #[serde(rename = "Url")]
1251    pub url: String,
1252    #[serde(rename = "Version")]
1253    pub version: u64,
1254}
1255
1256#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1257pub struct UpdateAccountAuth {
1258    #[serde(rename = "Operations")]
1259    pub operations: serde_json::Value,
1260}
1261
1262#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1263pub struct UpdateAllowedKeyPageOperation {
1264    #[serde(rename = "Allow")]
1265    pub allow: TransactionType,
1266    #[serde(rename = "Deny")]
1267    pub deny: TransactionType,
1268}
1269
1270#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1271pub struct UpdateKey {
1272    #[serde(rename = "NewKeyHash")]
1273    pub new_key_hash: Vec<u8>,
1274}
1275
1276#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1277pub struct UpdateKeyOperation {
1278    #[serde(rename = "OldEntry")]
1279    pub old_entry: KeySpecParams,
1280    #[serde(rename = "NewEntry")]
1281    pub new_entry: KeySpecParams,
1282}
1283
1284#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1285pub struct UpdateKeyPage {
1286    #[serde(rename = "Operation")]
1287    pub operation: serde_json::Value,
1288}
1289
1290#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1291pub struct ValidatorInfo {
1292    #[serde(rename = "PublicKey")]
1293    pub public_key: Vec<u8>,
1294    #[serde(rename = "PublicKeyHash")]
1295    pub public_key_hash: [u8; 32],
1296    #[serde(rename = "Operator")]
1297    pub operator: String,
1298    #[serde(rename = "Partitions")]
1299    pub partitions: ValidatorPartitionInfo,
1300}
1301
1302#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1303pub struct ValidatorPartitionInfo {
1304    #[serde(rename = "ID")]
1305    pub id: String,
1306    #[serde(rename = "Active")]
1307    pub active: bool,
1308}
1309
1310// Type VoteType already defined in enums module
1311
1312
1313#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1314pub struct WriteData {
1315    #[serde(rename = "Entry")]
1316    pub entry: serde_json::Value,
1317    #[serde(rename = "Scratch")]
1318    pub scratch: bool,
1319    #[serde(rename = "WriteToState")]
1320    pub write_to_state: bool,
1321}
1322
1323#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1324pub struct WriteDataResult {
1325    #[serde(rename = "EntryHash")]
1326    pub entry_hash: [u8; 32],
1327    #[serde(rename = "AccountUrl")]
1328    pub account_url: String,
1329    #[serde(rename = "AccountID")]
1330    pub account_id: Vec<u8>,
1331}
1332
1333#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1334pub struct WriteDataTo {
1335    #[serde(rename = "Recipient")]
1336    pub recipient: String,
1337    #[serde(rename = "Entry")]
1338    pub entry: serde_json::Value,
1339}