Source file constants_parametric_previous_repr.ml
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
type t = {
preserved_cycles : int;
blocks_per_cycle : int32;
blocks_per_commitment : int32;
blocks_per_stake_snapshot : int32;
cycles_per_voting_period : int32;
hard_gas_limit_per_operation : Gas_limit_repr.Arith.integral;
hard_gas_limit_per_block : Gas_limit_repr.Arith.integral;
proof_of_work_threshold : int64;
tokens_per_roll : Tez_repr.t;
seed_nonce_revelation_tip : Tez_repr.t;
origination_size : int;
baking_reward_fixed_portion : Tez_repr.t;
baking_reward_bonus_per_slot : Tez_repr.t;
endorsing_reward_per_slot : Tez_repr.t;
cost_per_byte : Tez_repr.t;
hard_storage_limit_per_operation : Z.t;
quorum_min : int32;
quorum_max : int32;
min_proposal_quorum : int32;
liquidity_baking_subsidy : Tez_repr.t;
liquidity_baking_sunset_level : int32;
liquidity_baking_toggle_ema_threshold : int32;
max_operations_time_to_live : int;
minimal_block_delay : Period_repr.t;
delay_increment_per_round : Period_repr.t;
minimal_participation_ratio : Ratio_repr.t;
consensus_committee_size : int;
consensus_threshold : int;
max_slashing_period : int;
frozen_deposits_percentage : int;
double_baking_punishment : Tez_repr.t;
ratio_of_frozen_deposits_slashed_per_double_endorsement : Ratio_repr.t;
initial_seed : State_hash.t option;
cache_script_size : int;
cache_stake_distribution_cycles : int;
cache_sampler_state_cycles : int;
tx_rollup_enable : bool;
tx_rollup_origination_size : int;
tx_rollup_hard_size_limit_per_inbox : int;
tx_rollup_hard_size_limit_per_message : int;
tx_rollup_commitment_bond : Tez_repr.t;
tx_rollup_finality_period : int;
tx_rollup_withdraw_period : int;
tx_rollup_max_inboxes_count : int;
tx_rollup_max_messages_per_inbox : int;
tx_rollup_max_commitments_count : int;
tx_rollup_cost_per_byte_ema_factor : int;
tx_rollup_max_ticket_payload_size : int;
tx_rollup_max_withdrawals_per_batch : int;
tx_rollup_rejection_max_proof_size : int;
tx_rollup_sunset_level : int32;
sc_rollup_enable : bool;
sc_rollup_origination_size : int;
sc_rollup_challenge_window_in_blocks : int;
sc_rollup_max_available_messages : int;
}
let encoding =
let open Data_encoding in
conv
(fun c ->
( ( c.preserved_cycles,
c.blocks_per_cycle,
c.blocks_per_commitment,
c.blocks_per_stake_snapshot,
c.cycles_per_voting_period,
c.hard_gas_limit_per_operation,
c.hard_gas_limit_per_block,
c.proof_of_work_threshold,
c.tokens_per_roll ),
( ( c.seed_nonce_revelation_tip,
c.origination_size,
c.baking_reward_fixed_portion,
c.baking_reward_bonus_per_slot,
c.endorsing_reward_per_slot,
c.cost_per_byte,
c.hard_storage_limit_per_operation,
c.quorum_min ),
( ( c.quorum_max,
c.min_proposal_quorum,
c.liquidity_baking_subsidy,
c.liquidity_baking_sunset_level,
c.liquidity_baking_toggle_ema_threshold,
c.max_operations_time_to_live,
c.minimal_block_delay,
c.delay_increment_per_round,
c.consensus_committee_size,
c.consensus_threshold ),
( ( c.minimal_participation_ratio,
c.max_slashing_period,
c.frozen_deposits_percentage,
c.double_baking_punishment,
c.ratio_of_frozen_deposits_slashed_per_double_endorsement,
c.initial_seed ),
( ( c.cache_script_size,
c.cache_stake_distribution_cycles,
c.cache_sampler_state_cycles ),
( ( ( c.tx_rollup_enable,
c.tx_rollup_origination_size,
c.tx_rollup_hard_size_limit_per_inbox,
c.tx_rollup_hard_size_limit_per_message,
c.tx_rollup_max_withdrawals_per_batch,
c.tx_rollup_commitment_bond,
c.tx_rollup_finality_period,
c.tx_rollup_withdraw_period,
c.tx_rollup_max_inboxes_count,
c.tx_rollup_max_messages_per_inbox ),
( c.tx_rollup_max_commitments_count,
c.tx_rollup_cost_per_byte_ema_factor,
c.tx_rollup_max_ticket_payload_size,
c.tx_rollup_rejection_max_proof_size,
c.tx_rollup_sunset_level ) ),
( c.sc_rollup_enable,
c.sc_rollup_origination_size,
c.sc_rollup_challenge_window_in_blocks,
c.sc_rollup_max_available_messages ) ) ) ) ) ) ))
(fun ( ( preserved_cycles,
blocks_per_cycle,
blocks_per_commitment,
blocks_per_stake_snapshot,
cycles_per_voting_period,
hard_gas_limit_per_operation,
hard_gas_limit_per_block,
proof_of_work_threshold,
tokens_per_roll ),
( ( seed_nonce_revelation_tip,
origination_size,
baking_reward_fixed_portion,
baking_reward_bonus_per_slot,
endorsing_reward_per_slot,
cost_per_byte,
hard_storage_limit_per_operation,
quorum_min ),
( ( quorum_max,
min_proposal_quorum,
liquidity_baking_subsidy,
liquidity_baking_sunset_level,
liquidity_baking_toggle_ema_threshold,
max_operations_time_to_live,
minimal_block_delay,
delay_increment_per_round,
consensus_committee_size,
consensus_threshold ),
( ( minimal_participation_ratio,
max_slashing_period,
frozen_deposits_percentage,
double_baking_punishment,
ratio_of_frozen_deposits_slashed_per_double_endorsement,
initial_seed ),
( ( cache_script_size,
cache_stake_distribution_cycles,
cache_sampler_state_cycles ),
( ( ( tx_rollup_enable,
tx_rollup_origination_size,
tx_rollup_hard_size_limit_per_inbox,
tx_rollup_hard_size_limit_per_message,
tx_rollup_max_withdrawals_per_batch,
tx_rollup_commitment_bond,
tx_rollup_finality_period,
tx_rollup_withdraw_period,
tx_rollup_max_inboxes_count,
tx_rollup_max_messages_per_inbox ),
( tx_rollup_max_commitments_count,
tx_rollup_cost_per_byte_ema_factor,
tx_rollup_max_ticket_payload_size,
tx_rollup_rejection_max_proof_size,
tx_rollup_sunset_level ) ),
( sc_rollup_enable,
sc_rollup_origination_size,
sc_rollup_challenge_window_in_blocks,
sc_rollup_max_available_messages ) ) ) ) ) ) ) ->
{
preserved_cycles;
blocks_per_cycle;
blocks_per_commitment;
blocks_per_stake_snapshot;
cycles_per_voting_period;
hard_gas_limit_per_operation;
hard_gas_limit_per_block;
proof_of_work_threshold;
tokens_per_roll;
seed_nonce_revelation_tip;
origination_size;
baking_reward_fixed_portion;
baking_reward_bonus_per_slot;
endorsing_reward_per_slot;
cost_per_byte;
hard_storage_limit_per_operation;
quorum_min;
quorum_max;
min_proposal_quorum;
liquidity_baking_subsidy;
liquidity_baking_sunset_level;
liquidity_baking_toggle_ema_threshold;
max_operations_time_to_live;
minimal_block_delay;
delay_increment_per_round;
minimal_participation_ratio;
max_slashing_period;
consensus_committee_size;
consensus_threshold;
frozen_deposits_percentage;
double_baking_punishment;
ratio_of_frozen_deposits_slashed_per_double_endorsement;
initial_seed;
cache_script_size;
cache_stake_distribution_cycles;
cache_sampler_state_cycles;
tx_rollup_enable;
tx_rollup_origination_size;
tx_rollup_hard_size_limit_per_inbox;
tx_rollup_hard_size_limit_per_message;
tx_rollup_max_withdrawals_per_batch;
tx_rollup_commitment_bond;
tx_rollup_finality_period;
tx_rollup_withdraw_period;
tx_rollup_max_inboxes_count;
tx_rollup_max_messages_per_inbox;
tx_rollup_max_commitments_count;
tx_rollup_cost_per_byte_ema_factor;
tx_rollup_max_ticket_payload_size;
tx_rollup_rejection_max_proof_size;
tx_rollup_sunset_level;
sc_rollup_enable;
sc_rollup_origination_size;
sc_rollup_challenge_window_in_blocks;
sc_rollup_max_available_messages;
})
(merge_objs
(obj9
(req "preserved_cycles" uint8)
(req "blocks_per_cycle" int32)
(req "blocks_per_commitment" int32)
(req "blocks_per_stake_snapshot" int32)
(req "cycles_per_voting_period" int32)
(req
"hard_gas_limit_per_operation"
Gas_limit_repr.Arith.z_integral_encoding)
(req
"hard_gas_limit_per_block"
Gas_limit_repr.Arith.z_integral_encoding)
(req "proof_of_work_threshold" int64)
(req "tokens_per_roll" Tez_repr.encoding))
(merge_objs
(obj8
(req "seed_nonce_revelation_tip" Tez_repr.encoding)
(req "origination_size" int31)
(req "baking_reward_fixed_portion" Tez_repr.encoding)
(req "baking_reward_bonus_per_slot" Tez_repr.encoding)
(req "endorsing_reward_per_slot" Tez_repr.encoding)
(req "cost_per_byte" Tez_repr.encoding)
(req "hard_storage_limit_per_operation" z)
(req "quorum_min" int32))
(merge_objs
(obj10
(req "quorum_max" int32)
(req "min_proposal_quorum" int32)
(req "liquidity_baking_subsidy" Tez_repr.encoding)
(req "liquidity_baking_sunset_level" int32)
(req "liquidity_baking_toggle_ema_threshold" int32)
(req "max_operations_time_to_live" int16)
(req "minimal_block_delay" Period_repr.encoding)
(req "delay_increment_per_round" Period_repr.encoding)
(req "consensus_committee_size" int31)
(req "consensus_threshold" int31))
(merge_objs
(obj6
(req "minimal_participation_ratio" Ratio_repr.encoding)
(req "max_slashing_period" int31)
(req "frozen_deposits_percentage" int31)
(req "double_baking_punishment" Tez_repr.encoding)
(req
"ratio_of_frozen_deposits_slashed_per_double_endorsement"
Ratio_repr.encoding)
(opt "initial_seed" State_hash.encoding))
(merge_objs
(obj3
(req "cache_script_size" int31)
(req "cache_stake_distribution_cycles" int8)
(req "cache_sampler_state_cycles" int8))
(merge_objs
(merge_objs
(obj10
(req "tx_rollup_enable" bool)
(req "tx_rollup_origination_size" int31)
(req "tx_rollup_hard_size_limit_per_inbox" int31)
(req "tx_rollup_hard_size_limit_per_message" int31)
(req "tx_rollup_max_withdrawals_per_batch" int31)
(req "tx_rollup_commitment_bond" Tez_repr.encoding)
(req "tx_rollup_finality_period" int31)
(req "tx_rollup_withdraw_period" int31)
(req "tx_rollup_max_inboxes_count" int31)
(req "tx_rollup_max_messages_per_inbox" int31))
(obj5
(req "tx_rollup_max_commitments_count" int31)
(req "tx_rollup_cost_per_byte_ema_factor" int31)
(req "tx_rollup_max_ticket_payload_size" int31)
(req "tx_rollup_rejection_max_proof_size" int31)
(req "tx_rollup_sunset_level" int32)))
(obj4
(req "sc_rollup_enable" bool)
(req "sc_rollup_origination_size" int31)
(req "sc_rollup_challenge_window_in_blocks" int31)
(req "sc_rollup_max_available_messages" int31))))))))