import { buildTx } from "../../../helper-func-types";
import { toEncoders, toConverters } from "@interchainjs/cosmos/utils";
import { MsgStoreCode, MsgInstantiateContract, MsgInstantiateContract2, MsgExecuteContract, MsgMigrateContract, MsgUpdateAdmin, MsgClearAdmin, MsgUpdateInstantiateConfig, MsgUpdateParams, MsgSudoContract, MsgPinCodes, MsgUnpinCodes, MsgStoreAndInstantiateContract, MsgRemoveCodeUploadParamsAddresses, MsgAddCodeUploadParamsAddresses, MsgStoreAndMigrateContract, MsgUpdateContractLabel } from "./tx";
export const createStoreCode = (clientResolver) => buildTx({
    clientResolver,
    typeUrl: MsgStoreCode.typeUrl,
    encoders: toEncoders(MsgStoreCode),
    converters: toConverters(MsgStoreCode)
});
export const createInstantiateContract = (clientResolver) => buildTx({
    clientResolver,
    typeUrl: MsgInstantiateContract.typeUrl,
    encoders: toEncoders(MsgInstantiateContract),
    converters: toConverters(MsgInstantiateContract)
});
export const createInstantiateContract2 = (clientResolver) => buildTx({
    clientResolver,
    typeUrl: MsgInstantiateContract2.typeUrl,
    encoders: toEncoders(MsgInstantiateContract2),
    converters: toConverters(MsgInstantiateContract2)
});
export const createExecuteContract = (clientResolver) => buildTx({
    clientResolver,
    typeUrl: MsgExecuteContract.typeUrl,
    encoders: toEncoders(MsgExecuteContract),
    converters: toConverters(MsgExecuteContract)
});
export const createMigrateContract = (clientResolver) => buildTx({
    clientResolver,
    typeUrl: MsgMigrateContract.typeUrl,
    encoders: toEncoders(MsgMigrateContract),
    converters: toConverters(MsgMigrateContract)
});
export const createUpdateAdmin = (clientResolver) => buildTx({
    clientResolver,
    typeUrl: MsgUpdateAdmin.typeUrl,
    encoders: toEncoders(MsgUpdateAdmin),
    converters: toConverters(MsgUpdateAdmin)
});
export const createClearAdmin = (clientResolver) => buildTx({
    clientResolver,
    typeUrl: MsgClearAdmin.typeUrl,
    encoders: toEncoders(MsgClearAdmin),
    converters: toConverters(MsgClearAdmin)
});
export const createUpdateInstantiateConfig = (clientResolver) => buildTx({
    clientResolver,
    typeUrl: MsgUpdateInstantiateConfig.typeUrl,
    encoders: toEncoders(MsgUpdateInstantiateConfig),
    converters: toConverters(MsgUpdateInstantiateConfig)
});
export const createUpdateParams = (clientResolver) => buildTx({
    clientResolver,
    typeUrl: MsgUpdateParams.typeUrl,
    encoders: toEncoders(MsgUpdateParams),
    converters: toConverters(MsgUpdateParams)
});
export const createSudoContract = (clientResolver) => buildTx({
    clientResolver,
    typeUrl: MsgSudoContract.typeUrl,
    encoders: toEncoders(MsgSudoContract),
    converters: toConverters(MsgSudoContract)
});
export const createPinCodes = (clientResolver) => buildTx({
    clientResolver,
    typeUrl: MsgPinCodes.typeUrl,
    encoders: toEncoders(MsgPinCodes),
    converters: toConverters(MsgPinCodes)
});
export const createUnpinCodes = (clientResolver) => buildTx({
    clientResolver,
    typeUrl: MsgUnpinCodes.typeUrl,
    encoders: toEncoders(MsgUnpinCodes),
    converters: toConverters(MsgUnpinCodes)
});
export const createStoreAndInstantiateContract = (clientResolver) => buildTx({
    clientResolver,
    typeUrl: MsgStoreAndInstantiateContract.typeUrl,
    encoders: toEncoders(MsgStoreAndInstantiateContract),
    converters: toConverters(MsgStoreAndInstantiateContract)
});
export const createRemoveCodeUploadParamsAddresses = (clientResolver) => buildTx({
    clientResolver,
    typeUrl: MsgRemoveCodeUploadParamsAddresses.typeUrl,
    encoders: toEncoders(MsgRemoveCodeUploadParamsAddresses),
    converters: toConverters(MsgRemoveCodeUploadParamsAddresses)
});
export const createAddCodeUploadParamsAddresses = (clientResolver) => buildTx({
    clientResolver,
    typeUrl: MsgAddCodeUploadParamsAddresses.typeUrl,
    encoders: toEncoders(MsgAddCodeUploadParamsAddresses),
    converters: toConverters(MsgAddCodeUploadParamsAddresses)
});
export const createStoreAndMigrateContract = (clientResolver) => buildTx({
    clientResolver,
    typeUrl: MsgStoreAndMigrateContract.typeUrl,
    encoders: toEncoders(MsgStoreAndMigrateContract),
    converters: toConverters(MsgStoreAndMigrateContract)
});
export const createUpdateContractLabel = (clientResolver) => buildTx({
    clientResolver,
    typeUrl: MsgUpdateContractLabel.typeUrl,
    encoders: toEncoders(MsgUpdateContractLabel),
    converters: toConverters(MsgUpdateContractLabel)
});
