UNPKG

@neo-one/node-protocol-esnext-esm

Version:

NEO•ONE NEO node and consensus protocol.

58 lines (56 loc) 2.01 kB
import { createSerializeWire } from '@neo-one/client-common-esnext-esm'; import { BinaryReader } from '@neo-one/node-core-esnext-esm'; import BN from 'bn.js'; export const SERVICES = { NODE_NETWORK: new BN(1), }; export class VersionPayload { constructor({ protocolVersion, services, timestamp, port, nonce, userAgent, startHeight, relay, }) { this.serializeWire = createSerializeWire(this.serializeWireBase.bind(this)); this.protocolVersion = protocolVersion; this.services = services; this.timestamp = timestamp; this.port = port; this.nonce = nonce; this.userAgent = userAgent; this.startHeight = startHeight; this.relay = relay; } static deserializeWireBase({ reader }) { const protocolVersion = reader.readUInt32LE(); const services = reader.readUInt64LE(); const timestamp = reader.readUInt32LE(); const port = reader.readUInt16LE(); const nonce = reader.readUInt32LE(); const userAgent = reader.readVarString(1024); const startHeight = reader.readUInt32LE(); const relay = reader.readBoolean(); return new this({ protocolVersion, services, timestamp, port, nonce, userAgent, startHeight, relay, }); } static deserializeWire(options) { return this.deserializeWireBase({ context: options.context, reader: new BinaryReader(options.buffer), }); } serializeWireBase(writer) { writer.writeUInt32LE(this.protocolVersion); writer.writeUInt64LE(this.services); writer.writeUInt32LE(this.timestamp); writer.writeUInt16LE(this.port); writer.writeUInt32LE(this.nonce); writer.writeVarString(this.userAgent); writer.writeUInt32LE(this.startHeight); writer.writeBoolean(this.relay); } } //# sourceMappingURL=VersionPayload.js.map