package tezos-protocol-008-PtEdo2Zk

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

Only delegates with at least one roll take part in the amendment procedure. It works as follows:

  • Proposal period: delegates can submit protocol amendment proposals using the proposal operation. At the end of a proposal period, the proposal with most supporters is selected and we move to a testing_vote period. If there are no proposals, or a tie between proposals, a new proposal period starts.
  • Testing_vote period: delegates can cast votes to test or not the winning proposal using the ballot operation. At the end of a testing_vote period if participation reaches the quorum and the proposal has a supermajority in favor, we proceed to a testing period. Otherwise we go back to a proposal period. In any case, if there is enough participation the quorum is updated.
  • Testing period: a test chain is forked for the length of the period. At the end of a testing period we move to a promotion_vote period.
  • Promotion_vote period: delegates can cast votes to promote or not the tested proposal using the ballot operation. At the end of a promotion_vote period if participation reaches the quorum and the tested proposal has a supermajority in favor, we move to an adoption period. Otherwise we go back to a proposal period. In any case, if there is enough participation the quorum is updated.
  • Adoption period: At the end of an adoption period, the proposal is activated as the new protocol.

If at the end of a voting period, moves to the next one following the state machine of the amendment procedure.

type Tezos_protocol_environment_008_PtEdo2Zk.Error_monad.error +=
  1. | Unexpected_proposal
  2. | Unauthorized_proposal
  3. | Too_many_proposals
  4. | Empty_proposal
type Tezos_protocol_environment_008_PtEdo2Zk.Error_monad.error +=
  1. | Invalid_proposal
  2. | Unexpected_ballot
  3. | Unauthorized_ballot
OCaml

Innovation. Community. Security.