UNPKG

@neo-one/node-protocol

Version:

NEO•ONE NEO node and consensus protocol.

33 lines (31 loc) 4.56 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const client_common_1 = require("@neo-one/client-common"); const node_core_1 = require("@neo-one/node-core"); const InventoryType_1 = require("./InventoryType"); class InvPayload { constructor({ type, hashes }) { this.serializeWire = client_common_1.createSerializeWire(this.serializeWireBase.bind(this)); this.type = type; this.hashes = hashes; } static deserializeWireBase({ reader }) { const type = InventoryType_1.assertInventoryType(reader.readUInt8()); const hashes = reader.readArray(() => reader.readUInt256()); return new this({ type, hashes }); } static deserializeWire(options) { return this.deserializeWireBase({ context: options.context, reader: new node_core_1.BinaryReader(options.buffer), }); } serializeWireBase(writer) { writer.writeUInt8(this.type); writer.writeArray(this.hashes, (value) => { writer.writeUInt256(value); }); } } exports.InvPayload = InvPayload; //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkludlBheWxvYWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwwREFBcUg7QUFDckgsa0RBQXNHO0FBQ3RHLG1EQUFxRTtBQU1yRSxNQUFhLFVBQVU7SUFtQnJCLFlBQW1CLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBaUI7UUFGbEMsa0JBQWEsR0FBa0IsbUNBQW1CLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBR3BHLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFyQk0sTUFBTSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsTUFBTSxFQUE4QjtRQUN0RSxNQUFNLElBQUksR0FBRyxtQ0FBbUIsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUNyRCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBRTVELE9BQU8sSUFBSSxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRU0sTUFBTSxDQUFDLGVBQWUsQ0FBQyxPQUErQjtRQUMzRCxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztZQUM5QixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87WUFDeEIsTUFBTSxFQUFFLElBQUksd0JBQVksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO1NBQ3pDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFXTSxpQkFBaUIsQ0FBQyxNQUFvQjtRQUMzQyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QixNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUN2QyxNQUFNLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBOUJELGdDQThCQyIsImZpbGUiOiJuZW8tb25lLW5vZGUtcHJvdG9jb2wvc3JjL3BheWxvYWQvSW52UGF5bG9hZC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJpbmFyeVdyaXRlciwgY3JlYXRlU2VyaWFsaXplV2lyZSwgU2VyaWFsaXphYmxlV2lyZSwgU2VyaWFsaXplV2lyZSwgVUludDI1NiB9IGZyb20gJ0BuZW8tb25lL2NsaWVudC1jb21tb24nO1xuaW1wb3J0IHsgQmluYXJ5UmVhZGVyLCBEZXNlcmlhbGl6ZVdpcmVCYXNlT3B0aW9ucywgRGVzZXJpYWxpemVXaXJlT3B0aW9ucyB9IGZyb20gJ0BuZW8tb25lL25vZGUtY29yZSc7XG5pbXBvcnQgeyBhc3NlcnRJbnZlbnRvcnlUeXBlLCBJbnZlbnRvcnlUeXBlIH0gZnJvbSAnLi9JbnZlbnRvcnlUeXBlJztcbmV4cG9ydCBpbnRlcmZhY2UgSW52UGF5bG9hZEFkZCB7XG4gIHJlYWRvbmx5IHR5cGU6IEludmVudG9yeVR5cGU7XG4gIHJlYWRvbmx5IGhhc2hlczogcmVhZG9ubHkgVUludDI1NltdO1xufVxuXG5leHBvcnQgY2xhc3MgSW52UGF5bG9hZCBpbXBsZW1lbnRzIFNlcmlhbGl6YWJsZVdpcmU8SW52UGF5bG9hZD4ge1xuICBwdWJsaWMgc3RhdGljIGRlc2VyaWFsaXplV2lyZUJhc2UoeyByZWFkZXIgfTogRGVzZXJpYWxpemVXaXJlQmFzZU9wdGlvbnMpOiBJbnZQYXlsb2FkIHtcbiAgICBjb25zdCB0eXBlID0gYXNzZXJ0SW52ZW50b3J5VHlwZShyZWFkZXIucmVhZFVJbnQ4KCkpO1xuICAgIGNvbnN0IGhhc2hlcyA9IHJlYWRlci5yZWFkQXJyYXkoKCkgPT4gcmVhZGVyLnJlYWRVSW50MjU2KCkpO1xuXG4gICAgcmV0dXJuIG5ldyB0aGlzKHsgdHlwZSwgaGFzaGVzIH0pO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBkZXNlcmlhbGl6ZVdpcmUob3B0aW9uczogRGVzZXJpYWxpemVXaXJlT3B0aW9ucyk6IEludlBheWxvYWQge1xuICAgIHJldHVybiB0aGlzLmRlc2VyaWFsaXplV2lyZUJhc2Uoe1xuICAgICAgY29udGV4dDogb3B0aW9ucy5jb250ZXh0LFxuICAgICAgcmVhZGVyOiBuZXcgQmluYXJ5UmVhZGVyKG9wdGlvbnMuYnVmZmVyKSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyByZWFkb25seSB0eXBlOiBJbnZlbnRvcnlUeXBlO1xuICBwdWJsaWMgcmVhZG9ubHkgaGFzaGVzOiByZWFkb25seSBVSW50MjU2W107XG4gIHB1YmxpYyByZWFkb25seSBzZXJpYWxpemVXaXJlOiBTZXJpYWxpemVXaXJlID0gY3JlYXRlU2VyaWFsaXplV2lyZSh0aGlzLnNlcmlhbGl6ZVdpcmVCYXNlLmJpbmQodGhpcykpO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcih7IHR5cGUsIGhhc2hlcyB9OiBJbnZQYXlsb2FkQWRkKSB7XG4gICAgdGhpcy50eXBlID0gdHlwZTtcbiAgICB0aGlzLmhhc2hlcyA9IGhhc2hlcztcbiAgfVxuXG4gIHB1YmxpYyBzZXJpYWxpemVXaXJlQmFzZSh3cml0ZXI6IEJpbmFyeVdyaXRlcik6IHZvaWQge1xuICAgIHdyaXRlci53cml0ZVVJbnQ4KHRoaXMudHlwZSk7XG4gICAgd3JpdGVyLndyaXRlQXJyYXkodGhpcy5oYXNoZXMsICh2YWx1ZSkgPT4ge1xuICAgICAgd3JpdGVyLndyaXRlVUludDI1Nih2YWx1ZSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==