Documentation ¶
Overview ¶
nolint
Index ¶
- Constants
- Variables
- func BeginBlocker(ctx sdk.Context, req abci.RequestBeginBlock, sk Keeper) (tags sdk.Tags)
- func ErrBadValidatorAddr(codespace sdk.CodespaceType) sdk.Error
- func ErrNoValidatorForAddress(codespace sdk.CodespaceType) sdk.Error
- func ErrValidatorJailed(codespace sdk.CodespaceType) sdk.Error
- func ErrValidatorNotRevoked(codespace sdk.CodespaceType) sdk.Error
- func GetValidatorSigningBitArrayKey(v sdk.ValAddress, i int64) []byte
- func GetValidatorSigningInfoKey(v sdk.ValAddress) []byte
- func NewHandler(k Keeper) sdk.Handler
- func RegisterWire(cdc *wire.Codec)
- type CodeType
- type Keeper
- type MsgUnrevoke
- type ValidatorSigningInfo
Constants ¶
View Source
const MsgType = "slashing"
name to identify transaction types
Variables ¶
View Source
var ( // MaxEvidenceAge - Max age for evidence - 21 days (3 weeks) // TODO Should this be a governance parameter or just modifiable with SoftwareUpgradeProposals? // MaxEvidenceAge = 60 * 60 * 24 * 7 * 3 // TODO Temporarily set to 2 minutes for testnets. MaxEvidenceAge int64 = 60 * 2 // SignedBlocksWindow - sliding window for downtime slashing // TODO Governance parameter? // TODO Temporarily set to 40000 blocks for testnets SignedBlocksWindow int64 = 10000 // Downtime slashing threshold - 50% // TODO Governance parameter? MinSignedPerWindow = SignedBlocksWindow / 2 // Downtime unbond duration // TODO Governance parameter? // TODO Temporarily set to five minutes for testnets DowntimeUnbondDuration int64 = 60 * 5 // Double-sign unbond duration // TODO Governance parameter? // TODO Temporarily set to five minutes for testnets DoubleSignUnbondDuration int64 = 60 * 5 )
Functions ¶
func BeginBlocker ¶
slashing begin block functionality
func ErrBadValidatorAddr ¶
func ErrBadValidatorAddr(codespace sdk.CodespaceType) sdk.Error
func ErrNoValidatorForAddress ¶
func ErrNoValidatorForAddress(codespace sdk.CodespaceType) sdk.Error
func ErrValidatorJailed ¶
func ErrValidatorJailed(codespace sdk.CodespaceType) sdk.Error
func ErrValidatorNotRevoked ¶ added in v0.20.0
func ErrValidatorNotRevoked(codespace sdk.CodespaceType) sdk.Error
func GetValidatorSigningBitArrayKey ¶ added in v0.18.0
func GetValidatorSigningBitArrayKey(v sdk.ValAddress, i int64) []byte
Stored by *validator* address (not owner address)
func GetValidatorSigningInfoKey ¶ added in v0.18.0
func GetValidatorSigningInfoKey(v sdk.ValAddress) []byte
Stored by *validator* address (not owner address)
func NewHandler ¶
func RegisterWire ¶ added in v0.18.0
Register concrete types on wire codec
Types ¶
type CodeType ¶ added in v0.18.0
Local code type
const ( // Default slashing codespace DefaultCodespace sdk.CodespaceType = 10 CodeInvalidValidator CodeType = 101 CodeValidatorJailed CodeType = 102 CodeValidatorNotRevoked CodeType = 103 )
type Keeper ¶
type Keeper struct {
// contains filtered or unexported fields
}
Keeper of the slashing store
type MsgUnrevoke ¶ added in v0.18.0
type MsgUnrevoke struct {
ValidatorAddr sdk.AccAddress `json:"address"` // address of the validator owner
}
MsgUnrevoke - struct for unrevoking revoked validator
func NewMsgUnrevoke ¶ added in v0.18.0
func NewMsgUnrevoke(validatorAddr sdk.AccAddress) MsgUnrevoke
func (MsgUnrevoke) GetSignBytes ¶ added in v0.18.0
func (msg MsgUnrevoke) GetSignBytes() []byte
get the bytes for the message signer to sign on
func (MsgUnrevoke) GetSigners ¶ added in v0.18.0
func (msg MsgUnrevoke) GetSigners() []sdk.AccAddress
func (MsgUnrevoke) ValidateBasic ¶ added in v0.18.0
func (msg MsgUnrevoke) ValidateBasic() sdk.Error
quick validity check
type ValidatorSigningInfo ¶
type ValidatorSigningInfo struct { StartHeight int64 `json:"start_height"` // height at which validator was first a candidate OR was unrevoked IndexOffset int64 `json:"index_offset"` // index offset into signed block bit array JailedUntil int64 `json:"jailed_until"` // timestamp validator cannot be unrevoked until SignedBlocksCounter int64 `json:"signed_blocks_counter"` // signed blocks counter (to avoid scanning the array every time) }
Signing info for a validator
func NewValidatorSigningInfo ¶
func NewValidatorSigningInfo(startHeight int64, indexOffset int64, jailedUntil int64, signedBlocksCounter int64) ValidatorSigningInfo
Construct a new `ValidatorSigningInfo` struct
func (ValidatorSigningInfo) HumanReadableString ¶ added in v0.18.0
func (i ValidatorSigningInfo) HumanReadableString() string
Return human readable signing info
Source Files ¶
Click to show internal directories.
Click to hide internal directories.