Module Mavryk_baking_alpha.Per_block_vote_file

This 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:

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.

val default_vote_json_filename : string

Default vote file name that should be looked up when the baker starts.

Reads 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: Mavryk_protocol_alpha.Protocol.Alpha_context.Per_block_votes.per_block_vote option -> default_adaptive_issuance_vote: Mavryk_protocol_alpha.Protocol.Alpha_context.Per_block_votes.per_block_vote option -> per_block_vote_file:string option -> Baking_configuration.per_block_votes_config Mavryk_base.TzPervasives.tzresult Lwt.t

Load 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. Adaptive issuance feature vote is optional. 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).