package octez-protocol-alpha-libs
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=c6df840ebbf115e454db949028c595bec558a59a66cade73b52a6d099d6fa4d4
sha512=d8aee903b9fe130d73176bc8ec38b78c9ff65317da3cb4f3415f09af0c625b4384e7498201fdb61aa39086a7d5d409d0ab3423f9bc3ab989a680cf444a79bc13
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).