import { Timestamp } from "../../google/protobuf/timestamp"; import { Long, DeepPartial, toTimestamp, fromTimestamp } from "../../helpers"; import * as _m0 from "protobufjs/minimal"; export interface ProtocolVersion { p2p: Long; block: Long; app: Long; } export interface ProtocolVersionSDKType { p2p: Long; block: Long; app: Long; } export interface NodeInfo { protocolVersion?: ProtocolVersion; nodeId: string; listenAddr: string; network: string; version: string; channels: Uint8Array; moniker: string; other?: NodeInfoOther; } export interface NodeInfoSDKType { protocol_version?: ProtocolVersionSDKType; node_id: string; listen_addr: string; network: string; version: string; channels: Uint8Array; moniker: string; other?: NodeInfoOtherSDKType; } export interface NodeInfoOther { txIndex: string; rpcAddress: string; } export interface NodeInfoOtherSDKType { tx_index: string; rpc_address: string; } export interface PeerInfo { id: string; addressInfo: PeerAddressInfo[]; lastConnected?: Date; } export interface PeerInfoSDKType { id: string; address_info: PeerAddressInfoSDKType[]; last_connected?: Date; } export interface PeerAddressInfo { address: string; lastDialSuccess?: Date; lastDialFailure?: Date; dialFailures: number; } export interface PeerAddressInfoSDKType { address: string; last_dial_success?: Date; last_dial_failure?: Date; dial_failures: number; } function createBaseProtocolVersion(): ProtocolVersion { return { p2p: Long.UZERO, block: Long.UZERO, app: Long.UZERO }; } export const ProtocolVersion = { encode(message: ProtocolVersion, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { if (!message.p2p.isZero()) { writer.uint32(8).uint64(message.p2p); } if (!message.block.isZero()) { writer.uint32(16).uint64(message.block); } if (!message.app.isZero()) { writer.uint32(24).uint64(message.app); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): ProtocolVersion { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseProtocolVersion(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.p2p = (reader.uint64() as Long); break; case 2: message.block = (reader.uint64() as Long); break; case 3: message.app = (reader.uint64() as Long); break; default: reader.skipType(tag & 7); break; } } return message; }, fromPartial(object: DeepPartial): ProtocolVersion { const message = createBaseProtocolVersion(); message.p2p = object.p2p !== undefined && object.p2p !== null ? Long.fromValue(object.p2p) : Long.UZERO; message.block = object.block !== undefined && object.block !== null ? Long.fromValue(object.block) : Long.UZERO; message.app = object.app !== undefined && object.app !== null ? Long.fromValue(object.app) : Long.UZERO; return message; } }; function createBaseNodeInfo(): NodeInfo { return { protocolVersion: undefined, nodeId: "", listenAddr: "", network: "", version: "", channels: new Uint8Array(), moniker: "", other: undefined }; } export const NodeInfo = { encode(message: NodeInfo, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { if (message.protocolVersion !== undefined) { ProtocolVersion.encode(message.protocolVersion, writer.uint32(10).fork()).ldelim(); } if (message.nodeId !== "") { writer.uint32(18).string(message.nodeId); } if (message.listenAddr !== "") { writer.uint32(26).string(message.listenAddr); } if (message.network !== "") { writer.uint32(34).string(message.network); } if (message.version !== "") { writer.uint32(42).string(message.version); } if (message.channels.length !== 0) { writer.uint32(50).bytes(message.channels); } if (message.moniker !== "") { writer.uint32(58).string(message.moniker); } if (message.other !== undefined) { NodeInfoOther.encode(message.other, writer.uint32(66).fork()).ldelim(); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): NodeInfo { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseNodeInfo(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.protocolVersion = ProtocolVersion.decode(reader, reader.uint32()); break; case 2: message.nodeId = reader.string(); break; case 3: message.listenAddr = reader.string(); break; case 4: message.network = reader.string(); break; case 5: message.version = reader.string(); break; case 6: message.channels = reader.bytes(); break; case 7: message.moniker = reader.string(); break; case 8: message.other = NodeInfoOther.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }, fromPartial(object: DeepPartial): NodeInfo { const message = createBaseNodeInfo(); message.protocolVersion = object.protocolVersion !== undefined && object.protocolVersion !== null ? ProtocolVersion.fromPartial(object.protocolVersion) : undefined; message.nodeId = object.nodeId ?? ""; message.listenAddr = object.listenAddr ?? ""; message.network = object.network ?? ""; message.version = object.version ?? ""; message.channels = object.channels ?? new Uint8Array(); message.moniker = object.moniker ?? ""; message.other = object.other !== undefined && object.other !== null ? NodeInfoOther.fromPartial(object.other) : undefined; return message; } }; function createBaseNodeInfoOther(): NodeInfoOther { return { txIndex: "", rpcAddress: "" }; } export const NodeInfoOther = { encode(message: NodeInfoOther, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { if (message.txIndex !== "") { writer.uint32(10).string(message.txIndex); } if (message.rpcAddress !== "") { writer.uint32(18).string(message.rpcAddress); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): NodeInfoOther { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseNodeInfoOther(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.txIndex = reader.string(); break; case 2: message.rpcAddress = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromPartial(object: DeepPartial): NodeInfoOther { const message = createBaseNodeInfoOther(); message.txIndex = object.txIndex ?? ""; message.rpcAddress = object.rpcAddress ?? ""; return message; } }; function createBasePeerInfo(): PeerInfo { return { id: "", addressInfo: [], lastConnected: undefined }; } export const PeerInfo = { encode(message: PeerInfo, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { if (message.id !== "") { writer.uint32(10).string(message.id); } for (const v of message.addressInfo) { PeerAddressInfo.encode(v!, writer.uint32(18).fork()).ldelim(); } if (message.lastConnected !== undefined) { Timestamp.encode(toTimestamp(message.lastConnected), writer.uint32(26).fork()).ldelim(); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): PeerInfo { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBasePeerInfo(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.id = reader.string(); break; case 2: message.addressInfo.push(PeerAddressInfo.decode(reader, reader.uint32())); break; case 3: message.lastConnected = fromTimestamp(Timestamp.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); break; } } return message; }, fromPartial(object: DeepPartial): PeerInfo { const message = createBasePeerInfo(); message.id = object.id ?? ""; message.addressInfo = object.addressInfo?.map(e => PeerAddressInfo.fromPartial(e)) || []; message.lastConnected = object.lastConnected ?? undefined; return message; } }; function createBasePeerAddressInfo(): PeerAddressInfo { return { address: "", lastDialSuccess: undefined, lastDialFailure: undefined, dialFailures: 0 }; } export const PeerAddressInfo = { encode(message: PeerAddressInfo, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { if (message.address !== "") { writer.uint32(10).string(message.address); } if (message.lastDialSuccess !== undefined) { Timestamp.encode(toTimestamp(message.lastDialSuccess), writer.uint32(18).fork()).ldelim(); } if (message.lastDialFailure !== undefined) { Timestamp.encode(toTimestamp(message.lastDialFailure), writer.uint32(26).fork()).ldelim(); } if (message.dialFailures !== 0) { writer.uint32(32).uint32(message.dialFailures); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): PeerAddressInfo { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBasePeerAddressInfo(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.address = reader.string(); break; case 2: message.lastDialSuccess = fromTimestamp(Timestamp.decode(reader, reader.uint32())); break; case 3: message.lastDialFailure = fromTimestamp(Timestamp.decode(reader, reader.uint32())); break; case 4: message.dialFailures = reader.uint32(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromPartial(object: DeepPartial): PeerAddressInfo { const message = createBasePeerAddressInfo(); message.address = object.address ?? ""; message.lastDialSuccess = object.lastDialSuccess ?? undefined; message.lastDialFailure = object.lastDialFailure ?? undefined; message.dialFailures = object.dialFailures ?? 0; return message; } };