github.com/Finschia/finschia-sdk@v0.48.1/x/evidence/types/expected_keepers.go (about)

     1  package types
     2  
     3  import (
     4  	"time"
     5  
     6  	cryptotypes "github.com/Finschia/finschia-sdk/crypto/types"
     7  	sdk "github.com/Finschia/finschia-sdk/types"
     8  	stakingtypes "github.com/Finschia/finschia-sdk/x/staking/types"
     9  )
    10  
    11  type (
    12  	// StakingKeeper defines the staking module interface contract needed by the
    13  	// evidence module.
    14  	StakingKeeper interface {
    15  		ValidatorByConsAddr(sdk.Context, sdk.ConsAddress) stakingtypes.ValidatorI
    16  	}
    17  
    18  	// SlashingKeeper defines the slashing module interface contract needed by the
    19  	// evidence module.
    20  	SlashingKeeper interface {
    21  		GetPubkey(sdk.Context, cryptotypes.Address) (cryptotypes.PubKey, error)
    22  		IsTombstoned(sdk.Context, sdk.ConsAddress) bool
    23  		HasValidatorSigningInfo(sdk.Context, sdk.ConsAddress) bool
    24  		Tombstone(sdk.Context, sdk.ConsAddress)
    25  		Slash(sdk.Context, sdk.ConsAddress, sdk.Dec, int64, int64)
    26  		SlashFractionDoubleSign(sdk.Context) sdk.Dec
    27  		Jail(sdk.Context, sdk.ConsAddress)
    28  		JailUntil(sdk.Context, sdk.ConsAddress, time.Time)
    29  	}
    30  )