Line data Source code
1 : /* Automatically generated nanopb header */
2 : /* Generated by nanopb-0.4.9.1 */
3 :
4 : #ifndef PB_ORG_SOLANA_SEALEVEL_V1_BLOCK_PB_H_INCLUDED
5 : #define PB_ORG_SOLANA_SEALEVEL_V1_BLOCK_PB_H_INCLUDED
6 :
7 : #include "../../../../ballet/nanopb/pb_firedancer.h"
8 : #include "context.pb.h"
9 : #include "txn.pb.h"
10 : #include "metadata.pb.h"
11 :
12 : #if PB_PROTO_HEADER_VERSION != 40
13 : #error Regenerate this file with the current version of nanopb generator.
14 : #endif
15 :
16 : /* Struct definitions */
17 : typedef struct fd_exec_test_cost_tracker {
18 : uint64_t block_cost;
19 : uint64_t vote_cost;
20 : } fd_exec_test_cost_tracker_t;
21 :
22 : typedef struct fd_exec_test_block_context {
23 : /* All transactions in this microblock (can be 0) */
24 : pb_size_t txns_count;
25 : struct fd_exec_test_sanitized_transaction *txns;
26 : /* Input account states */
27 : pb_size_t acct_states_count;
28 : struct fd_exec_test_acct_state *acct_states;
29 : /* The blockhash queue */
30 : pb_size_t blockhash_queue_count;
31 : pb_bytes_array_t **blockhash_queue;
32 : /* Slot context (contains slot number) */
33 : bool has_slot_ctx;
34 : fd_exec_test_slot_context_t slot_ctx;
35 : /* Epoch context (contains feature info) */
36 : bool has_epoch_ctx;
37 : fd_exec_test_epoch_context_t epoch_ctx;
38 : } fd_exec_test_block_context_t;
39 :
40 : typedef struct fd_exec_test_leader_schedule_effects {
41 : /* Epoch number for which this leader schedule applies */
42 : uint64_t leaders_epoch;
43 : /* First slot number covered by this leader schedule */
44 : uint64_t leaders_slot0;
45 : /* Total number of slots covered by this leader schedule */
46 : uint64_t leaders_slot_cnt;
47 : /* Number of unique validator public keys in the leader schedule */
48 : uint64_t leader_pub_cnt;
49 : /* Number of entries in the leader schedule (slots with assigned leaders) */
50 : uint64_t leaders_sched_cnt;
51 : /* Hash of the leader schedule */
52 : pb_byte_t leader_schedule_hash[16];
53 : } fd_exec_test_leader_schedule_effects_t;
54 :
55 : typedef struct fd_exec_test_block_effects {
56 : /* If block execution failed */
57 : bool has_error;
58 : /* Slot capitalization */
59 : uint64_t slot_capitalization;
60 : /* Bank hash */
61 : pb_byte_t bank_hash[32];
62 : /* The cost tracker */
63 : bool has_cost_tracker;
64 : fd_exec_test_cost_tracker_t cost_tracker;
65 : /* Leader schedule */
66 : bool has_leader_schedule;
67 : fd_exec_test_leader_schedule_effects_t leader_schedule;
68 : } fd_exec_test_block_effects_t;
69 :
70 : typedef struct fd_exec_test_block_fixture {
71 : bool has_metadata;
72 : fd_exec_test_fixture_metadata_t metadata;
73 : /* The block input */
74 : bool has_input;
75 : fd_exec_test_block_context_t input;
76 : /* The output */
77 : bool has_output;
78 : fd_exec_test_block_effects_t output;
79 : } fd_exec_test_block_fixture_t;
80 :
81 :
82 : #ifdef __cplusplus
83 : extern "C" {
84 : #endif
85 :
86 : /* Initializer values for message structs */
87 : #define FD_EXEC_TEST_COST_TRACKER_INIT_DEFAULT {0, 0}
88 0 : #define FD_EXEC_TEST_BLOCK_CONTEXT_INIT_DEFAULT {0, NULL, 0, NULL, 0, NULL, false, FD_EXEC_TEST_SLOT_CONTEXT_INIT_DEFAULT, false, FD_EXEC_TEST_EPOCH_CONTEXT_INIT_DEFAULT}
89 : #define FD_EXEC_TEST_LEADER_SCHEDULE_EFFECTS_INIT_DEFAULT {0, 0, 0, 0, 0, {0}}
90 : #define FD_EXEC_TEST_BLOCK_EFFECTS_INIT_DEFAULT {0, 0, {0}, false, FD_EXEC_TEST_COST_TRACKER_INIT_DEFAULT, false, FD_EXEC_TEST_LEADER_SCHEDULE_EFFECTS_INIT_DEFAULT}
91 : #define FD_EXEC_TEST_BLOCK_FIXTURE_INIT_DEFAULT {false, FD_EXEC_TEST_FIXTURE_METADATA_INIT_DEFAULT, false, FD_EXEC_TEST_BLOCK_CONTEXT_INIT_DEFAULT, false, FD_EXEC_TEST_BLOCK_EFFECTS_INIT_DEFAULT}
92 : #define FD_EXEC_TEST_COST_TRACKER_INIT_ZERO {0, 0}
93 : #define FD_EXEC_TEST_BLOCK_CONTEXT_INIT_ZERO {0, NULL, 0, NULL, 0, NULL, false, FD_EXEC_TEST_SLOT_CONTEXT_INIT_ZERO, false, FD_EXEC_TEST_EPOCH_CONTEXT_INIT_ZERO}
94 : #define FD_EXEC_TEST_LEADER_SCHEDULE_EFFECTS_INIT_ZERO {0, 0, 0, 0, 0, {0}}
95 : #define FD_EXEC_TEST_BLOCK_EFFECTS_INIT_ZERO {0, 0, {0}, false, FD_EXEC_TEST_COST_TRACKER_INIT_ZERO, false, FD_EXEC_TEST_LEADER_SCHEDULE_EFFECTS_INIT_ZERO}
96 : #define FD_EXEC_TEST_BLOCK_FIXTURE_INIT_ZERO {false, FD_EXEC_TEST_FIXTURE_METADATA_INIT_ZERO, false, FD_EXEC_TEST_BLOCK_CONTEXT_INIT_ZERO, false, FD_EXEC_TEST_BLOCK_EFFECTS_INIT_ZERO}
97 :
98 : /* Field tags (for use in manual encoding/decoding) */
99 : #define FD_EXEC_TEST_COST_TRACKER_BLOCK_COST_TAG 1
100 : #define FD_EXEC_TEST_COST_TRACKER_VOTE_COST_TAG 2
101 : #define FD_EXEC_TEST_BLOCK_CONTEXT_TXNS_TAG 1
102 : #define FD_EXEC_TEST_BLOCK_CONTEXT_ACCT_STATES_TAG 2
103 : #define FD_EXEC_TEST_BLOCK_CONTEXT_BLOCKHASH_QUEUE_TAG 3
104 : #define FD_EXEC_TEST_BLOCK_CONTEXT_SLOT_CTX_TAG 4
105 : #define FD_EXEC_TEST_BLOCK_CONTEXT_EPOCH_CTX_TAG 5
106 : #define FD_EXEC_TEST_LEADER_SCHEDULE_EFFECTS_LEADERS_EPOCH_TAG 1
107 : #define FD_EXEC_TEST_LEADER_SCHEDULE_EFFECTS_LEADERS_SLOT0_TAG 2
108 : #define FD_EXEC_TEST_LEADER_SCHEDULE_EFFECTS_LEADERS_SLOT_CNT_TAG 3
109 : #define FD_EXEC_TEST_LEADER_SCHEDULE_EFFECTS_LEADER_PUB_CNT_TAG 4
110 : #define FD_EXEC_TEST_LEADER_SCHEDULE_EFFECTS_LEADERS_SCHED_CNT_TAG 5
111 : #define FD_EXEC_TEST_LEADER_SCHEDULE_EFFECTS_LEADER_SCHEDULE_HASH_TAG 6
112 : #define FD_EXEC_TEST_BLOCK_EFFECTS_HAS_ERROR_TAG 1
113 : #define FD_EXEC_TEST_BLOCK_EFFECTS_SLOT_CAPITALIZATION_TAG 2
114 : #define FD_EXEC_TEST_BLOCK_EFFECTS_BANK_HASH_TAG 3
115 : #define FD_EXEC_TEST_BLOCK_EFFECTS_COST_TRACKER_TAG 4
116 : #define FD_EXEC_TEST_BLOCK_EFFECTS_LEADER_SCHEDULE_TAG 5
117 : #define FD_EXEC_TEST_BLOCK_FIXTURE_METADATA_TAG 1
118 : #define FD_EXEC_TEST_BLOCK_FIXTURE_INPUT_TAG 2
119 : #define FD_EXEC_TEST_BLOCK_FIXTURE_OUTPUT_TAG 3
120 :
121 : /* Struct field encoding specification for nanopb */
122 : #define FD_EXEC_TEST_COST_TRACKER_FIELDLIST(X, a) \
123 : X(a, STATIC, SINGULAR, UINT64, block_cost, 1) \
124 : X(a, STATIC, SINGULAR, UINT64, vote_cost, 2)
125 : #define FD_EXEC_TEST_COST_TRACKER_CALLBACK NULL
126 : #define FD_EXEC_TEST_COST_TRACKER_DEFAULT NULL
127 :
128 : #define FD_EXEC_TEST_BLOCK_CONTEXT_FIELDLIST(X, a) \
129 : X(a, POINTER, REPEATED, MESSAGE, txns, 1) \
130 : X(a, POINTER, REPEATED, MESSAGE, acct_states, 2) \
131 : X(a, POINTER, REPEATED, BYTES, blockhash_queue, 3) \
132 : X(a, STATIC, OPTIONAL, MESSAGE, slot_ctx, 4) \
133 : X(a, STATIC, OPTIONAL, MESSAGE, epoch_ctx, 5)
134 : #define FD_EXEC_TEST_BLOCK_CONTEXT_CALLBACK NULL
135 : #define FD_EXEC_TEST_BLOCK_CONTEXT_DEFAULT NULL
136 : #define fd_exec_test_block_context_t_txns_MSGTYPE fd_exec_test_sanitized_transaction_t
137 : #define fd_exec_test_block_context_t_acct_states_MSGTYPE fd_exec_test_acct_state_t
138 : #define fd_exec_test_block_context_t_slot_ctx_MSGTYPE fd_exec_test_slot_context_t
139 : #define fd_exec_test_block_context_t_epoch_ctx_MSGTYPE fd_exec_test_epoch_context_t
140 :
141 : #define FD_EXEC_TEST_LEADER_SCHEDULE_EFFECTS_FIELDLIST(X, a) \
142 : X(a, STATIC, SINGULAR, UINT64, leaders_epoch, 1) \
143 : X(a, STATIC, SINGULAR, UINT64, leaders_slot0, 2) \
144 : X(a, STATIC, SINGULAR, UINT64, leaders_slot_cnt, 3) \
145 : X(a, STATIC, SINGULAR, UINT64, leader_pub_cnt, 4) \
146 : X(a, STATIC, SINGULAR, UINT64, leaders_sched_cnt, 5) \
147 : X(a, STATIC, SINGULAR, FIXED_LENGTH_BYTES, leader_schedule_hash, 6)
148 : #define FD_EXEC_TEST_LEADER_SCHEDULE_EFFECTS_CALLBACK NULL
149 : #define FD_EXEC_TEST_LEADER_SCHEDULE_EFFECTS_DEFAULT NULL
150 :
151 : #define FD_EXEC_TEST_BLOCK_EFFECTS_FIELDLIST(X, a) \
152 : X(a, STATIC, SINGULAR, BOOL, has_error, 1) \
153 : X(a, STATIC, SINGULAR, UINT64, slot_capitalization, 2) \
154 : X(a, STATIC, SINGULAR, FIXED_LENGTH_BYTES, bank_hash, 3) \
155 : X(a, STATIC, OPTIONAL, MESSAGE, cost_tracker, 4) \
156 : X(a, STATIC, OPTIONAL, MESSAGE, leader_schedule, 5)
157 : #define FD_EXEC_TEST_BLOCK_EFFECTS_CALLBACK NULL
158 : #define FD_EXEC_TEST_BLOCK_EFFECTS_DEFAULT NULL
159 : #define fd_exec_test_block_effects_t_cost_tracker_MSGTYPE fd_exec_test_cost_tracker_t
160 : #define fd_exec_test_block_effects_t_leader_schedule_MSGTYPE fd_exec_test_leader_schedule_effects_t
161 :
162 : #define FD_EXEC_TEST_BLOCK_FIXTURE_FIELDLIST(X, a) \
163 : X(a, STATIC, OPTIONAL, MESSAGE, metadata, 1) \
164 : X(a, STATIC, OPTIONAL, MESSAGE, input, 2) \
165 : X(a, STATIC, OPTIONAL, MESSAGE, output, 3)
166 : #define FD_EXEC_TEST_BLOCK_FIXTURE_CALLBACK NULL
167 : #define FD_EXEC_TEST_BLOCK_FIXTURE_DEFAULT NULL
168 : #define fd_exec_test_block_fixture_t_metadata_MSGTYPE fd_exec_test_fixture_metadata_t
169 : #define fd_exec_test_block_fixture_t_input_MSGTYPE fd_exec_test_block_context_t
170 : #define fd_exec_test_block_fixture_t_output_MSGTYPE fd_exec_test_block_effects_t
171 :
172 : extern const pb_msgdesc_t fd_exec_test_cost_tracker_t_msg;
173 : extern const pb_msgdesc_t fd_exec_test_block_context_t_msg;
174 : extern const pb_msgdesc_t fd_exec_test_leader_schedule_effects_t_msg;
175 : extern const pb_msgdesc_t fd_exec_test_block_effects_t_msg;
176 : extern const pb_msgdesc_t fd_exec_test_block_fixture_t_msg;
177 :
178 : /* Defines for backwards compatibility with code written before nanopb-0.4.0 */
179 : #define FD_EXEC_TEST_COST_TRACKER_FIELDS &fd_exec_test_cost_tracker_t_msg
180 0 : #define FD_EXEC_TEST_BLOCK_CONTEXT_FIELDS &fd_exec_test_block_context_t_msg
181 : #define FD_EXEC_TEST_LEADER_SCHEDULE_EFFECTS_FIELDS &fd_exec_test_leader_schedule_effects_t_msg
182 : #define FD_EXEC_TEST_BLOCK_EFFECTS_FIELDS &fd_exec_test_block_effects_t_msg
183 : #define FD_EXEC_TEST_BLOCK_FIXTURE_FIELDS &fd_exec_test_block_fixture_t_msg
184 :
185 : /* Maximum encoded size of messages (where known) */
186 : /* fd_exec_test_BlockContext_size depends on runtime parameters */
187 : /* fd_exec_test_BlockFixture_size depends on runtime parameters */
188 : #define FD_EXEC_TEST_BLOCK_EFFECTS_SIZE 146
189 : #define FD_EXEC_TEST_COST_TRACKER_SIZE 22
190 : #define FD_EXEC_TEST_LEADER_SCHEDULE_EFFECTS_SIZE 73
191 : #define ORG_SOLANA_SEALEVEL_V1_BLOCK_PB_H_MAX_SIZE FD_EXEC_TEST_BLOCK_EFFECTS_SIZE
192 :
193 : /* Mapping from canonical names (mangle_names or overridden package name) */
194 : #define org_solana_sealevel_v1_CostTracker fd_exec_test_CostTracker
195 : #define org_solana_sealevel_v1_BlockContext fd_exec_test_BlockContext
196 : #define org_solana_sealevel_v1_LeaderScheduleEffects fd_exec_test_LeaderScheduleEffects
197 : #define org_solana_sealevel_v1_BlockEffects fd_exec_test_BlockEffects
198 : #define org_solana_sealevel_v1_BlockFixture fd_exec_test_BlockFixture
199 : #define ORG_SOLANA_SEALEVEL_V1_COST_TRACKER_INIT_DEFAULT FD_EXEC_TEST_COST_TRACKER_INIT_DEFAULT
200 : #define ORG_SOLANA_SEALEVEL_V1_BLOCK_CONTEXT_INIT_DEFAULT FD_EXEC_TEST_BLOCK_CONTEXT_INIT_DEFAULT
201 : #define ORG_SOLANA_SEALEVEL_V1_LEADER_SCHEDULE_EFFECTS_INIT_DEFAULT FD_EXEC_TEST_LEADER_SCHEDULE_EFFECTS_INIT_DEFAULT
202 : #define ORG_SOLANA_SEALEVEL_V1_BLOCK_EFFECTS_INIT_DEFAULT FD_EXEC_TEST_BLOCK_EFFECTS_INIT_DEFAULT
203 : #define ORG_SOLANA_SEALEVEL_V1_BLOCK_FIXTURE_INIT_DEFAULT FD_EXEC_TEST_BLOCK_FIXTURE_INIT_DEFAULT
204 : #define ORG_SOLANA_SEALEVEL_V1_COST_TRACKER_INIT_ZERO FD_EXEC_TEST_COST_TRACKER_INIT_ZERO
205 : #define ORG_SOLANA_SEALEVEL_V1_BLOCK_CONTEXT_INIT_ZERO FD_EXEC_TEST_BLOCK_CONTEXT_INIT_ZERO
206 : #define ORG_SOLANA_SEALEVEL_V1_LEADER_SCHEDULE_EFFECTS_INIT_ZERO FD_EXEC_TEST_LEADER_SCHEDULE_EFFECTS_INIT_ZERO
207 : #define ORG_SOLANA_SEALEVEL_V1_BLOCK_EFFECTS_INIT_ZERO FD_EXEC_TEST_BLOCK_EFFECTS_INIT_ZERO
208 : #define ORG_SOLANA_SEALEVEL_V1_BLOCK_FIXTURE_INIT_ZERO FD_EXEC_TEST_BLOCK_FIXTURE_INIT_ZERO
209 :
210 : #ifdef __cplusplus
211 : } /* extern "C" */
212 : #endif
213 :
214 : #endif
|