UNPKG

4.88 kBJavaScriptView Raw
1import { createSerializeWire, InvalidFormatError, } from '@neo-one/client-common-esnext-esm';
2import { BinaryReader } from '@neo-one/node-core-esnext-esm';
3export class FilterLoadPayload {
4 constructor({ filter, k, tweak }) {
5 this.serializeWire = createSerializeWire(this.serializeWireBase.bind(this));
6 this.filter = filter;
7 this.k = k;
8 this.tweak = tweak;
9 }
10 static deserializeWireBase({ reader }) {
11 const filter = reader.readVarBytesLE(36000);
12 const k = reader.readUInt8();
13 const tweak = reader.readUInt32LE();
14 if (k > 50) {
15 throw new InvalidFormatError();
16 }
17 return new this({ filter, k, tweak });
18 }
19 static deserializeWire(options) {
20 return this.deserializeWireBase({
21 context: options.context,
22 reader: new BinaryReader(options.buffer),
23 });
24 }
25 serializeWireBase(writer) {
26 writer.writeVarBytesLE(this.filter);
27 writer.writeUInt8(this.k);
28 writer.writeUInt32LE(this.tweak);
29 }
30}
31
32//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkZpbHRlckxvYWRQYXlsb2FkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxtQkFBbUIsRUFDbkIsa0JBQWtCLEdBR25CLE1BQU0sbUNBQW1DLENBQUM7QUFDM0MsT0FBTyxFQUFFLFlBQVksRUFBc0QsTUFBTSwrQkFBK0IsQ0FBQztBQU9qSCxNQUFNLE9BQU8saUJBQWlCO0lBd0I1QixZQUFtQixFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUF3QjtRQUY3QyxrQkFBYSxHQUFrQixtQkFBbUIsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFHcEcsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDWCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBM0JNLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLE1BQU0sRUFBOEI7UUFDdEUsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QyxNQUFNLENBQUMsR0FBRyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDN0IsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNWLE1BQU0sSUFBSSxrQkFBa0IsRUFBRSxDQUFDO1NBQ2hDO1FBRUQsT0FBTyxJQUFJLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRU0sTUFBTSxDQUFDLGVBQWUsQ0FBQyxPQUErQjtRQUMzRCxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztZQUM5QixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87WUFDeEIsTUFBTSxFQUFFLElBQUksWUFBWSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7U0FDekMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQWFNLGlCQUFpQixDQUFDLE1BQW9CO1FBQzNDLE1BQU0sQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BDLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFCLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUM7Q0FDRiIsImZpbGUiOiJuZW8tb25lLW5vZGUtcHJvdG9jb2wvc3JjL3BheWxvYWQvRmlsdGVyTG9hZFBheWxvYWQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBCaW5hcnlXcml0ZXIsXG4gIGNyZWF0ZVNlcmlhbGl6ZVdpcmUsXG4gIEludmFsaWRGb3JtYXRFcnJvcixcbiAgU2VyaWFsaXphYmxlV2lyZSxcbiAgU2VyaWFsaXplV2lyZSxcbn0gZnJvbSAnQG5lby1vbmUvY2xpZW50LWNvbW1vbi1lc25leHQtZXNtJztcbmltcG9ydCB7IEJpbmFyeVJlYWRlciwgRGVzZXJpYWxpemVXaXJlQmFzZU9wdGlvbnMsIERlc2VyaWFsaXplV2lyZU9wdGlvbnMgfSBmcm9tICdAbmVvLW9uZS9ub2RlLWNvcmUtZXNuZXh0LWVzbSc7XG5leHBvcnQgaW50ZXJmYWNlIEZpbHRlckxvYWRQYXlsb2FkQWRkIHtcbiAgcmVhZG9ubHkgZmlsdGVyOiBCdWZmZXI7XG4gIHJlYWRvbmx5IGs6IG51bWJlcjtcbiAgcmVhZG9ubHkgdHdlYWs6IG51bWJlcjtcbn1cblxuZXhwb3J0IGNsYXNzIEZpbHRlckxvYWRQYXlsb2FkIGltcGxlbWVudHMgU2VyaWFsaXphYmxlV2lyZTxGaWx0ZXJMb2FkUGF5bG9hZD4ge1xuICBwdWJsaWMgc3RhdGljIGRlc2VyaWFsaXplV2lyZUJhc2UoeyByZWFkZXIgfTogRGVzZXJpYWxpemVXaXJlQmFzZU9wdGlvbnMpOiBGaWx0ZXJMb2FkUGF5bG9hZCB7XG4gICAgY29uc3QgZmlsdGVyID0gcmVhZGVyLnJlYWRWYXJCeXRlc0xFKDM2MDAwKTtcbiAgICBjb25zdCBrID0gcmVhZGVyLnJlYWRVSW50OCgpO1xuICAgIGNvbnN0IHR3ZWFrID0gcmVhZGVyLnJlYWRVSW50MzJMRSgpO1xuICAgIGlmIChrID4gNTApIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkRm9ybWF0RXJyb3IoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IHRoaXMoeyBmaWx0ZXIsIGssIHR3ZWFrIH0pO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBkZXNlcmlhbGl6ZVdpcmUob3B0aW9uczogRGVzZXJpYWxpemVXaXJlT3B0aW9ucyk6IEZpbHRlckxvYWRQYXlsb2FkIHtcbiAgICByZXR1cm4gdGhpcy5kZXNlcmlhbGl6ZVdpcmVCYXNlKHtcbiAgICAgIGNvbnRleHQ6IG9wdGlvbnMuY29udGV4dCxcbiAgICAgIHJlYWRlcjogbmV3IEJpbmFyeVJlYWRlcihvcHRpb25zLmJ1ZmZlciksXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcmVhZG9ubHkgZmlsdGVyOiBCdWZmZXI7XG4gIHB1YmxpYyByZWFkb25seSBrOiBudW1iZXI7XG4gIHB1YmxpYyByZWFkb25seSB0d2VhazogbnVtYmVyO1xuICBwdWJsaWMgcmVhZG9ubHkgc2VyaWFsaXplV2lyZTogU2VyaWFsaXplV2lyZSA9IGNyZWF0ZVNlcmlhbGl6ZVdpcmUodGhpcy5zZXJpYWxpemVXaXJlQmFzZS5iaW5kKHRoaXMpKTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoeyBmaWx0ZXIsIGssIHR3ZWFrIH06IEZpbHRlckxvYWRQYXlsb2FkQWRkKSB7XG4gICAgdGhpcy5maWx0ZXIgPSBmaWx0ZXI7XG4gICAgdGhpcy5rID0gaztcbiAgICB0aGlzLnR3ZWFrID0gdHdlYWs7XG4gIH1cblxuICBwdWJsaWMgc2VyaWFsaXplV2lyZUJhc2Uod3JpdGVyOiBCaW5hcnlXcml0ZXIpOiB2b2lkIHtcbiAgICB3cml0ZXIud3JpdGVWYXJCeXRlc0xFKHRoaXMuZmlsdGVyKTtcbiAgICB3cml0ZXIud3JpdGVVSW50OCh0aGlzLmspO1xuICAgIHdyaXRlci53cml0ZVVJbnQzMkxFKHRoaXMudHdlYWspO1xuICB9XG59XG4iXX0=