UNPKG

@neo-one/node-protocol

Version:

NEO•ONE NEO node and consensus protocol.

36 lines (34 loc) 5.08 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"); class FilterLoadPayload { constructor({ filter, k, tweak }) { this.serializeWire = client_common_1.createSerializeWire(this.serializeWireBase.bind(this)); this.filter = filter; this.k = k; this.tweak = tweak; } static deserializeWireBase({ reader }) { const filter = reader.readVarBytesLE(36000); const k = reader.readUInt8(); const tweak = reader.readUInt32LE(); if (k > 50) { throw new client_common_1.InvalidFormatError(`Expected BinaryReader\'s readUInt8(0) to be less than 50. Received: ${k}`); } return new this({ filter, k, tweak }); } static deserializeWire(options) { return this.deserializeWireBase({ context: options.context, reader: new node_core_1.BinaryReader(options.buffer), }); } serializeWireBase(writer) { writer.writeVarBytesLE(this.filter); writer.writeUInt8(this.k); writer.writeUInt32LE(this.tweak); } } exports.FilterLoadPayload = FilterLoadPayload; //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkZpbHRlckxvYWRQYXlsb2FkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsMERBTWdDO0FBQ2hDLGtEQUFzRztBQU90RyxNQUFhLGlCQUFpQjtJQXdCNUIsWUFBbUIsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBd0I7UUFGN0Msa0JBQWEsR0FBa0IsbUNBQW1CLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBR3BHLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ1gsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQTNCTSxNQUFNLENBQUMsbUJBQW1CLENBQUMsRUFBRSxNQUFNLEVBQThCO1FBQ3RFLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUMsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQzdCLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQyxJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDVixNQUFNLElBQUksa0NBQWtCLENBQUMsdUVBQXVFLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDMUc7UUFFRCxPQUFPLElBQUksSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFTSxNQUFNLENBQUMsZUFBZSxDQUFDLE9BQStCO1FBQzNELE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDO1lBQzlCLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTztZQUN4QixNQUFNLEVBQUUsSUFBSSx3QkFBWSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7U0FDekMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQWFNLGlCQUFpQixDQUFDLE1BQW9CO1FBQzNDLE1BQU0sQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BDLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFCLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUM7Q0FDRjtBQW5DRCw4Q0FtQ0MiLCJmaWxlIjoibmVvLW9uZS1ub2RlLXByb3RvY29sL3NyYy9wYXlsb2FkL0ZpbHRlckxvYWRQYXlsb2FkLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQmluYXJ5V3JpdGVyLFxuICBjcmVhdGVTZXJpYWxpemVXaXJlLFxuICBJbnZhbGlkRm9ybWF0RXJyb3IsXG4gIFNlcmlhbGl6YWJsZVdpcmUsXG4gIFNlcmlhbGl6ZVdpcmUsXG59IGZyb20gJ0BuZW8tb25lL2NsaWVudC1jb21tb24nO1xuaW1wb3J0IHsgQmluYXJ5UmVhZGVyLCBEZXNlcmlhbGl6ZVdpcmVCYXNlT3B0aW9ucywgRGVzZXJpYWxpemVXaXJlT3B0aW9ucyB9IGZyb20gJ0BuZW8tb25lL25vZGUtY29yZSc7XG5leHBvcnQgaW50ZXJmYWNlIEZpbHRlckxvYWRQYXlsb2FkQWRkIHtcbiAgcmVhZG9ubHkgZmlsdGVyOiBCdWZmZXI7XG4gIHJlYWRvbmx5IGs6IG51bWJlcjtcbiAgcmVhZG9ubHkgdHdlYWs6IG51bWJlcjtcbn1cblxuZXhwb3J0IGNsYXNzIEZpbHRlckxvYWRQYXlsb2FkIGltcGxlbWVudHMgU2VyaWFsaXphYmxlV2lyZTxGaWx0ZXJMb2FkUGF5bG9hZD4ge1xuICBwdWJsaWMgc3RhdGljIGRlc2VyaWFsaXplV2lyZUJhc2UoeyByZWFkZXIgfTogRGVzZXJpYWxpemVXaXJlQmFzZU9wdGlvbnMpOiBGaWx0ZXJMb2FkUGF5bG9hZCB7XG4gICAgY29uc3QgZmlsdGVyID0gcmVhZGVyLnJlYWRWYXJCeXRlc0xFKDM2MDAwKTtcbiAgICBjb25zdCBrID0gcmVhZGVyLnJlYWRVSW50OCgpO1xuICAgIGNvbnN0IHR3ZWFrID0gcmVhZGVyLnJlYWRVSW50MzJMRSgpO1xuICAgIGlmIChrID4gNTApIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkRm9ybWF0RXJyb3IoYEV4cGVjdGVkIEJpbmFyeVJlYWRlclxcJ3MgcmVhZFVJbnQ4KDApIHRvIGJlIGxlc3MgdGhhbiA1MC4gUmVjZWl2ZWQ6ICR7a31gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IHRoaXMoeyBmaWx0ZXIsIGssIHR3ZWFrIH0pO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBkZXNlcmlhbGl6ZVdpcmUob3B0aW9uczogRGVzZXJpYWxpemVXaXJlT3B0aW9ucyk6IEZpbHRlckxvYWRQYXlsb2FkIHtcbiAgICByZXR1cm4gdGhpcy5kZXNlcmlhbGl6ZVdpcmVCYXNlKHtcbiAgICAgIGNvbnRleHQ6IG9wdGlvbnMuY29udGV4dCxcbiAgICAgIHJlYWRlcjogbmV3IEJpbmFyeVJlYWRlcihvcHRpb25zLmJ1ZmZlciksXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcmVhZG9ubHkgZmlsdGVyOiBCdWZmZXI7XG4gIHB1YmxpYyByZWFkb25seSBrOiBudW1iZXI7XG4gIHB1YmxpYyByZWFkb25seSB0d2VhazogbnVtYmVyO1xuICBwdWJsaWMgcmVhZG9ubHkgc2VyaWFsaXplV2lyZTogU2VyaWFsaXplV2lyZSA9IGNyZWF0ZVNlcmlhbGl6ZVdpcmUodGhpcy5zZXJpYWxpemVXaXJlQmFzZS5iaW5kKHRoaXMpKTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoeyBmaWx0ZXIsIGssIHR3ZWFrIH06IEZpbHRlckxvYWRQYXlsb2FkQWRkKSB7XG4gICAgdGhpcy5maWx0ZXIgPSBmaWx0ZXI7XG4gICAgdGhpcy5rID0gaztcbiAgICB0aGlzLnR3ZWFrID0gdHdlYWs7XG4gIH1cblxuICBwdWJsaWMgc2VyaWFsaXplV2lyZUJhc2Uod3JpdGVyOiBCaW5hcnlXcml0ZXIpOiB2b2lkIHtcbiAgICB3cml0ZXIud3JpdGVWYXJCeXRlc0xFKHRoaXMuZmlsdGVyKTtcbiAgICB3cml0ZXIud3JpdGVVSW50OCh0aGlzLmspO1xuICAgIHdyaXRlci53cml0ZVVJbnQzMkxFKHRoaXMudHdlYWspO1xuICB9XG59XG4iXX0=