func (k Keeper) Logger(ctx sdk.Context) log.Logger {
	return ctx.Logger().With("module", types.ModuleName)
}
Logger returns a module-specific logger.
package keeper
import (
	"fmt"
	"strconv"
	gogotypes "github.com/gogo/protobuf/types"
	"github.com/tendermint/tendermint/libs/log"
	"github.com/cosmos/cosmos-sdk/codec"
	sdk "github.com/cosmos/cosmos-sdk/types"
	sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
	paramstypes "github.com/cosmos/cosmos-sdk/x/params/types"
	"github.com/irisnet/irismod/modules/coinswap/types"
)
type Keeper struct {
	cdc          codec.BinaryCodec
	storeKey     sdk.StoreKey
	bk           types.BankKeeper
	ak           types.AccountKeeper
	paramSpace   paramstypes.Subspace
	blockedAddrs map[string]bool
}
func NewKeeper(
	cdc codec.BinaryCodec,
	key sdk.StoreKey,
	paramSpace paramstypes.Subspace,
	bk types.BankKeeper,
	ak types.AccountKeeper,
	blockedAddrs map[string]bool,
) Keeper {
	if addr := ak.GetModuleAddress(types.ModuleName); addr == nil {
		panic(fmt.Sprintf("%s module account has not been set", types.ModuleName))
	}
	if !paramSpace.HasKeyTable() {
		paramSpace = paramSpace.WithKeyTable(types.ParamKeyTable())
	}
	return Keeper{
		storeKey:     key,
		bk:           bk,
		ak:           ak,
		cdc:          cdc,
		paramSpace:   paramSpace,
		blockedAddrs: blockedAddrs,
	}
}