UNPKG

interchainjs

Version:

InterchainJS is a JavaScript library for interacting with Cosmos SDK based blockchains.

1,257 lines (1,256 loc) 59.7 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.AuxSignerData = exports.Tip = exports.Fee = exports.ModeInfo_Multi = exports.ModeInfo_Single = exports.ModeInfo = exports.SignerInfo = exports.AuthInfo = exports.TxBody = exports.SignDocDirectAux = exports.SignDoc = exports.TxRaw = exports.Tx = void 0; const any_1 = require("../../../google/protobuf/any"); const multisig_1 = require("../../crypto/multisig/v1beta1/multisig"); const coin_1 = require("../../base/v1beta1/coin"); const binary_1 = require("../../../binary"); const registry_1 = require("../../../registry"); const helpers_1 = require("../../../helpers"); function createBaseTx() { return { body: undefined, authInfo: undefined, signatures: [] }; } /** * Tx is the standard type used for broadcasting transactions. * @name Tx * @package cosmos.tx.v1beta1 * @see proto type: cosmos.tx.v1beta1.Tx */ exports.Tx = { typeUrl: "/cosmos.tx.v1beta1.Tx", aminoType: "cosmos-sdk/Tx", is(o) { return o && (o.$typeUrl === exports.Tx.typeUrl || Array.isArray(o.signatures) && (!o.signatures.length || o.signatures[0] instanceof Uint8Array || typeof o.signatures[0] === "string")); }, isAmino(o) { return o && (o.$typeUrl === exports.Tx.typeUrl || Array.isArray(o.signatures) && (!o.signatures.length || o.signatures[0] instanceof Uint8Array || typeof o.signatures[0] === "string")); }, encode(message, writer = binary_1.BinaryWriter.create()) { if (message.body !== undefined) { exports.TxBody.encode(message.body, writer.uint32(10).fork()).ldelim(); } if (message.authInfo !== undefined) { exports.AuthInfo.encode(message.authInfo, writer.uint32(18).fork()).ldelim(); } for (const v of message.signatures) { writer.uint32(26).bytes(v); } return writer; }, decode(input, length) { const reader = input instanceof binary_1.BinaryReader ? input : new binary_1.BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseTx(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.body = exports.TxBody.decode(reader, reader.uint32()); break; case 2: message.authInfo = exports.AuthInfo.decode(reader, reader.uint32()); break; case 3: message.signatures.push(reader.bytes()); break; default: reader.skipType(tag & 7); break; } } return message; }, fromPartial(object) { const message = createBaseTx(); message.body = object.body !== undefined && object.body !== null ? exports.TxBody.fromPartial(object.body) : undefined; message.authInfo = object.authInfo !== undefined && object.authInfo !== null ? exports.AuthInfo.fromPartial(object.authInfo) : undefined; message.signatures = object.signatures?.map(e => e) || []; return message; }, fromAmino(object) { const message = createBaseTx(); if (object.body !== undefined && object.body !== null) { message.body = exports.TxBody.fromAmino(object.body); } if (object.auth_info !== undefined && object.auth_info !== null) { message.authInfo = exports.AuthInfo.fromAmino(object.auth_info); } message.signatures = object.signatures?.map(e => (0, helpers_1.bytesFromBase64)(e)) || []; return message; }, toAmino(message) { const obj = {}; obj.body = message.body ? exports.TxBody.toAmino(message.body) : undefined; obj.auth_info = message.authInfo ? exports.AuthInfo.toAmino(message.authInfo) : undefined; if (message.signatures) { obj.signatures = message.signatures.map(e => (0, helpers_1.base64FromBytes)(e)); } else { obj.signatures = message.signatures; } return obj; }, fromAminoMsg(object) { return exports.Tx.fromAmino(object.value); }, toAminoMsg(message) { return { type: "cosmos-sdk/Tx", value: exports.Tx.toAmino(message) }; }, fromProtoMsg(message) { return exports.Tx.decode(message.value); }, toProto(message) { return exports.Tx.encode(message).finish(); }, toProtoMsg(message) { return { typeUrl: "/cosmos.tx.v1beta1.Tx", value: exports.Tx.encode(message).finish() }; }, registerTypeUrl() { if (!registry_1.GlobalDecoderRegistry.registerExistingTypeUrl(exports.Tx.typeUrl)) { return; } exports.TxBody.registerTypeUrl(); exports.AuthInfo.registerTypeUrl(); } }; function createBaseTxRaw() { return { bodyBytes: new Uint8Array(), authInfoBytes: new Uint8Array(), signatures: [] }; } /** * TxRaw is a variant of Tx that pins the signer's exact binary representation * of body and auth_info. This is used for signing, broadcasting and * verification. The binary `serialize(tx: TxRaw)` is stored in Tendermint and * the hash `sha256(serialize(tx: TxRaw))` becomes the "txhash", commonly used * as the transaction ID. * @name TxRaw * @package cosmos.tx.v1beta1 * @see proto type: cosmos.tx.v1beta1.TxRaw */ exports.TxRaw = { typeUrl: "/cosmos.tx.v1beta1.TxRaw", aminoType: "cosmos-sdk/TxRaw", is(o) { return o && (o.$typeUrl === exports.TxRaw.typeUrl || (o.bodyBytes instanceof Uint8Array || typeof o.bodyBytes === "string") && (o.authInfoBytes instanceof Uint8Array || typeof o.authInfoBytes === "string") && Array.isArray(o.signatures) && (!o.signatures.length || o.signatures[0] instanceof Uint8Array || typeof o.signatures[0] === "string")); }, isAmino(o) { return o && (o.$typeUrl === exports.TxRaw.typeUrl || (o.body_bytes instanceof Uint8Array || typeof o.body_bytes === "string") && (o.auth_info_bytes instanceof Uint8Array || typeof o.auth_info_bytes === "string") && Array.isArray(o.signatures) && (!o.signatures.length || o.signatures[0] instanceof Uint8Array || typeof o.signatures[0] === "string")); }, encode(message, writer = binary_1.BinaryWriter.create()) { if (message.bodyBytes.length !== 0) { writer.uint32(10).bytes(message.bodyBytes); } if (message.authInfoBytes.length !== 0) { writer.uint32(18).bytes(message.authInfoBytes); } for (const v of message.signatures) { writer.uint32(26).bytes(v); } return writer; }, decode(input, length) { const reader = input instanceof binary_1.BinaryReader ? input : new binary_1.BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseTxRaw(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.bodyBytes = reader.bytes(); break; case 2: message.authInfoBytes = reader.bytes(); break; case 3: message.signatures.push(reader.bytes()); break; default: reader.skipType(tag & 7); break; } } return message; }, fromPartial(object) { const message = createBaseTxRaw(); message.bodyBytes = object.bodyBytes ?? new Uint8Array(); message.authInfoBytes = object.authInfoBytes ?? new Uint8Array(); message.signatures = object.signatures?.map(e => e) || []; return message; }, fromAmino(object) { const message = createBaseTxRaw(); if (object.body_bytes !== undefined && object.body_bytes !== null) { message.bodyBytes = (0, helpers_1.bytesFromBase64)(object.body_bytes); } if (object.auth_info_bytes !== undefined && object.auth_info_bytes !== null) { message.authInfoBytes = (0, helpers_1.bytesFromBase64)(object.auth_info_bytes); } message.signatures = object.signatures?.map(e => (0, helpers_1.bytesFromBase64)(e)) || []; return message; }, toAmino(message) { const obj = {}; obj.body_bytes = message.bodyBytes ? (0, helpers_1.base64FromBytes)(message.bodyBytes) : undefined; obj.auth_info_bytes = message.authInfoBytes ? (0, helpers_1.base64FromBytes)(message.authInfoBytes) : undefined; if (message.signatures) { obj.signatures = message.signatures.map(e => (0, helpers_1.base64FromBytes)(e)); } else { obj.signatures = message.signatures; } return obj; }, fromAminoMsg(object) { return exports.TxRaw.fromAmino(object.value); }, toAminoMsg(message) { return { type: "cosmos-sdk/TxRaw", value: exports.TxRaw.toAmino(message) }; }, fromProtoMsg(message) { return exports.TxRaw.decode(message.value); }, toProto(message) { return exports.TxRaw.encode(message).finish(); }, toProtoMsg(message) { return { typeUrl: "/cosmos.tx.v1beta1.TxRaw", value: exports.TxRaw.encode(message).finish() }; }, registerTypeUrl() { } }; function createBaseSignDoc() { return { bodyBytes: new Uint8Array(), authInfoBytes: new Uint8Array(), chainId: "", accountNumber: BigInt(0) }; } /** * SignDoc is the type used for generating sign bytes for SIGN_MODE_DIRECT. * @name SignDoc * @package cosmos.tx.v1beta1 * @see proto type: cosmos.tx.v1beta1.SignDoc */ exports.SignDoc = { typeUrl: "/cosmos.tx.v1beta1.SignDoc", aminoType: "cosmos-sdk/SignDoc", is(o) { return o && (o.$typeUrl === exports.SignDoc.typeUrl || (o.bodyBytes instanceof Uint8Array || typeof o.bodyBytes === "string") && (o.authInfoBytes instanceof Uint8Array || typeof o.authInfoBytes === "string") && typeof o.chainId === "string" && typeof o.accountNumber === "bigint"); }, isAmino(o) { return o && (o.$typeUrl === exports.SignDoc.typeUrl || (o.body_bytes instanceof Uint8Array || typeof o.body_bytes === "string") && (o.auth_info_bytes instanceof Uint8Array || typeof o.auth_info_bytes === "string") && typeof o.chain_id === "string" && typeof o.account_number === "bigint"); }, encode(message, writer = binary_1.BinaryWriter.create()) { if (message.bodyBytes.length !== 0) { writer.uint32(10).bytes(message.bodyBytes); } if (message.authInfoBytes.length !== 0) { writer.uint32(18).bytes(message.authInfoBytes); } if (message.chainId !== "") { writer.uint32(26).string(message.chainId); } if (message.accountNumber !== BigInt(0)) { writer.uint32(32).uint64(message.accountNumber); } return writer; }, decode(input, length) { const reader = input instanceof binary_1.BinaryReader ? input : new binary_1.BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseSignDoc(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.bodyBytes = reader.bytes(); break; case 2: message.authInfoBytes = reader.bytes(); break; case 3: message.chainId = reader.string(); break; case 4: message.accountNumber = reader.uint64(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromPartial(object) { const message = createBaseSignDoc(); message.bodyBytes = object.bodyBytes ?? new Uint8Array(); message.authInfoBytes = object.authInfoBytes ?? new Uint8Array(); message.chainId = object.chainId ?? ""; message.accountNumber = object.accountNumber !== undefined && object.accountNumber !== null ? BigInt(object.accountNumber.toString()) : BigInt(0); return message; }, fromAmino(object) { const message = createBaseSignDoc(); if (object.body_bytes !== undefined && object.body_bytes !== null) { message.bodyBytes = (0, helpers_1.bytesFromBase64)(object.body_bytes); } if (object.auth_info_bytes !== undefined && object.auth_info_bytes !== null) { message.authInfoBytes = (0, helpers_1.bytesFromBase64)(object.auth_info_bytes); } if (object.chain_id !== undefined && object.chain_id !== null) { message.chainId = object.chain_id; } if (object.account_number !== undefined && object.account_number !== null) { message.accountNumber = BigInt(object.account_number); } return message; }, toAmino(message) { const obj = {}; obj.body_bytes = message.bodyBytes ? (0, helpers_1.base64FromBytes)(message.bodyBytes) : undefined; obj.auth_info_bytes = message.authInfoBytes ? (0, helpers_1.base64FromBytes)(message.authInfoBytes) : undefined; obj.chain_id = message.chainId === "" ? undefined : message.chainId; obj.account_number = message.accountNumber !== BigInt(0) ? message.accountNumber?.toString() : undefined; return obj; }, fromAminoMsg(object) { return exports.SignDoc.fromAmino(object.value); }, toAminoMsg(message) { return { type: "cosmos-sdk/SignDoc", value: exports.SignDoc.toAmino(message) }; }, fromProtoMsg(message) { return exports.SignDoc.decode(message.value); }, toProto(message) { return exports.SignDoc.encode(message).finish(); }, toProtoMsg(message) { return { typeUrl: "/cosmos.tx.v1beta1.SignDoc", value: exports.SignDoc.encode(message).finish() }; }, registerTypeUrl() { } }; function createBaseSignDocDirectAux() { return { bodyBytes: new Uint8Array(), publicKey: undefined, chainId: "", accountNumber: BigInt(0), sequence: BigInt(0), tip: undefined }; } /** * SignDocDirectAux is the type used for generating sign bytes for * SIGN_MODE_DIRECT_AUX. * * Since: cosmos-sdk 0.46 * @name SignDocDirectAux * @package cosmos.tx.v1beta1 * @see proto type: cosmos.tx.v1beta1.SignDocDirectAux */ exports.SignDocDirectAux = { typeUrl: "/cosmos.tx.v1beta1.SignDocDirectAux", aminoType: "cosmos-sdk/SignDocDirectAux", is(o) { return o && (o.$typeUrl === exports.SignDocDirectAux.typeUrl || (o.bodyBytes instanceof Uint8Array || typeof o.bodyBytes === "string") && typeof o.chainId === "string" && typeof o.accountNumber === "bigint" && typeof o.sequence === "bigint"); }, isAmino(o) { return o && (o.$typeUrl === exports.SignDocDirectAux.typeUrl || (o.body_bytes instanceof Uint8Array || typeof o.body_bytes === "string") && typeof o.chain_id === "string" && typeof o.account_number === "bigint" && typeof o.sequence === "bigint"); }, encode(message, writer = binary_1.BinaryWriter.create()) { if (message.bodyBytes.length !== 0) { writer.uint32(10).bytes(message.bodyBytes); } if (message.publicKey !== undefined) { any_1.Any.encode(message.publicKey, writer.uint32(18).fork()).ldelim(); } if (message.chainId !== "") { writer.uint32(26).string(message.chainId); } if (message.accountNumber !== BigInt(0)) { writer.uint32(32).uint64(message.accountNumber); } if (message.sequence !== BigInt(0)) { writer.uint32(40).uint64(message.sequence); } if (message.tip !== undefined) { exports.Tip.encode(message.tip, writer.uint32(50).fork()).ldelim(); } return writer; }, decode(input, length) { const reader = input instanceof binary_1.BinaryReader ? input : new binary_1.BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseSignDocDirectAux(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.bodyBytes = reader.bytes(); break; case 2: message.publicKey = any_1.Any.decode(reader, reader.uint32()); break; case 3: message.chainId = reader.string(); break; case 4: message.accountNumber = reader.uint64(); break; case 5: message.sequence = reader.uint64(); break; case 6: message.tip = exports.Tip.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }, fromPartial(object) { const message = createBaseSignDocDirectAux(); message.bodyBytes = object.bodyBytes ?? new Uint8Array(); message.publicKey = object.publicKey !== undefined && object.publicKey !== null ? any_1.Any.fromPartial(object.publicKey) : undefined; message.chainId = object.chainId ?? ""; message.accountNumber = object.accountNumber !== undefined && object.accountNumber !== null ? BigInt(object.accountNumber.toString()) : BigInt(0); message.sequence = object.sequence !== undefined && object.sequence !== null ? BigInt(object.sequence.toString()) : BigInt(0); message.tip = object.tip !== undefined && object.tip !== null ? exports.Tip.fromPartial(object.tip) : undefined; return message; }, fromAmino(object) { const message = createBaseSignDocDirectAux(); if (object.body_bytes !== undefined && object.body_bytes !== null) { message.bodyBytes = (0, helpers_1.bytesFromBase64)(object.body_bytes); } if (object.public_key !== undefined && object.public_key !== null) { message.publicKey = any_1.Any.fromAmino(object.public_key); } if (object.chain_id !== undefined && object.chain_id !== null) { message.chainId = object.chain_id; } if (object.account_number !== undefined && object.account_number !== null) { message.accountNumber = BigInt(object.account_number); } if (object.sequence !== undefined && object.sequence !== null) { message.sequence = BigInt(object.sequence); } if (object.tip !== undefined && object.tip !== null) { message.tip = exports.Tip.fromAmino(object.tip); } return message; }, toAmino(message) { const obj = {}; obj.body_bytes = message.bodyBytes ? (0, helpers_1.base64FromBytes)(message.bodyBytes) : undefined; obj.public_key = message.publicKey ? any_1.Any.toAmino(message.publicKey) : undefined; obj.chain_id = message.chainId === "" ? undefined : message.chainId; obj.account_number = message.accountNumber !== BigInt(0) ? message.accountNumber?.toString() : undefined; obj.sequence = message.sequence !== BigInt(0) ? message.sequence?.toString() : undefined; obj.tip = message.tip ? exports.Tip.toAmino(message.tip) : undefined; return obj; }, fromAminoMsg(object) { return exports.SignDocDirectAux.fromAmino(object.value); }, toAminoMsg(message) { return { type: "cosmos-sdk/SignDocDirectAux", value: exports.SignDocDirectAux.toAmino(message) }; }, fromProtoMsg(message) { return exports.SignDocDirectAux.decode(message.value); }, toProto(message) { return exports.SignDocDirectAux.encode(message).finish(); }, toProtoMsg(message) { return { typeUrl: "/cosmos.tx.v1beta1.SignDocDirectAux", value: exports.SignDocDirectAux.encode(message).finish() }; }, registerTypeUrl() { if (!registry_1.GlobalDecoderRegistry.registerExistingTypeUrl(exports.SignDocDirectAux.typeUrl)) { return; } exports.Tip.registerTypeUrl(); } }; function createBaseTxBody() { return { messages: [], memo: "", timeoutHeight: BigInt(0), extensionOptions: [], nonCriticalExtensionOptions: [] }; } /** * TxBody is the body of a transaction that all signers sign over. * @name TxBody * @package cosmos.tx.v1beta1 * @see proto type: cosmos.tx.v1beta1.TxBody */ exports.TxBody = { typeUrl: "/cosmos.tx.v1beta1.TxBody", aminoType: "cosmos-sdk/TxBody", is(o) { return o && (o.$typeUrl === exports.TxBody.typeUrl || Array.isArray(o.messages) && (!o.messages.length || any_1.Any.is(o.messages[0])) && typeof o.memo === "string" && typeof o.timeoutHeight === "bigint" && Array.isArray(o.extensionOptions) && (!o.extensionOptions.length || any_1.Any.is(o.extensionOptions[0])) && Array.isArray(o.nonCriticalExtensionOptions) && (!o.nonCriticalExtensionOptions.length || any_1.Any.is(o.nonCriticalExtensionOptions[0]))); }, isAmino(o) { return o && (o.$typeUrl === exports.TxBody.typeUrl || Array.isArray(o.messages) && (!o.messages.length || any_1.Any.isAmino(o.messages[0])) && typeof o.memo === "string" && typeof o.timeout_height === "bigint" && Array.isArray(o.extension_options) && (!o.extension_options.length || any_1.Any.isAmino(o.extension_options[0])) && Array.isArray(o.non_critical_extension_options) && (!o.non_critical_extension_options.length || any_1.Any.isAmino(o.non_critical_extension_options[0]))); }, encode(message, writer = binary_1.BinaryWriter.create()) { for (const v of message.messages) { any_1.Any.encode(v, writer.uint32(10).fork()).ldelim(); } if (message.memo !== "") { writer.uint32(18).string(message.memo); } if (message.timeoutHeight !== BigInt(0)) { writer.uint32(24).uint64(message.timeoutHeight); } for (const v of message.extensionOptions) { any_1.Any.encode(v, writer.uint32(8186).fork()).ldelim(); } for (const v of message.nonCriticalExtensionOptions) { any_1.Any.encode(v, writer.uint32(16378).fork()).ldelim(); } return writer; }, decode(input, length) { const reader = input instanceof binary_1.BinaryReader ? input : new binary_1.BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseTxBody(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.messages.push(any_1.Any.decode(reader, reader.uint32())); break; case 2: message.memo = reader.string(); break; case 3: message.timeoutHeight = reader.uint64(); break; case 1023: message.extensionOptions.push(any_1.Any.decode(reader, reader.uint32())); break; case 2047: message.nonCriticalExtensionOptions.push(any_1.Any.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); break; } } return message; }, fromPartial(object) { const message = createBaseTxBody(); message.messages = object.messages?.map(e => any_1.Any.fromPartial(e)) || []; message.memo = object.memo ?? ""; message.timeoutHeight = object.timeoutHeight !== undefined && object.timeoutHeight !== null ? BigInt(object.timeoutHeight.toString()) : BigInt(0); message.extensionOptions = object.extensionOptions?.map(e => any_1.Any.fromPartial(e)) || []; message.nonCriticalExtensionOptions = object.nonCriticalExtensionOptions?.map(e => any_1.Any.fromPartial(e)) || []; return message; }, fromAmino(object) { const message = createBaseTxBody(); message.messages = object.messages?.map(e => any_1.Any.fromAmino(e)) || []; if (object.memo !== undefined && object.memo !== null) { message.memo = object.memo; } if (object.timeout_height !== undefined && object.timeout_height !== null) { message.timeoutHeight = BigInt(object.timeout_height); } message.extensionOptions = object.extension_options?.map(e => any_1.Any.fromAmino(e)) || []; message.nonCriticalExtensionOptions = object.non_critical_extension_options?.map(e => any_1.Any.fromAmino(e)) || []; return message; }, toAmino(message) { const obj = {}; if (message.messages) { obj.messages = message.messages.map(e => e ? any_1.Any.toAmino(e) : undefined); } else { obj.messages = message.messages; } obj.memo = message.memo === "" ? undefined : message.memo; obj.timeout_height = message.timeoutHeight !== BigInt(0) ? message.timeoutHeight?.toString() : undefined; if (message.extensionOptions) { obj.extension_options = message.extensionOptions.map(e => e ? any_1.Any.toAmino(e) : undefined); } else { obj.extension_options = message.extensionOptions; } if (message.nonCriticalExtensionOptions) { obj.non_critical_extension_options = message.nonCriticalExtensionOptions.map(e => e ? any_1.Any.toAmino(e) : undefined); } else { obj.non_critical_extension_options = message.nonCriticalExtensionOptions; } return obj; }, fromAminoMsg(object) { return exports.TxBody.fromAmino(object.value); }, toAminoMsg(message) { return { type: "cosmos-sdk/TxBody", value: exports.TxBody.toAmino(message) }; }, fromProtoMsg(message) { return exports.TxBody.decode(message.value); }, toProto(message) { return exports.TxBody.encode(message).finish(); }, toProtoMsg(message) { return { typeUrl: "/cosmos.tx.v1beta1.TxBody", value: exports.TxBody.encode(message).finish() }; }, registerTypeUrl() { } }; function createBaseAuthInfo() { return { signerInfos: [], fee: undefined, tip: undefined }; } /** * AuthInfo describes the fee and signer modes that are used to sign a * transaction. * @name AuthInfo * @package cosmos.tx.v1beta1 * @see proto type: cosmos.tx.v1beta1.AuthInfo */ exports.AuthInfo = { typeUrl: "/cosmos.tx.v1beta1.AuthInfo", aminoType: "cosmos-sdk/AuthInfo", is(o) { return o && (o.$typeUrl === exports.AuthInfo.typeUrl || Array.isArray(o.signerInfos) && (!o.signerInfos.length || exports.SignerInfo.is(o.signerInfos[0]))); }, isAmino(o) { return o && (o.$typeUrl === exports.AuthInfo.typeUrl || Array.isArray(o.signer_infos) && (!o.signer_infos.length || exports.SignerInfo.isAmino(o.signer_infos[0]))); }, encode(message, writer = binary_1.BinaryWriter.create()) { for (const v of message.signerInfos) { exports.SignerInfo.encode(v, writer.uint32(10).fork()).ldelim(); } if (message.fee !== undefined) { exports.Fee.encode(message.fee, writer.uint32(18).fork()).ldelim(); } if (message.tip !== undefined) { exports.Tip.encode(message.tip, writer.uint32(26).fork()).ldelim(); } return writer; }, decode(input, length) { const reader = input instanceof binary_1.BinaryReader ? input : new binary_1.BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseAuthInfo(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.signerInfos.push(exports.SignerInfo.decode(reader, reader.uint32())); break; case 2: message.fee = exports.Fee.decode(reader, reader.uint32()); break; case 3: message.tip = exports.Tip.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }, fromPartial(object) { const message = createBaseAuthInfo(); message.signerInfos = object.signerInfos?.map(e => exports.SignerInfo.fromPartial(e)) || []; message.fee = object.fee !== undefined && object.fee !== null ? exports.Fee.fromPartial(object.fee) : undefined; message.tip = object.tip !== undefined && object.tip !== null ? exports.Tip.fromPartial(object.tip) : undefined; return message; }, fromAmino(object) { const message = createBaseAuthInfo(); message.signerInfos = object.signer_infos?.map(e => exports.SignerInfo.fromAmino(e)) || []; if (object.fee !== undefined && object.fee !== null) { message.fee = exports.Fee.fromAmino(object.fee); } if (object.tip !== undefined && object.tip !== null) { message.tip = exports.Tip.fromAmino(object.tip); } return message; }, toAmino(message) { const obj = {}; if (message.signerInfos) { obj.signer_infos = message.signerInfos.map(e => e ? exports.SignerInfo.toAmino(e) : undefined); } else { obj.signer_infos = message.signerInfos; } obj.fee = message.fee ? exports.Fee.toAmino(message.fee) : undefined; obj.tip = message.tip ? exports.Tip.toAmino(message.tip) : undefined; return obj; }, fromAminoMsg(object) { return exports.AuthInfo.fromAmino(object.value); }, toAminoMsg(message) { return { type: "cosmos-sdk/AuthInfo", value: exports.AuthInfo.toAmino(message) }; }, fromProtoMsg(message) { return exports.AuthInfo.decode(message.value); }, toProto(message) { return exports.AuthInfo.encode(message).finish(); }, toProtoMsg(message) { return { typeUrl: "/cosmos.tx.v1beta1.AuthInfo", value: exports.AuthInfo.encode(message).finish() }; }, registerTypeUrl() { if (!registry_1.GlobalDecoderRegistry.registerExistingTypeUrl(exports.AuthInfo.typeUrl)) { return; } exports.SignerInfo.registerTypeUrl(); exports.Fee.registerTypeUrl(); exports.Tip.registerTypeUrl(); } }; function createBaseSignerInfo() { return { publicKey: undefined, modeInfo: undefined, sequence: BigInt(0) }; } /** * SignerInfo describes the public key and signing mode of a single top-level * signer. * @name SignerInfo * @package cosmos.tx.v1beta1 * @see proto type: cosmos.tx.v1beta1.SignerInfo */ exports.SignerInfo = { typeUrl: "/cosmos.tx.v1beta1.SignerInfo", aminoType: "cosmos-sdk/SignerInfo", is(o) { return o && (o.$typeUrl === exports.SignerInfo.typeUrl || typeof o.sequence === "bigint"); }, isAmino(o) { return o && (o.$typeUrl === exports.SignerInfo.typeUrl || typeof o.sequence === "bigint"); }, encode(message, writer = binary_1.BinaryWriter.create()) { if (message.publicKey !== undefined) { any_1.Any.encode(message.publicKey, writer.uint32(10).fork()).ldelim(); } if (message.modeInfo !== undefined) { exports.ModeInfo.encode(message.modeInfo, writer.uint32(18).fork()).ldelim(); } if (message.sequence !== BigInt(0)) { writer.uint32(24).uint64(message.sequence); } return writer; }, decode(input, length) { const reader = input instanceof binary_1.BinaryReader ? input : new binary_1.BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseSignerInfo(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.publicKey = any_1.Any.decode(reader, reader.uint32()); break; case 2: message.modeInfo = exports.ModeInfo.decode(reader, reader.uint32()); break; case 3: message.sequence = reader.uint64(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromPartial(object) { const message = createBaseSignerInfo(); message.publicKey = object.publicKey !== undefined && object.publicKey !== null ? any_1.Any.fromPartial(object.publicKey) : undefined; message.modeInfo = object.modeInfo !== undefined && object.modeInfo !== null ? exports.ModeInfo.fromPartial(object.modeInfo) : undefined; message.sequence = object.sequence !== undefined && object.sequence !== null ? BigInt(object.sequence.toString()) : BigInt(0); return message; }, fromAmino(object) { const message = createBaseSignerInfo(); if (object.public_key !== undefined && object.public_key !== null) { message.publicKey = any_1.Any.fromAmino(object.public_key); } if (object.mode_info !== undefined && object.mode_info !== null) { message.modeInfo = exports.ModeInfo.fromAmino(object.mode_info); } if (object.sequence !== undefined && object.sequence !== null) { message.sequence = BigInt(object.sequence); } return message; }, toAmino(message) { const obj = {}; obj.public_key = message.publicKey ? any_1.Any.toAmino(message.publicKey) : undefined; obj.mode_info = message.modeInfo ? exports.ModeInfo.toAmino(message.modeInfo) : undefined; obj.sequence = message.sequence !== BigInt(0) ? message.sequence?.toString() : undefined; return obj; }, fromAminoMsg(object) { return exports.SignerInfo.fromAmino(object.value); }, toAminoMsg(message) { return { type: "cosmos-sdk/SignerInfo", value: exports.SignerInfo.toAmino(message) }; }, fromProtoMsg(message) { return exports.SignerInfo.decode(message.value); }, toProto(message) { return exports.SignerInfo.encode(message).finish(); }, toProtoMsg(message) { return { typeUrl: "/cosmos.tx.v1beta1.SignerInfo", value: exports.SignerInfo.encode(message).finish() }; }, registerTypeUrl() { if (!registry_1.GlobalDecoderRegistry.registerExistingTypeUrl(exports.SignerInfo.typeUrl)) { return; } exports.ModeInfo.registerTypeUrl(); } }; function createBaseModeInfo() { return { single: undefined, multi: undefined }; } /** * ModeInfo describes the signing mode of a single or nested multisig signer. * @name ModeInfo * @package cosmos.tx.v1beta1 * @see proto type: cosmos.tx.v1beta1.ModeInfo */ exports.ModeInfo = { typeUrl: "/cosmos.tx.v1beta1.ModeInfo", aminoType: "cosmos-sdk/ModeInfo", is(o) { return o && o.$typeUrl === exports.ModeInfo.typeUrl; }, isAmino(o) { return o && o.$typeUrl === exports.ModeInfo.typeUrl; }, encode(message, writer = binary_1.BinaryWriter.create()) { if (message.single !== undefined) { exports.ModeInfo_Single.encode(message.single, writer.uint32(10).fork()).ldelim(); } if (message.multi !== undefined) { exports.ModeInfo_Multi.encode(message.multi, writer.uint32(18).fork()).ldelim(); } return writer; }, decode(input, length) { const reader = input instanceof binary_1.BinaryReader ? input : new binary_1.BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseModeInfo(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.single = exports.ModeInfo_Single.decode(reader, reader.uint32()); break; case 2: message.multi = exports.ModeInfo_Multi.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }, fromPartial(object) { const message = createBaseModeInfo(); message.single = object.single !== undefined && object.single !== null ? exports.ModeInfo_Single.fromPartial(object.single) : undefined; message.multi = object.multi !== undefined && object.multi !== null ? exports.ModeInfo_Multi.fromPartial(object.multi) : undefined; return message; }, fromAmino(object) { const message = createBaseModeInfo(); if (object.single !== undefined && object.single !== null) { message.single = exports.ModeInfo_Single.fromAmino(object.single); } if (object.multi !== undefined && object.multi !== null) { message.multi = exports.ModeInfo_Multi.fromAmino(object.multi); } return message; }, toAmino(message) { const obj = {}; obj.single = message.single ? exports.ModeInfo_Single.toAmino(message.single) : undefined; obj.multi = message.multi ? exports.ModeInfo_Multi.toAmino(message.multi) : undefined; return obj; }, fromAminoMsg(object) { return exports.ModeInfo.fromAmino(object.value); }, toAminoMsg(message) { return { type: "cosmos-sdk/ModeInfo", value: exports.ModeInfo.toAmino(message) }; }, fromProtoMsg(message) { return exports.ModeInfo.decode(message.value); }, toProto(message) { return exports.ModeInfo.encode(message).finish(); }, toProtoMsg(message) { return { typeUrl: "/cosmos.tx.v1beta1.ModeInfo", value: exports.ModeInfo.encode(message).finish() }; }, registerTypeUrl() { if (!registry_1.GlobalDecoderRegistry.registerExistingTypeUrl(exports.ModeInfo.typeUrl)) { return; } exports.ModeInfo_Single.registerTypeUrl(); exports.ModeInfo_Multi.registerTypeUrl(); } }; function createBaseModeInfo_Single() { return { mode: 0 }; } /** * Single is the mode info for a single signer. It is structured as a message * to allow for additional fields such as locale for SIGN_MODE_TEXTUAL in the * future * @name ModeInfo_Single * @package cosmos.tx.v1beta1 * @see proto type: cosmos.tx.v1beta1.Single */ exports.ModeInfo_Single = { typeUrl: "/cosmos.tx.v1beta1.Single", aminoType: "cosmos-sdk/Single", is(o) { return o && (o.$typeUrl === exports.ModeInfo_Single.typeUrl || (0, helpers_1.isSet)(o.mode)); }, isAmino(o) { return o && (o.$typeUrl === exports.ModeInfo_Single.typeUrl || (0, helpers_1.isSet)(o.mode)); }, encode(message, writer = binary_1.BinaryWriter.create()) { if (message.mode !== 0) { writer.uint32(8).int32(message.mode); } return writer; }, decode(input, length) { const reader = input instanceof binary_1.BinaryReader ? input : new binary_1.BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseModeInfo_Single(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.mode = reader.int32(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromPartial(object) { const message = createBaseModeInfo_Single(); message.mode = object.mode ?? 0; return message; }, fromAmino(object) { const message = createBaseModeInfo_Single(); if (object.mode !== undefined && object.mode !== null) { message.mode = object.mode; } return message; }, toAmino(message) { const obj = {}; obj.mode = message.mode === 0 ? undefined : message.mode; return obj; }, fromAminoMsg(object) { return exports.ModeInfo_Single.fromAmino(object.value); }, toAminoMsg(message) { return { type: "cosmos-sdk/Single", value: exports.ModeInfo_Single.toAmino(message) }; }, fromProtoMsg(message) { return exports.ModeInfo_Single.decode(message.value); }, toProto(message) { return exports.ModeInfo_Single.encode(message).finish(); }, toProtoMsg(message) { return { typeUrl: "/cosmos.tx.v1beta1.Single", value: exports.ModeInfo_Single.encode(message).finish() }; }, registerTypeUrl() { } }; function createBaseModeInfo_Multi() { return { bitarray: undefined, modeInfos: [] }; } /** * Multi is the mode info for a multisig public key * @name ModeInfo_Multi * @package cosmos.tx.v1beta1 * @see proto type: cosmos.tx.v1beta1.Multi */ exports.ModeInfo_Multi = { typeUrl: "/cosmos.tx.v1beta1.Multi", aminoType: "cosmos-sdk/Multi", is(o) { return o && (o.$typeUrl === exports.ModeInfo_Multi.typeUrl || Array.isArray(o.modeInfos) && (!o.modeInfos.length || exports.ModeInfo.is(o.modeInfos[0]))); }, isAmino(o) { return o && (o.$typeUrl === exports.ModeInfo_Multi.typeUrl || Array.isArray(o.mode_infos) && (!o.mode_infos.length || exports.ModeInfo.isAmino(o.mode_infos[0]))); }, encode(message, writer = binary_1.BinaryWriter.create()) { if (message.bitarray !== undefined) { multisig_1.CompactBitArray.encode(message.bitarray, writer.uint32(10).fork()).ldelim(); } for (const v of message.modeInfos) { exports.ModeInfo.encode(v, writer.uint32(18).fork()).ldelim(); } return writer; }, decode(input, length) { const reader = input instanceof binary_1.BinaryReader ? input : new binary_1.BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseModeInfo_Multi(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.bitarray = multisig_1.CompactBitArray.decode(reader, reader.uint32()); break; case 2: message.modeInfos.push(exports.ModeInfo.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); break; } } return message; }, fromPartial(object) { const message = createBaseModeInfo_Multi(); message.bitarray = object.bitarray !== undefined && object.bitarray !== null ? multisig_1.CompactBitArray.fromPartial(object.bitarray) : undefined; message.modeInfos = object.modeInfos?.map(e => exports.ModeInfo.fromPartial(e)) || []; return message; }, fromAmino(object) { const message = createBaseModeInfo_Multi(); if (object.bitarray !== undefined && object.bitarray !== null) { message.bitarray = multisig_1.CompactBitArray.fromAmino(object.bitarray); } message.modeInfos = object.mode_infos?.map(e => exports.ModeInfo.fromAmino(e)) || []; return message; }, toAmino(message) { const obj = {}; obj.bitarray = message.bitarray ? multisig_1.CompactBitArray.toAmino(message.bitarray) : undefined; if (message.modeInfos) { obj.mode_infos = message.modeInfos.map(e => e ? exports.ModeInfo.toAmino(e) : undefined); } else { obj.mode_infos = message.modeInfos; } return obj; }, fromAminoMsg(object) { return exports.ModeInfo_Multi.fromAmino(object.value); }, toAminoMsg(message) { return { type: "cosmos-sdk/Multi", value: exports.ModeInfo_Multi.toAmino(message) }; }, fromProtoMsg(message) { return exports.ModeInfo_Multi.decode(message.value); }, toProto(message) { return exports.ModeInfo_Multi.encode(message).finish(); }, toProtoMsg(message) { return { typeUrl: "/cosmos.tx.v1beta1.Multi", value: exports.ModeInfo_Multi.encode(message).finish() }; }, registerTypeUrl() { if (!registry_1.GlobalDecoderRegistry.registerExistingTypeUrl(exports.ModeInfo_Multi.typeUrl)) { return; } multisig_1.CompactBitArray.registerTypeUrl(); exports.ModeInfo.registerTypeUrl(); } }; function createBaseFee() { return { amount: [], gasLimit: BigInt(0), payer: "", granter: "" }; } /** * Fee includes the amount of coins paid in fees and the maximum * gas to be used by the transaction. The ratio yields an effective "gasprice", * which must be above some miminum to be accepted into the mempool. * @name Fee * @package cosmos.tx.v1beta1 * @see proto type: cosmos.tx.v1beta1.Fee */ exports.Fee = { typeUrl: "/cosmos.tx.v1beta1.Fee", aminoType: "cosmos-sdk/Fee", is(o) { return o && (o.$typeUrl === exports.Fee.typeUrl || Array.isArray(o.amount) && (!o.amount.length || coin_1.Coin.is(o.amount[0])) && typeof o.gasLimit === "bigint" && typeof o.payer === "string" && typeof o.granter === "string"); }, isAmino(o) { return o && (o.$typeUrl === exports.Fee.typeUrl || Array.isArray(o.amount) && (!o.amount.length || coin_1.Coin.isAmino(o.amount[0])) && typeof o.gas_limit === "bigint" && typeof o.payer === "string" && typeof o.granter === "string"); }, encode(message, writer = binary_1.BinaryWriter.create()) { for (const v of message.amount) { coin_1.Coin.encode(v, writer.uint32(10).fork()).ldelim(); } if (message.gasLimit !== BigInt(0)) { writer.uint32(16).uint64(message.gasLimit); } if (message.payer !== "") { writer.uint32(26).string(message.payer); } if (message.granter !== "") { writer.uint32(34).string(message.granter); } return writer; }, decode(input, length) { const reader = input instanceof binary_1.BinaryReader ? input : new binary_1.BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseFee(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.amount.push(coin_1.Coin.decode(reader, reader.uint32())); break; case 2: message.gasLimit = reader.uint64(); break; case 3: message.payer = reader.string(); break; case 4: message.granter = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromPartial(object) { const message = createBaseFee(); message.amount = object.amount?.map(e => coin_1.Coin.fromPartial(e)) || []; message.gasLimit = object.gasLimit !== undefined && object.gasLimit !== null ? BigInt(object.gasLimit.toString()) : BigInt(0); message.payer = object.payer ?? ""; message.granter = object.granter ?? ""; return message; }, fromAmino(object) { const message = createBaseFee(); message.amount = object.amount?.map(e => coin_1.Coin.fromAmino(e)) || []; if (object.gas_limit !== undefined && object.gas_limit !== null) { message.gasLimit = BigInt(object.gas_limit); } if (object.payer !== undefined && object.payer !== null) { message.payer = object.payer; } if (object.granter !== undefined && object.granter !== null) { message.granter = object.granter; }