"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.MessageComposer = exports.registry = void 0;
const tx_1 = require("./tx");
exports.registry = [["/cosmos.bank.v1beta1.MsgSend", tx_1.MsgSend], ["/cosmos.bank.v1beta1.MsgMultiSend", tx_1.MsgMultiSend], ["/cosmos.bank.v1beta1.MsgUpdateParams", tx_1.MsgUpdateParams], ["/cosmos.bank.v1beta1.MsgSetSendEnabled", tx_1.MsgSetSendEnabled]];
exports.MessageComposer = {
    encoded: {
        send(value) {
            return {
                typeUrl: "/cosmos.bank.v1beta1.MsgSend",
                value: tx_1.MsgSend.encode(value).finish()
            };
        },
        multiSend(value) {
            return {
                typeUrl: "/cosmos.bank.v1beta1.MsgMultiSend",
                value: tx_1.MsgMultiSend.encode(value).finish()
            };
        },
        updateParams(value) {
            return {
                typeUrl: "/cosmos.bank.v1beta1.MsgUpdateParams",
                value: tx_1.MsgUpdateParams.encode(value).finish()
            };
        },
        setSendEnabled(value) {
            return {
                typeUrl: "/cosmos.bank.v1beta1.MsgSetSendEnabled",
                value: tx_1.MsgSetSendEnabled.encode(value).finish()
            };
        }
    },
    withTypeUrl: {
        send(value) {
            return {
                typeUrl: "/cosmos.bank.v1beta1.MsgSend",
                value
            };
        },
        multiSend(value) {
            return {
                typeUrl: "/cosmos.bank.v1beta1.MsgMultiSend",
                value
            };
        },
        updateParams(value) {
            return {
                typeUrl: "/cosmos.bank.v1beta1.MsgUpdateParams",
                value
            };
        },
        setSendEnabled(value) {
            return {
                typeUrl: "/cosmos.bank.v1beta1.MsgSetSendEnabled",
                value
            };
        }
    },
    fromPartial: {
        send(value) {
            return {
                typeUrl: "/cosmos.bank.v1beta1.MsgSend",
                value: tx_1.MsgSend.fromPartial(value)
            };
        },
        multiSend(value) {
            return {
                typeUrl: "/cosmos.bank.v1beta1.MsgMultiSend",
                value: tx_1.MsgMultiSend.fromPartial(value)
            };
        },
        updateParams(value) {
            return {
                typeUrl: "/cosmos.bank.v1beta1.MsgUpdateParams",
                value: tx_1.MsgUpdateParams.fromPartial(value)
            };
        },
        setSendEnabled(value) {
            return {
                typeUrl: "/cosmos.bank.v1beta1.MsgSetSendEnabled",
                value: tx_1.MsgSetSendEnabled.fromPartial(value)
            };
        }
    }
};
