github.com/cosmos/cosmos-sdk@v0.50.10/x/mint/types/expected_keepers.go (about) 1 package types // noalias 2 3 import ( 4 context "context" 5 6 "cosmossdk.io/math" 7 8 sdk "github.com/cosmos/cosmos-sdk/types" 9 ) 10 11 // StakingKeeper defines the expected staking keeper 12 type StakingKeeper interface { 13 StakingTokenSupply(ctx context.Context) (math.Int, error) 14 BondedRatio(ctx context.Context) (math.LegacyDec, error) 15 } 16 17 // AccountKeeper defines the contract required for account APIs. 18 type AccountKeeper interface { 19 GetModuleAddress(name string) sdk.AccAddress 20 21 // TODO remove with genesis 2-phases refactor https://github.com/cosmos/cosmos-sdk/issues/2862 22 SetModuleAccount(context.Context, sdk.ModuleAccountI) 23 GetModuleAccount(ctx context.Context, moduleName string) sdk.ModuleAccountI 24 } 25 26 // BankKeeper defines the contract needed to be fulfilled for banking and supply 27 // dependencies. 28 type BankKeeper interface { 29 SendCoinsFromModuleToAccount(ctx context.Context, senderModule string, recipientAddr sdk.AccAddress, amt sdk.Coins) error 30 SendCoinsFromModuleToModule(ctx context.Context, senderModule, recipientModule string, amt sdk.Coins) error 31 MintCoins(ctx context.Context, name string, amt sdk.Coins) error 32 }