import { MsgRegisterInterchainAccount, MsgSendTx, MsgUpdateParams } from "./tx";
export const registry = [["/ibc.applications.interchain_accounts.controller.v1.MsgRegisterInterchainAccount", MsgRegisterInterchainAccount], ["/ibc.applications.interchain_accounts.controller.v1.MsgSendTx", MsgSendTx], ["/ibc.applications.interchain_accounts.controller.v1.MsgUpdateParams", MsgUpdateParams]];
export const MessageComposer = {
    encoded: {
        registerInterchainAccount(value) {
            return {
                typeUrl: "/ibc.applications.interchain_accounts.controller.v1.MsgRegisterInterchainAccount",
                value: MsgRegisterInterchainAccount.encode(value).finish()
            };
        },
        sendTx(value) {
            return {
                typeUrl: "/ibc.applications.interchain_accounts.controller.v1.MsgSendTx",
                value: MsgSendTx.encode(value).finish()
            };
        },
        updateParams(value) {
            return {
                typeUrl: "/ibc.applications.interchain_accounts.controller.v1.MsgUpdateParams",
                value: MsgUpdateParams.encode(value).finish()
            };
        }
    },
    withTypeUrl: {
        registerInterchainAccount(value) {
            return {
                typeUrl: "/ibc.applications.interchain_accounts.controller.v1.MsgRegisterInterchainAccount",
                value
            };
        },
        sendTx(value) {
            return {
                typeUrl: "/ibc.applications.interchain_accounts.controller.v1.MsgSendTx",
                value
            };
        },
        updateParams(value) {
            return {
                typeUrl: "/ibc.applications.interchain_accounts.controller.v1.MsgUpdateParams",
                value
            };
        }
    },
    fromPartial: {
        registerInterchainAccount(value) {
            return {
                typeUrl: "/ibc.applications.interchain_accounts.controller.v1.MsgRegisterInterchainAccount",
                value: MsgRegisterInterchainAccount.fromPartial(value)
            };
        },
        sendTx(value) {
            return {
                typeUrl: "/ibc.applications.interchain_accounts.controller.v1.MsgSendTx",
                value: MsgSendTx.fromPartial(value)
            };
        },
        updateParams(value) {
            return {
                typeUrl: "/ibc.applications.interchain_accounts.controller.v1.MsgUpdateParams",
                value: MsgUpdateParams.fromPartial(value)
            };
        }
    }
};
