Skip to content

sgns::ValidatorRegistry::WeightConfig

Weight policy used to score validators and update penalties.

#include <ValidatorRegistry.hpp>

Public Attributes

Name
uint64_t genesis_weight_
Base weight for genesis authority validators.
uint64_t full_weight_
Base weight for full validators.
uint64_t regular_weight_
Base weight for regular validators.
uint64_t sharded_weight_
Base weight for sharded validators.
uint64_t genesis_max_weight_
Max weight allowed for genesis validators.
uint64_t full_max_weight_
Max weight allowed for full validators.
uint64_t regular_max_weight_
Max weight allowed for regular validators.
uint64_t sharded_max_weight_
Max weight allowed for sharded validators.
uint64_t approval_increment_
Weight increment applied for approved behavior.
uint32_t penalty_threshold_
Penalty score threshold before harsher actions.
uint32_t penalty_cap_
Maximum accumulated penalty score.
uint32_t blacklist_bump_
Penalty increment applied for severe failures.
uint32_t missed_epoch_threshold_
Missed-epoch threshold used for inactivity decisions.
uint32_t inactivity_decrement_
Weight decrement for inactive validators.
uint64_t total_weight_cap_multiplier_
Multiplier controlling global weight-cap normalization.
uint64_t certificate_timestamp_window_ms_
Allowed timestamp drift for certificates.
uint64_t slot_direct_numerator_
Slot 0 (DIRECT_API) weight numerator. 0.50 = 1/2 (D-02).
uint64_t slot_direct_denominator_
Slot 0 (DIRECT_API) weight denominator. 0.50 = 1/2 (D-02).
uint64_t slot_public_numerator_
Slots 1-2 (PUBLIC) weight numerator. 0.25 = 1/4 (D-03).
uint64_t slot_public_denominator_
Slots 1-2 (PUBLIC) weight denominator. 0.25 = 1/4 (D-03).
uint64_t slot_quorum_numerator_
Cumulative quorum threshold numerator. 0.75 = 3/4 (D-06).
uint64_t slot_quorum_denominator_
Cumulative quorum threshold denominator.0.75 = 3/4 (D-06).
uint64_t slot_public_min_group_
D-03: minimum distinct validators per PUBLIC hash group.
uint64_t full_promotion_weight_
Weight at which a REGULAR validator is promoted to FULL (D-08).

Public Attributes Documentation

variable genesis_weight_

uint64_t genesis_weight_ = 50000;

Base weight for genesis authority validators.

variable full_weight_

uint64_t full_weight_ = 1000;

Base weight for full validators.

variable regular_weight_

uint64_t regular_weight_ = 1;

Base weight for regular validators.

variable sharded_weight_

uint64_t sharded_weight_ = 1;

Base weight for sharded validators.

variable genesis_max_weight_

uint64_t genesis_max_weight_ = 50000;

Max weight allowed for genesis validators.

variable full_max_weight_

uint64_t full_max_weight_ = 5000;

Max weight allowed for full validators.

variable regular_max_weight_

uint64_t regular_max_weight_ = 100;

Max weight allowed for regular validators.

variable sharded_max_weight_

uint64_t sharded_max_weight_ = 100;

Max weight allowed for sharded validators.

variable approval_increment_

uint64_t approval_increment_ = 1;

Weight increment applied for approved behavior.

variable penalty_threshold_

uint32_t penalty_threshold_ = 10;

Penalty score threshold before harsher actions.

variable penalty_cap_

uint32_t penalty_cap_ = 100;

Maximum accumulated penalty score.

variable blacklist_bump_

uint32_t blacklist_bump_ = 10;

Penalty increment applied for severe failures.

variable missed_epoch_threshold_

uint32_t missed_epoch_threshold_ = 500;

Missed-epoch threshold used for inactivity decisions.

variable inactivity_decrement_

uint32_t inactivity_decrement_ = 1;

Weight decrement for inactive validators.

variable total_weight_cap_multiplier_

uint64_t total_weight_cap_multiplier_ = 4;

Multiplier controlling global weight-cap normalization.

variable certificate_timestamp_window_ms_

uint64_t certificate_timestamp_window_ms_ = 300000;

Allowed timestamp drift for certificates.

variable slot_direct_numerator_

uint64_t slot_direct_numerator_ = 1;

Slot 0 (DIRECT_API) weight numerator. 0.50 = 1/2 (D-02).

variable slot_direct_denominator_

uint64_t slot_direct_denominator_ = 2;

Slot 0 (DIRECT_API) weight denominator. 0.50 = 1/2 (D-02).

variable slot_public_numerator_

uint64_t slot_public_numerator_ = 1;

Slots 1-2 (PUBLIC) weight numerator. 0.25 = 1/4 (D-03).

variable slot_public_denominator_

uint64_t slot_public_denominator_ = 4;

Slots 1-2 (PUBLIC) weight denominator. 0.25 = 1/4 (D-03).

variable slot_quorum_numerator_

uint64_t slot_quorum_numerator_ = 3;

Cumulative quorum threshold numerator. 0.75 = 3/4 (D-06).

variable slot_quorum_denominator_

uint64_t slot_quorum_denominator_ = 4;

Cumulative quorum threshold denominator.0.75 = 3/4 (D-06).

variable slot_public_min_group_

uint64_t slot_public_min_group_ = 2;

D-03: minimum distinct validators per PUBLIC hash group.

variable full_promotion_weight_

uint64_t full_promotion_weight_ = 500;

Weight at which a REGULAR validator is promoted to FULL (D-08).


Updated on 2026-06-28 at 18:54:57 -0700