func (k Keeper) Codec() codec.BinaryCodec {
	return k.cdc
}
Codec returns the TIBC module codec.
package keeper
import (
	"github.com/cosmos/cosmos-sdk/codec"
	sdk "github.com/cosmos/cosmos-sdk/types"
	paramtypes "github.com/cosmos/cosmos-sdk/x/params/types"
	clientkeeper "github.com/bianjieai/tibc-go/modules/tibc/core/02-client/keeper"
	clienttypes "github.com/bianjieai/tibc-go/modules/tibc/core/02-client/types"
	packetkeeper "github.com/bianjieai/tibc-go/modules/tibc/core/04-packet/keeper"
	routingkeeper "github.com/bianjieai/tibc-go/modules/tibc/core/26-routing/keeper"
	routingtypes "github.com/bianjieai/tibc-go/modules/tibc/core/26-routing/types"
	"github.com/bianjieai/tibc-go/modules/tibc/core/types"
)
var _ types.QueryServer = (*Keeper)(nil)
type Keeper struct {
	types.QueryServer
	cdc codec.BinaryCodec
	ClientKeeper  clientkeeper.Keeper
	PacketKeeper  packetkeeper.Keeper
	RoutingKeeper routingkeeper.Keeper
}
func NewKeeper(
	cdc codec.BinaryCodec, key sdk.StoreKey, paramSpace paramtypes.Subspace,
	stakingKeeper clienttypes.StakingKeeper,
) *Keeper {
	clientKeeper := clientkeeper.NewKeeper(cdc, key, paramSpace, stakingKeeper)
	routingKeeper := routingkeeper.NewKeeper(key)
	packetkeeper := packetkeeper.NewKeeper(cdc, key, clientKeeper, routingKeeper)
	return &Keeper{
		cdc:           cdc,
		ClientKeeper:  clientKeeper,
		PacketKeeper:  packetkeeper,
		RoutingKeeper: routingKeeper,
	}
}