github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/x/evm/types/expected_keepers.go (about)

     1  package types
     2  
     3  import (
     4  	sdk "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types"
     5  	"github.com/fibonacci-chain/fbc/libs/cosmos-sdk/x/auth"
     6  	authexported "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/x/auth/exported"
     7  	"github.com/fibonacci-chain/fbc/libs/cosmos-sdk/x/params"
     8  )
     9  
    10  // AccountKeeper defines the expected account keeper interface
    11  type AccountKeeper interface {
    12  	NewAccountWithAddress(ctx sdk.Context, addr sdk.AccAddress) authexported.Account
    13  	GetAllAccounts(ctx sdk.Context) (accounts []authexported.Account)
    14  	IterateAccounts(ctx sdk.Context, cb func(account authexported.Account) bool)
    15  	GetAccount(ctx sdk.Context, addr sdk.AccAddress) authexported.Account
    16  	SetAccount(ctx sdk.Context, account authexported.Account)
    17  	RemoveAccount(ctx sdk.Context, account authexported.Account)
    18  	SetObserverKeeper(observer auth.ObserverI)
    19  }
    20  
    21  type SupplyKeeper interface {
    22  	SendCoinsFromModuleToAccount(ctx sdk.Context, senderModule string, recipientAddr sdk.AccAddress, amt sdk.Coins) error
    23  }
    24  
    25  type Subspace interface {
    26  	GetParamSet(ctx sdk.Context, ps params.ParamSet)
    27  	SetParamSet(ctx sdk.Context, ps params.ParamSet)
    28  	CustomKVStore(ctx sdk.Context) sdk.KVStore
    29  }
    30  
    31  type BankKeeper interface {
    32  	BlacklistedAddr(addr sdk.AccAddress) bool
    33  }
    34  
    35  // StakingKeeper for validator verify
    36  type StakingKeeper interface {
    37  	IsValidator(ctx sdk.Context, addr sdk.AccAddress) bool
    38  }