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

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