github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/x/order/keeper/expect_keepers.go (about)

     1  package keeper
     2  
     3  import (
     4  	sdk "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types"
     5  	"github.com/fibonacci-chain/fbc/libs/cosmos-sdk/x/supply/exported"
     6  
     7  	dex "github.com/fibonacci-chain/fbc/x/dex/types"
     8  	"github.com/fibonacci-chain/fbc/x/order/types"
     9  	token "github.com/fibonacci-chain/fbc/x/token/types"
    10  )
    11  
    12  // TokenKeeper : expected token keeper
    13  type TokenKeeper interface {
    14  	// Token balance
    15  	GetCoins(ctx sdk.Context, addr sdk.AccAddress) sdk.SysCoins
    16  	LockCoins(ctx sdk.Context, addr sdk.AccAddress, coins sdk.SysCoins, lockCoinsType int) error
    17  	UnlockCoins(ctx sdk.Context, addr sdk.AccAddress, coins sdk.SysCoins, lockCoinsType int) error
    18  	BalanceAccount(ctx sdk.Context, addr sdk.AccAddress, outputCoins sdk.SysCoins, inputCoins sdk.SysCoins) error
    19  	SendCoinsFromAccountToAccount(ctx sdk.Context, from, to sdk.AccAddress, amt sdk.SysCoins) error
    20  	// Fee detail
    21  	AddFeeDetail(ctx sdk.Context, from string, fee sdk.SysCoins, feeType string, receiver string)
    22  	GetAllLockedCoins(ctx sdk.Context) (locks []token.AccCoins)
    23  	IterateLockedFees(ctx sdk.Context, cb func(acc sdk.AccAddress, coins sdk.SysCoins) (stop bool))
    24  }
    25  
    26  // SupplyKeeper : expected supply keeper
    27  type SupplyKeeper interface {
    28  	SendCoinsFromAccountToModule(ctx sdk.Context, senderAddr sdk.AccAddress, recipientModule string,
    29  		amt sdk.Coins) sdk.Error
    30  	SendCoinsFromModuleToAccount(ctx sdk.Context, senderModule string, recipientAddr sdk.AccAddress,
    31  		amt sdk.Coins) sdk.Error
    32  	GetModuleAccount(ctx sdk.Context, moduleName string) exported.ModuleAccountI
    33  	GetModuleAddress(moduleName string) sdk.AccAddress
    34  	MintCoins(ctx sdk.Context, moduleName string, amt sdk.Coins) sdk.Error
    35  }
    36  
    37  // DexKeeper : expected dex keeper
    38  type DexKeeper interface {
    39  	// TokenPair
    40  	GetTokenPair(ctx sdk.Context, product string) *dex.TokenPair
    41  	GetTokenPairs(ctx sdk.Context) []*dex.TokenPair
    42  	SortProducts(ctx sdk.Context, products []string)
    43  	SaveTokenPair(ctx sdk.Context, tokenPair *dex.TokenPair) error
    44  	UpdateTokenPair(ctx sdk.Context, product string, tokenPair *dex.TokenPair)
    45  	CheckTokenPairUnderDexDelist(ctx sdk.Context, product string) (isDelisting bool, err error)
    46  	LockTokenPair(ctx sdk.Context, product string, lock *types.ProductLock)
    47  	UnlockTokenPair(ctx sdk.Context, product string)
    48  	IsTokenPairLocked(ctx sdk.Context, product string) bool
    49  	GetLockedProductsCopy(ctx sdk.Context) *types.ProductLockMap
    50  	IsAnyProductLocked(ctx sdk.Context) bool
    51  	GetOperator(ctx sdk.Context, addr sdk.AccAddress) (operator dex.DEXOperator, isExist bool)
    52  }