2018-10-05 03:41:38 -07:00
|
|
|
package types
|
|
|
|
|
|
|
|
import sdk "github.com/cosmos/cosmos-sdk/types"
|
|
|
|
|
2019-01-11 12:08:01 -08:00
|
|
|
// expected staking keeper
|
|
|
|
type StakingKeeper interface {
|
2018-10-05 03:41:38 -07:00
|
|
|
IterateDelegations(ctx sdk.Context, delegator sdk.AccAddress,
|
|
|
|
fn func(index int64, delegation sdk.Delegation) (stop bool))
|
|
|
|
Delegation(ctx sdk.Context, delAddr sdk.AccAddress, valAddr sdk.ValAddress) sdk.Delegation
|
|
|
|
Validator(ctx sdk.Context, valAddr sdk.ValAddress) sdk.Validator
|
|
|
|
ValidatorByConsAddr(ctx sdk.Context, consAddr sdk.ConsAddress) sdk.Validator
|
2018-10-23 11:48:50 -07:00
|
|
|
GetLastTotalPower(ctx sdk.Context) sdk.Int
|
2019-02-08 15:57:33 -08:00
|
|
|
GetLastValidatorPower(ctx sdk.Context, valAddr sdk.ValAddress) int64
|
2019-02-13 15:01:50 -08:00
|
|
|
|
|
|
|
// used for invariants
|
|
|
|
IterateValidators(ctx sdk.Context,
|
|
|
|
fn func(index int64, validator sdk.Validator) (stop bool))
|
|
|
|
GetAllSDKDelegations(ctx sdk.Context) []sdk.Delegation
|
2018-10-05 03:41:38 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
// expected coin keeper
|
|
|
|
type BankKeeper interface {
|
|
|
|
AddCoins(ctx sdk.Context, addr sdk.AccAddress, amt sdk.Coins) (sdk.Coins, sdk.Tags, sdk.Error)
|
|
|
|
}
|
|
|
|
|
2019-01-16 13:38:05 -08:00
|
|
|
// expected fee collection keeper
|
2018-10-05 03:41:38 -07:00
|
|
|
type FeeCollectionKeeper interface {
|
|
|
|
GetCollectedFees(ctx sdk.Context) sdk.Coins
|
|
|
|
ClearCollectedFees(ctx sdk.Context)
|
|
|
|
}
|
2019-03-28 16:27:47 -07:00
|
|
|
|
|
|
|
// expected crisis keeper
|
|
|
|
type CrisisKeeper interface {
|
|
|
|
RegisterRoute(moduleName, route string, invar sdk.Invariant)
|
|
|
|
}
|