import * as _m0 from "protobufjs/minimal"; import { bytesFromBase64, base64FromBytes, DeepPartial, isSet } from "@osmonauts/helpers"; /** * MultiSignature wraps the signatures from a multisig.LegacyAminoPubKey. * See cosmos.tx.v1betata1.ModeInfo.Multi for how to specify which signers * signed and with which modes. */ export interface MultiSignature { signatures: Uint8Array[]; } /** * CompactBitArray is an implementation of a space efficient bit array. * This is used to ensure that the encoded data takes up a minimal amount of * space after proto encoding. * This is not thread safe, and is not intended for concurrent usage. */ export interface CompactBitArray { extra_bits_stored: number; elems: Uint8Array; } function createBaseMultiSignature(): MultiSignature { return { signatures: [] }; } export const MultiSignature = { encode(message: MultiSignature, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { for (const v of message.signatures) { writer.uint32(10).bytes(v!); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): MultiSignature { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseMultiSignature(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.signatures.push(reader.bytes()); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): MultiSignature { return { signatures: Array.isArray(object?.signatures) ? object.signatures.map((e: any) => bytesFromBase64(e)) : [] }; }, toJSON(message: MultiSignature): unknown { const obj: any = {}; if (message.signatures) { obj.signatures = message.signatures.map(e => base64FromBytes(e !== undefined ? e : new Uint8Array())); } else { obj.signatures = []; } return obj; }, fromPartial(object: DeepPartial): MultiSignature { const message = createBaseMultiSignature(); message.signatures = object.signatures?.map(e => e) || []; return message; } }; function createBaseCompactBitArray(): CompactBitArray { return { extra_bits_stored: 0, elems: new Uint8Array() }; } export const CompactBitArray = { encode(message: CompactBitArray, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { if (message.extra_bits_stored !== 0) { writer.uint32(8).uint32(message.extra_bits_stored); } if (message.elems.length !== 0) { writer.uint32(18).bytes(message.elems); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): CompactBitArray { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseCompactBitArray(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.extra_bits_stored = reader.uint32(); break; case 2: message.elems = reader.bytes(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): CompactBitArray { return { extra_bits_stored: isSet(object.extra_bits_stored) ? Number(object.extra_bits_stored) : 0, elems: isSet(object.elems) ? bytesFromBase64(object.elems) : new Uint8Array() }; }, toJSON(message: CompactBitArray): unknown { const obj: any = {}; message.extra_bits_stored !== undefined && (obj.extra_bits_stored = Math.round(message.extra_bits_stored)); message.elems !== undefined && (obj.elems = base64FromBytes(message.elems !== undefined ? message.elems : new Uint8Array())); return obj; }, fromPartial(object: DeepPartial): CompactBitArray { const message = createBaseCompactBitArray(); message.extra_bits_stored = object.extra_bits_stored ?? 0; message.elems = object.elems ?? new Uint8Array(); return message; } };