Skip to main content

Validator Feeder Votes

You can access the analysis results of the latest slash window using the following endpoints. These insights will help you better understand the feeder's behavior and identify potential causes of any misbehaviors.

Slash Window Analysis Response Interpretation

Current Oracle Parameters (oracle_params)

  • max_miss_rate_per_slash_window: Maximum miss rate allowed per slash window
  • max_miss_rate_per_vote_period: Maximum miss rate allowed per vote period
    • Description:
      • a: Number of module-namespace pairs validator vote differed from the majority vote
      • b: Number of module-namespace pairs we reached majority for
      • r: Ratio of a to b
    • Behavior Consideration:
      • If r >= max_miss_rate_per_vote_period validator behavior is considered as misbehavior, i.e., validator slash window miss-counter incremented. As a special case, a zero value results in increasing the miss-counter, even if the validator vote for only one module-namespace pair differs from the majority vote.

Current Slash Window (current_slash_window)

  • start_block_height: Start block height of the current slash window
  • end_block_height: End block height of the current slash window (usually in the future since the slash window is not closed yet at the time of the query)
  • vote_intervals: Number of vote intervals in the current slash window so far

Analysis of Validators Behavior (validators)

  • validator: Validator operator address
  • moniker: Validator name
  • vote_intervals: Number of vote intervals the validator was expected to vote
  • vote_intervals_with_miss_counter: Number of vote intervals the validator misbehaved
  • miss_counter_no_pre_vote_nor_vote: Number of intervals the validator misbehaved by missing both pre-vote and vote
  • miss_counter_no_vote: Number of intervals the validator misbehaved by submitting pre-vote but missing vote
  • miss_counter_empty_vote: Number of intervals the validator misbehaved by submitting an empty vote. This may happen when all plugins are disabled in configuration or all plugins encounter a time-out in the vote preparation phase. Investigation hint: make sure the feeder’s connection to the pryzm node has no issues.
  • miss_counter_non_empty_vote: Number of intervals the validator misbehaved with a non-empty vote. This happens if the validator’s voted payload for one or more module-namespace pairs differs from the majority vote. Investigation hint: make sure the connection to the monitored host chain is stable and the most recent data is being fetched.
  • vote_intervals_with_miss_counter_percentage: percentage of intervals with misbehavior. Note that the closer this value is to max_miss_rate_per_slash_window*100, the higher the risk of getting jailed.
  • miss_counter_percentage_no_pre_vote_nor_vote: Percentage of misbehaved intervals with no pre-vote nor vote
  • miss_counter_percentage_no_vote: Percentage of misbehaved intervals with no vote
  • miss_counter_percentage_empty_vote: Percentage of misbehaved intervals with an empty vote
  • miss_counter_percentage_non_empty_vote: Percentage of misbehaved intervals with a non-empty vote
  • Latest Vote Interval Analysis (latest_vote_interval)
    • power: Voting power of the validator
    • pre_voted: Whether the validator submitted a pre-vote
    • voted: Whether the validator submitted a vote
    • miss_counter: Whether the validator has misbehaved. Possible values are 1 (misbehaved) and 0.
    • payloads: List of module-namespace vote payload analysis of the latest vote interval
      • module: Module of the payload
      • namespace: Namespace of the payload
      • type: Type of the validator vote payload for the module-namespace pair. Possible values are:
        • VOTE_TYPE_NO_VOTE: validator did not vote for this module-namespace pair.
        • VOTE_TYPE_ABSTAIN: validator voted an empty payload for this module-namespace pair
        • VOTE_TYPE_VALID_VOTE: validator voted a non-empty payload for this module-namespace pair
      • majority: Whether the validator vote for this module-namespace pair was in the majority. Note that if the majority could not be decided on this pair, this value is false for all validators.

Latest Vote Interval Analysis (latest_vote_interval)

  • vote_interval
    • id: ID of the vote interval
    • vote_period: Length of the vote interval in blocks
    • close_block_height: Block height at which the vote period closed
    • close_block_time: Time at which the vote period closed
    • slash_window_close_block_height: Block height at which the slash window closed (null if not closed yet)
  • ballot_vote_results
    • namespace: Namespace of the module-namespace pair
    • module: Module of the module-namespace pair
    • quorum_reached: Whether the quorum was reached
    • ballot_power: Sum of the voting power of all validators who voted for this module-namespace pair
    • majority_achieved: Whether the majority was achieved. If false, no validator miss counter is increased.
    • majority_vote_type: Type of the majority vote. Possible values are:
      • VOTE_TYPE_NO_VOTE: the majority of validators did not vote for this module-namespace pair
      • VOTE_TYPE_VALID_VOTE: the majority of validators decided on a specific payload for this module-namespace pair
      • VOTE_TYPE_ABSTAIN: quorum not reached or majority could not be decided for this module-namespace pair
    • callback_error: Error message (if any) from processing the majority vote by the corresponding module