v0_13

package
v0.14.0-rc1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 15, 2021 License: Apache-2.0 Imports: 7 Imported by: 0

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL