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

     1  package types
     2  
     3  import (
     4  	sdk "github.com/Finschia/finschia-sdk/types"
     5  	"github.com/Finschia/finschia-sdk/x/auth/types"
     6  )
     7  
     8  // AccountKeeper defines the account contract that must be fulfilled when
     9  // creating a x/bank keeper.
    10  type AccountKeeper interface {
    11  	NewAccount(sdk.Context, types.AccountI) types.AccountI
    12  	NewAccountWithAddress(ctx sdk.Context, addr sdk.AccAddress) types.AccountI
    13  
    14  	GetAccount(ctx sdk.Context, addr sdk.AccAddress) types.AccountI
    15  	GetAllAccounts(ctx sdk.Context) []types.AccountI
    16  	HasAccount(ctx sdk.Context, addr sdk.AccAddress) bool
    17  	SetAccount(ctx sdk.Context, acc types.AccountI)
    18  
    19  	IterateAccounts(ctx sdk.Context, process func(types.AccountI) bool)
    20  
    21  	ValidatePermissions(macc types.ModuleAccountI) error
    22  
    23  	GetModuleAddress(moduleName string) sdk.AccAddress
    24  	GetModuleAddressAndPermissions(moduleName string) (addr sdk.AccAddress, permissions []string)
    25  	GetModuleAccountAndPermissions(ctx sdk.Context, moduleName string) (types.ModuleAccountI, []string)
    26  	GetModuleAccount(ctx sdk.Context, moduleName string) types.ModuleAccountI
    27  	SetModuleAccount(ctx sdk.Context, macc types.ModuleAccountI)
    28  }