-
Notifications
You must be signed in to change notification settings - Fork 5
/
blockchain.pb.h
1049 lines (965 loc) · 43.1 KB
/
blockchain.pb.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
/* Automatically generated nanopb header */
/* Generated by nanopb-0.3.9.5 at Thu Jun 25 03:49:39 2020. */
#ifndef PB_BLOCKCHAIN_PB_H_INCLUDED
#define PB_BLOCKCHAIN_PB_H_INCLUDED
#include <pb.h>
/* @@protoc_insertion_point(includes) */
#if PB_PROTO_HEADER_VERSION != 30
#error Regenerate this file with the current version of nanopb generator.
#endif
#ifdef __cplusplus
extern "C" {
#endif
/* Enum definitions */
typedef enum _TxType {
TxType_NORMAL = 0,
TxType_GOVERNANCE = 1,
TxType_REDEPLOY = 2,
TxType_FEEDELEGATION = 3,
TxType_TRANSFER = 4,
TxType_CALL = 5,
TxType_DEPLOY = 6,
TxType_MULTICALL = 7
} TxType;
#define _TxType_MIN TxType_NORMAL
#define _TxType_MAX TxType_MULTICALL
#define _TxType_ARRAYSIZE ((TxType)(TxType_MULTICALL+1))
typedef enum _CommitStatus {
CommitStatus_TX_OK = 0,
CommitStatus_TX_NONCE_TOO_LOW = 1,
CommitStatus_TX_ALREADY_EXISTS = 2,
CommitStatus_TX_INVALID_HASH = 3,
CommitStatus_TX_INVALID_SIGN = 4,
CommitStatus_TX_INVALID_FORMAT = 5,
CommitStatus_TX_INSUFFICIENT_BALANCE = 6,
CommitStatus_TX_HAS_SAME_NONCE = 7,
CommitStatus_TX_INTERNAL_ERROR = 9
} CommitStatus;
#define _CommitStatus_MIN CommitStatus_TX_OK
#define _CommitStatus_MAX CommitStatus_TX_INTERNAL_ERROR
#define _CommitStatus_ARRAYSIZE ((CommitStatus)(CommitStatus_TX_INTERNAL_ERROR+1))
typedef enum _VerifyStatus {
VerifyStatus_VERIFY_STATUS_OK = 0,
VerifyStatus_VERIFY_STATUS_SIGN_NOT_MATCH = 1,
VerifyStatus_VERIFY_STATUS_INVALID_HASH = 2
} VerifyStatus;
#define _VerifyStatus_MIN VerifyStatus_VERIFY_STATUS_OK
#define _VerifyStatus_MAX VerifyStatus_VERIFY_STATUS_INVALID_HASH
#define _VerifyStatus_ARRAYSIZE ((VerifyStatus)(VerifyStatus_VERIFY_STATUS_INVALID_HASH+1))
/* Struct definitions */
typedef struct _ABI {
pb_callback_t version;
pb_callback_t language;
pb_callback_t functions;
pb_callback_t state_variables;
/* @@protoc_insertion_point(struct:ABI) */
} ABI;
typedef struct _Account {
pb_callback_t address;
/* @@protoc_insertion_point(struct:Account) */
} Account;
typedef struct _AccountAddress {
pb_callback_t value;
/* @@protoc_insertion_point(struct:AccountAddress) */
} AccountAddress;
typedef struct _AccountList {
pb_callback_t accounts;
/* @@protoc_insertion_point(struct:AccountList) */
} AccountList;
typedef struct _BlockBody {
pb_callback_t txs;
/* @@protoc_insertion_point(struct:BlockBody) */
} BlockBody;
typedef struct _BlockHeaderList {
pb_callback_t blocks;
/* @@protoc_insertion_point(struct:BlockHeaderList) */
} BlockHeaderList;
typedef struct _BlockMetadataList {
pb_callback_t blocks;
/* @@protoc_insertion_point(struct:BlockMetadataList) */
} BlockMetadataList;
typedef struct _ChainStats {
pb_callback_t report;
/* @@protoc_insertion_point(struct:ChainStats) */
} ChainStats;
typedef struct _ConfigItem {
pb_callback_t props;
/* @@protoc_insertion_point(struct:ConfigItem) */
} ConfigItem;
typedef struct _ConfigItem_PropsEntry {
pb_callback_t key;
pb_callback_t value;
/* @@protoc_insertion_point(struct:ConfigItem_PropsEntry) */
} ConfigItem_PropsEntry;
typedef struct _ConsensusInfo {
pb_callback_t type;
pb_callback_t info;
pb_callback_t bps;
/* @@protoc_insertion_point(struct:ConsensusInfo) */
} ConsensusInfo;
typedef struct _Empty {
char dummy_field;
/* @@protoc_insertion_point(struct:Empty) */
} Empty;
typedef struct _EnterpriseConfigKey {
pb_callback_t key;
/* @@protoc_insertion_point(struct:EnterpriseConfigKey) */
} EnterpriseConfigKey;
typedef struct _EventList {
pb_callback_t events;
/* @@protoc_insertion_point(struct:EventList) */
} EventList;
typedef struct _FnArgument {
pb_callback_t name;
/* @@protoc_insertion_point(struct:FnArgument) */
} FnArgument;
typedef struct _Input {
pb_callback_t hash;
pb_callback_t address;
pb_callback_t value;
pb_callback_t script;
/* @@protoc_insertion_point(struct:Input) */
} Input;
typedef struct _KeyParams {
pb_callback_t key;
/* @@protoc_insertion_point(struct:KeyParams) */
} KeyParams;
typedef struct _NodeReq {
pb_callback_t timeout;
pb_callback_t component;
/* @@protoc_insertion_point(struct:NodeReq) */
} NodeReq;
typedef struct _Query {
pb_callback_t contractAddress;
pb_callback_t queryinfo;
/* @@protoc_insertion_point(struct:Query) */
} Query;
typedef struct _ServerInfo {
pb_callback_t status;
pb_callback_t config;
/* @@protoc_insertion_point(struct:ServerInfo) */
} ServerInfo;
typedef struct _ServerInfo_StatusEntry {
pb_callback_t key;
pb_callback_t value;
/* @@protoc_insertion_point(struct:ServerInfo_StatusEntry) */
} ServerInfo_StatusEntry;
typedef struct _SingleBytes {
pb_callback_t value;
/* @@protoc_insertion_point(struct:SingleBytes) */
} SingleBytes;
typedef struct _SingleString {
pb_callback_t value;
/* @@protoc_insertion_point(struct:SingleString) */
} SingleString;
typedef struct _Tx {
pb_callback_t hash;
pb_callback_t body;
/* @@protoc_insertion_point(struct:Tx) */
} Tx;
typedef struct _TxList {
pb_callback_t txs;
/* @@protoc_insertion_point(struct:TxList) */
} TxList;
typedef struct _Vote {
pb_callback_t candidate;
pb_callback_t amount;
/* @@protoc_insertion_point(struct:Vote) */
} Vote;
typedef struct _VoteInfo {
pb_callback_t id;
pb_callback_t candidates;
pb_callback_t amount;
/* @@protoc_insertion_point(struct:VoteInfo) */
} VoteInfo;
typedef struct _VoteList {
pb_callback_t votes;
pb_callback_t id;
/* @@protoc_insertion_point(struct:VoteList) */
} VoteList;
typedef struct _AccountAndRoot {
pb_callback_t Account;
pb_callback_t Root;
bool Compressed;
/* @@protoc_insertion_point(struct:AccountAndRoot) */
} AccountAndRoot;
typedef struct _BlockBodyPaged {
uint32_t total;
uint32_t offset;
uint32_t size;
BlockBody body;
/* @@protoc_insertion_point(struct:BlockBodyPaged) */
} BlockBodyPaged;
typedef struct _BlockHeader {
pb_callback_t chainID;
pb_callback_t prevBlockHash;
uint64_t blockNo;
int64_t timestamp;
pb_callback_t blocksRootHash;
pb_callback_t txsRootHash;
pb_callback_t receiptsRootHash;
uint64_t confirms;
pb_callback_t pubKey;
pb_callback_t coinbaseAccount;
pb_callback_t sign;
pb_callback_t consensus;
/* @@protoc_insertion_point(struct:BlockHeader) */
} BlockHeader;
typedef struct _ChainId {
pb_callback_t magic;
bool is_public;
bool mainnet;
pb_callback_t consensus;
int32_t version;
/* @@protoc_insertion_point(struct:ChainId) */
} ChainId;
typedef struct _CommitResult {
pb_callback_t hash;
CommitStatus error;
pb_callback_t detail;
/* @@protoc_insertion_point(struct:CommitResult) */
} CommitResult;
typedef struct _ContractVarProof {
pb_callback_t value;
bool inclusion;
pb_callback_t proofKey;
pb_callback_t proofVal;
pb_callback_t bitmap;
uint32_t height;
pb_callback_t auditPath;
pb_callback_t key;
/* @@protoc_insertion_point(struct:ContractVarProof) */
} ContractVarProof;
typedef struct _EnterpriseConfig {
pb_callback_t key;
bool on;
pb_callback_t values;
/* @@protoc_insertion_point(struct:EnterpriseConfig) */
} EnterpriseConfig;
typedef struct _Event {
pb_callback_t contractAddress;
pb_callback_t eventName;
pb_callback_t jsonArgs;
int32_t eventIdx;
pb_callback_t txHash;
pb_callback_t blockHash;
uint64_t blockNo;
int32_t txIndex;
/* @@protoc_insertion_point(struct:Event) */
} Event;
typedef struct _FilterInfo {
pb_callback_t contractAddress;
pb_callback_t eventName;
uint64_t blockfrom;
uint64_t blockto;
bool desc;
pb_callback_t argFilter;
int32_t recentBlockCnt;
/* @@protoc_insertion_point(struct:FilterInfo) */
} FilterInfo;
typedef struct _Function {
pb_callback_t name;
pb_callback_t arguments;
bool payable;
bool view;
bool fee_delegation;
/* @@protoc_insertion_point(struct:Function) */
} Function;
typedef struct _ImportFormat {
SingleBytes wif;
pb_callback_t oldpass;
pb_callback_t newpass;
SingleBytes keystore;
/* @@protoc_insertion_point(struct:ImportFormat) */
} ImportFormat;
typedef struct _ListParams {
pb_callback_t hash;
uint64_t height;
uint32_t size;
uint32_t offset;
bool asc;
/* @@protoc_insertion_point(struct:ListParams) */
} ListParams;
typedef struct _Name {
pb_callback_t name;
uint64_t blockNo;
/* @@protoc_insertion_point(struct:Name) */
} Name;
typedef struct _Output {
uint32_t index;
pb_callback_t address;
pb_callback_t value;
pb_callback_t script;
/* @@protoc_insertion_point(struct:Output) */
} Output;
typedef struct _PageParams {
uint32_t offset;
uint32_t size;
/* @@protoc_insertion_point(struct:PageParams) */
} PageParams;
typedef struct _PeersParams {
bool noHidden;
bool showSelf;
/* @@protoc_insertion_point(struct:PeersParams) */
} PeersParams;
typedef struct _Personal {
pb_callback_t passphrase;
Account account;
/* @@protoc_insertion_point(struct:Personal) */
} Personal;
typedef struct _Proposal {
pb_callback_t id;
pb_callback_t description;
uint32_t multipleChoice;
/* @@protoc_insertion_point(struct:Proposal) */
} Proposal;
typedef struct _Receipt {
pb_callback_t contractAddress;
pb_callback_t status;
pb_callback_t ret;
pb_callback_t txHash;
pb_callback_t feeUsed;
pb_callback_t cumulativeFeeUsed;
pb_callback_t bloom;
pb_callback_t events;
uint64_t blockNo;
pb_callback_t blockHash;
int32_t txIndex;
pb_callback_t from;
pb_callback_t to;
bool feeDelegation;
uint64_t gasUsed;
/* @@protoc_insertion_point(struct:Receipt) */
} Receipt;
typedef struct _ServerInfo_ConfigEntry {
pb_callback_t key;
ConfigItem value;
/* @@protoc_insertion_point(struct:ServerInfo_ConfigEntry) */
} ServerInfo_ConfigEntry;
typedef struct _Staking {
pb_callback_t amount;
uint64_t when;
/* @@protoc_insertion_point(struct:Staking) */
} Staking;
typedef struct _State {
uint64_t nonce;
pb_callback_t balance;
pb_callback_t codeHash;
pb_callback_t storageRoot;
uint64_t sqlRecoveryPoint;
/* @@protoc_insertion_point(struct:State) */
} State;
typedef struct _StateQuery {
pb_callback_t contractAddress;
pb_callback_t root;
bool compressed;
pb_callback_t storageKeys;
/* @@protoc_insertion_point(struct:StateQuery) */
} StateQuery;
typedef struct _StateVar {
pb_callback_t name;
pb_callback_t type;
int32_t len;
/* @@protoc_insertion_point(struct:StateVar) */
} StateVar;
typedef struct _TxBody {
uint64_t nonce;
pb_callback_t account;
pb_callback_t recipient;
pb_callback_t amount;
pb_callback_t payload;
uint64_t gasLimit;
pb_callback_t gasPrice;
TxType type;
pb_callback_t chainIdHash;
pb_callback_t sign;
/* @@protoc_insertion_point(struct:TxBody) */
} TxBody;
typedef struct _TxIdx {
pb_callback_t blockHash;
int32_t idx;
/* @@protoc_insertion_point(struct:TxIdx) */
} TxIdx;
typedef struct _VerifyResult {
Tx tx;
VerifyStatus error;
/* @@protoc_insertion_point(struct:VerifyResult) */
} VerifyResult;
typedef struct _VoteParams {
pb_callback_t id;
uint32_t count;
/* @@protoc_insertion_point(struct:VoteParams) */
} VoteParams;
typedef struct _AccountProof {
State state;
bool inclusion;
pb_callback_t key;
pb_callback_t proofKey;
pb_callback_t proofVal;
pb_callback_t bitmap;
uint32_t height;
pb_callback_t auditPath;
/* @@protoc_insertion_point(struct:AccountProof) */
} AccountProof;
typedef struct _AccountVoteInfo {
Staking staking;
pb_callback_t voting;
/* @@protoc_insertion_point(struct:AccountVoteInfo) */
} AccountVoteInfo;
typedef struct _Block {
pb_callback_t hash;
BlockHeader header;
BlockBody body;
/* @@protoc_insertion_point(struct:Block) */
} Block;
typedef struct _BlockBodyParams {
pb_callback_t hashornumber;
PageParams paging;
/* @@protoc_insertion_point(struct:BlockBodyParams) */
} BlockBodyParams;
typedef struct _BlockMetadata {
pb_callback_t hash;
BlockHeader header;
int32_t txcount;
int64_t size;
/* @@protoc_insertion_point(struct:BlockMetadata) */
} BlockMetadata;
typedef struct _ChainInfo {
ChainId id;
uint32_t bpNumber;
uint64_t maxblocksize;
pb_callback_t maxtokens;
pb_callback_t stakingminimum;
pb_callback_t totalstaking;
pb_callback_t gasprice;
pb_callback_t nameprice;
pb_callback_t totalvotingpower;
pb_callback_t votingreward;
/* @@protoc_insertion_point(struct:ChainInfo) */
} ChainInfo;
typedef struct _CommitResultList {
CommitResult results;
/* @@protoc_insertion_point(struct:CommitResultList) */
} CommitResultList;
typedef struct _NameInfo {
Name name;
pb_callback_t owner;
pb_callback_t destination;
/* @@protoc_insertion_point(struct:NameInfo) */
} NameInfo;
typedef struct _TxInBlock {
TxIdx txIdx;
Tx tx;
/* @@protoc_insertion_point(struct:TxInBlock) */
} TxInBlock;
typedef struct _BlockchainStatus {
pb_callback_t best_block_hash;
uint64_t best_height;
pb_callback_t consensus_info;
pb_callback_t best_chain_id_hash;
ChainInfo chain_info;
/* @@protoc_insertion_point(struct:BlockchainStatus) */
} BlockchainStatus;
typedef struct _StateQueryProof {
AccountProof contractProof;
pb_callback_t varProofs;
/* @@protoc_insertion_point(struct:StateQueryProof) */
} StateQueryProof;
/* Default values for struct fields */
/* Initializer values for message structs */
#define Block_init_default {{{NULL}, NULL}, BlockHeader_init_default, BlockBody_init_default}
#define BlockHeader_init_default {{{NULL}, NULL}, {{NULL}, NULL}, 0, 0, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, 0, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}}
#define BlockBody_init_default {{{NULL}, NULL}}
#define TxList_init_default {{{NULL}, NULL}}
#define Tx_init_default {{{NULL}, NULL}, {{NULL}, NULL}}
#define TxBody_init_default {0, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, 0, {{NULL}, NULL}, _TxType_MIN, {{NULL}, NULL}, {{NULL}, NULL}}
#define TxIdx_init_default {{{NULL}, NULL}, 0}
#define TxInBlock_init_default {TxIdx_init_default, Tx_init_default}
#define State_init_default {0, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, 0}
#define AccountProof_init_default {State_init_default, 0, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, 0, {{NULL}, NULL}}
#define ContractVarProof_init_default {{{NULL}, NULL}, 0, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, 0, {{NULL}, NULL}, {{NULL}, NULL}}
#define StateQueryProof_init_default {AccountProof_init_default, {{NULL}, NULL}}
#define Receipt_init_default {{{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, 0, {{NULL}, NULL}, 0, {{NULL}, NULL}, {{NULL}, NULL}, 0, 0}
#define Event_init_default {{{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, 0, {{NULL}, NULL}, {{NULL}, NULL}, 0, 0}
#define FnArgument_init_default {{{NULL}, NULL}}
#define Function_init_default {{{NULL}, NULL}, {{NULL}, NULL}, 0, 0, 0}
#define StateVar_init_default {{{NULL}, NULL}, {{NULL}, NULL}, 0}
#define ABI_init_default {{{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}}
#define Query_init_default {{{NULL}, NULL}, {{NULL}, NULL}}
#define StateQuery_init_default {{{NULL}, NULL}, {{NULL}, NULL}, 0, {{NULL}, NULL}}
#define FilterInfo_init_default {{{NULL}, NULL}, {{NULL}, NULL}, 0, 0, 0, {{NULL}, NULL}, 0}
#define Proposal_init_default {{{NULL}, NULL}, {{NULL}, NULL}, 0}
#define Account_init_default {{{NULL}, NULL}}
#define AccountList_init_default {{{NULL}, NULL}}
#define BlockchainStatus_init_default {{{NULL}, NULL}, 0, {{NULL}, NULL}, {{NULL}, NULL}, ChainInfo_init_default}
#define ChainId_init_default {{{NULL}, NULL}, 0, 0, {{NULL}, NULL}, 0}
#define ChainInfo_init_default {ChainId_init_default, 0, 0, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}}
#define ChainStats_init_default {{{NULL}, NULL}}
#define Input_init_default {{{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}}
#define Output_init_default {0, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}}
#define Empty_init_default {0}
#define SingleBytes_init_default {{{NULL}, NULL}}
#define SingleString_init_default {{{NULL}, NULL}}
#define AccountAddress_init_default {{{NULL}, NULL}}
#define AccountAndRoot_init_default {{{NULL}, NULL}, {{NULL}, NULL}, 0}
#define ListParams_init_default {{{NULL}, NULL}, 0, 0, 0, 0}
#define PageParams_init_default {0, 0}
#define BlockBodyPaged_init_default {0, 0, 0, BlockBody_init_default}
#define BlockBodyParams_init_default {{{NULL}, NULL}, PageParams_init_default}
#define BlockHeaderList_init_default {{{NULL}, NULL}}
#define BlockMetadata_init_default {{{NULL}, NULL}, BlockHeader_init_default, 0, 0}
#define BlockMetadataList_init_default {{{NULL}, NULL}}
#define CommitResult_init_default {{{NULL}, NULL}, _CommitStatus_MIN, {{NULL}, NULL}}
#define CommitResultList_init_default {CommitResult_init_default}
#define VerifyResult_init_default {Tx_init_default, _VerifyStatus_MIN}
#define Personal_init_default {{{NULL}, NULL}, Account_init_default}
#define ImportFormat_init_default {SingleBytes_init_default, {{NULL}, NULL}, {{NULL}, NULL}, SingleBytes_init_default}
#define Staking_init_default {{{NULL}, NULL}, 0}
#define Vote_init_default {{{NULL}, NULL}, {{NULL}, NULL}}
#define VoteParams_init_default {{{NULL}, NULL}, 0}
#define AccountVoteInfo_init_default {Staking_init_default, {{NULL}, NULL}}
#define VoteInfo_init_default {{{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}}
#define VoteList_init_default {{{NULL}, NULL}, {{NULL}, NULL}}
#define NodeReq_init_default {{{NULL}, NULL}, {{NULL}, NULL}}
#define Name_init_default {{{NULL}, NULL}, 0}
#define NameInfo_init_default {Name_init_default, {{NULL}, NULL}, {{NULL}, NULL}}
#define PeersParams_init_default {0, 0}
#define KeyParams_init_default {{{NULL}, NULL}}
#define ServerInfo_init_default {{{NULL}, NULL}, {{NULL}, NULL}}
#define ServerInfo_StatusEntry_init_default {{{NULL}, NULL}, {{NULL}, NULL}}
#define ServerInfo_ConfigEntry_init_default {{{NULL}, NULL}, ConfigItem_init_default}
#define ConfigItem_init_default {{{NULL}, NULL}}
#define ConfigItem_PropsEntry_init_default {{{NULL}, NULL}, {{NULL}, NULL}}
#define EventList_init_default {{{NULL}, NULL}}
#define ConsensusInfo_init_default {{{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}}
#define EnterpriseConfigKey_init_default {{{NULL}, NULL}}
#define EnterpriseConfig_init_default {{{NULL}, NULL}, 0, {{NULL}, NULL}}
#define Block_init_zero {{{NULL}, NULL}, BlockHeader_init_zero, BlockBody_init_zero}
#define BlockHeader_init_zero {{{NULL}, NULL}, {{NULL}, NULL}, 0, 0, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, 0, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}}
#define BlockBody_init_zero {{{NULL}, NULL}}
#define TxList_init_zero {{{NULL}, NULL}}
#define Tx_init_zero {{{NULL}, NULL}, {{NULL}, NULL}}
#define TxBody_init_zero {0, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, 0, {{NULL}, NULL}, _TxType_MIN, {{NULL}, NULL}, {{NULL}, NULL}}
#define TxIdx_init_zero {{{NULL}, NULL}, 0}
#define TxInBlock_init_zero {TxIdx_init_zero, Tx_init_zero}
#define State_init_zero {0, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, 0}
#define AccountProof_init_zero {State_init_zero, 0, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, 0, {{NULL}, NULL}}
#define ContractVarProof_init_zero {{{NULL}, NULL}, 0, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, 0, {{NULL}, NULL}, {{NULL}, NULL}}
#define StateQueryProof_init_zero {AccountProof_init_zero, {{NULL}, NULL}}
#define Receipt_init_zero {{{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, 0, {{NULL}, NULL}, 0, {{NULL}, NULL}, {{NULL}, NULL}, 0, 0}
#define Event_init_zero {{{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, 0, {{NULL}, NULL}, {{NULL}, NULL}, 0, 0}
#define FnArgument_init_zero {{{NULL}, NULL}}
#define Function_init_zero {{{NULL}, NULL}, {{NULL}, NULL}, 0, 0, 0}
#define StateVar_init_zero {{{NULL}, NULL}, {{NULL}, NULL}, 0}
#define ABI_init_zero {{{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}}
#define Query_init_zero {{{NULL}, NULL}, {{NULL}, NULL}}
#define StateQuery_init_zero {{{NULL}, NULL}, {{NULL}, NULL}, 0, {{NULL}, NULL}}
#define FilterInfo_init_zero {{{NULL}, NULL}, {{NULL}, NULL}, 0, 0, 0, {{NULL}, NULL}, 0}
#define Proposal_init_zero {{{NULL}, NULL}, {{NULL}, NULL}, 0}
#define Account_init_zero {{{NULL}, NULL}}
#define AccountList_init_zero {{{NULL}, NULL}}
#define BlockchainStatus_init_zero {{{NULL}, NULL}, 0, {{NULL}, NULL}, {{NULL}, NULL}, ChainInfo_init_zero}
#define ChainId_init_zero {{{NULL}, NULL}, 0, 0, {{NULL}, NULL}, 0}
#define ChainInfo_init_zero {ChainId_init_zero, 0, 0, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}}
#define ChainStats_init_zero {{{NULL}, NULL}}
#define Input_init_zero {{{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}}
#define Output_init_zero {0, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}}
#define Empty_init_zero {0}
#define SingleBytes_init_zero {{{NULL}, NULL}}
#define SingleString_init_zero {{{NULL}, NULL}}
#define AccountAddress_init_zero {{{NULL}, NULL}}
#define AccountAndRoot_init_zero {{{NULL}, NULL}, {{NULL}, NULL}, 0}
#define ListParams_init_zero {{{NULL}, NULL}, 0, 0, 0, 0}
#define PageParams_init_zero {0, 0}
#define BlockBodyPaged_init_zero {0, 0, 0, BlockBody_init_zero}
#define BlockBodyParams_init_zero {{{NULL}, NULL}, PageParams_init_zero}
#define BlockHeaderList_init_zero {{{NULL}, NULL}}
#define BlockMetadata_init_zero {{{NULL}, NULL}, BlockHeader_init_zero, 0, 0}
#define BlockMetadataList_init_zero {{{NULL}, NULL}}
#define CommitResult_init_zero {{{NULL}, NULL}, _CommitStatus_MIN, {{NULL}, NULL}}
#define CommitResultList_init_zero {CommitResult_init_zero}
#define VerifyResult_init_zero {Tx_init_zero, _VerifyStatus_MIN}
#define Personal_init_zero {{{NULL}, NULL}, Account_init_zero}
#define ImportFormat_init_zero {SingleBytes_init_zero, {{NULL}, NULL}, {{NULL}, NULL}, SingleBytes_init_zero}
#define Staking_init_zero {{{NULL}, NULL}, 0}
#define Vote_init_zero {{{NULL}, NULL}, {{NULL}, NULL}}
#define VoteParams_init_zero {{{NULL}, NULL}, 0}
#define AccountVoteInfo_init_zero {Staking_init_zero, {{NULL}, NULL}}
#define VoteInfo_init_zero {{{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}}
#define VoteList_init_zero {{{NULL}, NULL}, {{NULL}, NULL}}
#define NodeReq_init_zero {{{NULL}, NULL}, {{NULL}, NULL}}
#define Name_init_zero {{{NULL}, NULL}, 0}
#define NameInfo_init_zero {Name_init_zero, {{NULL}, NULL}, {{NULL}, NULL}}
#define PeersParams_init_zero {0, 0}
#define KeyParams_init_zero {{{NULL}, NULL}}
#define ServerInfo_init_zero {{{NULL}, NULL}, {{NULL}, NULL}}
#define ServerInfo_StatusEntry_init_zero {{{NULL}, NULL}, {{NULL}, NULL}}
#define ServerInfo_ConfigEntry_init_zero {{{NULL}, NULL}, ConfigItem_init_zero}
#define ConfigItem_init_zero {{{NULL}, NULL}}
#define ConfigItem_PropsEntry_init_zero {{{NULL}, NULL}, {{NULL}, NULL}}
#define EventList_init_zero {{{NULL}, NULL}}
#define ConsensusInfo_init_zero {{{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}}
#define EnterpriseConfigKey_init_zero {{{NULL}, NULL}}
#define EnterpriseConfig_init_zero {{{NULL}, NULL}, 0, {{NULL}, NULL}}
/* Field tags (for use in manual encoding/decoding) */
#define ABI_version_tag 1
#define ABI_language_tag 2
#define ABI_functions_tag 3
#define ABI_state_variables_tag 4
#define Account_address_tag 1
#define AccountAddress_value_tag 1
#define AccountList_accounts_tag 1
#define BlockBody_txs_tag 1
#define BlockHeaderList_blocks_tag 1
#define BlockMetadataList_blocks_tag 1
#define ChainStats_report_tag 1
#define ConfigItem_props_tag 2
#define ConfigItem_PropsEntry_key_tag 1
#define ConfigItem_PropsEntry_value_tag 2
#define ConsensusInfo_type_tag 1
#define ConsensusInfo_info_tag 2
#define ConsensusInfo_bps_tag 3
#define EnterpriseConfigKey_key_tag 1
#define EventList_events_tag 1
#define FnArgument_name_tag 1
#define Input_hash_tag 1
#define Input_address_tag 2
#define Input_value_tag 3
#define Input_script_tag 4
#define KeyParams_key_tag 1
#define NodeReq_timeout_tag 1
#define NodeReq_component_tag 2
#define Query_contractAddress_tag 1
#define Query_queryinfo_tag 2
#define ServerInfo_status_tag 1
#define ServerInfo_config_tag 2
#define ServerInfo_StatusEntry_key_tag 1
#define ServerInfo_StatusEntry_value_tag 2
#define SingleBytes_value_tag 1
#define SingleString_value_tag 1
#define Tx_hash_tag 1
#define Tx_body_tag 2
#define TxList_txs_tag 1
#define Vote_candidate_tag 1
#define Vote_amount_tag 2
#define VoteInfo_id_tag 1
#define VoteInfo_candidates_tag 2
#define VoteInfo_amount_tag 3
#define VoteList_votes_tag 1
#define VoteList_id_tag 2
#define AccountAndRoot_Account_tag 1
#define AccountAndRoot_Root_tag 2
#define AccountAndRoot_Compressed_tag 3
#define BlockBodyPaged_total_tag 1
#define BlockBodyPaged_offset_tag 2
#define BlockBodyPaged_size_tag 3
#define BlockBodyPaged_body_tag 4
#define BlockHeader_chainID_tag 1
#define BlockHeader_prevBlockHash_tag 2
#define BlockHeader_blockNo_tag 3
#define BlockHeader_timestamp_tag 4
#define BlockHeader_blocksRootHash_tag 5
#define BlockHeader_txsRootHash_tag 6
#define BlockHeader_receiptsRootHash_tag 7
#define BlockHeader_confirms_tag 8
#define BlockHeader_pubKey_tag 9
#define BlockHeader_coinbaseAccount_tag 10
#define BlockHeader_sign_tag 11
#define BlockHeader_consensus_tag 12
#define ChainId_magic_tag 1
#define ChainId_is_public_tag 2
#define ChainId_mainnet_tag 3
#define ChainId_consensus_tag 4
#define ChainId_version_tag 5
#define CommitResult_hash_tag 1
#define CommitResult_error_tag 2
#define CommitResult_detail_tag 3
#define ContractVarProof_value_tag 1
#define ContractVarProof_inclusion_tag 2
#define ContractVarProof_proofKey_tag 4
#define ContractVarProof_proofVal_tag 5
#define ContractVarProof_bitmap_tag 6
#define ContractVarProof_height_tag 7
#define ContractVarProof_auditPath_tag 8
#define ContractVarProof_key_tag 9
#define EnterpriseConfig_key_tag 1
#define EnterpriseConfig_on_tag 2
#define EnterpriseConfig_values_tag 3
#define Event_contractAddress_tag 1
#define Event_eventName_tag 2
#define Event_jsonArgs_tag 3
#define Event_eventIdx_tag 4
#define Event_txHash_tag 5
#define Event_blockHash_tag 6
#define Event_blockNo_tag 7
#define Event_txIndex_tag 8
#define FilterInfo_contractAddress_tag 1
#define FilterInfo_eventName_tag 2
#define FilterInfo_blockfrom_tag 3
#define FilterInfo_blockto_tag 4
#define FilterInfo_desc_tag 5
#define FilterInfo_argFilter_tag 6
#define FilterInfo_recentBlockCnt_tag 7
#define Function_name_tag 1
#define Function_arguments_tag 2
#define Function_payable_tag 3
#define Function_view_tag 4
#define Function_fee_delegation_tag 5
#define ImportFormat_wif_tag 1
#define ImportFormat_oldpass_tag 2
#define ImportFormat_newpass_tag 3
#define ImportFormat_keystore_tag 4
#define ListParams_hash_tag 1
#define ListParams_height_tag 2
#define ListParams_size_tag 3
#define ListParams_offset_tag 4
#define ListParams_asc_tag 5
#define Name_name_tag 1
#define Name_blockNo_tag 2
#define Output_index_tag 1
#define Output_address_tag 2
#define Output_value_tag 3
#define Output_script_tag 4
#define PageParams_offset_tag 1
#define PageParams_size_tag 2
#define PeersParams_noHidden_tag 1
#define PeersParams_showSelf_tag 2
#define Personal_passphrase_tag 1
#define Personal_account_tag 2
#define Proposal_id_tag 1
#define Proposal_description_tag 3
#define Proposal_multipleChoice_tag 6
#define Receipt_contractAddress_tag 1
#define Receipt_status_tag 2
#define Receipt_ret_tag 3
#define Receipt_txHash_tag 4
#define Receipt_feeUsed_tag 5
#define Receipt_cumulativeFeeUsed_tag 6
#define Receipt_bloom_tag 7
#define Receipt_events_tag 8
#define Receipt_blockNo_tag 9
#define Receipt_blockHash_tag 10
#define Receipt_txIndex_tag 11
#define Receipt_from_tag 12
#define Receipt_to_tag 13
#define Receipt_feeDelegation_tag 14
#define Receipt_gasUsed_tag 15
#define ServerInfo_ConfigEntry_key_tag 1
#define ServerInfo_ConfigEntry_value_tag 2
#define Staking_amount_tag 1
#define Staking_when_tag 2
#define State_nonce_tag 1
#define State_balance_tag 2
#define State_codeHash_tag 3
#define State_storageRoot_tag 4
#define State_sqlRecoveryPoint_tag 5
#define StateQuery_contractAddress_tag 1
#define StateQuery_root_tag 3
#define StateQuery_compressed_tag 4
#define StateQuery_storageKeys_tag 5
#define StateVar_name_tag 1
#define StateVar_type_tag 2
#define StateVar_len_tag 3
#define TxBody_nonce_tag 1
#define TxBody_account_tag 2
#define TxBody_recipient_tag 3
#define TxBody_amount_tag 4
#define TxBody_payload_tag 5
#define TxBody_gasLimit_tag 6
#define TxBody_gasPrice_tag 7
#define TxBody_type_tag 8
#define TxBody_chainIdHash_tag 9
#define TxBody_sign_tag 10
#define TxIdx_blockHash_tag 1
#define TxIdx_idx_tag 2
#define VerifyResult_tx_tag 1
#define VerifyResult_error_tag 2
#define VoteParams_id_tag 1
#define VoteParams_count_tag 2
#define AccountProof_state_tag 1
#define AccountProof_inclusion_tag 2
#define AccountProof_key_tag 3
#define AccountProof_proofKey_tag 4
#define AccountProof_proofVal_tag 5
#define AccountProof_bitmap_tag 6
#define AccountProof_height_tag 7
#define AccountProof_auditPath_tag 8
#define AccountVoteInfo_staking_tag 1
#define AccountVoteInfo_voting_tag 2
#define Block_hash_tag 1
#define Block_header_tag 2
#define Block_body_tag 3
#define BlockBodyParams_hashornumber_tag 1
#define BlockBodyParams_paging_tag 2
#define BlockMetadata_hash_tag 1
#define BlockMetadata_header_tag 2
#define BlockMetadata_txcount_tag 3
#define BlockMetadata_size_tag 4
#define ChainInfo_id_tag 1
#define ChainInfo_bpNumber_tag 2
#define ChainInfo_maxblocksize_tag 3
#define ChainInfo_maxtokens_tag 4
#define ChainInfo_stakingminimum_tag 5
#define ChainInfo_totalstaking_tag 6
#define ChainInfo_gasprice_tag 7
#define ChainInfo_nameprice_tag 8
#define ChainInfo_totalvotingpower_tag 9
#define ChainInfo_votingreward_tag 10
#define CommitResultList_results_tag 1
#define NameInfo_name_tag 1
#define NameInfo_owner_tag 2
#define NameInfo_destination_tag 3
#define TxInBlock_txIdx_tag 1
#define TxInBlock_tx_tag 2
#define BlockchainStatus_best_block_hash_tag 1
#define BlockchainStatus_best_height_tag 2
#define BlockchainStatus_consensus_info_tag 3
#define BlockchainStatus_best_chain_id_hash_tag 4
#define BlockchainStatus_chain_info_tag 5
#define StateQueryProof_contractProof_tag 1
#define StateQueryProof_varProofs_tag 2
/* Struct field encoding specification for nanopb */
extern const pb_field_t Block_fields[4];
extern const pb_field_t BlockHeader_fields[13];
extern const pb_field_t BlockBody_fields[2];
extern const pb_field_t TxList_fields[2];
extern const pb_field_t Tx_fields[3];
extern const pb_field_t TxBody_fields[11];
extern const pb_field_t TxIdx_fields[3];
extern const pb_field_t TxInBlock_fields[3];
extern const pb_field_t State_fields[6];
extern const pb_field_t AccountProof_fields[9];
extern const pb_field_t ContractVarProof_fields[9];
extern const pb_field_t StateQueryProof_fields[3];
extern const pb_field_t Receipt_fields[16];
extern const pb_field_t Event_fields[9];
extern const pb_field_t FnArgument_fields[2];
extern const pb_field_t Function_fields[6];
extern const pb_field_t StateVar_fields[4];
extern const pb_field_t ABI_fields[5];
extern const pb_field_t Query_fields[3];
extern const pb_field_t StateQuery_fields[5];
extern const pb_field_t FilterInfo_fields[8];
extern const pb_field_t Proposal_fields[4];
extern const pb_field_t Account_fields[2];
extern const pb_field_t AccountList_fields[2];
extern const pb_field_t BlockchainStatus_fields[6];
extern const pb_field_t ChainId_fields[6];
extern const pb_field_t ChainInfo_fields[11];
extern const pb_field_t ChainStats_fields[2];
extern const pb_field_t Input_fields[5];
extern const pb_field_t Output_fields[5];
extern const pb_field_t Empty_fields[1];
extern const pb_field_t SingleBytes_fields[2];
extern const pb_field_t SingleString_fields[2];
extern const pb_field_t AccountAddress_fields[2];
extern const pb_field_t AccountAndRoot_fields[4];
extern const pb_field_t ListParams_fields[6];
extern const pb_field_t PageParams_fields[3];
extern const pb_field_t BlockBodyPaged_fields[5];
extern const pb_field_t BlockBodyParams_fields[3];
extern const pb_field_t BlockHeaderList_fields[2];
extern const pb_field_t BlockMetadata_fields[5];
extern const pb_field_t BlockMetadataList_fields[2];
extern const pb_field_t CommitResult_fields[4];
extern const pb_field_t CommitResultList_fields[2];
extern const pb_field_t VerifyResult_fields[3];
extern const pb_field_t Personal_fields[3];
extern const pb_field_t ImportFormat_fields[5];
extern const pb_field_t Staking_fields[3];
extern const pb_field_t Vote_fields[3];
extern const pb_field_t VoteParams_fields[3];
extern const pb_field_t AccountVoteInfo_fields[3];
extern const pb_field_t VoteInfo_fields[4];
extern const pb_field_t VoteList_fields[3];
extern const pb_field_t NodeReq_fields[3];
extern const pb_field_t Name_fields[3];
extern const pb_field_t NameInfo_fields[4];
extern const pb_field_t PeersParams_fields[3];
extern const pb_field_t KeyParams_fields[2];
extern const pb_field_t ServerInfo_fields[3];
extern const pb_field_t ServerInfo_StatusEntry_fields[3];
extern const pb_field_t ServerInfo_ConfigEntry_fields[3];
extern const pb_field_t ConfigItem_fields[2];
extern const pb_field_t ConfigItem_PropsEntry_fields[3];
extern const pb_field_t EventList_fields[2];
extern const pb_field_t ConsensusInfo_fields[4];
extern const pb_field_t EnterpriseConfigKey_fields[2];
extern const pb_field_t EnterpriseConfig_fields[4];
/* Maximum encoded size of messages (where known) */
/* Block_size depends on runtime parameters */
/* BlockHeader_size depends on runtime parameters */
/* BlockBody_size depends on runtime parameters */
/* TxList_size depends on runtime parameters */
/* Tx_size depends on runtime parameters */
/* TxBody_size depends on runtime parameters */
/* TxIdx_size depends on runtime parameters */
/* TxInBlock_size depends on runtime parameters */
/* State_size depends on runtime parameters */
/* AccountProof_size depends on runtime parameters */
/* ContractVarProof_size depends on runtime parameters */
/* StateQueryProof_size depends on runtime parameters */
/* Receipt_size depends on runtime parameters */
/* Event_size depends on runtime parameters */
/* FnArgument_size depends on runtime parameters */
/* Function_size depends on runtime parameters */
/* StateVar_size depends on runtime parameters */
/* ABI_size depends on runtime parameters */
/* Query_size depends on runtime parameters */
/* StateQuery_size depends on runtime parameters */
/* FilterInfo_size depends on runtime parameters */
/* Proposal_size depends on runtime parameters */
/* Account_size depends on runtime parameters */
/* AccountList_size depends on runtime parameters */
/* BlockchainStatus_size depends on runtime parameters */
/* ChainId_size depends on runtime parameters */
/* ChainInfo_size depends on runtime parameters */
/* ChainStats_size depends on runtime parameters */
/* Input_size depends on runtime parameters */
/* Output_size depends on runtime parameters */
#define Empty_size 0
/* SingleBytes_size depends on runtime parameters */
/* SingleString_size depends on runtime parameters */