package octez-protocol-alpha-libs

  1. Overview
  2. Docs
Octez protocol alpha libraries

Install

Dune Dependency

Authors

Maintainers

Sources

tezos-18.0.tar.gz
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_fileSource

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.

Sourcetype Tezos_base.TzPervasives.error +=
  1. | Block_vote_file_not_found of string
Sourcetype Tezos_base.TzPervasives.error +=
  1. | Block_vote_file_invalid of string
Sourcetype Tezos_base.TzPervasives.error +=
  1. | Block_vote_file_wrong_content of string
Sourcetype Tezos_base.TzPervasives.error +=
  1. | Block_vote_file_missing_liquidity_baking_toggle_vote of string
Sourcetype Tezos_base.TzPervasives.error +=
  1. | Missing_vote_on_startup
Sourceval default_vote_json_filename : string

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

Sourceval 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.

Sourceval 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).

OCaml

Innovation. Community. Security.