Skip to main content

🎛️ Constants_repr.v

Translated OCaml

See proofs, Gitlab , OCaml

File generated by coq-of-ocaml
Require Import CoqOfOCaml.CoqOfOCaml.
Require Import CoqOfOCaml.Settings.

Require Import TezosOfOCaml.Proto_alpha.Environment.
Require TezosOfOCaml.Proto_alpha.Gas_limit_repr.
Require TezosOfOCaml.Proto_alpha.Period_repr.
Require TezosOfOCaml.Proto_alpha.State_hash.
Require TezosOfOCaml.Proto_alpha.Tez_repr.

Definition fitness_version_number : string := "\002".

Definition proof_of_work_nonce_size : int := 8.

Definition nonce_length : int := 32.

Definition max_anon_ops_per_block : int := 132.

Definition max_proposals_per_delegate : int := 20.

Definition max_operation_data_length : int := 32 ×i 1024.

Definition max_micheline_node_count : int := 50000.

Definition max_micheline_bytes_limit : int := 50000.

Definition max_allowed_global_constant_depth : int := 10000.

Definition michelson_maximum_type_size : int := 2001.

Definition cache_layout_size : int := 3.

Definition fixed : Set := unit.

Module ratio.
  Record record : Set := Build {
    numerator : int;
    denominator : int;
  }.
  Definition with_numerator numerator (r : record) :=
    Build numerator r.(denominator).
  Definition with_denominator denominator (r : record) :=
    Build r.(numerator) denominator.
End ratio.
Definition ratio := ratio.record.

Definition ratio_encoding : Data_encoding.encoding ratio :=
  Data_encoding.conv_with_guard
    (fun (r_value : ratio) ⇒
      (r_value.(ratio.numerator), r_value.(ratio.denominator)))
    (fun (function_parameter : int × int) ⇒
      let '(numerator, denominator) := function_parameter in
      if denominator >i 0 then
        return?
          {| ratio.numerator := numerator; ratio.denominator := denominator; |}
      else
        Pervasives.Error "The denominator must be greater than 0.") None
    (Data_encoding.obj2
      (Data_encoding.req None None "numerator" Data_encoding.uint16)
      (Data_encoding.req None None "denominator" Data_encoding.uint16)).

Definition pp_ratio (fmt : Format.formatter) (function_parameter : ratio)
  : unit :=
  let '{| ratio.numerator := numerator; ratio.denominator := denominator |} :=
    function_parameter in
  Format.fprintf fmt
    (CamlinternalFormatBasics.Format
      (CamlinternalFormatBasics.Int CamlinternalFormatBasics.Int_d
        CamlinternalFormatBasics.No_padding
        CamlinternalFormatBasics.No_precision
        (CamlinternalFormatBasics.Char_literal "/" % char
          (CamlinternalFormatBasics.Int CamlinternalFormatBasics.Int_d
            CamlinternalFormatBasics.No_padding
            CamlinternalFormatBasics.No_precision
            CamlinternalFormatBasics.End_of_format))) "%d/%d") numerator
    denominator.

Definition fixed_encoding : Data_encoding.encoding unit :=
  Data_encoding.conv
    (fun (function_parameter : unit) ⇒
      let '_ := function_parameter in
      (proof_of_work_nonce_size, nonce_length, max_anon_ops_per_block,
        max_operation_data_length, max_proposals_per_delegate,
        max_micheline_node_count, max_micheline_bytes_limit,
        max_allowed_global_constant_depth, cache_layout_size,
        michelson_maximum_type_size))
    (fun (function_parameter :
      int × int × int × int × int × int × int × int × int × int) ⇒
      let
        '(_proof_of_work_nonce_size, _nonce_length, _max_anon_ops_per_block,
          _max_operation_data_length, _max_proposals_per_delegate,
          _max_micheline_node_count, _max_micheline_bytes_limit,
          _max_allowed_global_constant_depth, _cache_layout_size,
          _michelson_maximum_type_size) := function_parameter in
      tt) None
    (Data_encoding.obj10
      (Data_encoding.req None None "proof_of_work_nonce_size"
        Data_encoding.uint8)
      (Data_encoding.req None None "nonce_length" Data_encoding.uint8)
      (Data_encoding.req None None "max_anon_ops_per_block" Data_encoding.uint8)
      (Data_encoding.req None None "max_operation_data_length"
        Data_encoding.int31)
      (Data_encoding.req None None "max_proposals_per_delegate"
        Data_encoding.uint8)
      (Data_encoding.req None None "max_micheline_node_count"
        Data_encoding.int31)
      (Data_encoding.req None None "max_micheline_bytes_limit"
        Data_encoding.int31)
      (Data_encoding.req None None "max_allowed_global_constants_depth"
        Data_encoding.int31)
      (Data_encoding.req None None "cache_layout_size" Data_encoding.uint8)
      (Data_encoding.req None None "michelson_maximum_type_size"
        Data_encoding.uint16)).

Definition fixed_value : unit := tt.

Module parametric.
  Record record : Set := Build {
    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;
    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;
    initial_seed : option State_hash.t;
    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;
  }.
  Definition with_preserved_cycles preserved_cycles (r : record) :=
    Build preserved_cycles r.(blocks_per_cycle) r.(blocks_per_commitment)
      r.(blocks_per_stake_snapshot) r.(cycles_per_voting_period)
      r.(hard_gas_limit_per_operation) r.(hard_gas_limit_per_block)
      r.(proof_of_work_threshold) r.(tokens_per_roll)
      r.(seed_nonce_revelation_tip) r.(origination_size)
      r.(baking_reward_fixed_portion) r.(baking_reward_bonus_per_slot)
      r.(endorsing_reward_per_slot) r.(cost_per_byte)
      r.(hard_storage_limit_per_operation) r.(quorum_min) r.(quorum_max)
      r.(min_proposal_quorum) r.(liquidity_baking_subsidy)
      r.(liquidity_baking_sunset_level)
      r.(liquidity_baking_toggle_ema_threshold) r.(max_operations_time_to_live)
      r.(minimal_block_delay) r.(delay_increment_per_round)
      r.(minimal_participation_ratio) r.(consensus_committee_size)
      r.(consensus_threshold) r.(max_slashing_period)
      r.(frozen_deposits_percentage) r.(double_baking_punishment)
      r.(ratio_of_frozen_deposits_slashed_per_double_endorsement)
      r.(initial_seed) r.(cache_script_size) r.(cache_stake_distribution_cycles)
      r.(cache_sampler_state_cycles) r.(tx_rollup_enable)
      r.(tx_rollup_origination_size) r.(tx_rollup_hard_size_limit_per_inbox)
      r.(tx_rollup_hard_size_limit_per_message) r.(tx_rollup_commitment_bond)
      r.(tx_rollup_finality_period) r.(tx_rollup_withdraw_period)
      r.(tx_rollup_max_inboxes_count) r.(tx_rollup_max_messages_per_inbox)
      r.(tx_rollup_max_commitments_count) r.(tx_rollup_cost_per_byte_ema_factor)
      r.(tx_rollup_max_ticket_payload_size)
      r.(tx_rollup_max_withdrawals_per_batch)
      r.(tx_rollup_rejection_max_proof_size) r.(tx_rollup_sunset_level)
      r.(sc_rollup_enable) r.(sc_rollup_origination_size)
      r.(sc_rollup_challenge_window_in_blocks)
      r.(sc_rollup_max_available_messages).
  Definition with_blocks_per_cycle blocks_per_cycle (r : record) :=
    Build r.(preserved_cycles) blocks_per_cycle r.(blocks_per_commitment)
      r.(blocks_per_stake_snapshot) r.(cycles_per_voting_period)
      r.(hard_gas_limit_per_operation) r.(hard_gas_limit_per_block)
      r.(proof_of_work_threshold) r.(tokens_per_roll)
      r.(seed_nonce_revelation_tip) r.(origination_size)
      r.(baking_reward_fixed_portion) r.(baking_reward_bonus_per_slot)
      r.(endorsing_reward_per_slot) r.(cost_per_byte)
      r.(hard_storage_limit_per_operation) r.(quorum_min) r.(quorum_max)
      r.(min_proposal_quorum) r.(liquidity_baking_subsidy)
      r.(liquidity_baking_sunset_level)
      r.(liquidity_baking_toggle_ema_threshold) r.(max_operations_time_to_live)
      r.(minimal_block_delay) r.(delay_increment_per_round)
      r.(minimal_participation_ratio) r.(consensus_committee_size)
      r.(consensus_threshold) r.(max_slashing_period)
      r.(frozen_deposits_percentage) r.(double_baking_punishment)
      r.(ratio_of_frozen_deposits_slashed_per_double_endorsement)
      r.(initial_seed) r.(cache_script_size) r.(cache_stake_distribution_cycles)
      r.(cache_sampler_state_cycles) r.(tx_rollup_enable)
      r.(tx_rollup_origination_size) r.(tx_rollup_hard_size_limit_per_inbox)
      r.(tx_rollup_hard_size_limit_per_message) r.(tx_rollup_commitment_bond)
      r.(tx_rollup_finality_period) r.(tx_rollup_withdraw_period)
      r.(tx_rollup_max_inboxes_count) r.(tx_rollup_max_messages_per_inbox)
      r.(tx_rollup_max_commitments_count) r.(tx_rollup_cost_per_byte_ema_factor)
      r.(tx_rollup_max_ticket_payload_size)
      r.(tx_rollup_max_withdrawals_per_batch)
      r.(tx_rollup_rejection_max_proof_size) r.(tx_rollup_sunset_level)
      r.(sc_rollup_enable) r.(sc_rollup_origination_size)
      r.(sc_rollup_challenge_window_in_blocks)
      r.(sc_rollup_max_available_messages).
  Definition with_blocks_per_commitment blocks_per_commitment (r : record) :=
    Build r.(preserved_cycles) r.(blocks_per_cycle) blocks_per_commitment
      r.(blocks_per_stake_snapshot) r.(cycles_per_voting_period)
      r.(hard_gas_limit_per_operation) r.(hard_gas_limit_per_block)
      r.(proof_of_work_threshold) r.(tokens_per_roll)
      r.(seed_nonce_revelation_tip) r.(origination_size)
      r.(baking_reward_fixed_portion) r.(baking_reward_bonus_per_slot)
      r.(endorsing_reward_per_slot) r.(cost_per_byte)
      r.(hard_storage_limit_per_operation) r.(quorum_min) r.(quorum_max)
      r.(min_proposal_quorum) r.(liquidity_baking_subsidy)
      r.(liquidity_baking_sunset_level)
      r.(liquidity_baking_toggle_ema_threshold) r.(max_operations_time_to_live)
      r.(minimal_block_delay) r.(delay_increment_per_round)
      r.(minimal_participation_ratio) r.(consensus_committee_size)
      r.(consensus_threshold) r.(max_slashing_period)
      r.(frozen_deposits_percentage) r.(double_baking_punishment)
      r.(ratio_of_frozen_deposits_slashed_per_double_endorsement)
      r.(initial_seed) r.(cache_script_size) r.(cache_stake_distribution_cycles)
      r.(cache_sampler_state_cycles) r.(tx_rollup_enable)
      r.(tx_rollup_origination_size) r.(tx_rollup_hard_size_limit_per_inbox)
      r.(tx_rollup_hard_size_limit_per_message) r.(tx_rollup_commitment_bond)
      r.(tx_rollup_finality_period) r.(tx_rollup_withdraw_period)
      r.(tx_rollup_max_inboxes_count) r.(tx_rollup_max_messages_per_inbox)
      r.(tx_rollup_max_commitments_count) r.(tx_rollup_cost_per_byte_ema_factor)
      r.(tx_rollup_max_ticket_payload_size)
      r.(tx_rollup_max_withdrawals_per_batch)
      r.(tx_rollup_rejection_max_proof_size) r.(tx_rollup_sunset_level)
      r.(sc_rollup_enable) r.(sc_rollup_origination_size)
      r.(sc_rollup_challenge_window_in_blocks)
      r.(sc_rollup_max_available_messages).
  Definition with_blocks_per_stake_snapshot blocks_per_stake_snapshot
    (r : record) :=
    Build r.(preserved_cycles) r.(blocks_per_cycle) r.(blocks_per_commitment)
      blocks_per_stake_snapshot r.(cycles_per_voting_period)
      r.(hard_gas_limit_per_operation) r.(hard_gas_limit_per_block)
      r.(proof_of_work_threshold) r.(tokens_per_roll)
      r.(seed_nonce_revelation_tip) r.(origination_size)
      r.(baking_reward_fixed_portion) r.(baking_reward_bonus_per_slot)
      r.(endorsing_reward_per_slot) r.(cost_per_byte)
      r.(hard_storage_limit_per_operation) r.(quorum_min) r.(quorum_max)
      r.(min_proposal_quorum) r.(liquidity_baking_subsidy)
      r.(liquidity_baking_sunset_level)
      r.(liquidity_baking_toggle_ema_threshold) r.(max_operations_time_to_live)
      r.(minimal_block_delay) r.(delay_increment_per_round)
      r.(minimal_participation_ratio) r.(consensus_committee_size)
      r.(consensus_threshold) r.(max_slashing_period)
      r.(frozen_deposits_percentage) r.(double_baking_punishment)
      r.(ratio_of_frozen_deposits_slashed_per_double_endorsement)
      r.(initial_seed) r.(cache_script_size) r.(cache_stake_distribution_cycles)
      r.(cache_sampler_state_cycles) r.(tx_rollup_enable)
      r.(tx_rollup_origination_size) r.(tx_rollup_hard_size_limit_per_inbox)
      r.(tx_rollup_hard_size_limit_per_message) r.(tx_rollup_commitment_bond)
      r.(tx_rollup_finality_period) r.(tx_rollup_withdraw_period)
      r.(tx_rollup_max_inboxes_count) r.(tx_rollup_max_messages_per_inbox)
      r.(tx_rollup_max_commitments_count) r.(tx_rollup_cost_per_byte_ema_factor)
      r.(tx_rollup_max_ticket_payload_size)
      r.(tx_rollup_max_withdrawals_per_batch)
      r.(tx_rollup_rejection_max_proof_size) r.(tx_rollup_sunset_level)
      r.(sc_rollup_enable) r.(sc_rollup_origination_size)
      r.(sc_rollup_challenge_window_in_blocks)
      r.(sc_rollup_max_available_messages).
  Definition with_cycles_per_voting_period cycles_per_voting_period
    (r : record) :=
    Build r.(preserved_cycles) r.(blocks_per_cycle) r.(blocks_per_commitment)
      r.(blocks_per_stake_snapshot) cycles_per_voting_period
      r.(hard_gas_limit_per_operation) r.(hard_gas_limit_per_block)
      r.(proof_of_work_threshold) r.(tokens_per_roll)
      r.(seed_nonce_revelation_tip) r.(origination_size)
      r.(baking_reward_fixed_portion) r.(baking_reward_bonus_per_slot)
      r.(endorsing_reward_per_slot) r.(cost_per_byte)
      r.(hard_storage_limit_per_operation) r.(quorum_min) r.(quorum_max)
      r.(min_proposal_quorum) r.(liquidity_baking_subsidy)
      r.(liquidity_baking_sunset_level)
      r.(liquidity_baking_toggle_ema_threshold) r.(max_operations_time_to_live)
      r.(minimal_block_delay) r.(delay_increment_per_round)
      r.(minimal_participation_ratio) r.(consensus_committee_size)
      r.(consensus_threshold) r.(max_slashing_period)
      r.(frozen_deposits_percentage) r.(double_baking_punishment)
      r.(ratio_of_frozen_deposits_slashed_per_double_endorsement)
      r.(initial_seed) r.(cache_script_size) r.(cache_stake_distribution_cycles)
      r.(cache_sampler_state_cycles) r.(tx_rollup_enable)
      r.(tx_rollup_origination_size) r.(tx_rollup_hard_size_limit_per_inbox)
      r.(tx_rollup_hard_size_limit_per_message) r.(tx_rollup_commitment_bond)
      r.(tx_rollup_finality_period) r.(tx_rollup_withdraw_period)
      r.(tx_rollup_max_inboxes_count) r.(tx_rollup_max_messages_per_inbox)
      r.(tx_rollup_max_commitments_count) r.(tx_rollup_cost_per_byte_ema_factor)
      r.(tx_rollup_max_ticket_payload_size)
      r.(tx_rollup_max_withdrawals_per_batch)
      r.(tx_rollup_rejection_max_proof_size) r.(tx_rollup_sunset_level)
      r.(sc_rollup_enable) r.(sc_rollup_origination_size)
      r.(sc_rollup_challenge_window_in_blocks)
      r.(sc_rollup_max_available_messages).
  Definition with_hard_gas_limit_per_operation hard_gas_limit_per_operation
    (r : record) :=
    Build r.(preserved_cycles) r.(blocks_per_cycle) r.(blocks_per_commitment)
      r.(blocks_per_stake_snapshot) r.(cycles_per_voting_period)
      hard_gas_limit_per_operation r.(hard_gas_limit_per_block)
      r.(proof_of_work_threshold) r.(tokens_per_roll)
      r.(seed_nonce_revelation_tip) r.(origination_size)
      r.(baking_reward_fixed_portion) r.(baking_reward_bonus_per_slot)
      r.(endorsing_reward_per_slot) r.(cost_per_byte)
      r.(hard_storage_limit_per_operation) r.(quorum_min) r.(quorum_max)
      r.(min_proposal_quorum) r.(liquidity_baking_subsidy)
      r.(liquidity_baking_sunset_level)
      r.(liquidity_baking_toggle_ema_threshold) r.(max_operations_time_to_live)
      r.(minimal_block_delay) r.(delay_increment_per_round)
      r.(minimal_participation_ratio) r.(consensus_committee_size)
      r.(consensus_threshold) r.(max_slashing_period)
      r.(frozen_deposits_percentage) r.(double_baking_punishment)
      r.(ratio_of_frozen_deposits_slashed_per_double_endorsement)
      r.(initial_seed) r.(cache_script_size) r.(cache_stake_distribution_cycles)
      r.(cache_sampler_state_cycles) r.(tx_rollup_enable)
      r.(tx_rollup_origination_size) r.(tx_rollup_hard_size_limit_per_inbox)
      r.(tx_rollup_hard_size_limit_per_message) r.(tx_rollup_commitment_bond)
      r.(tx_rollup_finality_period) r.(tx_rollup_withdraw_period)
      r.(tx_rollup_max_inboxes_count) r.(tx_rollup_max_messages_per_inbox)
      r.(tx_rollup_max_commitments_count) r.(tx_rollup_cost_per_byte_ema_factor)
      r.(tx_rollup_max_ticket_payload_size)
      r.(tx_rollup_max_withdrawals_per_batch)
      r.(tx_rollup_rejection_max_proof_size) r.(tx_rollup_sunset_level)
      r.(sc_rollup_enable) r.(sc_rollup_origination_size)
      r.(sc_rollup_challenge_window_in_blocks)
      r.(sc_rollup_max_available_messages).
  Definition with_hard_gas_limit_per_block hard_gas_limit_per_block
    (r : record) :=
    Build r.(preserved_cycles) r.(blocks_per_cycle) r.(blocks_per_commitment)
      r.(blocks_per_stake_snapshot) r.(cycles_per_voting_period)
      r.(hard_gas_limit_per_operation) hard_gas_limit_per_block
      r.(proof_of_work_threshold) r.(tokens_per_roll)
      r.(seed_nonce_revelation_tip) r.(origination_size)
      r.(baking_reward_fixed_portion) r.(baking_reward_bonus_per_slot)
      r.(endorsing_reward_per_slot) r.(cost_per_byte)
      r.(hard_storage_limit_per_operation) r.(quorum_min) r.(quorum_max)
      r.(min_proposal_quorum) r.(liquidity_baking_subsidy)
      r.(liquidity_baking_sunset_level)
      r.(liquidity_baking_toggle_ema_threshold) r.(max_operations_time_to_live)
      r.(minimal_block_delay) r.(delay_increment_per_round)
      r.(minimal_participation_ratio) r.(consensus_committee_size)
      r.(consensus_threshold) r.(max_slashing_period)
      r.(frozen_deposits_percentage) r.(double_baking_punishment)
      r.(ratio_of_frozen_deposits_slashed_per_double_endorsement)
      r.(initial_seed) r.(cache_script_size) r.(cache_stake_distribution_cycles)
      r.(cache_sampler_state_cycles) r.(tx_rollup_enable)
      r.(tx_rollup_origination_size) r.(tx_rollup_hard_size_limit_per_inbox)
      r.(tx_rollup_hard_size_limit_per_message) r.(tx_rollup_commitment_bond)
      r.(tx_rollup_finality_period) r.(tx_rollup_withdraw_period)
      r.(tx_rollup_max_inboxes_count) r.(tx_rollup_max_messages_per_inbox)
      r.(tx_rollup_max_commitments_count) r.(tx_rollup_cost_per_byte_ema_factor)
      r.(tx_rollup_max_ticket_payload_size)
      r.(tx_rollup_max_withdrawals_per_batch)
      r.(tx_rollup_rejection_max_proof_size) r.(tx_rollup_sunset_level)
      r.(sc_rollup_enable) r.(sc_rollup_origination_size)
      r.(sc_rollup_challenge_window_in_blocks)
      r.(sc_rollup_max_available_messages).
  Definition with_proof_of_work_threshold proof_of_work_threshold
    (r : record) :=
    Build r.(preserved_cycles) r.(blocks_per_cycle) r.(blocks_per_commitment)
      r.(blocks_per_stake_snapshot) r.(cycles_per_voting_period)
      r.(hard_gas_limit_per_operation) r.(hard_gas_limit_per_block)
      proof_of_work_threshold r.(tokens_per_roll) r.(seed_nonce_revelation_tip)
      r.(origination_size) r.(baking_reward_fixed_portion)
      r.(baking_reward_bonus_per_slot) r.(endorsing_reward_per_slot)
      r.(cost_per_byte) r.(hard_storage_limit_per_operation) r.(quorum_min)
      r.(quorum_max) r.(min_proposal_quorum) r.(liquidity_baking_subsidy)
      r.(liquidity_baking_sunset_level)
      r.(liquidity_baking_toggle_ema_threshold) r.(max_operations_time_to_live)
      r.(minimal_block_delay) r.(delay_increment_per_round)
      r.(minimal_participation_ratio) r.(consensus_committee_size)
      r.(consensus_threshold) r.(max_slashing_period)
      r.(frozen_deposits_percentage) r.(double_baking_punishment)
      r.(ratio_of_frozen_deposits_slashed_per_double_endorsement)
      r.(initial_seed) r.(cache_script_size) r.(cache_stake_distribution_cycles)
      r.(cache_sampler_state_cycles) r.(tx_rollup_enable)
      r.(tx_rollup_origination_size) r.(tx_rollup_hard_size_limit_per_inbox)
      r.(tx_rollup_hard_size_limit_per_message) r.(tx_rollup_commitment_bond)
      r.(tx_rollup_finality_period) r.(tx_rollup_withdraw_period)
      r.(tx_rollup_max_inboxes_count) r.(tx_rollup_max_messages_per_inbox)
      r.(tx_rollup_max_commitments_count) r.(tx_rollup_cost_per_byte_ema_factor)
      r.(tx_rollup_max_ticket_payload_size)
      r.(tx_rollup_max_withdrawals_per_batch)
      r.(tx_rollup_rejection_max_proof_size) r.(tx_rollup_sunset_level)
      r.(sc_rollup_enable) r.(sc_rollup_origination_size)
      r.(sc_rollup_challenge_window_in_blocks)
      r.(sc_rollup_max_available_messages).
  Definition with_tokens_per_roll tokens_per_roll (r : record) :=
    Build r.(preserved_cycles) r.(blocks_per_cycle) r.(blocks_per_commitment)
      r.(blocks_per_stake_snapshot) r.(cycles_per_voting_period)
      r.(hard_gas_limit_per_operation) r.(hard_gas_limit_per_block)
      r.(proof_of_work_threshold) tokens_per_roll r.(seed_nonce_revelation_tip)
      r.(origination_size) r.(baking_reward_fixed_portion)
      r.(baking_reward_bonus_per_slot) r.(endorsing_reward_per_slot)
      r.(cost_per_byte) r.(hard_storage_limit_per_operation) r.(quorum_min)
      r.(quorum_max) r.(min_proposal_quorum) r.(liquidity_baking_subsidy)
      r.(liquidity_baking_sunset_level)
      r.(liquidity_baking_toggle_ema_threshold) r.(max_operations_time_to_live)
      r.(minimal_block_delay) r.(delay_increment_per_round)
      r.(minimal_participation_ratio) r.(consensus_committee_size)
      r.(consensus_threshold) r.(max_slashing_period)
      r.(frozen_deposits_percentage) r.(double_baking_punishment)
      r.(ratio_of_frozen_deposits_slashed_per_double_endorsement)
      r.(initial_seed) r.(cache_script_size) r.(cache_stake_distribution_cycles)
      r.(cache_sampler_state_cycles) r.(tx_rollup_enable)
      r.(tx_rollup_origination_size) r.(tx_rollup_hard_size_limit_per_inbox)
      r.(tx_rollup_hard_size_limit_per_message) r.(tx_rollup_commitment_bond)
      r.(tx_rollup_finality_period) r.(tx_rollup_withdraw_period)
      r.(tx_rollup_max_inboxes_count) r.(tx_rollup_max_messages_per_inbox)
      r.(tx_rollup_max_commitments_count) r.(tx_rollup_cost_per_byte_ema_factor)
      r.(tx_rollup_max_ticket_payload_size)
      r.(tx_rollup_max_withdrawals_per_batch)
      r.(tx_rollup_rejection_max_proof_size) r.(tx_rollup_sunset_level)
      r.(sc_rollup_enable) r.(sc_rollup_origination_size)
      r.(sc_rollup_challenge_window_in_blocks)
      r.(sc_rollup_max_available_messages).
  Definition with_seed_nonce_revelation_tip seed_nonce_revelation_tip
    (r : record) :=
    Build r.(preserved_cycles) r.(blocks_per_cycle) r.(blocks_per_commitment)
      r.(blocks_per_stake_snapshot) r.(cycles_per_voting_period)
      r.(hard_gas_limit_per_operation) r.(hard_gas_limit_per_block)
      r.(proof_of_work_threshold) r.(tokens_per_roll) seed_nonce_revelation_tip
      r.(origination_size) r.(baking_reward_fixed_portion)
      r.(baking_reward_bonus_per_slot) r.(endorsing_reward_per_slot)
      r.(cost_per_byte) r.(hard_storage_limit_per_operation) r.(quorum_min)
      r.(quorum_max) r.(min_proposal_quorum) r.(liquidity_baking_subsidy)
      r.(liquidity_baking_sunset_level)
      r.(liquidity_baking_toggle_ema_threshold) r.(max_operations_time_to_live)
      r.(minimal_block_delay) r.(delay_increment_per_round)
      r.(minimal_participation_ratio) r.(consensus_committee_size)
      r.(consensus_threshold) r.(max_slashing_period)
      r.(frozen_deposits_percentage) r.(double_baking_punishment)
      r.(ratio_of_frozen_deposits_slashed_per_double_endorsement)
      r.(initial_seed) r.(cache_script_size) r.(cache_stake_distribution_cycles)
      r.(cache_sampler_state_cycles) r.(tx_rollup_enable)
      r.(tx_rollup_origination_size) r.(tx_rollup_hard_size_limit_per_inbox)
      r.(tx_rollup_hard_size_limit_per_message) r.(tx_rollup_commitment_bond)
      r.(tx_rollup_finality_period) r.(tx_rollup_withdraw_period)
      r.(tx_rollup_max_inboxes_count) r.(tx_rollup_max_messages_per_inbox)
      r.(tx_rollup_max_commitments_count) r.(tx_rollup_cost_per_byte_ema_factor)
      r.(tx_rollup_max_ticket_payload_size)
      r.(tx_rollup_max_withdrawals_per_batch)
      r.(tx_rollup_rejection_max_proof_size) r.(tx_rollup_sunset_level)
      r.(sc_rollup_enable) r.(sc_rollup_origination_size)
      r.(sc_rollup_challenge_window_in_blocks)
      r.(sc_rollup_max_available_messages).
  Definition with_origination_size origination_size (r : record) :=
    Build r.(preserved_cycles) r.(blocks_per_cycle) r.(blocks_per_commitment)
      r.(blocks_per_stake_snapshot) r.(cycles_per_voting_period)
      r.(hard_gas_limit_per_operation) r.(hard_gas_limit_per_block)
      r.(proof_of_work_threshold) r.(tokens_per_roll)
      r.(seed_nonce_revelation_tip) origination_size
      r.(baking_reward_fixed_portion) r.(baking_reward_bonus_per_slot)
      r.(endorsing_reward_per_slot) r.(cost_per_byte)
      r.(hard_storage_limit_per_operation) r.(quorum_min) r.(quorum_max)
      r.(min_proposal_quorum) r.(liquidity_baking_subsidy)
      r.(liquidity_baking_sunset_level)
      r.(liquidity_baking_toggle_ema_threshold) r.(max_operations_time_to_live)
      r.(minimal_block_delay) r.(delay_increment_per_round)
      r.(minimal_participation_ratio) r.(consensus_committee_size)
      r.(consensus_threshold) r.(max_slashing_period)
      r.(frozen_deposits_percentage) r.(double_baking_punishment)
      r.(ratio_of_frozen_deposits_slashed_per_double_endorsement)
      r.(initial_seed) r.(cache_script_size) r.(cache_stake_distribution_cycles)
      r.(cache_sampler_state_cycles) r.(tx_rollup_enable)
      r.(tx_rollup_origination_size) r.(tx_rollup_hard_size_limit_per_inbox)
      r.(tx_rollup_hard_size_limit_per_message) r.(tx_rollup_commitment_bond)
      r.(tx_rollup_finality_period) r.(tx_rollup_withdraw_period)
      r.(tx_rollup_max_inboxes_count) r.(tx_rollup_max_messages_per_inbox)
      r.(tx_rollup_max_commitments_count) r.(tx_rollup_cost_per_byte_ema_factor)
      r.(tx_rollup_max_ticket_payload_size)
      r.(tx_rollup_max_withdrawals_per_batch)
      r.(tx_rollup_rejection_max_proof_size) r.(tx_rollup_sunset_level)
      r.(sc_rollup_enable) r.(sc_rollup_origination_size)
      r.(sc_rollup_challenge_window_in_blocks)
      r.(sc_rollup_max_available_messages).
  Definition with_baking_reward_fixed_portion baking_reward_fixed_portion
    (r : record) :=
    Build r.(preserved_cycles) r.(blocks_per_cycle) r.(blocks_per_commitment)
      r.(blocks_per_stake_snapshot) r.(cycles_per_voting_period)
      r.(hard_gas_limit_per_operation) r.(hard_gas_limit_per_block)
      r.(proof_of_work_threshold) r.(tokens_per_roll)
      r.(seed_nonce_revelation_tip) r.(origination_size)
      baking_reward_fixed_portion r.(baking_reward_bonus_per_slot)
      r.(endorsing_reward_per_slot) r.(cost_per_byte)
      r.(hard_storage_limit_per_operation) r.(quorum_min) r.(quorum_max)
      r.(min_proposal_quorum) r.(liquidity_baking_subsidy)
      r.(liquidity_baking_sunset_level)
      r.(liquidity_baking_toggle_ema_threshold) r.(max_operations_time_to_live)
      r.(minimal_block_delay) r.(delay_increment_per_round)
      r.(minimal_participation_ratio) r.(consensus_committee_size)
      r.(consensus_threshold) r.(max_slashing_period)
      r.(frozen_deposits_percentage) r.(double_baking_punishment)
      r.(ratio_of_frozen_deposits_slashed_per_double_endorsement)
      r.(initial_seed) r.(cache_script_size) r.(cache_stake_distribution_cycles)
      r.(cache_sampler_state_cycles) r.(tx_rollup_enable)
      r.(tx_rollup_origination_size) r.(tx_rollup_hard_size_limit_per_inbox)
      r.(tx_rollup_hard_size_limit_per_message) r.(tx_rollup_commitment_bond)
      r.(tx_rollup_finality_period) r.(tx_rollup_withdraw_period)
      r.(tx_rollup_max_inboxes_count) r.(tx_rollup_max_messages_per_inbox)
      r.(tx_rollup_max_commitments_count) r.(tx_rollup_cost_per_byte_ema_factor)
      r.(tx_rollup_max_ticket_payload_size)
      r.(tx_rollup_max_withdrawals_per_batch)
      r.(tx_rollup_rejection_max_proof_size) r.(tx_rollup_sunset_level)
      r.(sc_rollup_enable) r.(sc_rollup_origination_size)
      r.(sc_rollup_challenge_window_in_blocks)
      r.(sc_rollup_max_available_messages).
  Definition with_baking_reward_bonus_per_slot baking_reward_bonus_per_slot
    (r : record) :=
    Build r.(preserved_cycles) r.(blocks_per_cycle) r.(blocks_per_commitment)
      r.(blocks_per_stake_snapshot) r.(cycles_per_voting_period)
      r.(hard_gas_limit_per_operation) r.(hard_gas_limit_per_block)
      r.(proof_of_work_threshold) r.(tokens_per_roll)
      r.(seed_nonce_revelation_tip) r.(origination_size)
      r.(baking_reward_fixed_portion) baking_reward_bonus_per_slot
      r.(endorsing_reward_per_slot) r.(cost_per_byte)
      r.(hard_storage_limit_per_operation) r.(quorum_min) r.(quorum_max)
      r.(min_proposal_quorum) r.(liquidity_baking_subsidy)
      r.(liquidity_baking_sunset_level)
      r.(liquidity_baking_toggle_ema_threshold) r.(max_operations_time_to_live)
      r.(minimal_block_delay) r.(delay_increment_per_round)
      r.(minimal_participation_ratio) r.(consensus_committee_size)
      r.(consensus_threshold) r.(max_slashing_period)
      r.(frozen_deposits_percentage) r.(double_baking_punishment)
      r.(ratio_of_frozen_deposits_slashed_per_double_endorsement)
      r.(initial_seed) r.(cache_script_size) r.(cache_stake_distribution_cycles)
      r.(cache_sampler_state_cycles) r.(tx_rollup_enable)
      r.(tx_rollup_origination_size) r.(tx_rollup_hard_size_limit_per_inbox)
      r.(tx_rollup_hard_size_limit_per_message) r.(tx_rollup_commitment_bond)
      r.(tx_rollup_finality_period) r.(tx_rollup_withdraw_period)
      r.(tx_rollup_max_inboxes_count) r.(tx_rollup_max_messages_per_inbox)
      r.(tx_rollup_max_commitments_count) r.(tx_rollup_cost_per_byte_ema_factor)
      r.(tx_rollup_max_ticket_payload_size)
      r.(tx_rollup_max_withdrawals_per_batch)
      r.(tx_rollup_rejection_max_proof_size) r.(tx_rollup_sunset_level)
      r.(sc_rollup_enable) r.(sc_rollup_origination_size)
      r.(sc_rollup_challenge_window_in_blocks)
      r.(sc_rollup_max_available_messages).
  Definition with_endorsing_reward_per_slot endorsing_reward_per_slot
    (r : record) :=
    Build r.(preserved_cycles) r.(blocks_per_cycle) r.(blocks_per_commitment)
      r.(blocks_per_stake_snapshot) r.(cycles_per_voting_period)
      r.(hard_gas_limit_per_operation) r.(hard_gas_limit_per_block)
      r.(proof_of_work_threshold) r.(tokens_per_roll)
      r.(seed_nonce_revelation_tip) r.(origination_size)
      r.(baking_reward_fixed_portion) r.(baking_reward_bonus_per_slot)
      endorsing_reward_per_slot r.(cost_per_byte)
      r.(hard_storage_limit_per_operation) r.(quorum_min) r.(quorum_max)
      r.(min_proposal_quorum) r.(liquidity_baking_subsidy)
      r.(liquidity_baking_sunset_level)
      r.(liquidity_baking_toggle_ema_threshold) r.(max_operations_time_to_live)
      r.(minimal_block_delay) r.(delay_increment_per_round)
      r.(minimal_participation_ratio) r.(consensus_committee_size)
      r.(consensus_threshold) r.(max_slashing_period)
      r.(frozen_deposits_percentage) r.(double_baking_punishment)
      r.(ratio_of_frozen_deposits_slashed_per_double_endorsement)
      r.(initial_seed) r.(cache_script_size) r.(cache_stake_distribution_cycles)
      r.(cache_sampler_state_cycles) r.(tx_rollup_enable)
      r.(tx_rollup_origination_size) r.(tx_rollup_hard_size_limit_per_inbox)
      r.(tx_rollup_hard_size_limit_per_message) r.(tx_rollup_commitment_bond)
      r.(tx_rollup_finality_period) r.(tx_rollup_withdraw_period)
      r.(tx_rollup_max_inboxes_count) r.(tx_rollup_max_messages_per_inbox)
      r.(tx_rollup_max_commitments_count) r.(tx_rollup_cost_per_byte_ema_factor)
      r.(tx_rollup_max_ticket_payload_size)
      r.(tx_rollup_max_withdrawals_per_batch)
      r.(tx_rollup_rejection_max_proof_size) r.(tx_rollup_sunset_level)
      r.(sc_rollup_enable) r.(sc_rollup_origination_size)
      r.(sc_rollup_challenge_window_in_blocks)
      r.(sc_rollup_max_available_messages).
  Definition with_cost_per_byte cost_per_byte (r : record) :=
    Build r.(preserved_cycles) r.(blocks_per_cycle) r.(blocks_per_commitment)
      r.(blocks_per_stake_snapshot) r.(cycles_per_voting_period)
      r.(hard_gas_limit_per_operation) r.(hard_gas_limit_per_block)
      r.(proof_of_work_threshold) r.(tokens_per_roll)
      r.(seed_nonce_revelation_tip) r.(origination_size)
      r.(baking_reward_fixed_portion) r.(baking_reward_bonus_per_slot)
      r.(endorsing_reward_per_slot) cost_per_byte
      r.(hard_storage_limit_per_operation) r.(quorum_min) r.(quorum_max)
      r.(min_proposal_quorum) r.(liquidity_baking_subsidy)
      r.(liquidity_baking_sunset_level)
      r.(liquidity_baking_toggle_ema_threshold) r.(max_operations_time_to_live)
      r.(minimal_block_delay) r.(delay_increment_per_round)
      r.(minimal_participation_ratio) r.(consensus_committee_size)
      r.(consensus_threshold) r.(max_slashing_period)
      r.(frozen_deposits_percentage) r.(double_baking_punishment)
      r.(ratio_of_frozen_deposits_slashed_per_double_endorsement)
      r.(initial_seed) r.(cache_script_size) r.(cache_stake_distribution_cycles)
      r.(cache_sampler_state_cycles) r.(tx_rollup_enable)
      r.(tx_rollup_origination_size) r.(tx_rollup_hard_size_limit_per_inbox)
      r.(tx_rollup_hard_size_limit_per_message) r.(tx_rollup_commitment_bond)
      r.(tx_rollup_finality_period) r.(tx_rollup_withdraw_period)
      r.(tx_rollup_max_inboxes_count) r.(tx_rollup_max_messages_per_inbox)
      r.(tx_rollup_max_commitments_count) r.(tx_rollup_cost_per_byte_ema_factor)
      r.(tx_rollup_max_ticket_payload_size)
      r.(tx_rollup_max_withdrawals_per_batch)
      r.(tx_rollup_rejection_max_proof_size) r.(tx_rollup_sunset_level)
      r.(sc_rollup_enable) r.(sc_rollup_origination_size)
      r.(sc_rollup_challenge_window_in_blocks)
      r.(sc_rollup_max_available_messages).
  Definition with_hard_storage_limit_per_operation
    hard_storage_limit_per_operation (r : record) :=
    Build r.(preserved_cycles) r.(blocks_per_cycle) r.(blocks_per_commitment)
      r.(blocks_per_stake_snapshot) r.(cycles_per_voting_period)
      r.(hard_gas_limit_per_operation) r.(hard_gas_limit_per_block)
      r.(proof_of_work_threshold) r.(tokens_per_roll)
      r.(seed_nonce_revelation_tip) r.(origination_size)
      r.(baking_reward_fixed_portion) r.(baking_reward_bonus_per_slot)
      r.(endorsing_reward_per_slot) r.(cost_per_byte)
      hard_storage_limit_per_operation r.(quorum_min) r.(quorum_max)
      r.(min_proposal_quorum) r.(liquidity_baking_subsidy)
      r.(liquidity_baking_sunset_level)
      r.(liquidity_baking_toggle_ema_threshold) r.(max_operations_time_to_live)
      r.(minimal_block_delay) r.(delay_increment_per_round)
      r.(minimal_participation_ratio) r.(consensus_committee_size)
      r.(consensus_threshold) r.(max_slashing_period)
      r.(frozen_deposits_percentage) r.(double_baking_punishment)
      r.(ratio_of_frozen_deposits_slashed_per_double_endorsement)
      r.(initial_seed) r.(cache_script_size) r.(cache_stake_distribution_cycles)
      r.(cache_sampler_state_cycles) r.(tx_rollup_enable)
      r.(tx_rollup_origination_size) r.(tx_rollup_hard_size_limit_per_inbox)
      r.(tx_rollup_hard_size_limit_per_message) r.(tx_rollup_commitment_bond)
      r.(tx_rollup_finality_period) r.(tx_rollup_withdraw_period)
      r.(tx_rollup_max_inboxes_count) r.(tx_rollup_max_messages_per_inbox)
      r.(tx_rollup_max_commitments_count) r.(tx_rollup_cost_per_byte_ema_factor)
      r.(tx_rollup_max_ticket_payload_size)
      r.(tx_rollup_max_withdrawals_per_batch)
      r.(tx_rollup_rejection_max_proof_size) r.(tx_rollup_sunset_level)
      r.(sc_rollup_enable) r.(sc_rollup_origination_size)
      r.(sc_rollup_challenge_window_in_blocks)
      r.(sc_rollup_max_available_messages).
  Definition with_quorum_min quorum_min (r : record) :=
    Build r.(preserved_cycles) r.(blocks_per_cycle) r.(blocks_per_commitment)
      r.(blocks_per_stake_snapshot) r.(cycles_per_voting_period)
      r.(hard_gas_limit_per_operation) r.(hard_gas_limit_per_block)
      r.(proof_of_work_threshold) r.(tokens_per_roll)
      r.(seed_nonce_revelation_tip) r.(origination_size)
      r.(baking_reward_fixed_portion) r.(baking_reward_bonus_per_slot)
      r.(endorsing_reward_per_slot) r.(cost_per_byte)
      r.(hard_storage_limit_per_operation) quorum_min r.(quorum_max)
      r.(min_proposal_quorum) r.(liquidity_baking_subsidy)
      r.(liquidity_baking_sunset_level)
      r.(liquidity_baking_toggle_ema_threshold) r.(max_operations_time_to_live)
      r.(minimal_block_delay) r.(delay_increment_per_round)
      r.(minimal_participation_ratio) r.(consensus_committee_size)
      r.(consensus_threshold) r.(max_slashing_period)
      r.(frozen_deposits_percentage) r.(double_baking_punishment)
      r.(ratio_of_frozen_deposits_slashed_per_double_endorsement)
      r.(initial_seed) r.(cache_script_size) r.(cache_stake_distribution_cycles)
      r.(cache_sampler_state_cycles) r.(tx_rollup_enable)
      r.(tx_rollup_origination_size) r.(tx_rollup_hard_size_limit_per_inbox)
      r.(tx_rollup_hard_size_limit_per_message) r.(tx_rollup_commitment_bond)
      r.(tx_rollup_finality_period) r.(tx_rollup_withdraw_period)
      r.(tx_rollup_max_inboxes_count) r.(tx_rollup_max_messages_per_inbox)
      r.(tx_rollup_max_commitments_count) r.(tx_rollup_cost_per_byte_ema_factor)
      r.(tx_rollup_max_ticket_payload_size)
      r.(tx_rollup_max_withdrawals_per_batch)
      r.(tx_rollup_rejection_max_proof_size) r.(tx_rollup_sunset_level)
      r.(sc_rollup_enable) r.(sc_rollup_origination_size)
      r.(sc_rollup_challenge_window_in_blocks)
      r.(sc_rollup_max_available_messages).
  Definition with_quorum_max quorum_max (r : record) :=
    Build r.(preserved_cycles) r.(blocks_per_cycle) r.(blocks_per_commitment)
      r.(blocks_per_stake_snapshot) r.(cycles_per_voting_period)
      r.(hard_gas_limit_per_operation) r.(hard_gas_limit_per_block)
      r.(proof_of_work_threshold) r.(tokens_per_roll)
      r.(seed_nonce_revelation_tip) r.(origination_size)
      r.(baking_reward_fixed_portion) r.(baking_reward_bonus_per_slot)
      r.(endorsing_reward_per_slot) r.(cost_per_byte)
      r.(hard_storage_limit_per_operation) r.(quorum_min) quorum_max
      r.(min_proposal_quorum) r.(liquidity_baking_subsidy)
      r.(liquidity_baking_sunset_level)
      r.(liquidity_baking_toggle_ema_threshold) r.(max_operations_time_to_live)
      r.(minimal_block_delay) r.(delay_increment_per_round)
      r.(minimal_participation_ratio) r.(consensus_committee_size)
      r.(consensus_threshold) r.(max_slashing_period)
      r.(frozen_deposits_percentage) r.(double_baking_punishment)
      r.(ratio_of_frozen_deposits_slashed_per_double_endorsement)
      r.(initial_seed) r.(cache_script_size) r.(cache_stake_distribution_cycles)
      r.(cache_sampler_state_cycles) r.(tx_rollup_enable)
      r.(tx_rollup_origination_size) r.(tx_rollup_hard_size_limit_per_inbox)
      r.(tx_rollup_hard_size_limit_per_message) r.(tx_rollup_commitment_bond)
      r.(tx_rollup_finality_period) r.(tx_rollup_withdraw_period)
      r.(tx_rollup_max_inboxes_count) r.(tx_rollup_max_messages_per_inbox)
      r.(tx_rollup_max_commitments_count) r.(tx_rollup_cost_per_byte_ema_factor)
      r.(tx_rollup_max_ticket_payload_size)
      r.(tx_rollup_max_withdrawals_per_batch)
      r.(tx_rollup_rejection_max_proof_size) r.(tx_rollup_sunset_level)
      r.(sc_rollup_enable) r.(sc_rollup_origination_size)
      r.(sc_rollup_challenge_window_in_blocks)
      r.(sc_rollup_max_available_messages).
  Definition with_min_proposal_quorum min_proposal_quorum (r : record) :=
    Build r.(preserved_cycles) r.(blocks_per_cycle) r.(blocks_per_commitment)
      r.(blocks_per_stake_snapshot) r.(cycles_per_voting_period)
      r.(hard_gas_limit_per_operation) r.(hard_gas_limit_per_block)
      r.(proof_of_work_threshold) r.(tokens_per_roll)
      r.(seed_nonce_revelation_tip) r.(origination_size)
      r.(baking_reward_fixed_portion) r.(baking_reward_bonus_per_slot)
      r.(endorsing_reward_per_slot) r.(cost_per_byte)
      r.(hard_storage_limit_per_operation) r.(quorum_min) r.(quorum_max)
      min_proposal_quorum r.(liquidity_baking_subsidy)
      r.(liquidity_baking_sunset_level)
      r.(liquidity_baking_toggle_ema_threshold) r.(max_operations_time_to_live)
      r.(minimal_block_delay) r.(delay_increment_per_round)
      r.(minimal_participation_ratio) r.(consensus_committee_size)
      r.(consensus_threshold) r.(max_slashing_period)
      r.(frozen_deposits_percentage) r.(double_baking_punishment)
      r.(ratio_of_frozen_deposits_slashed_per_double_endorsement)
      r.(initial_seed) r.(cache_script_size) r.(cache_stake_distribution_cycles)
      r.(cache_sampler_state_cycles) r.(tx_rollup_enable)
      r.(tx_rollup_origination_size) r.(tx_rollup_hard_size_limit_per_inbox)
      r.(tx_rollup_hard_size_limit_per_message) r.(tx_rollup_commitment_bond)
      r.(tx_rollup_finality_period) r.(tx_rollup_withdraw_period)
      r.(tx_rollup_max_inboxes_count) r.(tx_rollup_max_messages_per_inbox)
      r.(tx_rollup_max_commitments_count) r.(tx_rollup_cost_per_byte_ema_factor)
      r.(tx_rollup_max_ticket_payload_size)
      r.(tx_rollup_max_withdrawals_per_batch)
      r.(tx_rollup_rejection_max_proof_size) r.(tx_rollup_sunset_level)
      r.(sc_rollup_enable) r.(sc_rollup_origination_size)
      r.(sc_rollup_challenge_window_in_blocks)
      r.(sc_rollup_max_available_messages).
  Definition with_liquidity_baking_subsidy liquidity_baking_subsidy
    (r : record) :=
    Build r.(preserved_cycles) r.(blocks_per_cycle) r.(blocks_per_commitment)
      r.(blocks_per_stake_snapshot) r.(cycles_per_voting_period)
      r.(hard_gas_limit_per_operation) r.(hard_gas_limit_per_block)
      r.(proof_of_work_threshold) r.(tokens_per_roll)
      r.(seed_nonce_revelation_tip) r.(origination_size)
      r.(baking_reward_fixed_portion) r.(baking_reward_bonus_per_slot)
      r.(endorsing_reward_per_slot) r.(cost_per_byte)
      r.(hard_storage_limit_per_operation) r.(quorum_min) r.(quorum_max)
      r.(min_proposal_quorum) liquidity_baking_subsidy
      r.(liquidity_baking_sunset_level)
      r.(liquidity_baking_toggle_ema_threshold) r.(max_operations_time_to_live)
      r.(minimal_block_delay) r.(delay_increment_per_round)
      r.(minimal_participation_ratio) r.(consensus_committee_size)
      r.(consensus_threshold) r.(max_slashing_period)
      r.(frozen_deposits_percentage) r.(double_baking_punishment)
      r.(ratio_of_frozen_deposits_slashed_per_double_endorsement)
      r.(initial_seed) r.(cache_script_size) r.(cache_stake_distribution_cycles)
      r.(cache_sampler_state_cycles) r.(tx_rollup_enable)
      r.(tx_rollup_origination_size) r.(tx_rollup_hard_size_limit_per_inbox)
      r.(tx_rollup_hard_size_limit_per_message) r.(tx_rollup_commitment_bond)
      r.(tx_rollup_finality_period) r.(tx_rollup_withdraw_period)
      r.(tx_rollup_max_inboxes_count) r.(tx_rollup_max_messages_per_inbox)
      r.(tx_rollup_max_commitments_count) r.(tx_rollup_cost_per_byte_ema_factor)
      r.(tx_rollup_max_ticket_payload_size)
      r.(tx_rollup_max_withdrawals_per_batch)
      r.(tx_rollup_rejection_max_proof_size) r.(tx_rollup_sunset_level)
      r.(sc_rollup_enable) r.(sc_rollup_origination_size)
      r.(sc_rollup_challenge_window_in_blocks)
      r.(sc_rollup_max_available_messages).
  Definition with_liquidity_baking_sunset_level liquidity_baking_sunset_level
    (r : record) :=
    Build r.(preserved_cycles) r.(blocks_per_cycle) r.(blocks_per_commitment)
      r.(blocks_per_stake_snapshot) r.(cycles_per_voting_period)
      r.(hard_gas_limit_per_operation) r.(hard_gas_limit_per_block)
      r.(proof_of_work_threshold) r.(tokens_per_roll)
      r.(seed_nonce_revelation_tip) r.(origination_size)
      r.(baking_reward_fixed_portion) r.(baking_reward_bonus_per_slot)
      r.(endorsing_reward_per_slot) r.(cost_per_byte)
      r.(hard_storage_limit_per_operation) r.(quorum_min) r.(quorum_max)
      r.(min_proposal_quorum) r.(liquidity_baking_subsidy)
      liquidity_baking_sunset_level r.(liquidity_baking_toggle_ema_threshold)
      r.(max_operations_time_to_live) r.(minimal_block_delay)
      r.(delay_increment_per_round) r.(minimal_participation_ratio)
      r.(consensus_committee_size) r.(consensus_threshold)
      r.(max_slashing_period) r.(frozen_deposits_percentage)
      r.(double_baking_punishment)
      r.(ratio_of_frozen_deposits_slashed_per_double_endorsement)
      r.(initial_seed) r.(cache_script_size) r.(cache_stake_distribution_cycles)
      r.(cache_sampler_state_cycles) r.(tx_rollup_enable)
      r.(tx_rollup_origination_size) r.(tx_rollup_hard_size_limit_per_inbox)
      r.(tx_rollup_hard_size_limit_per_message) r.(tx_rollup_commitment_bond)
      r.(tx_rollup_finality_period) r.(tx_rollup_withdraw_period)
      r.(tx_rollup_max_inboxes_count) r.(tx_rollup_max_messages_per_inbox)
      r.(tx_rollup_max_commitments_count) r.(tx_rollup_cost_per_byte_ema_factor)
      r.(tx_rollup_max_ticket_payload_size)
      r.(tx_rollup_max_withdrawals_per_batch)
      r.(tx_rollup_rejection_max_proof_size) r.(tx_rollup_sunset_level)
      r.(sc_rollup_enable) r.(sc_rollup_origination_size)
      r.(sc_rollup_challenge_window_in_blocks)
      r.(sc_rollup_max_available_messages).
  Definition with_liquidity_baking_toggle_ema_threshold
    liquidity_baking_toggle_ema_threshold (r : record) :=
    Build r.(preserved_cycles) r.(blocks_per_cycle) r.(blocks_per_commitment)
      r.(blocks_per_stake_snapshot) r.(cycles_per_voting_period)
      r.(hard_gas_limit_per_operation) r.(hard_gas_limit_per_block)
      r.(proof_of_work_threshold) r.(tokens_per_roll)
      r.(seed_nonce_revelation_tip) r.(origination_size)
      r.(baking_reward_fixed_portion) r.(baking_reward_bonus_per_slot)
      r.(endorsing_reward_per_slot) r.(cost_per_byte)
      r.(hard_storage_limit_per_operation) r.(quorum_min) r.(quorum_max)
      r.(min_proposal_quorum) r.(liquidity_baking_subsidy)
      r.(liquidity_baking_sunset_level) liquidity_baking_toggle_ema_threshold
      r.(max_operations_time_to_live) r.(minimal_block_delay)
      r.(delay_increment_per_round) r.(minimal_participation_ratio)
      r.(consensus_committee_size) r.(consensus_threshold)
      r.(max_slashing_period) r.(frozen_deposits_percentage)
      r.(double_baking_punishment)
      r.(ratio_of_frozen_deposits_slashed_per_double_endorsement)
      r.(initial_seed) r.(cache_script_size) r.(cache_stake_distribution_cycles)
      r.(cache_sampler_state_cycles) r.(tx_rollup_enable)
      r.(tx_rollup_origination_size) r.(tx_rollup_hard_size_limit_per_inbox)
      r.(tx_rollup_hard_size_limit_per_message) r.(tx_rollup_commitment_bond)
      r.(tx_rollup_finality_period) r.(tx_rollup_withdraw_period)
      r.(tx_rollup_max_inboxes_count) r.(tx_rollup_max_messages_per_inbox)
      r.(tx_rollup_max_commitments_count) r.(tx_rollup_cost_per_byte_ema_factor)
      r.(tx_rollup_max_ticket_payload_size)
      r.(tx_rollup_max_withdrawals_per_batch)
      r.(tx_rollup_rejection_max_proof_size) r.(tx_rollup_sunset_level)
      r.(sc_rollup_enable) r.(sc_rollup_origination_size)
      r.(sc_rollup_challenge_window_in_blocks)
      r.(sc_rollup_max_available_messages).
  Definition with_max_operations_time_to_live max_operations_time_to_live
    (r : record) :=
    Build r.(preserved_cycles) r.(blocks_per_cycle) r.(blocks_per_commitment)
      r.(blocks_per_stake_snapshot) r.(cycles_per_voting_period)
      r.(hard_gas_limit_per_operation) r.(hard_gas_limit_per_block)
      r.(proof_of_work_threshold) r.(tokens_per_roll)
      r.(seed_nonce_revelation_tip) r.(origination_size)
      r.(baking_reward_fixed_portion) r.(baking_reward_bonus_per_slot)
      r.(endorsing_reward_per_slot) r.(cost_per_byte)
      r.(hard_storage_limit_per_operation) r.(quorum_min) r.(quorum_max)
      r.(min_proposal_quorum) r.(liquidity_baking_subsidy)
      r.(liquidity_baking_sunset_level)
      r.(liquidity_baking_toggle_ema_threshold) max_operations_time_to_live
      r.(minimal_block_delay) r.(delay_increment_per_round)
      r.(minimal_participation_ratio) r.(consensus_committee_size)
      r.(consensus_threshold) r.(max_slashing_period)
      r.(frozen_deposits_percentage) r.(double_baking_punishment)
      r.(ratio_of_frozen_deposits_slashed_per_double_endorsement)
      r.(initial_seed) r.(cache_script_size) r.(cache_stake_distribution_cycles)
      r.(cache_sampler_state_cycles) r.(tx_rollup_enable)
      r.(tx_rollup_origination_size) r.(tx_rollup_hard_size_limit_per_inbox)
      r.(tx_rollup_hard_size_limit_per_message) r.(tx_rollup_commitment_bond)
      r.(tx_rollup_finality_period) r.(tx_rollup_withdraw_period)
      r.(tx_rollup_max_inboxes_count) r.(tx_rollup_max_messages_per_inbox)
      r.(tx_rollup_max_commitments_count) r.(tx_rollup_cost_per_byte_ema_factor)
      r.(tx_rollup_max_ticket_payload_size)
      r.(tx_rollup_max_withdrawals_per_batch)
      r.(tx_rollup_rejection_max_proof_size) r.(tx_rollup_sunset_level)
      r.(sc_rollup_enable) r.(sc_rollup_origination_size)
      r.(sc_rollup_challenge_window_in_blocks)
      r.(sc_rollup_max_available_messages).
  Definition with_minimal_block_delay minimal_block_delay (r : record) :=
    Build r.(preserved_cycles) r.(blocks_per_cycle) r.(blocks_per_commitment)
      r.(blocks_per_stake_snapshot) r.(cycles_per_voting_period)
      r.(hard_gas_limit_per_operation) r.(hard_gas_limit_per_block)
      r.(proof_of_work_threshold) r.(tokens_per_roll)
      r.(seed_nonce_revelation_tip) r.(origination_size)
      r.(baking_reward_fixed_portion) r.(baking_reward_bonus_per_slot)
      r.(endorsing_reward_per_slot) r.(cost_per_byte)
      r.(hard_storage_limit_per_operation) r.(quorum_min) r.(quorum_max)
      r.(min_proposal_quorum) r.(liquidity_baking_subsidy)
      r.(liquidity_baking_sunset_level)
      r.(liquidity_baking_toggle_ema_threshold) r.(max_operations_time_to_live)
      minimal_block_delay r.(delay_increment_per_round)
      r.(minimal_participation_ratio) r.(consensus_committee_size)
      r.(consensus_threshold) r.(max_slashing_period)
      r.(frozen_deposits_percentage) r.(double_baking_punishment)
      r.(ratio_of_frozen_deposits_slashed_per_double_endorsement)
      r.(initial_seed) r.(cache_script_size) r.(cache_stake_distribution_cycles)
      r.(cache_sampler_state_cycles) r.(tx_rollup_enable)
      r.(tx_rollup_origination_size) r.(tx_rollup_hard_size_limit_per_inbox)
      r.(tx_rollup_hard_size_limit_per_message) r.(tx_rollup_commitment_bond)
      r.(tx_rollup_finality_period) r.(tx_rollup_withdraw_period)
      r.(tx_rollup_max_inboxes_count) r.(tx_rollup_max_messages_per_inbox)
      r.(tx_rollup_max_commitments_count) r.(tx_rollup_cost_per_byte_ema_factor)
      r.(tx_rollup_max_ticket_payload_size)
      r.(tx_rollup_max_withdrawals_per_batch)
      r.(tx_rollup_rejection_max_proof_size) r.(tx_rollup_sunset_level)
      r.(sc_rollup_enable) r.(sc_rollup_origination_size)
      r.(sc_rollup_challenge_window_in_blocks)
      r.(sc_rollup_max_available_messages).
  Definition with_delay_increment_per_round delay_increment_per_round
    (r : record) :=
    Build r.(preserved_cycles) r.(blocks_per_cycle) r.(blocks_per_commitment)
      r.(blocks_per_stake_snapshot) r.(cycles_per_voting_period)
      r.(hard_gas_limit_per_operation) r.(hard_gas_limit_per_block)
      r.(proof_of_work_threshold) r.(tokens_per_roll)
      r.(seed_nonce_revelation_tip) r.(origination_size)
      r.(baking_reward_fixed_portion) r.(baking_reward_bonus_per_slot)
      r.(endorsing_reward_per_slot) r.(cost_per_byte)
      r.(hard_storage_limit_per_operation) r.(quorum_min) r.(quorum_max)
      r.(min_proposal_quorum) r.(liquidity_baking_subsidy)
      r.(liquidity_baking_sunset_level)
      r.(liquidity_baking_toggle_ema_threshold) r.(max_operations_time_to_live)
      r.(minimal_block_delay) delay_increment_per_round
      r.(minimal_participation_ratio) r.(consensus_committee_size)
      r.(consensus_threshold) r.(max_slashing_period)
      r.(frozen_deposits_percentage) r.(double_baking_punishment)
      r.(ratio_of_frozen_deposits_slashed_per_double_endorsement)
      r.(initial_seed) r.(cache_script_size) r.(cache_stake_distribution_cycles)
      r.(cache_sampler_state_cycles) r.(tx_rollup_enable)
      r.(tx_rollup_origination_size) r.(tx_rollup_hard_size_limit_per_inbox)
      r.(tx_rollup_hard_size_limit_per_message) r.(tx_rollup_commitment_bond)
      r.(tx_rollup_finality_period) r.(tx_rollup_withdraw_period)
      r.(tx_rollup_max_inboxes_count) r.(tx_rollup_max_messages_per_inbox)
      r.(tx_rollup_max_commitments_count) r.(tx_rollup_cost_per_byte_ema_factor)
      r.(tx_rollup_max_ticket_payload_size)
      r.(tx_rollup_max_withdrawals_per_batch)
      r.(tx_rollup_rejection_max_proof_size) r.(tx_rollup_sunset_level)
      r.(sc_rollup_enable) r.(sc_rollup_origination_size)
      r.(sc_rollup_challenge_window_in_blocks)
      r.(sc_rollup_max_available_messages).
  Definition with_minimal_participation_ratio minimal_participation_ratio
    (r : record) :=
    Build r.(preserved_cycles) r.(blocks_per_cycle) r.(blocks_per_commitment)
      r.(blocks_per_stake_snapshot) r.(cycles_per_voting_period)
      r.(hard_gas_limit_per_operation) r.(hard_gas_limit_per_block)
      r.(proof_of_work_threshold) r.(tokens_per_roll)
      r.(seed_nonce_revelation_tip) r.(origination_size)
      r.(baking_reward_fixed_portion) r.(baking_reward_bonus_per_slot)
      r.(endorsing_reward_per_slot) r.(cost_per_byte)
      r.(hard_storage_limit_per_operation) r.(quorum_min) r.(quorum_max)
      r.(min_proposal_quorum) r.(liquidity_baking_subsidy)
      r.(liquidity_baking_sunset_level)
      r.(liquidity_baking_toggle_ema_threshold) r.(max_operations_time_to_live)
      r.(minimal_block_delay) r.(delay_increment_per_round)
      minimal_participation_ratio r.(consensus_committee_size)
      r.(consensus_threshold) r.(max_slashing_period)
      r.(frozen_deposits_percentage) r.(double_baking_punishment)
      r.(ratio_of_frozen_deposits_slashed_per_double_endorsement)
      r.(initial_seed) r.(cache_script_size) r.(cache_stake_distribution_cycles)
      r.(cache_sampler_state_cycles) r.(tx_rollup_enable)
      r.(tx_rollup_origination_size) r.(tx_rollup_hard_size_limit_per_inbox)
      r.(tx_rollup_hard_size_limit_per_message) r.(tx_rollup_commitment_bond)
      r.(tx_rollup_finality_period) r.(tx_rollup_withdraw_period)
      r.(tx_rollup_max_inboxes_count) r.(tx_rollup_max_messages_per_inbox)
      r.(tx_rollup_max_commitments_count) r.(tx_rollup_cost_per_byte_ema_factor)
      r.(tx_rollup_max_ticket_payload_size)
      r.(tx_rollup_max_withdrawals_per_batch)
      r.(tx_rollup_rejection_max_proof_size) r.(tx_rollup_sunset_level)
      r.(sc_rollup_enable) r.(sc_rollup_origination_size)
      r.(sc_rollup_challenge_window_in_blocks)
      r.(sc_rollup_max_available_messages).
  Definition with_consensus_committee_size consensus_committee_size
    (r : record) :=
    Build r.(preserved_cycles) r.(blocks_per_cycle) r.(blocks_per_commitment)
      r.(blocks_per_stake_snapshot) r.(cycles_per_voting_period)
      r.(hard_gas_limit_per_operation) r.(hard_gas_limit_per_block)
      r.(proof_of_work_threshold) r.(tokens_per_roll)
      r.(seed_nonce_revelation_tip) r.(origination_size)
      r.(baking_reward_fixed_portion) r.(baking_reward_bonus_per_slot)
      r.(endorsing_reward_per_slot) r.(cost_per_byte)
      r.(hard_storage_limit_per_operation) r.(quorum_min) r.(quorum_max)
      r.(min_proposal_quorum) r.(liquidity_baking_subsidy)
      r.(liquidity_baking_sunset_level)
      r.(liquidity_baking_toggle_ema_threshold) r.(max_operations_time_to_live)
      r.(minimal_block_delay) r.(delay_increment_per_round)
      r.(minimal_participation_ratio) consensus_committee_size
      r.(consensus_threshold) r.(max_slashing_period)
      r.(frozen_deposits_percentage) r.(double_baking_punishment)
      r.(ratio_of_frozen_deposits_slashed_per_double_endorsement)
      r.(initial_seed) r.(cache_script_size) r.(cache_stake_distribution_cycles)
      r.(cache_sampler_state_cycles) r.(tx_rollup_enable)
      r.(tx_rollup_origination_size) r.(tx_rollup_hard_size_limit_per_inbox)
      r.(tx_rollup_hard_size_limit_per_message) r.(tx_rollup_commitment_bond)
      r.(tx_rollup_finality_period) r.(tx_rollup_withdraw_period)
      r.(tx_rollup_max_inboxes_count) r.(tx_rollup_max_messages_per_inbox)
      r.(tx_rollup_max_commitments_count) r.(tx_rollup_cost_per_byte_ema_factor)
      r.(tx_rollup_max_ticket_payload_size)
      r.(tx_rollup_max_withdrawals_per_batch)
      r.(tx_rollup_rejection_max_proof_size) r.(tx_rollup_sunset_level)
      r.(sc_rollup_enable) r.(sc_rollup_origination_size)
      r.(sc_rollup_challenge_window_in_blocks)
      r.(sc_rollup_max_available_messages).
  Definition with_consensus_threshold consensus_threshold (r : record) :=
    Build r.(preserved_cycles) r.(blocks_per_cycle) r.(blocks_per_commitment)
      r.(blocks_per_stake_snapshot) r.(cycles_per_voting_period)
      r.(hard_gas_limit_per_operation) r.(hard_gas_limit_per_block)
      r.(proof_of_work_threshold) r.(tokens_per_roll)
      r.(seed_nonce_revelation_tip) r.(origination_size)
      r.(baking_reward_fixed_portion) r.(baking_reward_bonus_per_slot)
      r.(endorsing_reward_per_slot) r.(cost_per_byte)
      r.(hard_storage_limit_per_operation) r.(quorum_min) r.(quorum_max)
      r.(min_proposal_quorum) r.(liquidity_baking_subsidy)
      r.(liquidity_baking_sunset_level)
      r.(liquidity_baking_toggle_ema_threshold) r.(max_operations_time_to_live)
      r.(minimal_block_delay) r.(delay_increment_per_round)
      r.(minimal_participation_ratio) r.(consensus_committee_size)
      consensus_threshold r.(max_slashing_period) r.(frozen_deposits_percentage)
      r.(double_baking_punishment)
      r.(ratio_of_frozen_deposits_slashed_per_double_endorsement)
      r.(initial_seed) r.(cache_script_size) r.(cache_stake_distribution_cycles)
      r.(cache_sampler_state_cycles) r.(tx_rollup_enable)
      r.(tx_rollup_origination_size) r.(tx_rollup_hard_size_limit_per_inbox)
      r.(tx_rollup_hard_size_limit_per_message) r.(tx_rollup_commitment_bond)
      r.(tx_rollup_finality_period) r.(tx_rollup_withdraw_period)
      r.(tx_rollup_max_inboxes_count) r.(tx_rollup_max_messages_per_inbox)
      r.(tx_rollup_max_commitments_count) r.(tx_rollup_cost_per_byte_ema_factor)
      r.(tx_rollup_max_ticket_payload_size)
      r.(tx_rollup_max_withdrawals_per_batch)
      r.(tx_rollup_rejection_max_proof_size) r.(tx_rollup_sunset_level)
      r.(sc_rollup_enable) r.(sc_rollup_origination_size)
      r.(sc_rollup_challenge_window_in_blocks)
      r.(sc_rollup_max_available_messages).
  Definition with_max_slashing_period max_slashing_period (r : record) :=
    Build r.(preserved_cycles) r.(blocks_per_cycle) r.(blocks_per_commitment)
      r.(blocks_per_stake_snapshot) r.(cycles_per_voting_period)
      r.(hard_gas_limit_per_operation) r.(hard_gas_limit_per_block)
      r.(proof_of_work_threshold) r.(tokens_per_roll)
      r.(seed_nonce_revelation_tip) r.(origination_size)
      r.(baking_reward_fixed_portion) r.(baking_reward_bonus_per_slot)
      r.(endorsing_reward_per_slot) r.(cost_per_byte)
      r.(hard_storage_limit_per_operation) r.(quorum_min) r.(quorum_max)
      r.(min_proposal_quorum) r.(liquidity_baking_subsidy)
      r.(liquidity_baking_sunset_level)
      r.(liquidity_baking_toggle_ema_threshold) r.(max_operations_time_to_live)
      r.(minimal_block_delay) r.(delay_increment_per_round)
      r.(minimal_participation_ratio) r.(consensus_committee_size)
      r.(consensus_threshold) max_slashing_period r.(frozen_deposits_percentage)
      r.(double_baking_punishment)
      r.(ratio_of_frozen_deposits_slashed_per_double_endorsement)
      r.(initial_seed) r.(cache_script_size) r.(cache_stake_distribution_cycles)
      r.(cache_sampler_state_cycles) r.(tx_rollup_enable)
      r.(tx_rollup_origination_size) r.(tx_rollup_hard_size_limit_per_inbox)
      r.(tx_rollup_hard_size_limit_per_message) r.(tx_rollup_commitment_bond)
      r.(tx_rollup_finality_period) r.(tx_rollup_withdraw_period)
      r.(tx_rollup_max_inboxes_count) r.(tx_rollup_max_messages_per_inbox)
      r.(tx_rollup_max_commitments_count) r.(tx_rollup_cost_per_byte_ema_factor)
      r.(tx_rollup_max_ticket_payload_size)
      r.(tx_rollup_max_withdrawals_per_batch)
      r.(tx_rollup_rejection_max_proof_size) r.(tx_rollup_sunset_level)
      r.(sc_rollup_enable) r.(sc_rollup_origination_size)
      r.(sc_rollup_challenge_window_in_blocks)
      r.(sc_rollup_max_available_messages).
  Definition with_frozen_deposits_percentage frozen_deposits_percentage
    (r : record) :=
    Build r.(preserved_cycles) r.(blocks_per_cycle) r.(blocks_per_commitment)
      r.(blocks_per_stake_snapshot) r.(cycles_per_voting_period)
      r.(hard_gas_limit_per_operation) r.(hard_gas_limit_per_block)
      r.(proof_of_work_threshold) r.(tokens_per_roll)
      r.(seed_nonce_revelation_tip) r.(origination_size)
      r.(baking_reward_fixed_portion) r.(baking_reward_bonus_per_slot)
      r.(endorsing_reward_per_slot) r.(cost_per_byte)
      r.(hard_storage_limit_per_operation) r.(quorum_min) r.(quorum_max)
      r.(min_proposal_quorum) r.(liquidity_baking_subsidy)
      r.(liquidity_baking_sunset_level)
      r.(liquidity_baking_toggle_ema_threshold) r.(max_operations_time_to_live)
      r.(minimal_block_delay) r.(delay_increment_per_round)
      r.(minimal_participation_ratio) r.(consensus_committee_size)
      r.(consensus_threshold) r.(max_slashing_period) frozen_deposits_percentage
      r.(double_baking_punishment)
      r.(ratio_of_frozen_deposits_slashed_per_double_endorsement)
      r.(initial_seed) r.(cache_script_size) r.(cache_stake_distribution_cycles)
      r.(cache_sampler_state_cycles) r.(tx_rollup_enable)
      r.(tx_rollup_origination_size) r.(tx_rollup_hard_size_limit_per_inbox)
      r.(tx_rollup_hard_size_limit_per_message) r.(tx_rollup_commitment_bond)
      r.(tx_rollup_finality_period) r.(tx_rollup_withdraw_period)
      r.(tx_rollup_max_inboxes_count) r.(tx_rollup_max_messages_per_inbox)
      r.(tx_rollup_max_commitments_count) r.(tx_rollup_cost_per_byte_ema_factor)
      r.(tx_rollup_max_ticket_payload_size)
      r.(tx_rollup_max_withdrawals_per_batch)
      r.(tx_rollup_rejection_max_proof_size) r.(tx_rollup_sunset_level)
      r.(sc_rollup_enable) r.(sc_rollup_origination_size)
      r.(sc_rollup_challenge_window_in_blocks)
      r.(sc_rollup_max_available_messages).
  Definition with_double_baking_punishment double_baking_punishment
    (r : record) :=
    Build r.(preserved_cycles) r.(blocks_per_cycle) r.(blocks_per_commitment)
      r.(blocks_per_stake_snapshot) r.(cycles_per_voting_period)
      r.(hard_gas_limit_per_operation) r.(hard_gas_limit_per_block)
      r.(proof_of_work_threshold) r.(tokens_per_roll)
      r.(seed_nonce_revelation_tip) r.(origination_size)
      r.(baking_reward_fixed_portion) r.(baking_reward_bonus_per_slot)
      r.(endorsing_reward_per_slot) r.(cost_per_byte)
      r.(hard_storage_limit_per_operation) r.(quorum_min) r.(quorum_max)
      r.(min_proposal_quorum) r.(liquidity_baking_subsidy)
      r.(liquidity_baking_sunset_level)
      r.(liquidity_baking_toggle_ema_threshold) r.(max_operations_time_to_live)
      r.(minimal_block_delay) r.(delay_increment_per_round)
      r.(minimal_participation_ratio) r.(consensus_committee_size)
      r.(consensus_threshold) r.(max_slashing_period)
      r.(frozen_deposits_percentage) double_baking_punishment
      r.(ratio_of_frozen_deposits_slashed_per_double_endorsement)
      r.(initial_seed) r.(cache_script_size) r.(cache_stake_distribution_cycles)
      r.(cache_sampler_state_cycles) r.(tx_rollup_enable)
      r.(tx_rollup_origination_size) r.(tx_rollup_hard_size_limit_per_inbox)
      r.(tx_rollup_hard_size_limit_per_message) r.(tx_rollup_commitment_bond)
      r.(tx_rollup_finality_period) r.(tx_rollup_withdraw_period)
      r.(tx_rollup_max_inboxes_count) r.(tx_rollup_max_messages_per_inbox)
      r.(tx_rollup_max_commitments_count) r.(tx_rollup_cost_per_byte_ema_factor)
      r.(tx_rollup_max_ticket_payload_size)
      r.(tx_rollup_max_withdrawals_per_batch)
      r.(tx_rollup_rejection_max_proof_size) r.(tx_rollup_sunset_level)
      r.(sc_rollup_enable) r.(sc_rollup_origination_size)
      r.(sc_rollup_challenge_window_in_blocks)
      r.(sc_rollup_max_available_messages).
  Definition with_ratio_of_frozen_deposits_slashed_per_double_endorsement
    ratio_of_frozen_deposits_slashed_per_double_endorsement (r : record) :=
    Build r.(preserved_cycles) r.(blocks_per_cycle) r.(blocks_per_commitment)
      r.(blocks_per_stake_snapshot) r.(cycles_per_voting_period)
      r.(hard_gas_limit_per_operation) r.(hard_gas_limit_per_block)
      r.(proof_of_work_threshold) r.(tokens_per_roll)
      r.(seed_nonce_revelation_tip) r.(origination_size)
      r.(baking_reward_fixed_portion) r.(baking_reward_bonus_per_slot)
      r.(endorsing_reward_per_slot) r.(cost_per_byte)
      r.(hard_storage_limit_per_operation) r.(quorum_min) r.(quorum_max)
      r.(min_proposal_quorum) r.(liquidity_baking_subsidy)
      r.(liquidity_baking_sunset_level)
      r.(liquidity_baking_toggle_ema_threshold) r.(max_operations_time_to_live)
      r.(minimal_block_delay) r.(delay_increment_per_round)
      r.(minimal_participation_ratio) r.(consensus_committee_size)
      r.(consensus_threshold) r.(max_slashing_period)
      r.(frozen_deposits_percentage) r.(double_baking_punishment)
      ratio_of_frozen_deposits_slashed_per_double_endorsement r.(initial_seed)
      r.(cache_script_size) r.(cache_stake_distribution_cycles)
      r.(cache_sampler_state_cycles) r.(tx_rollup_enable)
      r.(tx_rollup_origination_size) r.(tx_rollup_hard_size_limit_per_inbox)
      r.(tx_rollup_hard_size_limit_per_message) r.(tx_rollup_commitment_bond)
      r.(tx_rollup_finality_period) r.(tx_rollup_withdraw_period)
      r.(tx_rollup_max_inboxes_count) r.(tx_rollup_max_messages_per_inbox)
      r.(tx_rollup_max_commitments_count) r.(tx_rollup_cost_per_byte_ema_factor)
      r.(tx_rollup_max_ticket_payload_size)
      r.(tx_rollup_max_withdrawals_per_batch)
      r.(tx_rollup_rejection_max_proof_size) r.(tx_rollup_sunset_level)
      r.(sc_rollup_enable) r.(sc_rollup_origination_size)
      r.(sc_rollup_challenge_window_in_blocks)
      r.(sc_rollup_max_available_messages).
  Definition with_initial_seed initial_seed (r : record) :=
    Build r.(preserved_cycles) r.(blocks_per_cycle) r.(blocks_per_commitment)
      r.(blocks_per_stake_snapshot) r.(cycles_per_voting_period)
      r.(hard_gas_limit_per_operation) r.(hard_gas_limit_per_block)
      r.(proof_of_work_threshold) r.(tokens_per_roll)
      r.(seed_nonce_revelation_tip) r.(origination_size)
      r.(baking_reward_fixed_portion) r.(baking_reward_bonus_per_slot)
      r.(endorsing_reward_per_slot) r.(cost_per_byte)
      r.(hard_storage_limit_per_operation) r.(quorum_min) r.(quorum_max)
      r.(min_proposal_quorum) r.(liquidity_baking_subsidy)
      r.(liquidity_baking_sunset_level)
      r.(liquidity_baking_toggle_ema_threshold) r.(max_operations_time_to_live)
      r.(minimal_block_delay) r.(delay_increment_per_round)
      r.(minimal_participation_ratio) r.(consensus_committee_size)
      r.(consensus_threshold) r.(max_slashing_period)
      r.(frozen_deposits_percentage) r.(double_baking_punishment)
      r.(ratio_of_frozen_deposits_slashed_per_double_endorsement) initial_seed
      r.(cache_script_size) r.(cache_stake_distribution_cycles)
      r.(cache_sampler_state_cycles) r.(tx_rollup_enable)
      r.(tx_rollup_origination_size) r.(tx_rollup_hard_size_limit_per_inbox)
      r.(tx_rollup_hard_size_limit_per_message) r.(tx_rollup_commitment_bond)
      r.(tx_rollup_finality_period) r.(tx_rollup_withdraw_period)
      r.(tx_rollup_max_inboxes_count) r.(tx_rollup_max_messages_per_inbox)
      r.(tx_rollup_max_commitments_count) r.(tx_rollup_cost_per_byte_ema_factor)
      r.(tx_rollup_max_ticket_payload_size)
      r.(tx_rollup_max_withdrawals_per_batch)
      r.(tx_rollup_rejection_max_proof_size) r.(tx_rollup_sunset_level)
      r.(sc_rollup_enable) r.(sc_rollup_origination_size)
      r.(sc_rollup_challenge_window_in_blocks)
      r.(sc_rollup_max_available_messages).
  Definition with_cache_script_size cache_script_size (r : record) :=
    Build r.(preserved_cycles) r.(blocks_per_cycle) r.(blocks_per_commitment)
      r.(blocks_per_stake_snapshot) r.(cycles_per_voting_period)
      r.(hard_gas_limit_per_operation) r.(hard_gas_limit_per_block)
      r.(proof_of_work_threshold) r.(tokens_per_roll)
      r.(seed_nonce_revelation_tip) r.(origination_size)
      r.(baking_reward_fixed_portion) r.(baking_reward_bonus_per_slot)
      r.(endorsing_reward_per_slot) r.(cost_per_byte)
      r.(hard_storage_limit_per_operation) r.(quorum_min) r.(quorum_max)
      r.(min_proposal_quorum) r.(liquidity_baking_subsidy)
      r.(liquidity_baking_sunset_level)
      r.(liquidity_baking_toggle_ema_threshold) r.(max_operations_time_to_live)
      r.(minimal_block_delay) r.(delay_increment_per_round)
      r.(minimal_participation_ratio) r.(consensus_committee_size)
      r.(consensus_threshold) r.(max_slashing_period)
      r.(frozen_deposits_percentage) r.(double_baking_punishment)
      r.(ratio_of_frozen_deposits_slashed_per_double_endorsement)
      r.(initial_seed) cache_script_size r.(cache_stake_distribution_cycles)
      r.(cache_sampler_state_cycles) r.(tx_rollup_enable)
      r.(tx_rollup_origination_size) r.(tx_rollup_hard_size_limit_per_inbox)
      r.(tx_rollup_hard_size_limit_per_message) r.(tx_rollup_commitment_bond)
      r.(tx_rollup_finality_period) r.(tx_rollup_withdraw_period)
      r.(tx_rollup_max_inboxes_count) r.(tx_rollup_max_messages_per_inbox)
      r.(tx_rollup_max_commitments_count) r.(tx_rollup_cost_per_byte_ema_factor)
      r.(tx_rollup_max_ticket_payload_size)
      r.(tx_rollup_max_withdrawals_per_batch)
      r.(tx_rollup_rejection_max_proof_size) r.(tx_rollup_sunset_level)
      r.(sc_rollup_enable) r.(sc_rollup_origination_size)
      r.(sc_rollup_challenge_window_in_blocks)
      r.(sc_rollup_max_available_messages).
  Definition with_cache_stake_distribution_cycles
    cache_stake_distribution_cycles (r : record) :=
    Build r.(preserved_cycles) r.(blocks_per_cycle) r.(blocks_per_commitment)
      r.(blocks_per_stake_snapshot) r.(cycles_per_voting_period)
      r.(hard_gas_limit_per_operation) r.(hard_gas_limit_per_block)
      r.(proof_of_work_threshold) r.(tokens_per_roll)
      r.(seed_nonce_revelation_tip) r.(origination_size)
      r.(baking_reward_fixed_portion) r.(baking_reward_bonus_per_slot)
      r.(endorsing_reward_per_slot) r.(cost_per_byte)
      r.(hard_storage_limit_per_operation) r.(quorum_min) r.(quorum_max)
      r.(min_proposal_quorum) r.(liquidity_baking_subsidy)
      r.(liquidity_baking_sunset_level)
      r.(liquidity_baking_toggle_ema_threshold) r.(max_operations_time_to_live)
      r.(minimal_block_delay) r.(delay_increment_per_round)
      r.(minimal_participation_ratio) r.(consensus_committee_size)
      r.(consensus_threshold) r.(max_slashing_period)
      r.(frozen_deposits_percentage) r.(double_baking_punishment)
      r.(ratio_of_frozen_deposits_slashed_per_double_endorsement)
      r.(initial_seed) r.(cache_script_size) cache_stake_distribution_cycles
      r.(cache_sampler_state_cycles) r.(tx_rollup_enable)
      r.(tx_rollup_origination_size) r.(tx_rollup_hard_size_limit_per_inbox)
      r.(tx_rollup_hard_size_limit_per_message) r.(tx_rollup_commitment_bond)
      r.(tx_rollup_finality_period) r.(tx_rollup_withdraw_period)
      r.(tx_rollup_max_inboxes_count) r.(tx_rollup_max_messages_per_inbox)
      r.(tx_rollup_max_commitments_count) r.(tx_rollup_cost_per_byte_ema_factor)
      r.(tx_rollup_max_ticket_payload_size)
      r.(tx_rollup_max_withdrawals_per_batch)
      r.(tx_rollup_rejection_max_proof_size) r.(tx_rollup_sunset_level)
      r.(sc_rollup_enable) r.(sc_rollup_origination_size)
      r.(sc_rollup_challenge_window_in_blocks)
      r.(sc_rollup_max_available_messages).
  Definition with_cache_sampler_state_cycles cache_sampler_state_cycles
    (r : record) :=
    Build r.(preserved_cycles) r.(blocks_per_cycle) r.(blocks_per_commitment)
      r.(blocks_per_stake_snapshot) r.(cycles_per_voting_period)
      r.(hard_gas_limit_per_operation) r.(hard_gas_limit_per_block)
      r.(proof_of_work_threshold) r.(tokens_per_roll)
      r.(seed_nonce_revelation_tip) r.(origination_size)
      r.(baking_reward_fixed_portion) r.(baking_reward_bonus_per_slot)
      r.(endorsing_reward_per_slot) r.(cost_per_byte)
      r.(hard_storage_limit_per_operation) r.(quorum_min) r.(quorum_max)
      r.(min_proposal_quorum) r.(liquidity_baking_subsidy)
      r.(liquidity_baking_sunset_level)
      r.(liquidity_baking_toggle_ema_threshold) r.(max_operations_time_to_live)
      r.(minimal_block_delay) r.(delay_increment_per_round)
      r.(minimal_participation_ratio) r.(consensus_committee_size)
      r.(consensus_threshold) r.(max_slashing_period)
      r.(frozen_deposits_percentage) r.(double_baking_punishment)
      r.(ratio_of_frozen_deposits_slashed_per_double_endorsement)
      r.(initial_seed) r.(cache_script_size) r.(cache_stake_distribution_cycles)
      cache_sampler_state_cycles r.(tx_rollup_enable)
      r.(tx_rollup_origination_size) r.(tx_rollup_hard_size_limit_per_inbox)
      r.(tx_rollup_hard_size_limit_per_message) r.(tx_rollup_commitment_bond)
      r.(tx_rollup_finality_period) r.(tx_rollup_withdraw_period)
      r.(tx_rollup_max_inboxes_count) r.(tx_rollup_max_messages_per_inbox)
      r.(tx_rollup_max_commitments_count) r.(tx_rollup_cost_per_byte_ema_factor)
      r.(tx_rollup_max_ticket_payload_size)
      r.(tx_rollup_max_withdrawals_per_batch)
      r.(tx_rollup_rejection_max_proof_size) r.(tx_rollup_sunset_level)
      r.(sc_rollup_enable) r.(sc_rollup_origination_size)
      r.(sc_rollup_challenge_window_in_blocks)
      r.(sc_rollup_max_available_messages).
  Definition with_tx_rollup_enable tx_rollup_enable (r : record) :=
    Build r.(preserved_cycles) r.(blocks_per_cycle) r.(blocks_per_commitment)
      r.(blocks_per_stake_snapshot) r.(cycles_per_voting_period)
      r.(hard_gas_limit_per_operation) r.(hard_gas_limit_per_block)
      r.(proof_of_work_threshold) r.(tokens_per_roll)
      r.(seed_nonce_revelation_tip) r.(origination_size)
      r.(baking_reward_fixed_portion) r.(baking_reward_bonus_per_slot)
      r.(endorsing_reward_per_slot) r.(cost_per_byte)
      r.(hard_storage_limit_per_operation) r.(quorum_min) r.(quorum_max)
      r.(min_proposal_quorum) r.(liquidity_baking_subsidy)
      r.(liquidity_baking_sunset_level)
      r.(liquidity_baking_toggle_ema_threshold) r.(max_operations_time_to_live)
      r.(minimal_block_delay) r.(delay_increment_per_round)
      r.(minimal_participation_ratio) r.(consensus_committee_size)
      r.(consensus_threshold) r.(max_slashing_period)
      r.(frozen_deposits_percentage) r.(double_baking_punishment)
      r.(ratio_of_frozen_deposits_slashed_per_double_endorsement)
      r.(initial_seed) r.(cache_script_size) r.(cache_stake_distribution_cycles)
      r.(cache_sampler_state_cycles) tx_rollup_enable
      r.(tx_rollup_origination_size) r.(tx_rollup_hard_size_limit_per_inbox)
      r.(tx_rollup_hard_size_limit_per_message) r.(tx_rollup_commitment_bond)
      r.(tx_rollup_finality_period) r.(tx_rollup_withdraw_period)
      r.(tx_rollup_max_inboxes_count) r.(tx_rollup_max_messages_per_inbox)
      r.(tx_rollup_max_commitments_count) r.(tx_rollup_cost_per_byte_ema_factor)
      r.(tx_rollup_max_ticket_payload_size)
      r.(tx_rollup_max_withdrawals_per_batch)
      r.(tx_rollup_rejection_max_proof_size) r.(tx_rollup_sunset_level)
      r.(sc_rollup_enable) r.(sc_rollup_origination_size)
      r.(sc_rollup_challenge_window_in_blocks)
      r.(sc_rollup_max_available_messages).
  Definition with_tx_rollup_origination_size tx_rollup_origination_size
    (r : record) :=
    Build r.(preserved_cycles) r.(blocks_per_cycle) r.(blocks_per_commitment)
      r.(blocks_per_stake_snapshot) r.(cycles_per_voting_period)
      r.(hard_gas_limit_per_operation) r.(hard_gas_limit_per_block)
      r.(proof_of_work_threshold) r.(tokens_per_roll)
      r.(seed_nonce_revelation_tip) r.(origination_size)
      r.(baking_reward_fixed_portion) r.(baking_reward_bonus_per_slot)
      r.(endorsing_reward_per_slot) r.(cost_per_byte)
      r.(hard_storage_limit_per_operation) r.(quorum_min) r.(quorum_max)
      r.(min_proposal_quorum) r.(liquidity_baking_subsidy)
      r.(liquidity_baking_sunset_level)
      r.(liquidity_baking_toggle_ema_threshold) r.(max_operations_time_to_live)
      r.(minimal_block_delay) r.(delay_increment_per_round)
      r.(minimal_participation_ratio) r.(consensus_committee_size)
      r.(consensus_threshold) r.(max_slashing_period)
      r.(frozen_deposits_percentage) r.(double_baking_punishment)
      r.(ratio_of_frozen_deposits_slashed_per_double_endorsement)
      r.(initial_seed) r.(cache_script_size) r.(cache_stake_distribution_cycles)
      r.(cache_sampler_state_cycles) r.(tx_rollup_enable)
      tx_rollup_origination_size r.(tx_rollup_hard_size_limit_per_inbox)
      r.(tx_rollup_hard_size_limit_per_message) r.(tx_rollup_commitment_bond)
      r.(tx_rollup_finality_period) r.(tx_rollup_withdraw_period)
      r.(tx_rollup_max_inboxes_count) r.(tx_rollup_max_messages_per_inbox)
      r.(tx_rollup_max_commitments_count) r.(tx_rollup_cost_per_byte_ema_factor)
      r.(tx_rollup_max_ticket_payload_size)
      r.(tx_rollup_max_withdrawals_per_batch)
      r.(tx_rollup_rejection_max_proof_size) r.(tx_rollup_sunset_level)
      r.(sc_rollup_enable) r.(sc_rollup_origination_size)
      r.(sc_rollup_challenge_window_in_blocks)
      r.(sc_rollup_max_available_messages).
  Definition with_tx_rollup_hard_size_limit_per_inbox
    tx_rollup_hard_size_limit_per_inbox (r : record) :=
    Build r.(preserved_cycles) r.(blocks_per_cycle) r.(blocks_per_commitment)
      r.(blocks_per_stake_snapshot) r.(cycles_per_voting_period)
      r.(hard_gas_limit_per_operation) r.(hard_gas_limit_per_block)
      r.(proof_of_work_threshold) r.(tokens_per_roll)
      r.(seed_nonce_revelation_tip) r.(origination_size)
      r.(baking_reward_fixed_portion) r.(baking_reward_bonus_per_slot)
      r.(endorsing_reward_per_slot) r.(cost_per_byte)
      r.(hard_storage_limit_per_operation) r.(quorum_min) r.(quorum_max)
      r.(min_proposal_quorum) r.(liquidity_baking_subsidy)
      r.(liquidity_baking_sunset_level)
      r.(liquidity_baking_toggle_ema_threshold) r.(max_operations_time_to_live)
      r.(minimal_block_delay) r.(delay_increment_per_round)
      r.(minimal_participation_ratio) r.(consensus_committee_size)
      r.(consensus_threshold) r.(max_slashing_period)
      r.(frozen_deposits_percentage) r.(double_baking_punishment)
      r.(ratio_of_frozen_deposits_slashed_per_double_endorsement)
      r.(initial_seed) r.(cache_script_size) r.(cache_stake_distribution_cycles)
      r.(cache_sampler_state_cycles) r.(tx_rollup_enable)
      r.(tx_rollup_origination_size) tx_rollup_hard_size_limit_per_inbox
      r.(tx_rollup_hard_size_limit_per_message) r.(tx_rollup_commitment_bond)
      r.(tx_rollup_finality_period) r.(tx_rollup_withdraw_period)
      r.(tx_rollup_max_inboxes_count) r.(tx_rollup_max_messages_per_inbox)
      r.(tx_rollup_max_commitments_count) r.(tx_rollup_cost_per_byte_ema_factor)
      r.(tx_rollup_max_ticket_payload_size)
      r.(tx_rollup_max_withdrawals_per_batch)
      r.(tx_rollup_rejection_max_proof_size) r.(tx_rollup_sunset_level)
      r.(sc_rollup_enable) r.(sc_rollup_origination_size)
      r.(sc_rollup_challenge_window_in_blocks)
      r.(sc_rollup_max_available_messages).
  Definition with_tx_rollup_hard_size_limit_per_message
    tx_rollup_hard_size_limit_per_message (r : record) :=
    Build r.(preserved_cycles) r.(blocks_per_cycle) r.(blocks_per_commitment)
      r.(blocks_per_stake_snapshot) r.(cycles_per_voting_period)
      r.(hard_gas_limit_per_operation) r.(hard_gas_limit_per_block)
      r.(proof_of_work_threshold) r.(tokens_per_roll)
      r.(seed_nonce_revelation_tip) r.(origination_size)
      r.(baking_reward_fixed_portion) r.(baking_reward_bonus_per_slot)
      r.(endorsing_reward_per_slot) r.(cost_per_byte)
      r.(hard_storage_limit_per_operation) r.(quorum_min) r.(quorum_max)
      r.(min_proposal_quorum) r.(liquidity_baking_subsidy)
      r.(liquidity_baking_sunset_level)
      r.(liquidity_baking_toggle_ema_threshold) r.(max_operations_time_to_live)
      r.(minimal_block_delay) r.(delay_increment_per_round)
      r.(minimal_participation_ratio) r.(consensus_committee_size)
      r.(consensus_threshold) r.(max_slashing_period)
      r.(frozen_deposits_percentage) r.(double_baking_punishment)
      r.(ratio_of_frozen_deposits_slashed_per_double_endorsement)
      r.(initial_seed) r.(cache_script_size) r.(cache_stake_distribution_cycles)
      r.(cache_sampler_state_cycles) r.(tx_rollup_enable)
      r.(tx_rollup_origination_size) r.(tx_rollup_hard_size_limit_per_inbox)
      tx_rollup_hard_size_limit_per_message r.(tx_rollup_commitment_bond)
      r.(tx_rollup_finality_period) r.(tx_rollup_withdraw_period)
      r.(tx_rollup_max_inboxes_count) r.(tx_rollup_max_messages_per_inbox)
      r.(tx_rollup_max_commitments_count) r.(tx_rollup_cost_per_byte_ema_factor)
      r.(tx_rollup_max_ticket_payload_size)
      r.(tx_rollup_max_withdrawals_per_batch)
      r.(tx_rollup_rejection_max_proof_size) r.(tx_rollup_sunset_level)
      r.(sc_rollup_enable) r.(sc_rollup_origination_size)
      r.(sc_rollup_challenge_window_in_blocks)
      r.(sc_rollup_max_available_messages).
  Definition with_tx_rollup_commitment_bond tx_rollup_commitment_bond
    (r : record) :=
    Build r.(preserved_cycles) r.(blocks_per_cycle) r.(blocks_per_commitment)
      r.(blocks_per_stake_snapshot) r.(cycles_per_voting_period)
      r.(hard_gas_limit_per_operation) r.(hard_gas_limit_per_block)
      r.(proof_of_work_threshold) r.(tokens_per_roll)
      r.(seed_nonce_revelation_tip) r.(origination_size)
      r.(baking_reward_fixed_portion) r.(baking_reward_bonus_per_slot)
      r.(endorsing_reward_per_slot) r.(cost_per_byte)
      r.(hard_storage_limit_per_operation) r.(quorum_min) r.(quorum_max)
      r.(min_proposal_quorum) r.(liquidity_baking_subsidy)
      r.(liquidity_baking_sunset_level)
      r.(liquidity_baking_toggle_ema_threshold) r.(max_operations_time_to_live)
      r.(minimal_block_delay) r.(delay_increment_per_round)
      r.(minimal_participation_ratio) r.(consensus_committee_size)
      r.(consensus_threshold) r.(max_slashing_period)
      r.(frozen_deposits_percentage) r.(double_baking_punishment)
      r.(ratio_of_frozen_deposits_slashed_per_double_endorsement)
      r.(initial_seed) r.(cache_script_size) r.(cache_stake_distribution_cycles)
      r.(cache_sampler_state_cycles) r.(tx_rollup_enable)
      r.(tx_rollup_origination_size) r.(tx_rollup_hard_size_limit_per_inbox)
      r.(tx_rollup_hard_size_limit_per_message) tx_rollup_commitment_bond
      r.(tx_rollup_finality_period) r.(tx_rollup_withdraw_period)
      r.(tx_rollup_max_inboxes_count) r.(tx_rollup_max_messages_per_inbox)
      r.(tx_rollup_max_commitments_count) r.(tx_rollup_cost_per_byte_ema_factor)
      r.(tx_rollup_max_ticket_payload_size)
      r.(tx_rollup_max_withdrawals_per_batch)
      r.(tx_rollup_rejection_max_proof_size) r.(tx_rollup_sunset_level)
      r.(sc_rollup_enable) r.(sc_rollup_origination_size)
      r.(sc_rollup_challenge_window_in_blocks)
      r.(sc_rollup_max_available_messages).
  Definition with_tx_rollup_finality_period tx_rollup_finality_period
    (r : record) :=
    Build r.(preserved_cycles) r.(blocks_per_cycle) r.(blocks_per_commitment)
      r.(blocks_per_stake_snapshot) r.(cycles_per_voting_period)
      r.(hard_gas_limit_per_operation) r.(hard_gas_limit_per_block)
      r.(proof_of_work_threshold) r.(tokens_per_roll)
      r.(seed_nonce_revelation_tip) r.(origination_size)
      r.(baking_reward_fixed_portion) r.(baking_reward_bonus_per_slot)
      r.(endorsing_reward_per_slot) r.(cost_per_byte)
      r.(hard_storage_limit_per_operation) r.(quorum_min) r.(quorum_max)
      r.(min_proposal_quorum) r.(liquidity_baking_subsidy)
      r.(liquidity_baking_sunset_level)
      r.(liquidity_baking_toggle_ema_threshold) r.(max_operations_time_to_live)
      r.(minimal_block_delay) r.(delay_increment_per_round)
      r.(minimal_participation_ratio) r.(consensus_committee_size)
      r.(consensus_threshold) r.(max_slashing_period)
      r.(frozen_deposits_percentage) r.(double_baking_punishment)
      r.(ratio_of_frozen_deposits_slashed_per_double_endorsement)
      r.(initial_seed) r.(cache_script_size) r.(cache_stake_distribution_cycles)
      r.(cache_sampler_state_cycles) r.(tx_rollup_enable)
      r.(tx_rollup_origination_size) r.(tx_rollup_hard_size_limit_per_inbox)
      r.(tx_rollup_hard_size_limit_per_message) r.(tx_rollup_commitment_bond)
      tx_rollup_finality_period r.(tx_rollup_withdraw_period)
      r.(tx_rollup_max_inboxes_count) r.(tx_rollup_max_messages_per_inbox)
      r.(tx_rollup_max_commitments_count) r.(tx_rollup_cost_per_byte_ema_factor)
      r.(tx_rollup_max_ticket_payload_size)
      r.(tx_rollup_max_withdrawals_per_batch)
      r.(tx_rollup_rejection_max_proof_size) r.(tx_rollup_sunset_level)
      r.(sc_rollup_enable) r.(sc_rollup_origination_size)
      r.(sc_rollup_challenge_window_in_blocks)
      r.(sc_rollup_max_available_messages).
  Definition with_tx_rollup_withdraw_period tx_rollup_withdraw_period
    (r : record) :=
    Build r.(preserved_cycles) r.(blocks_per_cycle) r.(blocks_per_commitment)
      r.(blocks_per_stake_snapshot) r.(cycles_per_voting_period)
      r.(hard_gas_limit_per_operation) r.(hard_gas_limit_per_block)
      r.(proof_of_work_threshold) r.(tokens_per_roll)
      r.(seed_nonce_revelation_tip) r.(origination_size)
      r.(baking_reward_fixed_portion) r.(baking_reward_bonus_per_slot)
      r.(endorsing_reward_per_slot) r.(cost_per_byte)
      r.(hard_storage_limit_per_operation) r.(quorum_min) r.(quorum_max)
      r.(min_proposal_quorum) r.(liquidity_baking_subsidy)
      r.(liquidity_baking_sunset_level)
      r.(liquidity_baking_toggle_ema_threshold) r.(max_operations_time_to_live)
      r.(minimal_block_delay) r.(delay_increment_per_round)
      r.(minimal_participation_ratio) r.(consensus_committee_size)
      r.(consensus_threshold) r.(max_slashing_period)
      r.(frozen_deposits_percentage) r.(double_baking_punishment)
      r.(ratio_of_frozen_deposits_slashed_per_double_endorsement)
      r.(initial_seed) r.(cache_script_size) r.(cache_stake_distribution_cycles)
      r.(cache_sampler_state_cycles) r.(tx_rollup_enable)
      r.(tx_rollup_origination_size) r.(tx_rollup_hard_size_limit_per_inbox)
      r.(tx_rollup_hard_size_limit_per_message) r.(tx_rollup_commitment_bond)
      r.(tx_rollup_finality_period) tx_rollup_withdraw_period
      r.(tx_rollup_max_inboxes_count) r.(tx_rollup_max_messages_per_inbox)
      r.(tx_rollup_max_commitments_count) r.(tx_rollup_cost_per_byte_ema_factor)
      r.(tx_rollup_max_ticket_payload_size)
      r.(tx_rollup_max_withdrawals_per_batch)
      r.(tx_rollup_rejection_max_proof_size) r.(tx_rollup_sunset_level)
      r.(sc_rollup_enable) r.(sc_rollup_origination_size)
      r.(sc_rollup_challenge_window_in_blocks)
      r.(sc_rollup_max_available_messages).
  Definition with_tx_rollup_max_inboxes_count tx_rollup_max_inboxes_count
    (r : record) :=
    Build r.(preserved_cycles) r.(blocks_per_cycle) r.(blocks_per_commitment)
      r.(blocks_per_stake_snapshot) r.(cycles_per_voting_period)
      r.(hard_gas_limit_per_operation) r.(hard_gas_limit_per_block)
      r.(proof_of_work_threshold) r.(tokens_per_roll)
      r.(seed_nonce_revelation_tip) r.(origination_size)
      r.(baking_reward_fixed_portion) r.(baking_reward_bonus_per_slot)
      r.(endorsing_reward_per_slot) r.(cost_per_byte)
      r.(hard_storage_limit_per_operation) r.(quorum_min) r.(quorum_max)
      r.(min_proposal_quorum) r.(liquidity_baking_subsidy)
      r.(liquidity_baking_sunset_level)
      r.(liquidity_baking_toggle_ema_threshold) r.(max_operations_time_to_live)
      r.(minimal_block_delay) r.(delay_increment_per_round)
      r.(minimal_participation_ratio) r.(consensus_committee_size)
      r.(consensus_threshold) r.(max_slashing_period)
      r.(frozen_deposits_percentage) r.(double_baking_punishment)
      r.(ratio_of_frozen_deposits_slashed_per_double_endorsement)
      r.(initial_seed) r.(cache_script_size) r.(cache_stake_distribution_cycles)
      r.(cache_sampler_state_cycles) r.(tx_rollup_enable)
      r.(tx_rollup_origination_size) r.(tx_rollup_hard_size_limit_per_inbox)
      r.(tx_rollup_hard_size_limit_per_message) r.(tx_rollup_commitment_bond)
      r.(tx_rollup_finality_period) r.(tx_rollup_withdraw_period)
      tx_rollup_max_inboxes_count r.(tx_rollup_max_messages_per_inbox)
      r.(tx_rollup_max_commitments_count) r.(tx_rollup_cost_per_byte_ema_factor)
      r.(tx_rollup_max_ticket_payload_size)
      r.(tx_rollup_max_withdrawals_per_batch)
      r.(tx_rollup_rejection_max_proof_size) r.(tx_rollup_sunset_level)
      r.(sc_rollup_enable) r.(sc_rollup_origination_size)
      r.(sc_rollup_challenge_window_in_blocks)
      r.(sc_rollup_max_available_messages).
  Definition with_tx_rollup_max_messages_per_inbox
    tx_rollup_max_messages_per_inbox (r : record) :=
    Build r.(preserved_cycles) r.(blocks_per_cycle) r.(blocks_per_commitment)
      r.(blocks_per_stake_snapshot) r.(cycles_per_voting_period)
      r.(hard_gas_limit_per_operation) r.(hard_gas_limit_per_block)
      r.(proof_of_work_threshold) r.(tokens_per_roll)
      r.(seed_nonce_revelation_tip) r.(origination_size)
      r.(baking_reward_fixed_portion) r.(baking_reward_bonus_per_slot)
      r.(endorsing_reward_per_slot) r.(cost_per_byte)
      r.(hard_storage_limit_per_operation) r.(quorum_min) r.(quorum_max)
      r.(min_proposal_quorum) r.(liquidity_baking_subsidy)
      r.(liquidity_baking_sunset_level)
      r.(liquidity_baking_toggle_ema_threshold) r.(max_operations_time_to_live)
      r.(minimal_block_delay) r.(delay_increment_per_round)
      r.(minimal_participation_ratio) r.(consensus_committee_size)
      r.(consensus_threshold) r.(max_slashing_period)
      r.(frozen_deposits_percentage) r.(double_baking_punishment)
      r.(ratio_of_frozen_deposits_slashed_per_double_endorsement)
      r.(initial_seed) r.(cache_script_size) r.(cache_stake_distribution_cycles)
      r.(cache_sampler_state_cycles) r.(tx_rollup_enable)
      r.(tx_rollup_origination_size) r.(tx_rollup_hard_size_limit_per_inbox)
      r.(tx_rollup_hard_size_limit_per_message) r.(tx_rollup_commitment_bond)
      r.(tx_rollup_finality_period) r.(tx_rollup_withdraw_period)
      r.(tx_rollup_max_inboxes_count) tx_rollup_max_messages_per_inbox
      r.(tx_rollup_max_commitments_count) r.(tx_rollup_cost_per_byte_ema_factor)
      r.(tx_rollup_max_ticket_payload_size)
      r.(tx_rollup_max_withdrawals_per_batch)
      r.(tx_rollup_rejection_max_proof_size) r.(tx_rollup_sunset_level)
      r.(sc_rollup_enable) r.(sc_rollup_origination_size)
      r.(sc_rollup_challenge_window_in_blocks)
      r.(sc_rollup_max_available_messages).
  Definition with_tx_rollup_max_commitments_count
    tx_rollup_max_commitments_count (r : record) :=
    Build r.(preserved_cycles) r.(blocks_per_cycle) r.(blocks_per_commitment)
      r.(blocks_per_stake_snapshot) r.(cycles_per_voting_period)
      r.(hard_gas_limit_per_operation) r.(hard_gas_limit_per_block)
      r.(proof_of_work_threshold) r.(tokens_per_roll)
      r.(seed_nonce_revelation_tip) r.(origination_size)
      r.(baking_reward_fixed_portion) r.(baking_reward_bonus_per_slot)
      r.(endorsing_reward_per_slot) r.(cost_per_byte)
      r.(hard_storage_limit_per_operation) r.(quorum_min) r.(quorum_max)
      r.(min_proposal_quorum) r.(liquidity_baking_subsidy)
      r.(liquidity_baking_sunset_level)
      r.(liquidity_baking_toggle_ema_threshold) r.(max_operations_time_to_live)
      r.(minimal_block_delay) r.(delay_increment_per_round)
      r.(minimal_participation_ratio) r.(consensus_committee_size)
      r.(consensus_threshold) r.(max_slashing_period)
      r.(frozen_deposits_percentage) r.(double_baking_punishment)
      r.(ratio_of_frozen_deposits_slashed_per_double_endorsement)
      r.(initial_seed) r.(cache_script_size) r.(cache_stake_distribution_cycles)
      r.(cache_sampler_state_cycles) r.(tx_rollup_enable)
      r.(tx_rollup_origination_size) r.(tx_rollup_hard_size_limit_per_inbox)
      r.(tx_rollup_hard_size_limit_per_message) r.(tx_rollup_commitment_bond)
      r.(tx_rollup_finality_period) r.(tx_rollup_withdraw_period)
      r.(tx_rollup_max_inboxes_count) r.(tx_rollup_max_messages_per_inbox)
      tx_rollup_max_commitments_count r.(tx_rollup_cost_per_byte_ema_factor)
      r.(tx_rollup_max_ticket_payload_size)
      r.(tx_rollup_max_withdrawals_per_batch)
      r.(tx_rollup_rejection_max_proof_size) r.(tx_rollup_sunset_level)
      r.(sc_rollup_enable) r.(sc_rollup_origination_size)
      r.(sc_rollup_challenge_window_in_blocks)
      r.(sc_rollup_max_available_messages).
  Definition with_tx_rollup_cost_per_byte_ema_factor
    tx_rollup_cost_per_byte_ema_factor (r : record) :=
    Build r.(preserved_cycles) r.(blocks_per_cycle) r.(blocks_per_commitment)
      r.(blocks_per_stake_snapshot) r.(cycles_per_voting_period)
      r.(hard_gas_limit_per_operation) r.(hard_gas_limit_per_block)
      r.(proof_of_work_threshold) r.(tokens_per_roll)
      r.(seed_nonce_revelation_tip) r.(origination_size)
      r.(baking_reward_fixed_portion) r.(baking_reward_bonus_per_slot)
      r.(endorsing_reward_per_slot) r.(cost_per_byte)
      r.(hard_storage_limit_per_operation) r.(quorum_min) r.(quorum_max)
      r.(min_proposal_quorum) r.(liquidity_baking_subsidy)
      r.(liquidity_baking_sunset_level)
      r.(liquidity_baking_toggle_ema_threshold) r.(max_operations_time_to_live)
      r.(minimal_block_delay) r.(delay_increment_per_round)
      r.(minimal_participation_ratio) r.(consensus_committee_size)
      r.(consensus_threshold) r.(max_slashing_period)
      r.(frozen_deposits_percentage) r.(double_baking_punishment)
      r.(ratio_of_frozen_deposits_slashed_per_double_endorsement)
      r.(initial_seed) r.(cache_script_size) r.(cache_stake_distribution_cycles)
      r.(cache_sampler_state_cycles) r.(tx_rollup_enable)
      r.(tx_rollup_origination_size) r.(tx_rollup_hard_size_limit_per_inbox)
      r.(tx_rollup_hard_size_limit_per_message) r.(tx_rollup_commitment_bond)
      r.(tx_rollup_finality_period) r.(tx_rollup_withdraw_period)
      r.(tx_rollup_max_inboxes_count) r.(tx_rollup_max_messages_per_inbox)
      r.(tx_rollup_max_commitments_count) tx_rollup_cost_per_byte_ema_factor
      r.(tx_rollup_max_ticket_payload_size)
      r.(tx_rollup_max_withdrawals_per_batch)
      r.(tx_rollup_rejection_max_proof_size) r.(tx_rollup_sunset_level)
      r.(sc_rollup_enable) r.(sc_rollup_origination_size)
      r.(sc_rollup_challenge_window_in_blocks)
      r.(sc_rollup_max_available_messages).
  Definition with_tx_rollup_max_ticket_payload_size
    tx_rollup_max_ticket_payload_size (r : record) :=
    Build r.(preserved_cycles) r.(blocks_per_cycle) r.(blocks_per_commitment)
      r.(blocks_per_stake_snapshot) r.(cycles_per_voting_period)
      r.(hard_gas_limit_per_operation) r.(hard_gas_limit_per_block)
      r.(proof_of_work_threshold) r.(tokens_per_roll)
      r.(seed_nonce_revelation_tip) r.(origination_size)
      r.(baking_reward_fixed_portion) r.(baking_reward_bonus_per_slot)
      r.(endorsing_reward_per_slot) r.(cost_per_byte)
      r.(hard_storage_limit_per_operation) r.(quorum_min) r.(quorum_max)
      r.(min_proposal_quorum) r.(liquidity_baking_subsidy)
      r.(liquidity_baking_sunset_level)
      r.(liquidity_baking_toggle_ema_threshold) r.(max_operations_time_to_live)
      r.(minimal_block_delay) r.(delay_increment_per_round)
      r.(minimal_participation_ratio) r.(consensus_committee_size)
      r.(consensus_threshold) r.(max_slashing_period)
      r.(frozen_deposits_percentage) r.(double_baking_punishment)
      r.(ratio_of_frozen_deposits_slashed_per_double_endorsement)
      r.(initial_seed) r.(cache_script_size) r.(cache_stake_distribution_cycles)
      r.(cache_sampler_state_cycles) r.(tx_rollup_enable)
      r.(tx_rollup_origination_size) r.(tx_rollup_hard_size_limit_per_inbox)
      r.(tx_rollup_hard_size_limit_per_message) r.(tx_rollup_commitment_bond)
      r.(tx_rollup_finality_period) r.(tx_rollup_withdraw_period)
      r.(tx_rollup_max_inboxes_count) r.(tx_rollup_max_messages_per_inbox)
      r.(tx_rollup_max_commitments_count) r.(tx_rollup_cost_per_byte_ema_factor)
      tx_rollup_max_ticket_payload_size r.(tx_rollup_max_withdrawals_per_batch)
      r.(tx_rollup_rejection_max_proof_size) r.(tx_rollup_sunset_level)
      r.(sc_rollup_enable) r.(sc_rollup_origination_size)
      r.(sc_rollup_challenge_window_in_blocks)
      r.(sc_rollup_max_available_messages).
  Definition with_tx_rollup_max_withdrawals_per_batch
    tx_rollup_max_withdrawals_per_batch (r : record) :=
    Build r.(preserved_cycles) r.(blocks_per_cycle) r.(blocks_per_commitment)
      r.(blocks_per_stake_snapshot) r.(cycles_per_voting_period)
      r.(hard_gas_limit_per_operation) r.(hard_gas_limit_per_block)
      r.(proof_of_work_threshold) r.(tokens_per_roll)
      r.(seed_nonce_revelation_tip) r.(origination_size)
      r.(baking_reward_fixed_portion) r.(baking_reward_bonus_per_slot)
      r.(endorsing_reward_per_slot) r.(cost_per_byte)
      r.(hard_storage_limit_per_operation) r.(quorum_min) r.(quorum_max)
      r.(min_proposal_quorum) r.(liquidity_baking_subsidy)
      r.(liquidity_baking_sunset_level)
      r.(liquidity_baking_toggle_ema_threshold) r.(max_operations_time_to_live)
      r.(minimal_block_delay) r.(delay_increment_per_round)
      r.(minimal_participation_ratio) r.(consensus_committee_size)
      r.(consensus_threshold) r.(max_slashing_period)
      r.(frozen_deposits_percentage) r.(double_baking_punishment)
      r.(ratio_of_frozen_deposits_slashed_per_double_endorsement)
      r.(initial_seed) r.(cache_script_size) r.(cache_stake_distribution_cycles)
      r.(cache_sampler_state_cycles) r.(tx_rollup_enable)
      r.(tx_rollup_origination_size) r.(tx_rollup_hard_size_limit_per_inbox)
      r.(tx_rollup_hard_size_limit_per_message) r.(tx_rollup_commitment_bond)
      r.(tx_rollup_finality_period) r.(tx_rollup_withdraw_period)
      r.(tx_rollup_max_inboxes_count) r.(tx_rollup_max_messages_per_inbox)
      r.(tx_rollup_max_commitments_count) r.(tx_rollup_cost_per_byte_ema_factor)
      r.(tx_rollup_max_ticket_payload_size) tx_rollup_max_withdrawals_per_batch
      r.(tx_rollup_rejection_max_proof_size) r.(tx_rollup_sunset_level)
      r.(sc_rollup_enable) r.(sc_rollup_origination_size)
      r.(sc_rollup_challenge_window_in_blocks)
      r.(sc_rollup_max_available_messages).
  Definition with_tx_rollup_rejection_max_proof_size
    tx_rollup_rejection_max_proof_size (r : record) :=
    Build r.(preserved_cycles) r.(blocks_per_cycle) r.(blocks_per_commitment)
      r.(blocks_per_stake_snapshot) r.(cycles_per_voting_period)
      r.(hard_gas_limit_per_operation) r.(hard_gas_limit_per_block)
      r.(proof_of_work_threshold) r.(tokens_per_roll)
      r.(seed_nonce_revelation_tip) r.(origination_size)
      r.(baking_reward_fixed_portion) r.(baking_reward_bonus_per_slot)
      r.(endorsing_reward_per_slot) r.(cost_per_byte)
      r.(hard_storage_limit_per_operation) r.(quorum_min) r.(quorum_max)
      r.(min_proposal_quorum) r.(liquidity_baking_subsidy)
      r.(liquidity_baking_sunset_level)
      r.(liquidity_baking_toggle_ema_threshold) r.(max_operations_time_to_live)
      r.(minimal_block_delay) r.(delay_increment_per_round)
      r.(minimal_participation_ratio) r.(consensus_committee_size)
      r.(consensus_threshold) r.(max_slashing_period)
      r.(frozen_deposits_percentage) r.(double_baking_punishment)
      r.(ratio_of_frozen_deposits_slashed_per_double_endorsement)
      r.(initial_seed) r.(cache_script_size) r.(cache_stake_distribution_cycles)
      r.(cache_sampler_state_cycles) r.(tx_rollup_enable)
      r.(tx_rollup_origination_size) r.(tx_rollup_hard_size_limit_per_inbox)
      r.(tx_rollup_hard_size_limit_per_message) r.(tx_rollup_commitment_bond)
      r.(tx_rollup_finality_period) r.(tx_rollup_withdraw_period)
      r.(tx_rollup_max_inboxes_count) r.(tx_rollup_max_messages_per_inbox)
      r.(tx_rollup_max_commitments_count) r.(tx_rollup_cost_per_byte_ema_factor)
      r.(tx_rollup_max_ticket_payload_size)
      r.(tx_rollup_max_withdrawals_per_batch) tx_rollup_rejection_max_proof_size
      r.(tx_rollup_sunset_level) r.(sc_rollup_enable)
      r.(sc_rollup_origination_size) r.(sc_rollup_challenge_window_in_blocks)
      r.(sc_rollup_max_available_messages).
  Definition with_tx_rollup_sunset_level tx_rollup_sunset_level (r : record) :=
    Build r.(preserved_cycles) r.(blocks_per_cycle) r.(blocks_per_commitment)
      r.(blocks_per_stake_snapshot) r.(cycles_per_voting_period)
      r.(hard_gas_limit_per_operation) r.(hard_gas_limit_per_block)
      r.(proof_of_work_threshold) r.(tokens_per_roll)
      r.(seed_nonce_revelation_tip) r.(origination_size)
      r.(baking_reward_fixed_portion) r.(baking_reward_bonus_per_slot)
      r.(endorsing_reward_per_slot) r.(cost_per_byte)
      r.(hard_storage_limit_per_operation) r.(quorum_min) r.(quorum_max)
      r.(min_proposal_quorum) r.(liquidity_baking_subsidy)
      r.(liquidity_baking_sunset_level)
      r.(liquidity_baking_toggle_ema_threshold) r.(max_operations_time_to_live)
      r.(minimal_block_delay) r.(delay_increment_per_round)
      r.(minimal_participation_ratio) r.(consensus_committee_size)
      r.(consensus_threshold) r.(max_slashing_period)
      r.(frozen_deposits_percentage) r.(double_baking_punishment)
      r.(ratio_of_frozen_deposits_slashed_per_double_endorsement)
      r.(initial_seed) r.(cache_script_size) r.(cache_stake_distribution_cycles)
      r.(cache_sampler_state_cycles) r.(tx_rollup_enable)
      r.(tx_rollup_origination_size) r.(tx_rollup_hard_size_limit_per_inbox)
      r.(tx_rollup_hard_size_limit_per_message) r.(tx_rollup_commitment_bond)
      r.(tx_rollup_finality_period) r.(tx_rollup_withdraw_period)
      r.(tx_rollup_max_inboxes_count) r.(tx_rollup_max_messages_per_inbox)
      r.(tx_rollup_max_commitments_count) r.(tx_rollup_cost_per_byte_ema_factor)
      r.(tx_rollup_max_ticket_payload_size)
      r.(tx_rollup_max_withdrawals_per_batch)
      r.(tx_rollup_rejection_max_proof_size) tx_rollup_sunset_level
      r.(sc_rollup_enable) r.(sc_rollup_origination_size)
      r.(sc_rollup_challenge_window_in_blocks)
      r.(sc_rollup_max_available_messages).
  Definition with_sc_rollup_enable sc_rollup_enable (r : record) :=
    Build r.(preserved_cycles) r.(blocks_per_cycle) r.(blocks_per_commitment)
      r.(blocks_per_stake_snapshot) r.(cycles_per_voting_period)
      r.(hard_gas_limit_per_operation) r.(hard_gas_limit_per_block)
      r.(proof_of_work_threshold) r.(tokens_per_roll)
      r.(seed_nonce_revelation_tip) r.(origination_size)
      r.(baking_reward_fixed_portion) r.(baking_reward_bonus_per_slot)
      r.(endorsing_reward_per_slot) r.(cost_per_byte)
      r.(hard_storage_limit_per_operation) r.(quorum_min) r.(quorum_max)
      r.(min_proposal_quorum) r.(liquidity_baking_subsidy)
      r.(liquidity_baking_sunset_level)
      r.(liquidity_baking_toggle_ema_threshold) r.(max_operations_time_to_live)
      r.(minimal_block_delay) r.(delay_increment_per_round)
      r.(minimal_participation_ratio) r.(consensus_committee_size)
      r.(consensus_threshold) r.(max_slashing_period)
      r.(frozen_deposits_percentage) r.(double_baking_punishment)
      r.(ratio_of_frozen_deposits_slashed_per_double_endorsement)
      r.(initial_seed) r.(cache_script_size) r.(cache_stake_distribution_cycles)
      r.(cache_sampler_state_cycles) r.(tx_rollup_enable)
      r.(tx_rollup_origination_size) r.(tx_rollup_hard_size_limit_per_inbox)
      r.(tx_rollup_hard_size_limit_per_message) r.(tx_rollup_commitment_bond)
      r.(tx_rollup_finality_period) r.(tx_rollup_withdraw_period)
      r.(tx_rollup_max_inboxes_count) r.(tx_rollup_max_messages_per_inbox)
      r.(tx_rollup_max_commitments_count) r.(tx_rollup_cost_per_byte_ema_factor)
      r.(tx_rollup_max_ticket_payload_size)
      r.(tx_rollup_max_withdrawals_per_batch)
      r.(tx_rollup_rejection_max_proof_size) r.(tx_rollup_sunset_level)
      sc_rollup_enable r.(sc_rollup_origination_size)
      r.(sc_rollup_challenge_window_in_blocks)
      r.(sc_rollup_max_available_messages).
  Definition with_sc_rollup_origination_size sc_rollup_origination_size
    (r : record) :=
    Build r.(preserved_cycles) r.(blocks_per_cycle) r.(blocks_per_commitment)
      r.(blocks_per_stake_snapshot) r.(cycles_per_voting_period)
      r.(hard_gas_limit_per_operation) r.(hard_gas_limit_per_block)
      r.(proof_of_work_threshold) r.(tokens_per_roll)
      r.(seed_nonce_revelation_tip) r.(origination_size)
      r.(baking_reward_fixed_portion) r.(baking_reward_bonus_per_slot)
      r.(endorsing_reward_per_slot) r.(cost_per_byte)
      r.(hard_storage_limit_per_operation) r.(quorum_min) r.(quorum_max)
      r.(min_proposal_quorum) r.(liquidity_baking_subsidy)
      r.(liquidity_baking_sunset_level)
      r.(liquidity_baking_toggle_ema_threshold) r.(max_operations_time_to_live)
      r.(minimal_block_delay) r.(delay_increment_per_round)
      r.(minimal_participation_ratio) r.(consensus_committee_size)
      r.(consensus_threshold) r.(max_slashing_period)
      r.(frozen_deposits_percentage) r.(double_baking_punishment)
      r.(ratio_of_frozen_deposits_slashed_per_double_endorsement)
      r.(initial_seed) r.(cache_script_size) r.(cache_stake_distribution_cycles)
      r.(cache_sampler_state_cycles) r.(tx_rollup_enable)
      r.(tx_rollup_origination_size) r.(tx_rollup_hard_size_limit_per_inbox)
      r.(tx_rollup_hard_size_limit_per_message) r.(tx_rollup_commitment_bond)
      r.(tx_rollup_finality_period) r.(tx_rollup_withdraw_period)
      r.(tx_rollup_max_inboxes_count) r.(tx_rollup_max_messages_per_inbox)
      r.(tx_rollup_max_commitments_count) r.(tx_rollup_cost_per_byte_ema_factor)
      r.(tx_rollup_max_ticket_payload_size)
      r.(tx_rollup_max_withdrawals_per_batch)
      r.(tx_rollup_rejection_max_proof_size) r.(tx_rollup_sunset_level)
      r.(sc_rollup_enable) sc_rollup_origination_size
      r.(sc_rollup_challenge_window_in_blocks)
      r.(sc_rollup_max_available_messages).
  Definition with_sc_rollup_challenge_window_in_blocks
    sc_rollup_challenge_window_in_blocks (r : record) :=
    Build r.(preserved_cycles) r.(blocks_per_cycle) r.(blocks_per_commitment)
      r.(blocks_per_stake_snapshot) r.(cycles_per_voting_period)
      r.(hard_gas_limit_per_operation) r.(hard_gas_limit_per_block)
      r.(proof_of_work_threshold) r.(tokens_per_roll)
      r.(seed_nonce_revelation_tip) r.(origination_size)
      r.(baking_reward_fixed_portion) r.(baking_reward_bonus_per_slot)
      r.(endorsing_reward_per_slot) r.(cost_per_byte)
      r.(hard_storage_limit_per_operation) r.(quorum_min) r.(quorum_max)
      r.(min_proposal_quorum) r.(liquidity_baking_subsidy)
      r.(liquidity_baking_sunset_level)
      r.(liquidity_baking_toggle_ema_threshold) r.(max_operations_time_to_live)
      r.(minimal_block_delay) r.(