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

     1  package token
     2  
     3  import (
     4  	sdk "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types"
     5  	supplyexported "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/x/supply/exported"
     6  )
     7  
     8  // SupplyKeeper defines the expected supply Keeper (noalias)
     9  type SupplyKeeper interface {
    10  	GetSupplyByDenom(ctx sdk.Context, denom string) sdk.Dec
    11  	GetModuleAccount(ctx sdk.Context, name string) supplyexported.ModuleAccountI
    12  
    13  	// TODO remove with genesis 2-phases refactor https://github.com/cosmos/cosmos-sdk/issues/2862
    14  	SetModuleAccount(sdk.Context, supplyexported.ModuleAccountI)
    15  
    16  	SendCoinsFromModuleToModule(ctx sdk.Context, senderModule string, recipientModule string, amt sdk.Coins) sdk.Error
    17  	SendCoinsFromModuleToAccount(ctx sdk.Context, senderModule string, recipientAddr sdk.AccAddress, amt sdk.Coins) sdk.Error
    18  	SendCoinsFromAccountToModule(ctx sdk.Context, senderAddr sdk.AccAddress, recipientModule string, amt sdk.Coins) sdk.Error
    19  	MintCoins(ctx sdk.Context, moduleName string, amt sdk.Coins) sdk.Error
    20  	BurnCoins(ctx sdk.Context, moduleName string, amt sdk.Coins) sdk.Error
    21  }
    22  
    23  // StakingKeeper defines the expected staking Keeper (noalias)
    24  type StakingKeeper interface {
    25  	IsValidator(ctx sdk.Context, addr sdk.AccAddress) bool
    26  }