package octez-protocol-alpha-libs

  1. Overview
  2. Docs
Octez protocol alpha libraries

Install

Dune Dependency

Authors

Maintainers

Sources

octez-19.0.tar.gz
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_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.