34 lines
1.1 KiB
Go
34 lines
1.1 KiB
Go
package ante
|
|
|
|
import (
|
|
"context"
|
|
|
|
"cosmossdk.io/core/address"
|
|
"cosmossdk.io/core/appmodule"
|
|
|
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
|
"github.com/cosmos/cosmos-sdk/x/auth/types"
|
|
)
|
|
|
|
// AccountKeeper defines the contract needed for AccountKeeper related APIs.
|
|
// Interface provides support to use non-sdk AccountKeeper for AnteHandler's decorators.
|
|
type AccountKeeper interface {
|
|
GetParams(ctx context.Context) (params types.Params)
|
|
GetAccount(ctx context.Context, addr sdk.AccAddress) sdk.AccountI
|
|
SetAccount(ctx context.Context, acc sdk.AccountI)
|
|
GetModuleAddress(moduleName string) sdk.AccAddress
|
|
NewAccountWithAddress(ctx context.Context, addr sdk.AccAddress) sdk.AccountI
|
|
AddressCodec() address.Codec
|
|
GetEnvironment() appmodule.Environment
|
|
}
|
|
|
|
// FeegrantKeeper defines the expected feegrant keeper.
|
|
type FeegrantKeeper interface {
|
|
UseGrantedFees(ctx context.Context, granter, grantee sdk.AccAddress, fee sdk.Coins, msgs []sdk.Msg) error
|
|
}
|
|
|
|
type ConsensusKeeper interface {
|
|
AppVersion(ctx context.Context) (uint64, error)
|
|
BlockParams(context.Context) (uint64, uint64, error)
|
|
}
|