github.com/gravity-devs/liquidity@v1.5.3/x/liquidity/types/expected_keepers.go (about)

     1  package types
     2  
     3  import (
     4  	sdk "github.com/cosmos/cosmos-sdk/types"
     5  	authtypes "github.com/cosmos/cosmos-sdk/x/auth/types"
     6  	banktypes "github.com/cosmos/cosmos-sdk/x/bank/types"
     7  )
     8  
     9  // BankKeeper defines the expected bank send keeper
    10  type BankKeeper interface {
    11  	InputOutputCoins(ctx sdk.Context, inputs []banktypes.Input, outputs []banktypes.Output) error
    12  	SendCoins(ctx sdk.Context, fromAddr sdk.AccAddress, toAddr sdk.AccAddress, amt sdk.Coins) error
    13  	GetAllBalances(ctx sdk.Context, addr sdk.AccAddress) sdk.Coins
    14  	GetBalance(ctx sdk.Context, addr sdk.AccAddress, denom string) sdk.Coin
    15  	SpendableCoins(ctx sdk.Context, addr sdk.AccAddress) sdk.Coins
    16  
    17  	GetSupply(ctx sdk.Context, denom string) sdk.Coin
    18  	SendCoinsFromModuleToAccount(ctx sdk.Context, senderModule string, recipientAddr sdk.AccAddress, amt sdk.Coins) error
    19  	SendCoinsFromAccountToModule(ctx sdk.Context, senderAddr sdk.AccAddress, recipientModule string, amt sdk.Coins) error
    20  	BurnCoins(ctx sdk.Context, name string, amt sdk.Coins) error
    21  	MintCoins(ctx sdk.Context, name string, amt sdk.Coins) error
    22  }
    23  
    24  // AccountKeeper defines the expected account keeper
    25  type AccountKeeper interface {
    26  	GetAccount(ctx sdk.Context, addr sdk.AccAddress) authtypes.AccountI
    27  	GetModuleAddress(name string) sdk.AccAddress
    28  }
    29  
    30  // DistributionKeeper defines the expected distribution keeper
    31  type DistributionKeeper interface {
    32  	FundCommunityPool(ctx sdk.Context, amount sdk.Coins, sender sdk.AccAddress) error
    33  }