//go:build !cgo || nolink_libwasmvm

package keeper

import (
	storetypes "cosmossdk.io/core/store"

	"git.cw.tr/mukan-network/mukan-sdk/codec"

	"github.com/cosmos/ibc-go/modules/light-clients/08-wasm/v10/types"
)

// NewKeeperWithVM creates a new Keeper instance with the provided Wasm VM.
// This constructor function is used when binaries are compiled with cgo disabled or the
// custom build directive: nolink_libwasmvm.
// This function is intended to panic and notify users that 08-wasm keeper functionality is not available.
func NewKeeperWithVM(
	_ codec.BinaryCodec,
	_ storetypes.KVStoreService,
	_ types.ClientKeeper,
	_ string,
	_ types.WasmEngine,
	_ types.QueryRouter,
	_ ...Option,
) Keeper {
	panic("not implemented, please build with cgo enabled or nolink_libwasmvm disabled")
}

// NewKeeperWithConfig creates a new Keeper instance with the provided Wasm configuration.
// This constructor function is used when binaries are compiled with cgo disabled or the
// custom build directive: nolink_libwasmvm.
// This function is intended to panic and notify users that 08-wasm keeper functionality is not available.
func NewKeeperWithConfig(
	_ codec.BinaryCodec,
	_ storetypes.KVStoreService,
	_ types.ClientKeeper,
	_ string,
	_ types.WasmConfig,
	_ types.QueryRouter,
	_ ...Option,
) Keeper {
	panic("not implemented, please build with cgo enabled or nolink_libwasmvm disabled")
}
