Octez_agnostic_baker.Per_block_vote_fileThis module is used to load the baker's per block votes configurations. When a file is given as configuration, its content is expected to be a valid JSON matching the following examples:
{"liquidity_baking_toggle_vote": "on"}{"liquidity_baking_toggle_vote": "off"}{"liquidity_baking_toggle_vote": "pass"}{"adaptive_issuance_vote": "on"}{"adaptive_issuance_vote": "off"}{"adaptive_issuance_vote": "pass"}{"liquidity_baking_toggle_vote": "on","adaptive_issuance_vote": "on"}{"liquidity_baking_toggle_vote": "on","adaptive_issuance_vote": "off"}{"liquidity_baking_toggle_vote": "on","adaptive_issuance_vote": "pass"}{"liquidity_baking_toggle_vote": "off","adaptive_issuance_vote": "on"}{"liquidity_baking_toggle_vote": "off","adaptive_issuance_vote": "off"}{"liquidity_baking_toggle_vote": "off","adaptive_issuance_vote": "pass"}{"liquidity_baking_toggle_vote": "pass","adaptive_issuance_vote": "on"}{"liquidity_baking_toggle_vote": "pass","adaptive_issuance_vote": "off"}{"liquidity_baking_toggle_vote": "pass","adaptive_issuance_vote": "pass"}Moreover, in order to handle dynamic voting (i.e. change the baker's vote without having to restart it), each time a block is being built, the baker will try and read the vote file present in the config in order to check for updated votes.
adaptive_issuance_vote is ignored and deprecated, and will be removed soon: https://gitlab.com/tezos/tezos/-/issues/8055
Default vote file name that should be looked up when the baker starts.
val read_per_block_votes_no_fail :
default:Per_block_votes.per_block_votes ->
per_block_vote_file:string ->
Per_block_votes.per_block_votes Lwt.tReads the content of per_block_vote_file and returns the votes. If any error occurs (e.g. Non-existing file, unparsable content, etc.), given default values will be used to fill the gaps.
val load_per_block_votes_config :
default_liquidity_baking_vote:Per_block_votes.per_block_vote option ->
per_block_vote_file:string option ->
Configuration.per_block_votes_config Tezos_base.TzPervasives.tzresult Lwt.tLoad a configuration of per-block votes. Liquidity baking toggle vote is mandatory, it has to come from either the per-block vote file per_block_vote_file or from default_liquidity_baking_vote. If a vote cannot be determined from those values, this function fails. Priority is given to the values in the per_block_vote_file file for all votes at the time of the block (the file is freshly read each time).
val lookup_default_vote_file_path :
Tezos_client_base.Client_context.full ->
string option Lwt.t