UNPKG

interchainjs

Version:

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

1,202 lines 73 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.NextSequenceRecvData = exports.PacketReceiptAbsenceData = exports.PacketAcknowledgementData = exports.PacketCommitmentData = exports.ChannelStateData = exports.ConnectionStateData = exports.ConsensusStateData = exports.ClientStateData = exports.HeaderData = exports.SignBytes = exports.TimestampedSignatureData = exports.SignatureAndData = exports.Misbehaviour = exports.Header = exports.ConsensusState = exports.ClientState = exports.DataTypeAmino = exports.DataType = void 0; exports.dataTypeFromJSON = dataTypeFromJSON; exports.dataTypeToJSON = dataTypeToJSON; const any_1 = require("../../../../google/protobuf/any"); const connection_1 = require("../../../core/connection/v1/connection"); const channel_1 = require("../../../core/channel/v1/channel"); const binary_1 = require("../../../../binary"); const registry_1 = require("../../../../registry"); const helpers_1 = require("../../../../helpers"); /** * DataType defines the type of solo machine proof being created. This is done * to preserve uniqueness of different data sign byte encodings. */ var DataType; (function (DataType) { /** DATA_TYPE_UNINITIALIZED_UNSPECIFIED - Default State */ DataType[DataType["DATA_TYPE_UNINITIALIZED_UNSPECIFIED"] = 0] = "DATA_TYPE_UNINITIALIZED_UNSPECIFIED"; /** DATA_TYPE_CLIENT_STATE - Data type for client state verification */ DataType[DataType["DATA_TYPE_CLIENT_STATE"] = 1] = "DATA_TYPE_CLIENT_STATE"; /** DATA_TYPE_CONSENSUS_STATE - Data type for consensus state verification */ DataType[DataType["DATA_TYPE_CONSENSUS_STATE"] = 2] = "DATA_TYPE_CONSENSUS_STATE"; /** DATA_TYPE_CONNECTION_STATE - Data type for connection state verification */ DataType[DataType["DATA_TYPE_CONNECTION_STATE"] = 3] = "DATA_TYPE_CONNECTION_STATE"; /** DATA_TYPE_CHANNEL_STATE - Data type for channel state verification */ DataType[DataType["DATA_TYPE_CHANNEL_STATE"] = 4] = "DATA_TYPE_CHANNEL_STATE"; /** DATA_TYPE_PACKET_COMMITMENT - Data type for packet commitment verification */ DataType[DataType["DATA_TYPE_PACKET_COMMITMENT"] = 5] = "DATA_TYPE_PACKET_COMMITMENT"; /** DATA_TYPE_PACKET_ACKNOWLEDGEMENT - Data type for packet acknowledgement verification */ DataType[DataType["DATA_TYPE_PACKET_ACKNOWLEDGEMENT"] = 6] = "DATA_TYPE_PACKET_ACKNOWLEDGEMENT"; /** DATA_TYPE_PACKET_RECEIPT_ABSENCE - Data type for packet receipt absence verification */ DataType[DataType["DATA_TYPE_PACKET_RECEIPT_ABSENCE"] = 7] = "DATA_TYPE_PACKET_RECEIPT_ABSENCE"; /** DATA_TYPE_NEXT_SEQUENCE_RECV - Data type for next sequence recv verification */ DataType[DataType["DATA_TYPE_NEXT_SEQUENCE_RECV"] = 8] = "DATA_TYPE_NEXT_SEQUENCE_RECV"; /** DATA_TYPE_HEADER - Data type for header verification */ DataType[DataType["DATA_TYPE_HEADER"] = 9] = "DATA_TYPE_HEADER"; DataType[DataType["UNRECOGNIZED"] = -1] = "UNRECOGNIZED"; })(DataType || (exports.DataType = DataType = {})); exports.DataTypeAmino = DataType; function dataTypeFromJSON(object) { switch (object) { case 0: case "DATA_TYPE_UNINITIALIZED_UNSPECIFIED": return DataType.DATA_TYPE_UNINITIALIZED_UNSPECIFIED; case 1: case "DATA_TYPE_CLIENT_STATE": return DataType.DATA_TYPE_CLIENT_STATE; case 2: case "DATA_TYPE_CONSENSUS_STATE": return DataType.DATA_TYPE_CONSENSUS_STATE; case 3: case "DATA_TYPE_CONNECTION_STATE": return DataType.DATA_TYPE_CONNECTION_STATE; case 4: case "DATA_TYPE_CHANNEL_STATE": return DataType.DATA_TYPE_CHANNEL_STATE; case 5: case "DATA_TYPE_PACKET_COMMITMENT": return DataType.DATA_TYPE_PACKET_COMMITMENT; case 6: case "DATA_TYPE_PACKET_ACKNOWLEDGEMENT": return DataType.DATA_TYPE_PACKET_ACKNOWLEDGEMENT; case 7: case "DATA_TYPE_PACKET_RECEIPT_ABSENCE": return DataType.DATA_TYPE_PACKET_RECEIPT_ABSENCE; case 8: case "DATA_TYPE_NEXT_SEQUENCE_RECV": return DataType.DATA_TYPE_NEXT_SEQUENCE_RECV; case 9: case "DATA_TYPE_HEADER": return DataType.DATA_TYPE_HEADER; case -1: case "UNRECOGNIZED": default: return DataType.UNRECOGNIZED; } } function dataTypeToJSON(object) { switch (object) { case DataType.DATA_TYPE_UNINITIALIZED_UNSPECIFIED: return "DATA_TYPE_UNINITIALIZED_UNSPECIFIED"; case DataType.DATA_TYPE_CLIENT_STATE: return "DATA_TYPE_CLIENT_STATE"; case DataType.DATA_TYPE_CONSENSUS_STATE: return "DATA_TYPE_CONSENSUS_STATE"; case DataType.DATA_TYPE_CONNECTION_STATE: return "DATA_TYPE_CONNECTION_STATE"; case DataType.DATA_TYPE_CHANNEL_STATE: return "DATA_TYPE_CHANNEL_STATE"; case DataType.DATA_TYPE_PACKET_COMMITMENT: return "DATA_TYPE_PACKET_COMMITMENT"; case DataType.DATA_TYPE_PACKET_ACKNOWLEDGEMENT: return "DATA_TYPE_PACKET_ACKNOWLEDGEMENT"; case DataType.DATA_TYPE_PACKET_RECEIPT_ABSENCE: return "DATA_TYPE_PACKET_RECEIPT_ABSENCE"; case DataType.DATA_TYPE_NEXT_SEQUENCE_RECV: return "DATA_TYPE_NEXT_SEQUENCE_RECV"; case DataType.DATA_TYPE_HEADER: return "DATA_TYPE_HEADER"; case DataType.UNRECOGNIZED: default: return "UNRECOGNIZED"; } } function createBaseClientState() { return { sequence: BigInt(0), isFrozen: false, consensusState: undefined, allowUpdateAfterProposal: false }; } /** * ClientState defines a solo machine client that tracks the current consensus * state and if the client is frozen. * @name ClientState * @package ibc.lightclients.solomachine.v2 * @see proto type: ibc.lightclients.solomachine.v2.ClientState */ exports.ClientState = { typeUrl: "/ibc.lightclients.solomachine.v2.ClientState", aminoType: "cosmos-sdk/ClientState", is(o) { return o && (o.$typeUrl === exports.ClientState.typeUrl || typeof o.sequence === "bigint" && typeof o.isFrozen === "boolean" && typeof o.allowUpdateAfterProposal === "boolean"); }, isAmino(o) { return o && (o.$typeUrl === exports.ClientState.typeUrl || typeof o.sequence === "bigint" && typeof o.is_frozen === "boolean" && typeof o.allow_update_after_proposal === "boolean"); }, encode(message, writer = binary_1.BinaryWriter.create()) { if (message.sequence !== BigInt(0)) { writer.uint32(8).uint64(message.sequence); } if (message.isFrozen === true) { writer.uint32(16).bool(message.isFrozen); } if (message.consensusState !== undefined) { exports.ConsensusState.encode(message.consensusState, writer.uint32(26).fork()).ldelim(); } if (message.allowUpdateAfterProposal === true) { writer.uint32(32).bool(message.allowUpdateAfterProposal); } 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 = createBaseClientState(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.sequence = reader.uint64(); break; case 2: message.isFrozen = reader.bool(); break; case 3: message.consensusState = exports.ConsensusState.decode(reader, reader.uint32()); break; case 4: message.allowUpdateAfterProposal = reader.bool(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromPartial(object) { const message = createBaseClientState(); message.sequence = object.sequence !== undefined && object.sequence !== null ? BigInt(object.sequence.toString()) : BigInt(0); message.isFrozen = object.isFrozen ?? false; message.consensusState = object.consensusState !== undefined && object.consensusState !== null ? exports.ConsensusState.fromPartial(object.consensusState) : undefined; message.allowUpdateAfterProposal = object.allowUpdateAfterProposal ?? false; return message; }, fromAmino(object) { const message = createBaseClientState(); if (object.sequence !== undefined && object.sequence !== null) { message.sequence = BigInt(object.sequence); } if (object.is_frozen !== undefined && object.is_frozen !== null) { message.isFrozen = object.is_frozen; } if (object.consensus_state !== undefined && object.consensus_state !== null) { message.consensusState = exports.ConsensusState.fromAmino(object.consensus_state); } if (object.allow_update_after_proposal !== undefined && object.allow_update_after_proposal !== null) { message.allowUpdateAfterProposal = object.allow_update_after_proposal; } return message; }, toAmino(message) { const obj = {}; obj.sequence = message.sequence !== BigInt(0) ? message.sequence?.toString() : undefined; obj.is_frozen = message.isFrozen === false ? undefined : message.isFrozen; obj.consensus_state = message.consensusState ? exports.ConsensusState.toAmino(message.consensusState) : undefined; obj.allow_update_after_proposal = message.allowUpdateAfterProposal === false ? undefined : message.allowUpdateAfterProposal; return obj; }, fromAminoMsg(object) { return exports.ClientState.fromAmino(object.value); }, toAminoMsg(message) { return { type: "cosmos-sdk/ClientState", value: exports.ClientState.toAmino(message) }; }, fromProtoMsg(message) { return exports.ClientState.decode(message.value); }, toProto(message) { return exports.ClientState.encode(message).finish(); }, toProtoMsg(message) { return { typeUrl: "/ibc.lightclients.solomachine.v2.ClientState", value: exports.ClientState.encode(message).finish() }; }, registerTypeUrl() { if (!registry_1.GlobalDecoderRegistry.registerExistingTypeUrl(exports.ClientState.typeUrl)) { return; } exports.ConsensusState.registerTypeUrl(); } }; function createBaseConsensusState() { return { publicKey: undefined, diversifier: "", timestamp: BigInt(0) }; } /** * ConsensusState defines a solo machine consensus state. The sequence of a * consensus state is contained in the "height" key used in storing the * consensus state. * @name ConsensusState * @package ibc.lightclients.solomachine.v2 * @see proto type: ibc.lightclients.solomachine.v2.ConsensusState */ exports.ConsensusState = { typeUrl: "/ibc.lightclients.solomachine.v2.ConsensusState", aminoType: "cosmos-sdk/ConsensusState", is(o) { return o && (o.$typeUrl === exports.ConsensusState.typeUrl || typeof o.diversifier === "string" && typeof o.timestamp === "bigint"); }, isAmino(o) { return o && (o.$typeUrl === exports.ConsensusState.typeUrl || typeof o.diversifier === "string" && typeof o.timestamp === "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.diversifier !== "") { writer.uint32(18).string(message.diversifier); } if (message.timestamp !== BigInt(0)) { writer.uint32(24).uint64(message.timestamp); } 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 = createBaseConsensusState(); 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.diversifier = reader.string(); break; case 3: message.timestamp = reader.uint64(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromPartial(object) { const message = createBaseConsensusState(); message.publicKey = object.publicKey !== undefined && object.publicKey !== null ? any_1.Any.fromPartial(object.publicKey) : undefined; message.diversifier = object.diversifier ?? ""; message.timestamp = object.timestamp !== undefined && object.timestamp !== null ? BigInt(object.timestamp.toString()) : BigInt(0); return message; }, fromAmino(object) { const message = createBaseConsensusState(); if (object.public_key !== undefined && object.public_key !== null) { message.publicKey = any_1.Any.fromAmino(object.public_key); } if (object.diversifier !== undefined && object.diversifier !== null) { message.diversifier = object.diversifier; } if (object.timestamp !== undefined && object.timestamp !== null) { message.timestamp = BigInt(object.timestamp); } return message; }, toAmino(message) { const obj = {}; obj.public_key = message.publicKey ? any_1.Any.toAmino(message.publicKey) : undefined; obj.diversifier = message.diversifier === "" ? undefined : message.diversifier; obj.timestamp = message.timestamp !== BigInt(0) ? message.timestamp?.toString() : undefined; return obj; }, fromAminoMsg(object) { return exports.ConsensusState.fromAmino(object.value); }, toAminoMsg(message) { return { type: "cosmos-sdk/ConsensusState", value: exports.ConsensusState.toAmino(message) }; }, fromProtoMsg(message) { return exports.ConsensusState.decode(message.value); }, toProto(message) { return exports.ConsensusState.encode(message).finish(); }, toProtoMsg(message) { return { typeUrl: "/ibc.lightclients.solomachine.v2.ConsensusState", value: exports.ConsensusState.encode(message).finish() }; }, registerTypeUrl() { } }; function createBaseHeader() { return { sequence: BigInt(0), timestamp: BigInt(0), signature: new Uint8Array(), newPublicKey: undefined, newDiversifier: "" }; } /** * Header defines a solo machine consensus header * @name Header * @package ibc.lightclients.solomachine.v2 * @see proto type: ibc.lightclients.solomachine.v2.Header */ exports.Header = { typeUrl: "/ibc.lightclients.solomachine.v2.Header", aminoType: "cosmos-sdk/Header", is(o) { return o && (o.$typeUrl === exports.Header.typeUrl || typeof o.sequence === "bigint" && typeof o.timestamp === "bigint" && (o.signature instanceof Uint8Array || typeof o.signature === "string") && typeof o.newDiversifier === "string"); }, isAmino(o) { return o && (o.$typeUrl === exports.Header.typeUrl || typeof o.sequence === "bigint" && typeof o.timestamp === "bigint" && (o.signature instanceof Uint8Array || typeof o.signature === "string") && typeof o.new_diversifier === "string"); }, encode(message, writer = binary_1.BinaryWriter.create()) { if (message.sequence !== BigInt(0)) { writer.uint32(8).uint64(message.sequence); } if (message.timestamp !== BigInt(0)) { writer.uint32(16).uint64(message.timestamp); } if (message.signature.length !== 0) { writer.uint32(26).bytes(message.signature); } if (message.newPublicKey !== undefined) { any_1.Any.encode(message.newPublicKey, writer.uint32(34).fork()).ldelim(); } if (message.newDiversifier !== "") { writer.uint32(42).string(message.newDiversifier); } 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 = createBaseHeader(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.sequence = reader.uint64(); break; case 2: message.timestamp = reader.uint64(); break; case 3: message.signature = reader.bytes(); break; case 4: message.newPublicKey = any_1.Any.decode(reader, reader.uint32()); break; case 5: message.newDiversifier = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromPartial(object) { const message = createBaseHeader(); message.sequence = object.sequence !== undefined && object.sequence !== null ? BigInt(object.sequence.toString()) : BigInt(0); message.timestamp = object.timestamp !== undefined && object.timestamp !== null ? BigInt(object.timestamp.toString()) : BigInt(0); message.signature = object.signature ?? new Uint8Array(); message.newPublicKey = object.newPublicKey !== undefined && object.newPublicKey !== null ? any_1.Any.fromPartial(object.newPublicKey) : undefined; message.newDiversifier = object.newDiversifier ?? ""; return message; }, fromAmino(object) { const message = createBaseHeader(); if (object.sequence !== undefined && object.sequence !== null) { message.sequence = BigInt(object.sequence); } if (object.timestamp !== undefined && object.timestamp !== null) { message.timestamp = BigInt(object.timestamp); } if (object.signature !== undefined && object.signature !== null) { message.signature = (0, helpers_1.bytesFromBase64)(object.signature); } if (object.new_public_key !== undefined && object.new_public_key !== null) { message.newPublicKey = any_1.Any.fromAmino(object.new_public_key); } if (object.new_diversifier !== undefined && object.new_diversifier !== null) { message.newDiversifier = object.new_diversifier; } return message; }, toAmino(message) { const obj = {}; obj.sequence = message.sequence !== BigInt(0) ? message.sequence?.toString() : undefined; obj.timestamp = message.timestamp !== BigInt(0) ? message.timestamp?.toString() : undefined; obj.signature = message.signature ? (0, helpers_1.base64FromBytes)(message.signature) : undefined; obj.new_public_key = message.newPublicKey ? any_1.Any.toAmino(message.newPublicKey) : undefined; obj.new_diversifier = message.newDiversifier === "" ? undefined : message.newDiversifier; return obj; }, fromAminoMsg(object) { return exports.Header.fromAmino(object.value); }, toAminoMsg(message) { return { type: "cosmos-sdk/Header", value: exports.Header.toAmino(message) }; }, fromProtoMsg(message) { return exports.Header.decode(message.value); }, toProto(message) { return exports.Header.encode(message).finish(); }, toProtoMsg(message) { return { typeUrl: "/ibc.lightclients.solomachine.v2.Header", value: exports.Header.encode(message).finish() }; }, registerTypeUrl() { } }; function createBaseMisbehaviour() { return { clientId: "", sequence: BigInt(0), signatureOne: undefined, signatureTwo: undefined }; } /** * Misbehaviour defines misbehaviour for a solo machine which consists * of a sequence and two signatures over different messages at that sequence. * @name Misbehaviour * @package ibc.lightclients.solomachine.v2 * @see proto type: ibc.lightclients.solomachine.v2.Misbehaviour */ exports.Misbehaviour = { typeUrl: "/ibc.lightclients.solomachine.v2.Misbehaviour", aminoType: "cosmos-sdk/Misbehaviour", is(o) { return o && (o.$typeUrl === exports.Misbehaviour.typeUrl || typeof o.clientId === "string" && typeof o.sequence === "bigint"); }, isAmino(o) { return o && (o.$typeUrl === exports.Misbehaviour.typeUrl || typeof o.client_id === "string" && typeof o.sequence === "bigint"); }, encode(message, writer = binary_1.BinaryWriter.create()) { if (message.clientId !== "") { writer.uint32(10).string(message.clientId); } if (message.sequence !== BigInt(0)) { writer.uint32(16).uint64(message.sequence); } if (message.signatureOne !== undefined) { exports.SignatureAndData.encode(message.signatureOne, writer.uint32(26).fork()).ldelim(); } if (message.signatureTwo !== undefined) { exports.SignatureAndData.encode(message.signatureTwo, writer.uint32(34).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 = createBaseMisbehaviour(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.clientId = reader.string(); break; case 2: message.sequence = reader.uint64(); break; case 3: message.signatureOne = exports.SignatureAndData.decode(reader, reader.uint32()); break; case 4: message.signatureTwo = exports.SignatureAndData.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }, fromPartial(object) { const message = createBaseMisbehaviour(); message.clientId = object.clientId ?? ""; message.sequence = object.sequence !== undefined && object.sequence !== null ? BigInt(object.sequence.toString()) : BigInt(0); message.signatureOne = object.signatureOne !== undefined && object.signatureOne !== null ? exports.SignatureAndData.fromPartial(object.signatureOne) : undefined; message.signatureTwo = object.signatureTwo !== undefined && object.signatureTwo !== null ? exports.SignatureAndData.fromPartial(object.signatureTwo) : undefined; return message; }, fromAmino(object) { const message = createBaseMisbehaviour(); if (object.client_id !== undefined && object.client_id !== null) { message.clientId = object.client_id; } if (object.sequence !== undefined && object.sequence !== null) { message.sequence = BigInt(object.sequence); } if (object.signature_one !== undefined && object.signature_one !== null) { message.signatureOne = exports.SignatureAndData.fromAmino(object.signature_one); } if (object.signature_two !== undefined && object.signature_two !== null) { message.signatureTwo = exports.SignatureAndData.fromAmino(object.signature_two); } return message; }, toAmino(message) { const obj = {}; obj.client_id = message.clientId === "" ? undefined : message.clientId; obj.sequence = message.sequence !== BigInt(0) ? message.sequence?.toString() : undefined; obj.signature_one = message.signatureOne ? exports.SignatureAndData.toAmino(message.signatureOne) : undefined; obj.signature_two = message.signatureTwo ? exports.SignatureAndData.toAmino(message.signatureTwo) : undefined; return obj; }, fromAminoMsg(object) { return exports.Misbehaviour.fromAmino(object.value); }, toAminoMsg(message) { return { type: "cosmos-sdk/Misbehaviour", value: exports.Misbehaviour.toAmino(message) }; }, fromProtoMsg(message) { return exports.Misbehaviour.decode(message.value); }, toProto(message) { return exports.Misbehaviour.encode(message).finish(); }, toProtoMsg(message) { return { typeUrl: "/ibc.lightclients.solomachine.v2.Misbehaviour", value: exports.Misbehaviour.encode(message).finish() }; }, registerTypeUrl() { if (!registry_1.GlobalDecoderRegistry.registerExistingTypeUrl(exports.Misbehaviour.typeUrl)) { return; } exports.SignatureAndData.registerTypeUrl(); } }; function createBaseSignatureAndData() { return { signature: new Uint8Array(), dataType: 0, data: new Uint8Array(), timestamp: BigInt(0) }; } /** * SignatureAndData contains a signature and the data signed over to create that * signature. * @name SignatureAndData * @package ibc.lightclients.solomachine.v2 * @see proto type: ibc.lightclients.solomachine.v2.SignatureAndData */ exports.SignatureAndData = { typeUrl: "/ibc.lightclients.solomachine.v2.SignatureAndData", aminoType: "cosmos-sdk/SignatureAndData", is(o) { return o && (o.$typeUrl === exports.SignatureAndData.typeUrl || (o.signature instanceof Uint8Array || typeof o.signature === "string") && (0, helpers_1.isSet)(o.dataType) && (o.data instanceof Uint8Array || typeof o.data === "string") && typeof o.timestamp === "bigint"); }, isAmino(o) { return o && (o.$typeUrl === exports.SignatureAndData.typeUrl || (o.signature instanceof Uint8Array || typeof o.signature === "string") && (0, helpers_1.isSet)(o.data_type) && (o.data instanceof Uint8Array || typeof o.data === "string") && typeof o.timestamp === "bigint"); }, encode(message, writer = binary_1.BinaryWriter.create()) { if (message.signature.length !== 0) { writer.uint32(10).bytes(message.signature); } if (message.dataType !== 0) { writer.uint32(16).int32(message.dataType); } if (message.data.length !== 0) { writer.uint32(26).bytes(message.data); } if (message.timestamp !== BigInt(0)) { writer.uint32(32).uint64(message.timestamp); } 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 = createBaseSignatureAndData(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.signature = reader.bytes(); break; case 2: message.dataType = reader.int32(); break; case 3: message.data = reader.bytes(); break; case 4: message.timestamp = reader.uint64(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromPartial(object) { const message = createBaseSignatureAndData(); message.signature = object.signature ?? new Uint8Array(); message.dataType = object.dataType ?? 0; message.data = object.data ?? new Uint8Array(); message.timestamp = object.timestamp !== undefined && object.timestamp !== null ? BigInt(object.timestamp.toString()) : BigInt(0); return message; }, fromAmino(object) { const message = createBaseSignatureAndData(); if (object.signature !== undefined && object.signature !== null) { message.signature = (0, helpers_1.bytesFromBase64)(object.signature); } if (object.data_type !== undefined && object.data_type !== null) { message.dataType = object.data_type; } if (object.data !== undefined && object.data !== null) { message.data = (0, helpers_1.bytesFromBase64)(object.data); } if (object.timestamp !== undefined && object.timestamp !== null) { message.timestamp = BigInt(object.timestamp); } return message; }, toAmino(message) { const obj = {}; obj.signature = message.signature ? (0, helpers_1.base64FromBytes)(message.signature) : undefined; obj.data_type = message.dataType === 0 ? undefined : message.dataType; obj.data = message.data ? (0, helpers_1.base64FromBytes)(message.data) : undefined; obj.timestamp = message.timestamp !== BigInt(0) ? message.timestamp?.toString() : undefined; return obj; }, fromAminoMsg(object) { return exports.SignatureAndData.fromAmino(object.value); }, toAminoMsg(message) { return { type: "cosmos-sdk/SignatureAndData", value: exports.SignatureAndData.toAmino(message) }; }, fromProtoMsg(message) { return exports.SignatureAndData.decode(message.value); }, toProto(message) { return exports.SignatureAndData.encode(message).finish(); }, toProtoMsg(message) { return { typeUrl: "/ibc.lightclients.solomachine.v2.SignatureAndData", value: exports.SignatureAndData.encode(message).finish() }; }, registerTypeUrl() { } }; function createBaseTimestampedSignatureData() { return { signatureData: new Uint8Array(), timestamp: BigInt(0) }; } /** * TimestampedSignatureData contains the signature data and the timestamp of the * signature. * @name TimestampedSignatureData * @package ibc.lightclients.solomachine.v2 * @see proto type: ibc.lightclients.solomachine.v2.TimestampedSignatureData */ exports.TimestampedSignatureData = { typeUrl: "/ibc.lightclients.solomachine.v2.TimestampedSignatureData", aminoType: "cosmos-sdk/TimestampedSignatureData", is(o) { return o && (o.$typeUrl === exports.TimestampedSignatureData.typeUrl || (o.signatureData instanceof Uint8Array || typeof o.signatureData === "string") && typeof o.timestamp === "bigint"); }, isAmino(o) { return o && (o.$typeUrl === exports.TimestampedSignatureData.typeUrl || (o.signature_data instanceof Uint8Array || typeof o.signature_data === "string") && typeof o.timestamp === "bigint"); }, encode(message, writer = binary_1.BinaryWriter.create()) { if (message.signatureData.length !== 0) { writer.uint32(10).bytes(message.signatureData); } if (message.timestamp !== BigInt(0)) { writer.uint32(16).uint64(message.timestamp); } 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 = createBaseTimestampedSignatureData(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.signatureData = reader.bytes(); break; case 2: message.timestamp = reader.uint64(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromPartial(object) { const message = createBaseTimestampedSignatureData(); message.signatureData = object.signatureData ?? new Uint8Array(); message.timestamp = object.timestamp !== undefined && object.timestamp !== null ? BigInt(object.timestamp.toString()) : BigInt(0); return message; }, fromAmino(object) { const message = createBaseTimestampedSignatureData(); if (object.signature_data !== undefined && object.signature_data !== null) { message.signatureData = (0, helpers_1.bytesFromBase64)(object.signature_data); } if (object.timestamp !== undefined && object.timestamp !== null) { message.timestamp = BigInt(object.timestamp); } return message; }, toAmino(message) { const obj = {}; obj.signature_data = message.signatureData ? (0, helpers_1.base64FromBytes)(message.signatureData) : undefined; obj.timestamp = message.timestamp !== BigInt(0) ? message.timestamp?.toString() : undefined; return obj; }, fromAminoMsg(object) { return exports.TimestampedSignatureData.fromAmino(object.value); }, toAminoMsg(message) { return { type: "cosmos-sdk/TimestampedSignatureData", value: exports.TimestampedSignatureData.toAmino(message) }; }, fromProtoMsg(message) { return exports.TimestampedSignatureData.decode(message.value); }, toProto(message) { return exports.TimestampedSignatureData.encode(message).finish(); }, toProtoMsg(message) { return { typeUrl: "/ibc.lightclients.solomachine.v2.TimestampedSignatureData", value: exports.TimestampedSignatureData.encode(message).finish() }; }, registerTypeUrl() { } }; function createBaseSignBytes() { return { sequence: BigInt(0), timestamp: BigInt(0), diversifier: "", dataType: 0, data: new Uint8Array() }; } /** * SignBytes defines the signed bytes used for signature verification. * @name SignBytes * @package ibc.lightclients.solomachine.v2 * @see proto type: ibc.lightclients.solomachine.v2.SignBytes */ exports.SignBytes = { typeUrl: "/ibc.lightclients.solomachine.v2.SignBytes", aminoType: "cosmos-sdk/SignBytes", is(o) { return o && (o.$typeUrl === exports.SignBytes.typeUrl || typeof o.sequence === "bigint" && typeof o.timestamp === "bigint" && typeof o.diversifier === "string" && (0, helpers_1.isSet)(o.dataType) && (o.data instanceof Uint8Array || typeof o.data === "string")); }, isAmino(o) { return o && (o.$typeUrl === exports.SignBytes.typeUrl || typeof o.sequence === "bigint" && typeof o.timestamp === "bigint" && typeof o.diversifier === "string" && (0, helpers_1.isSet)(o.data_type) && (o.data instanceof Uint8Array || typeof o.data === "string")); }, encode(message, writer = binary_1.BinaryWriter.create()) { if (message.sequence !== BigInt(0)) { writer.uint32(8).uint64(message.sequence); } if (message.timestamp !== BigInt(0)) { writer.uint32(16).uint64(message.timestamp); } if (message.diversifier !== "") { writer.uint32(26).string(message.diversifier); } if (message.dataType !== 0) { writer.uint32(32).int32(message.dataType); } if (message.data.length !== 0) { writer.uint32(42).bytes(message.data); } 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 = createBaseSignBytes(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.sequence = reader.uint64(); break; case 2: message.timestamp = reader.uint64(); break; case 3: message.diversifier = reader.string(); break; case 4: message.dataType = reader.int32(); break; case 5: message.data = reader.bytes(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromPartial(object) { const message = createBaseSignBytes(); message.sequence = object.sequence !== undefined && object.sequence !== null ? BigInt(object.sequence.toString()) : BigInt(0); message.timestamp = object.timestamp !== undefined && object.timestamp !== null ? BigInt(object.timestamp.toString()) : BigInt(0); message.diversifier = object.diversifier ?? ""; message.dataType = object.dataType ?? 0; message.data = object.data ?? new Uint8Array(); return message; }, fromAmino(object) { const message = createBaseSignBytes(); if (object.sequence !== undefined && object.sequence !== null) { message.sequence = BigInt(object.sequence); } if (object.timestamp !== undefined && object.timestamp !== null) { message.timestamp = BigInt(object.timestamp); } if (object.diversifier !== undefined && object.diversifier !== null) { message.diversifier = object.diversifier; } if (object.data_type !== undefined && object.data_type !== null) { message.dataType = object.data_type; } if (object.data !== undefined && object.data !== null) { message.data = (0, helpers_1.bytesFromBase64)(object.data); } return message; }, toAmino(message) { const obj = {}; obj.sequence = message.sequence !== BigInt(0) ? message.sequence?.toString() : undefined; obj.timestamp = message.timestamp !== BigInt(0) ? message.timestamp?.toString() : undefined; obj.diversifier = message.diversifier === "" ? undefined : message.diversifier; obj.data_type = message.dataType === 0 ? undefined : message.dataType; obj.data = message.data ? (0, helpers_1.base64FromBytes)(message.data) : undefined; return obj; }, fromAminoMsg(object) { return exports.SignBytes.fromAmino(object.value); }, toAminoMsg(message) { return { type: "cosmos-sdk/SignBytes", value: exports.SignBytes.toAmino(message) }; }, fromProtoMsg(message) { return exports.SignBytes.decode(message.value); }, toProto(message) { return exports.SignBytes.encode(message).finish(); }, toProtoMsg(message) { return { typeUrl: "/ibc.lightclients.solomachine.v2.SignBytes", value: exports.SignBytes.encode(message).finish() }; }, registerTypeUrl() { } }; function createBaseHeaderData() { return { newPubKey: undefined, newDiversifier: "" }; } /** * HeaderData returns the SignBytes data for update verification. * @name HeaderData * @package ibc.lightclients.solomachine.v2 * @see proto type: ibc.lightclients.solomachine.v2.HeaderData */ exports.HeaderData = { typeUrl: "/ibc.lightclients.solomachine.v2.HeaderData", aminoType: "cosmos-sdk/HeaderData", is(o) { return o && (o.$typeUrl === exports.HeaderData.typeUrl || typeof o.newDiversifier === "string"); }, isAmino(o) { return o && (o.$typeUrl === exports.HeaderData.typeUrl || typeof o.new_diversifier === "string"); }, encode(message, writer = binary_1.BinaryWriter.create()) { if (message.newPubKey !== undefined) { any_1.Any.encode(message.newPubKey, writer.uint32(10).fork()).ldelim(); } if (message.newDiversifier !== "") { writer.uint32(18).string(message.newDiversifier); } 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 = createBaseHeaderData(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.newPubKey = any_1.Any.decode(reader, reader.uint32()); break; case 2: message.newDiversifier = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromPartial(object) { const message = createBaseHeaderData(); message.newPubKey = object.newPubKey !== undefined && object.newPubKey !== null ? any_1.Any.fromPartial(object.newPubKey) : undefined; message.newDiversifier = object.newDiversifier ?? ""; return message; }, fromAmino(object) { const message = createBaseHeaderData(); if (object.new_pub_key !== undefined && object.new_pub_key !== null) { message.newPubKey = any_1.Any.fromAmino(object.new_pub_key); } if (object.new_diversifier !== undefined && object.new_diversifier !== null) { message.newDiversifier = object.new_diversifier; } return message; }, toAmino(message) { const obj = {}; obj.new_pub_key = message.newPubKey ? any_1.Any.toAmino(message.newPubKey) : undefined; obj.new_diversifier = message.newDiversifier === "" ? undefined : message.newDiversifier; return obj; }, fromAminoMsg(object) { return exports.HeaderData.fromAmino(object.value); }, toAminoMsg(message) { return { type: "cosmos-sdk/HeaderData", value: exports.HeaderData.toAmino(message) }; }, fromProtoMsg(message) { return exports.HeaderData.decode(message.value); }, toProto(message) { return exports.HeaderData.encode(message).finish(); }, toProtoMsg(message) { return { typeUrl: "/ibc.lightclients.solomachine.v2.HeaderData", value: exports.HeaderData.encode(message).finish() }; }, registerTypeUrl() { } }; function createBaseClientStateData() { return { path: new Uint8Array(), clientState: undefined }; } /** * ClientStateData returns the SignBytes data for client state verification. * @name ClientStateData * @package ibc.lightclients.solomachine.v2 * @see proto type: ibc.lightclients.solomachine.v2.ClientStateData */ exports.ClientStateData = { typeUrl: "/ibc.lightclients.solomachine.v2.ClientStateData", aminoType: "cosmos-sdk/ClientStateData", is(o) { return o && (o.$typeUrl === exports.ClientStateData.typeUrl || o.path instanceof Uint8Array || typeof o.path === "string"); }, isAmino(o) { return o && (o.$typeUrl === exports.ClientStateData.typeUrl || o.path instanceof Uint8Array || typeof o.path === "string"); }, encode(message, writer = binary_1.BinaryWriter.create()) { if (message.path.length !== 0) { writer.uint32(10).bytes(message.path); } if (message.clientState !== undefined) { any_1.Any.encode(message.clientState, 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 = createBaseClientStateData(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.path = reader.bytes(); break; case 2: message.clientState = any_1.Any.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }, fromPartial(object) { const message = createBaseClientStateData(); message.path = object.path ?? new Uint8Array(); message.clientState = object.clientState !== undefined && object.clientState !== null ? any_1.Any.fromPartial(object.clientState) : undefined; return message; }, fromAmino(object) { const message = createBaseClientStateData(); if (object.path !== undefined && object.path !== null) { message.path = (0, helpers_1.bytesFromBase64)(object.path); } if (object.client_state !== undefined && object.client_state !== null) { message.clientState = any_1.Any.fromAmino(object.client_state); } return message; }, toAmino(message) { const obj = {}; obj.path = message.path ? (0, helpers_1.base64FromBytes)(message.path) : undefined; obj.client_state = message.clientState ? any_1.Any.toAmino(message.clientState) : undefined; return obj; }, fromAminoMsg(object) { return exports.ClientStateData.fromAmino(object.value); }, toAminoMsg(message) { return { type: "cosmos-sdk/ClientStateData", value: exports.ClientStateData.toAmino(message) }; }, fromProtoMsg(message) { return exports.ClientStateData.decode(message.value); }, toProto(message) { return exports.ClientStateData.encode(message).finish(); }, toProtoMsg(message) { return { typeUrl: "/ibc.lightclients.solomachine.v2.ClientStateData", value: exports.ClientStateData.encode(message).finish() }; }, registerTypeUrl() { } }; function createBaseConsensusStateData() { return { path: new Uint8Array(), consensusState: undefined }; } /** * ConsensusStateData returns the SignBytes data for consensus state * verification. * @name ConsensusStateData * @package ibc.lightclients.solomachine.v2 * @see proto type: ibc.lightclients.solomachine.v2.ConsensusStateData */ exports.ConsensusStateData = { typeUrl: "/ibc.lightclients.solomachine.v2.ConsensusStateData", aminoType: "cosmos-sdk/ConsensusStateData", is(o) { return o && (o.$typeUrl === exports.ConsensusStateData.typeUrl || o.path instanceof Uint8Array || typeof o.path === "string"); }, isAmino(o) { return o && (o.$typeUrl === exports.ConsensusStateData.typeUrl || o.path instanceof Uint8Array || typeof o.path === "string"); }, encode(message, writer = binary_1.BinaryWriter.create()) { if (message.path.length !== 0) { writer.uint32(10).bytes(message.path); } if (message.consensusState !== undefined) { any_1.Any.encode(message.consensusState, 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 = createBaseConsensusStateData(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.path = reader.bytes(); break; case 2: message.consensusState = any_1.Any.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }, fromPartial(object) { const message = createBaseConsensusStateData(); message.path = object.path ?? new Uint8Array(); message.consensusState = object.consensusState !== undefined && object.consensusState !== null ? any_1.Any.fromPartial(object.consensusState) : undefined; return message; }, fromAmino(object) { const message = createBaseConsensusStateData(); if (object.path !== undefined && object.path !== null) { message.path = (0, helpers_1.bytesFromBase64)(object.path); } if (object.consensus_state !== undefined && object.consensus_state !== null) { message.consensusState = any_1.Any.fromAmino(object.consensus_state); } return message; }, toAmino(message) { const obj = {}; obj.path = message.path ? (0, helpers_1.base64FromBytes)(message.path) : undefined;