package octez-protocol-alpha-libs
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=dbc3b675aee59c2c574e5d0a771193a2ecfca31e7a5bc5aed66598080596ce1c
sha512=b97ed762b9d24744305c358af0d20f394376b64bfdd758dd4a81775326caf445caa57c4f6445da3dd6468ff492de18e4c14af6f374dfcbb7e4d64b7b720e5e2a
doc/octez-protocol-alpha-libs.baking/Tezos_baking_alpha/Per_block_vote_file/index.html
Module Tezos_baking_alpha.Per_block_vote_file
Source
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:
{"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.
Default vote file name that should be looked up when the baker starts.
val read_per_block_votes_no_fail :
default:
Tezos_protocol_alpha.Protocol.Alpha_context.Per_block_votes.per_block_votes ->
per_block_vote_file:string ->
Tezos_protocol_alpha.Protocol.Alpha_context.Per_block_votes.per_block_votes
Lwt.t
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:
Tezos_protocol_alpha.Protocol.Alpha_context.Per_block_votes.per_block_vote
option ->
default_adaptive_issuance_vote:
Tezos_protocol_alpha.Protocol.Alpha_context.Per_block_votes.per_block_vote
option ->
per_block_vote_file:string option ->
Baking_configuration.per_block_votes_config Tezos_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).