Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ValidateGenesis ¶
func ValidateGenesis(data GenesisState) error
ValidateGenesis returns nil because accounts are validated by auth
Types ¶
type CurrentPeriodProgress ¶
type CurrentPeriodProgress struct { MissedBlocks int64 `json:"missed_blocks" yaml:"missed_blocks"` TotalBlocks int64 `json:"total_blocks" yaml:"total_blocks"` }
CurrentPeriodProgress tracks the progress of the current vesting period
type GenesisState ¶
type GenesisState struct {
PreviousBlockTime time.Time `json:"previous_block_time" yaml:"previous_block_time"`
}
GenesisState - all auth state that must be provided at genesis
func DefaultGenesisState ¶
func DefaultGenesisState() GenesisState
DefaultGenesisState - Return a default genesis state
func NewGenesisState ¶
func NewGenesisState(prevBlockTime time.Time) GenesisState
NewGenesisState - Create a new genesis state
type ValidatorVestingAccount ¶
type ValidatorVestingAccount struct { *vestingtypes.PeriodicVestingAccount ValidatorAddress sdk.ConsAddress `json:"validator_address" yaml:"validator_address"` ReturnAddress sdk.AccAddress `json:"return_address" yaml:"return_address"` SigningThreshold int64 `json:"signing_threshold" yaml:"signing_threshold"` CurrentPeriodProgress CurrentPeriodProgress `json:"current_period_progress" yaml:"current_period_progress"` VestingPeriodProgress []VestingProgress `json:"vesting_period_progress" yaml:"vesting_period_progress"` DebtAfterFailedVesting sdk.Coins `json:"debt_after_failed_vesting" yaml:"debt_after_failed_vesting"` }
ValidatorVestingAccount implements the VestingAccount interface. It conditionally vests by unlocking coins during each specified period, provided that the validator address has validated at least **SigningThreshold** blocks during the previous vesting period. The signing threshold takes values 0 to 100 are represents the percentage of blocks that must be signed each period for the vesting to complete successfully. If the validator has not signed at least the threshold percentage of blocks during a period, the coins are returned to the return address, or burned if the return address is null.
type VestingProgress ¶
type VestingProgress struct { PeriodComplete bool `json:"period_complete" yaml:"period_complete"` VestingSuccessful bool `json:"vesting_successful" yaml:"vesting_successful"` }
VestingProgress tracks the status of each vesting period