package tezos-protocol-020-PsParisC
Manages all the voting related storage in Storage.Vote.
val get_delegate_proposal_count :
Raw_context.t ->
Tezos_protocol_environment_020_PsParisC.Signature.public_key_hash ->
int Tezos_protocol_environment_020_PsParisC.Error_monad.tzresult
Tezos_protocol_environment_020_PsParisC.Lwt.t
get_delegate_proposal_count ctxt proposer
returns the number of proposals already made by proposer
in the current voting cycle.
This number of proposals, aka count
, has its own storage bucket.
val set_delegate_proposal_count :
Raw_context.t ->
Tezos_protocol_environment_020_PsParisC.Signature.public_key_hash ->
int ->
Raw_context.t Tezos_protocol_environment_020_PsParisC.Lwt.t
set_delegate_proposal_count ctxt proposer count
sets proposer
's number of submitted proposals to count
.
More precisely, the relevant storage bucket is allocated and initialized to count
if it didn't exist; otherwise it is simply updated.
val has_proposed :
Raw_context.t ->
Tezos_protocol_environment_020_PsParisC.Signature.public_key_hash ->
Tezos_protocol_environment_020_PsParisC.Protocol_hash.t ->
bool Tezos_protocol_environment_020_PsParisC.Lwt.t
has_proposed ctxt proposer proposal
indicates whether the proposer
has already proposed the proposal
.
val add_proposal :
Raw_context.t ->
Tezos_protocol_environment_020_PsParisC.Signature.public_key_hash ->
Tezos_protocol_environment_020_PsParisC.Protocol_hash.t ->
Raw_context.t Tezos_protocol_environment_020_PsParisC.Lwt.t
add_proposal ctxt proposer proposal
records the submission of proposal
by proposer
.
val get_proposals :
Raw_context.t ->
int64 Tezos_protocol_environment_020_PsParisC.Protocol_hash.Map.t
Tezos_protocol_environment_020_PsParisC.Error_monad.tzresult
Tezos_protocol_environment_020_PsParisC.Lwt.t
Computes for each proposal how many delegates proposed it.
val clear_proposals :
Raw_context.t ->
Raw_context.t Tezos_protocol_environment_020_PsParisC.Lwt.t
val ballots_zero : ballots
All vote counts set to zero.
val ballots_encoding :
ballots Tezos_protocol_environment_020_PsParisC.Data_encoding.t
Encoding for ballots
.
val pp_ballots :
Tezos_protocol_environment_020_PsParisC.Format.formatter ->
ballots ->
unit
Pretty printer for ballots
.
val has_recorded_ballot :
Raw_context.t ->
Tezos_protocol_environment_020_PsParisC.Signature.Public_key_hash.t ->
bool Tezos_protocol_environment_020_PsParisC.Lwt.t
val record_ballot :
Raw_context.t ->
Tezos_protocol_environment_020_PsParisC.Signature.Public_key_hash.t ->
Vote_repr.ballot ->
Raw_context.t Tezos_protocol_environment_020_PsParisC.Error_monad.tzresult
Tezos_protocol_environment_020_PsParisC.Lwt.t
Records a vote for a delegate, returns a Error (Storage_error Existing_key)
if the vote was already registered
val get_ballots :
Raw_context.t ->
ballots Tezos_protocol_environment_020_PsParisC.Error_monad.tzresult
Tezos_protocol_environment_020_PsParisC.Lwt.t
Computes the sum of the current ballots weighted by stake.
val get_ballot_list :
Raw_context.t ->
(Tezos_protocol_environment_020_PsParisC.Signature.Public_key_hash.t
* Vote_repr.ballot)
list
Tezos_protocol_environment_020_PsParisC.Lwt.t
val clear_ballots :
Raw_context.t ->
Raw_context.t Tezos_protocol_environment_020_PsParisC.Lwt.t
val listings_encoding :
(Tezos_protocol_environment_020_PsParisC.Signature.Public_key_hash.t * int64)
list
Tezos_protocol_environment_020_PsParisC.Data_encoding.t
val update_listings :
Raw_context.t ->
Raw_context.t Tezos_protocol_environment_020_PsParisC.Error_monad.tzresult
Tezos_protocol_environment_020_PsParisC.Lwt.t
Populates !Storage.Vote.Listings
using the currently existing staking power and sets `Voting_power_in_listings`. Inactive delegates or delegates without the minimal required stake are not included in the listings.
val in_listings :
Raw_context.t ->
Tezos_protocol_environment_020_PsParisC.Signature.Public_key_hash.t ->
bool Tezos_protocol_environment_020_PsParisC.Lwt.t
Verifies the presence of a delegate in the listing.
val get_listings :
Raw_context.t ->
(Tezos_protocol_environment_020_PsParisC.Signature.Public_key_hash.t * int64)
list
Tezos_protocol_environment_020_PsParisC.Lwt.t
type delegate_info = {
voting_power : Tezos_protocol_environment_020_PsParisC.Int64.t option;
current_ballot : Vote_repr.ballot option;
current_proposals : Tezos_protocol_environment_020_PsParisC.Protocol_hash.t list;
remaining_proposals : int;
}
val pp_delegate_info :
Tezos_protocol_environment_020_PsParisC.Format.formatter ->
delegate_info ->
unit
val delegate_info_encoding :
delegate_info Tezos_protocol_environment_020_PsParisC.Data_encoding.t
val get_voting_power_free :
Raw_context.t ->
Tezos_protocol_environment_020_PsParisC.Signature.public_key_hash ->
int64 Tezos_protocol_environment_020_PsParisC.Error_monad.tzresult
Tezos_protocol_environment_020_PsParisC.Lwt.t
Returns the voting power of a delegate from the voting power listings. This function does not account for gas cost.
val get_voting_power :
Raw_context.t ->
Tezos_protocol_environment_020_PsParisC.Signature.public_key_hash ->
(Raw_context.t * int64)
Tezos_protocol_environment_020_PsParisC.Error_monad.tzresult
Tezos_protocol_environment_020_PsParisC.Lwt.t
Same as get_voting_power_free
but consumes gas.
val get_current_voting_power_free :
Raw_context.t ->
Tezos_protocol_environment_020_PsParisC.Signature.public_key_hash ->
int64 Tezos_protocol_environment_020_PsParisC.Error_monad.tzresult
Tezos_protocol_environment_020_PsParisC.Lwt.t
Same as get_voting_power_free
but computes the voting power based on the current stake of the delegate instead of reading it from the vote listings.
val get_total_voting_power_free :
Raw_context.t ->
int64 Tezos_protocol_environment_020_PsParisC.Error_monad.tzresult
Tezos_protocol_environment_020_PsParisC.Lwt.t
Returns the sum of all voting power in the listings, without accounting for gas cost.
val get_total_voting_power :
Raw_context.t ->
(Raw_context.t * int64)
Tezos_protocol_environment_020_PsParisC.Error_monad.tzresult
Tezos_protocol_environment_020_PsParisC.Lwt.t
Returns the sum of all voting power in the listings.
val get_current_quorum :
Raw_context.t ->
int32 Tezos_protocol_environment_020_PsParisC.Error_monad.tzresult
Tezos_protocol_environment_020_PsParisC.Lwt.t
val get_participation_ema :
Raw_context.t ->
int32 Tezos_protocol_environment_020_PsParisC.Error_monad.tzresult
Tezos_protocol_environment_020_PsParisC.Lwt.t
val set_participation_ema :
Raw_context.t ->
int32 ->
Raw_context.t Tezos_protocol_environment_020_PsParisC.Error_monad.tzresult
Tezos_protocol_environment_020_PsParisC.Lwt.t
val current_proposal_exists :
Raw_context.t ->
bool Tezos_protocol_environment_020_PsParisC.Lwt.t
Indicates whether there is a current proposal in the storage.
val get_current_proposal :
Raw_context.t ->
Tezos_protocol_environment_020_PsParisC.Protocol_hash.t
Tezos_protocol_environment_020_PsParisC.Error_monad.tzresult
Tezos_protocol_environment_020_PsParisC.Lwt.t
Retrieves the current proposal.
val find_current_proposal :
Raw_context.t ->
Tezos_protocol_environment_020_PsParisC.Protocol_hash.t option
Tezos_protocol_environment_020_PsParisC.Error_monad.tzresult
Tezos_protocol_environment_020_PsParisC.Lwt.t
Retrieves the current proposal.
val init_current_proposal :
Raw_context.t ->
Tezos_protocol_environment_020_PsParisC.Protocol_hash.t ->
Raw_context.t Tezos_protocol_environment_020_PsParisC.Error_monad.tzresult
Tezos_protocol_environment_020_PsParisC.Lwt.t
Registers a current proposal.
val clear_current_proposal :
Raw_context.t ->
Raw_context.t Tezos_protocol_environment_020_PsParisC.Lwt.t
Removes the current proposal. Does nothing if there was no current proposal.
val init :
Raw_context.t ->
start_position:Tezos_protocol_environment_020_PsParisC.Int32.t ->
Raw_context.t Tezos_protocol_environment_020_PsParisC.Error_monad.tzresult
Tezos_protocol_environment_020_PsParisC.Lwt.t
Sets the initial quorum to 80% and period kind to proposal.