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_CONTEXT_PB_H_INCLUDED
5 : #define PB_ORG_SOLANA_SEALEVEL_V1_CONTEXT_PB_H_INCLUDED
6 :
7 : #include "../../../../ballet/nanopb/pb_firedancer.h"
8 :
9 : #if PB_PROTO_HEADER_VERSION != 40
10 : #error Regenerate this file with the current version of nanopb generator.
11 : #endif
12 :
13 : /* Struct definitions */
14 : /* A set of feature flags. */
15 : typedef struct fd_exec_test_feature_set {
16 : /* Every item in this list marks an enabled feature. The value of
17 : each item is the first 8 bytes of the feature ID as a little-
18 : endian integer. */
19 : pb_size_t features_count;
20 : uint64_t *features;
21 : } fd_exec_test_feature_set_t;
22 :
23 : /* The complete state of an account excluding its public key. */
24 : typedef struct fd_exec_test_acct_state {
25 : /* The account address. (32 bytes) */
26 : pb_byte_t address[32];
27 : uint64_t lamports;
28 : /* Account data is limited to 10 MiB on Solana mainnet as of 2024-Feb. */
29 : pb_bytes_array_t *data;
30 : bool executable;
31 : /* Address of the program that owns this account. (32 bytes) */
32 : pb_byte_t owner[32];
33 : } fd_exec_test_acct_state_t;
34 :
35 : /* Fee rate governor parameters */
36 : typedef struct fd_exec_test_fee_rate_governor {
37 : uint64_t target_lamports_per_signature;
38 : uint64_t target_signatures_per_slot;
39 : uint64_t min_lamports_per_signature;
40 : uint64_t max_lamports_per_signature;
41 : uint32_t burn_percent;
42 : } fd_exec_test_fee_rate_governor_t;
43 :
44 : typedef struct fd_exec_test_epoch_schedule {
45 : /* The maximum number of slots in each epoch. */
46 : uint64_t slots_per_epoch;
47 : /* A number of slots before beginning of an epoch to calculate
48 : a leader schedule for that epoch. */
49 : uint64_t leader_schedule_slot_offset;
50 : /* Whether epochs start short and grow. */
51 : bool warmup;
52 : /* The first epoch after the warmup period. */
53 : uint64_t first_normal_epoch;
54 : /* The first slot after the warmup period. */
55 : uint64_t first_normal_slot;
56 : } fd_exec_test_epoch_schedule_t;
57 :
58 : typedef struct fd_exec_test_rent {
59 : /* Rental rate in lamports/byte-year. */
60 : uint64_t lamports_per_byte_year;
61 : /* Amount of time (in years) a balance must include rent for the account to be rent exempt. */
62 : double exemption_threshold;
63 : /* The percentage of collected rent that is burned. */
64 : uint32_t burn_percent;
65 : } fd_exec_test_rent_t;
66 :
67 : /* A single entry in the blockhash queue. */
68 : typedef struct fd_exec_test_blockhash_queue_entry {
69 : pb_byte_t blockhash[32];
70 : uint64_t lamports_per_signature;
71 : } fd_exec_test_blockhash_queue_entry_t;
72 :
73 :
74 : #ifdef __cplusplus
75 : extern "C" {
76 : #endif
77 :
78 : /* Initializer values for message structs */
79 0 : #define FD_EXEC_TEST_FEATURE_SET_INIT_DEFAULT {0, NULL}
80 : #define FD_EXEC_TEST_ACCT_STATE_INIT_DEFAULT {{0}, 0, NULL, 0, {0}}
81 0 : #define FD_EXEC_TEST_FEE_RATE_GOVERNOR_INIT_DEFAULT {0, 0, 0, 0, 0}
82 0 : #define FD_EXEC_TEST_EPOCH_SCHEDULE_INIT_DEFAULT {0, 0, 0, 0, 0}
83 0 : #define FD_EXEC_TEST_RENT_INIT_DEFAULT {0, 0, 0}
84 : #define FD_EXEC_TEST_BLOCKHASH_QUEUE_ENTRY_INIT_DEFAULT {{0}, 0}
85 0 : #define FD_EXEC_TEST_FEATURE_SET_INIT_ZERO {0, NULL}
86 : #define FD_EXEC_TEST_ACCT_STATE_INIT_ZERO {{0}, 0, NULL, 0, {0}}
87 : #define FD_EXEC_TEST_FEE_RATE_GOVERNOR_INIT_ZERO {0, 0, 0, 0, 0}
88 : #define FD_EXEC_TEST_EPOCH_SCHEDULE_INIT_ZERO {0, 0, 0, 0, 0}
89 : #define FD_EXEC_TEST_RENT_INIT_ZERO {0, 0, 0}
90 : #define FD_EXEC_TEST_BLOCKHASH_QUEUE_ENTRY_INIT_ZERO {{0}, 0}
91 :
92 : /* Field tags (for use in manual encoding/decoding) */
93 : #define FD_EXEC_TEST_FEATURE_SET_FEATURES_TAG 1
94 : #define FD_EXEC_TEST_ACCT_STATE_ADDRESS_TAG 1
95 : #define FD_EXEC_TEST_ACCT_STATE_LAMPORTS_TAG 2
96 : #define FD_EXEC_TEST_ACCT_STATE_DATA_TAG 3
97 : #define FD_EXEC_TEST_ACCT_STATE_EXECUTABLE_TAG 4
98 : #define FD_EXEC_TEST_ACCT_STATE_OWNER_TAG 6
99 : #define FD_EXEC_TEST_FEE_RATE_GOVERNOR_TARGET_LAMPORTS_PER_SIGNATURE_TAG 1
100 : #define FD_EXEC_TEST_FEE_RATE_GOVERNOR_TARGET_SIGNATURES_PER_SLOT_TAG 2
101 : #define FD_EXEC_TEST_FEE_RATE_GOVERNOR_MIN_LAMPORTS_PER_SIGNATURE_TAG 3
102 : #define FD_EXEC_TEST_FEE_RATE_GOVERNOR_MAX_LAMPORTS_PER_SIGNATURE_TAG 4
103 : #define FD_EXEC_TEST_FEE_RATE_GOVERNOR_BURN_PERCENT_TAG 5
104 : #define FD_EXEC_TEST_EPOCH_SCHEDULE_SLOTS_PER_EPOCH_TAG 1
105 : #define FD_EXEC_TEST_EPOCH_SCHEDULE_LEADER_SCHEDULE_SLOT_OFFSET_TAG 2
106 : #define FD_EXEC_TEST_EPOCH_SCHEDULE_WARMUP_TAG 3
107 : #define FD_EXEC_TEST_EPOCH_SCHEDULE_FIRST_NORMAL_EPOCH_TAG 4
108 : #define FD_EXEC_TEST_EPOCH_SCHEDULE_FIRST_NORMAL_SLOT_TAG 5
109 : #define FD_EXEC_TEST_RENT_LAMPORTS_PER_BYTE_YEAR_TAG 1
110 : #define FD_EXEC_TEST_RENT_EXEMPTION_THRESHOLD_TAG 2
111 : #define FD_EXEC_TEST_RENT_BURN_PERCENT_TAG 3
112 : #define FD_EXEC_TEST_BLOCKHASH_QUEUE_ENTRY_BLOCKHASH_TAG 1
113 : #define FD_EXEC_TEST_BLOCKHASH_QUEUE_ENTRY_LAMPORTS_PER_SIGNATURE_TAG 2
114 :
115 : /* Struct field encoding specification for nanopb */
116 : #define FD_EXEC_TEST_FEATURE_SET_FIELDLIST(X, a) \
117 : X(a, POINTER, REPEATED, FIXED64, features, 1)
118 : #define FD_EXEC_TEST_FEATURE_SET_CALLBACK NULL
119 : #define FD_EXEC_TEST_FEATURE_SET_DEFAULT NULL
120 :
121 : #define FD_EXEC_TEST_ACCT_STATE_FIELDLIST(X, a) \
122 : X(a, STATIC, SINGULAR, FIXED_LENGTH_BYTES, address, 1) \
123 : X(a, STATIC, SINGULAR, UINT64, lamports, 2) \
124 : X(a, POINTER, SINGULAR, BYTES, data, 3) \
125 : X(a, STATIC, SINGULAR, BOOL, executable, 4) \
126 : X(a, STATIC, SINGULAR, FIXED_LENGTH_BYTES, owner, 6)
127 : #define FD_EXEC_TEST_ACCT_STATE_CALLBACK NULL
128 : #define FD_EXEC_TEST_ACCT_STATE_DEFAULT NULL
129 :
130 : #define FD_EXEC_TEST_FEE_RATE_GOVERNOR_FIELDLIST(X, a) \
131 : X(a, STATIC, SINGULAR, UINT64, target_lamports_per_signature, 1) \
132 : X(a, STATIC, SINGULAR, UINT64, target_signatures_per_slot, 2) \
133 : X(a, STATIC, SINGULAR, UINT64, min_lamports_per_signature, 3) \
134 : X(a, STATIC, SINGULAR, UINT64, max_lamports_per_signature, 4) \
135 : X(a, STATIC, SINGULAR, UINT32, burn_percent, 5)
136 : #define FD_EXEC_TEST_FEE_RATE_GOVERNOR_CALLBACK NULL
137 : #define FD_EXEC_TEST_FEE_RATE_GOVERNOR_DEFAULT NULL
138 :
139 : #define FD_EXEC_TEST_EPOCH_SCHEDULE_FIELDLIST(X, a) \
140 : X(a, STATIC, SINGULAR, UINT64, slots_per_epoch, 1) \
141 : X(a, STATIC, SINGULAR, UINT64, leader_schedule_slot_offset, 2) \
142 : X(a, STATIC, SINGULAR, BOOL, warmup, 3) \
143 : X(a, STATIC, SINGULAR, UINT64, first_normal_epoch, 4) \
144 : X(a, STATIC, SINGULAR, UINT64, first_normal_slot, 5)
145 : #define FD_EXEC_TEST_EPOCH_SCHEDULE_CALLBACK NULL
146 : #define FD_EXEC_TEST_EPOCH_SCHEDULE_DEFAULT NULL
147 :
148 : #define FD_EXEC_TEST_RENT_FIELDLIST(X, a) \
149 : X(a, STATIC, SINGULAR, UINT64, lamports_per_byte_year, 1) \
150 : X(a, STATIC, SINGULAR, DOUBLE, exemption_threshold, 2) \
151 : X(a, STATIC, SINGULAR, UINT32, burn_percent, 3)
152 : #define FD_EXEC_TEST_RENT_CALLBACK NULL
153 : #define FD_EXEC_TEST_RENT_DEFAULT NULL
154 :
155 : #define FD_EXEC_TEST_BLOCKHASH_QUEUE_ENTRY_FIELDLIST(X, a) \
156 : X(a, STATIC, SINGULAR, FIXED_LENGTH_BYTES, blockhash, 1) \
157 : X(a, STATIC, SINGULAR, UINT64, lamports_per_signature, 2)
158 : #define FD_EXEC_TEST_BLOCKHASH_QUEUE_ENTRY_CALLBACK NULL
159 : #define FD_EXEC_TEST_BLOCKHASH_QUEUE_ENTRY_DEFAULT NULL
160 :
161 : extern const pb_msgdesc_t fd_exec_test_feature_set_t_msg;
162 : extern const pb_msgdesc_t fd_exec_test_acct_state_t_msg;
163 : extern const pb_msgdesc_t fd_exec_test_fee_rate_governor_t_msg;
164 : extern const pb_msgdesc_t fd_exec_test_epoch_schedule_t_msg;
165 : extern const pb_msgdesc_t fd_exec_test_rent_t_msg;
166 : extern const pb_msgdesc_t fd_exec_test_blockhash_queue_entry_t_msg;
167 :
168 : /* Defines for backwards compatibility with code written before nanopb-0.4.0 */
169 : #define FD_EXEC_TEST_FEATURE_SET_FIELDS &fd_exec_test_feature_set_t_msg
170 : #define FD_EXEC_TEST_ACCT_STATE_FIELDS &fd_exec_test_acct_state_t_msg
171 : #define FD_EXEC_TEST_FEE_RATE_GOVERNOR_FIELDS &fd_exec_test_fee_rate_governor_t_msg
172 : #define FD_EXEC_TEST_EPOCH_SCHEDULE_FIELDS &fd_exec_test_epoch_schedule_t_msg
173 : #define FD_EXEC_TEST_RENT_FIELDS &fd_exec_test_rent_t_msg
174 : #define FD_EXEC_TEST_BLOCKHASH_QUEUE_ENTRY_FIELDS &fd_exec_test_blockhash_queue_entry_t_msg
175 :
176 : /* Maximum encoded size of messages (where known) */
177 : /* fd_exec_test_FeatureSet_size depends on runtime parameters */
178 : /* fd_exec_test_AcctState_size depends on runtime parameters */
179 : #define FD_EXEC_TEST_BLOCKHASH_QUEUE_ENTRY_SIZE 45
180 : #define FD_EXEC_TEST_EPOCH_SCHEDULE_SIZE 46
181 : #define FD_EXEC_TEST_FEE_RATE_GOVERNOR_SIZE 50
182 : #define FD_EXEC_TEST_RENT_SIZE 26
183 : #define ORG_SOLANA_SEALEVEL_V1_CONTEXT_PB_H_MAX_SIZE FD_EXEC_TEST_FEE_RATE_GOVERNOR_SIZE
184 :
185 : /* Mapping from canonical names (mangle_names or overridden package name) */
186 : #define org_solana_sealevel_v1_FeatureSet fd_exec_test_FeatureSet
187 : #define org_solana_sealevel_v1_AcctState fd_exec_test_AcctState
188 : #define org_solana_sealevel_v1_FeeRateGovernor fd_exec_test_FeeRateGovernor
189 : #define org_solana_sealevel_v1_EpochSchedule fd_exec_test_EpochSchedule
190 : #define org_solana_sealevel_v1_Rent fd_exec_test_Rent
191 : #define org_solana_sealevel_v1_BlockhashQueueEntry fd_exec_test_BlockhashQueueEntry
192 : #define ORG_SOLANA_SEALEVEL_V1_FEATURE_SET_INIT_DEFAULT FD_EXEC_TEST_FEATURE_SET_INIT_DEFAULT
193 : #define ORG_SOLANA_SEALEVEL_V1_ACCT_STATE_INIT_DEFAULT FD_EXEC_TEST_ACCT_STATE_INIT_DEFAULT
194 : #define ORG_SOLANA_SEALEVEL_V1_FEE_RATE_GOVERNOR_INIT_DEFAULT FD_EXEC_TEST_FEE_RATE_GOVERNOR_INIT_DEFAULT
195 : #define ORG_SOLANA_SEALEVEL_V1_EPOCH_SCHEDULE_INIT_DEFAULT FD_EXEC_TEST_EPOCH_SCHEDULE_INIT_DEFAULT
196 : #define ORG_SOLANA_SEALEVEL_V1_RENT_INIT_DEFAULT FD_EXEC_TEST_RENT_INIT_DEFAULT
197 : #define ORG_SOLANA_SEALEVEL_V1_BLOCKHASH_QUEUE_ENTRY_INIT_DEFAULT FD_EXEC_TEST_BLOCKHASH_QUEUE_ENTRY_INIT_DEFAULT
198 : #define ORG_SOLANA_SEALEVEL_V1_FEATURE_SET_INIT_ZERO FD_EXEC_TEST_FEATURE_SET_INIT_ZERO
199 : #define ORG_SOLANA_SEALEVEL_V1_ACCT_STATE_INIT_ZERO FD_EXEC_TEST_ACCT_STATE_INIT_ZERO
200 : #define ORG_SOLANA_SEALEVEL_V1_FEE_RATE_GOVERNOR_INIT_ZERO FD_EXEC_TEST_FEE_RATE_GOVERNOR_INIT_ZERO
201 : #define ORG_SOLANA_SEALEVEL_V1_EPOCH_SCHEDULE_INIT_ZERO FD_EXEC_TEST_EPOCH_SCHEDULE_INIT_ZERO
202 : #define ORG_SOLANA_SEALEVEL_V1_RENT_INIT_ZERO FD_EXEC_TEST_RENT_INIT_ZERO
203 : #define ORG_SOLANA_SEALEVEL_V1_BLOCKHASH_QUEUE_ENTRY_INIT_ZERO FD_EXEC_TEST_BLOCKHASH_QUEUE_ENTRY_INIT_ZERO
204 :
205 : #ifdef __cplusplus
206 : } /* extern "C" */
207 : #endif
208 :
209 : #endif
|