@lodestar/reqresp 1.25.0-dev.d41fb55ea4 → 1.25.0-dev.e6a0cb22b5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/encodingStrategies/sszSnappy/snappyFrames/common.d.ts +10 -1
- package/lib/encodingStrategies/sszSnappy/snappyFrames/common.js +24 -0
- package/lib/encodingStrategies/sszSnappy/snappyFrames/common.js.map +1 -1
- package/lib/encodingStrategies/sszSnappy/snappyFrames/compress.js +3 -28
- package/lib/encodingStrategies/sszSnappy/snappyFrames/compress.js.map +1 -1
- package/lib/encodingStrategies/sszSnappy/snappyFrames/uncompress.js +41 -16
- package/lib/encodingStrategies/sszSnappy/snappyFrames/uncompress.js.map +1 -1
- package/package.json +7 -7
|
@@ -3,8 +3,17 @@ export declare enum ChunkType {
|
|
|
3
3
|
IDENTIFIER = 255,
|
|
4
4
|
COMPRESSED = 0,
|
|
5
5
|
UNCOMPRESSED = 1,
|
|
6
|
-
PADDING = 254
|
|
6
|
+
PADDING = 254,
|
|
7
|
+
SKIPPABLE = 128
|
|
7
8
|
}
|
|
8
9
|
export declare const IDENTIFIER: Buffer;
|
|
9
10
|
export declare const IDENTIFIER_FRAME: Buffer;
|
|
11
|
+
/**
|
|
12
|
+
* As per the snappy framing format for streams, the size of any uncompressed chunk can be
|
|
13
|
+
* no longer than 65536 bytes.
|
|
14
|
+
*
|
|
15
|
+
* From: https://github.com/google/snappy/blob/main/framing_format.txt#L90:L92
|
|
16
|
+
*/
|
|
17
|
+
export declare const UNCOMPRESSED_CHUNK_SIZE = 65536;
|
|
18
|
+
export declare function crc(value: Uint8Array): Buffer;
|
|
10
19
|
//# sourceMappingURL=common.d.ts.map
|
|
@@ -1,10 +1,34 @@
|
|
|
1
|
+
import crc32c from "@chainsafe/fast-crc32c";
|
|
1
2
|
export var ChunkType;
|
|
2
3
|
(function (ChunkType) {
|
|
3
4
|
ChunkType[ChunkType["IDENTIFIER"] = 255] = "IDENTIFIER";
|
|
4
5
|
ChunkType[ChunkType["COMPRESSED"] = 0] = "COMPRESSED";
|
|
5
6
|
ChunkType[ChunkType["UNCOMPRESSED"] = 1] = "UNCOMPRESSED";
|
|
6
7
|
ChunkType[ChunkType["PADDING"] = 254] = "PADDING";
|
|
8
|
+
ChunkType[ChunkType["SKIPPABLE"] = 128] = "SKIPPABLE";
|
|
7
9
|
})(ChunkType || (ChunkType = {}));
|
|
8
10
|
export const IDENTIFIER = Buffer.from([0x73, 0x4e, 0x61, 0x50, 0x70, 0x59]);
|
|
9
11
|
export const IDENTIFIER_FRAME = Buffer.from([0xff, 0x06, 0x00, 0x00, 0x73, 0x4e, 0x61, 0x50, 0x70, 0x59]);
|
|
12
|
+
/**
|
|
13
|
+
* As per the snappy framing format for streams, the size of any uncompressed chunk can be
|
|
14
|
+
* no longer than 65536 bytes.
|
|
15
|
+
*
|
|
16
|
+
* From: https://github.com/google/snappy/blob/main/framing_format.txt#L90:L92
|
|
17
|
+
*/
|
|
18
|
+
export const UNCOMPRESSED_CHUNK_SIZE = 65536;
|
|
19
|
+
export function crc(value) {
|
|
20
|
+
// this function doesn't actually need a buffer
|
|
21
|
+
// see https://github.com/napi-rs/node-rs/blob/main/packages/crc32/index.d.ts
|
|
22
|
+
const x = crc32c.calculate(value);
|
|
23
|
+
const result = Buffer.allocUnsafe?.(4) ?? Buffer.alloc(4);
|
|
24
|
+
// As defined in section 3 of https://github.com/google/snappy/blob/master/framing_format.txt
|
|
25
|
+
// And other implementations for reference:
|
|
26
|
+
// Go: https://github.com/golang/snappy/blob/2e65f85255dbc3072edf28d6b5b8efc472979f5a/snappy.go#L97
|
|
27
|
+
// Python: https://github.com/andrix/python-snappy/blob/602e9c10d743f71bef0bac5e4c4dffa17340d7b3/snappy/snappy.py#L70
|
|
28
|
+
// Mask the right hand to (32 - 17) = 15 bits -> 0x7fff, to keep correct 32 bit values.
|
|
29
|
+
// Shift the left hand with >>> for correct 32 bit intermediate result.
|
|
30
|
+
// Then final >>> 0 for 32 bits output
|
|
31
|
+
result.writeUInt32LE((((x >>> 15) | ((x & 0x7fff) << 17)) + 0xa282ead8) >>> 0, 0);
|
|
32
|
+
return result;
|
|
33
|
+
}
|
|
10
34
|
//# sourceMappingURL=common.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../src/encodingStrategies/sszSnappy/snappyFrames/common.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../src/encodingStrategies/sszSnappy/snappyFrames/common.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,wBAAwB,CAAC;AAE5C,MAAM,CAAN,IAAY,SAMX;AAND,WAAY,SAAS;IACnB,uDAAiB,CAAA;IACjB,qDAAiB,CAAA;IACjB,yDAAmB,CAAA;IACnB,iDAAc,CAAA;IACd,qDAAgB,CAAA;AAClB,CAAC,EANW,SAAS,KAAT,SAAS,QAMpB;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AAC5E,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AAE1G;;;;;GAKG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,CAAC;AAE7C,MAAM,UAAU,GAAG,CAAC,KAAiB;IACnC,+CAA+C;IAC/C,6EAA6E;IAC7E,MAAM,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,KAAe,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAE1D,6FAA6F;IAC7F,2CAA2C;IAC3C,mGAAmG;IACnG,qHAAqH;IACrH,uFAAuF;IACvF,uEAAuE;IACvE,sCAAsC;IACtC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAElF,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1,27 +1,6 @@
|
|
|
1
|
-
import crc32c from "@chainsafe/fast-crc32c";
|
|
2
1
|
import snappy from "snappy";
|
|
3
|
-
import { ChunkType, IDENTIFIER_FRAME } from "./common.js";
|
|
2
|
+
import { ChunkType, IDENTIFIER_FRAME, UNCOMPRESSED_CHUNK_SIZE, crc } from "./common.js";
|
|
4
3
|
// The logic in this file is largely copied (in simplified form) from https://github.com/ChainSafe/node-snappy-stream/
|
|
5
|
-
/**
|
|
6
|
-
* As per the snappy framing format for streams, the size of any uncompressed chunk can be
|
|
7
|
-
* no longer than 65536 bytes.
|
|
8
|
-
*
|
|
9
|
-
* From: https://github.com/google/snappy/blob/main/framing_format.txt#L90:L92
|
|
10
|
-
*/
|
|
11
|
-
const UNCOMPRESSED_CHUNK_SIZE = 65536;
|
|
12
|
-
function checksum(value) {
|
|
13
|
-
const x = crc32c.calculate(value);
|
|
14
|
-
const result = Buffer.allocUnsafe?.(4) ?? Buffer.alloc(4);
|
|
15
|
-
// As defined in section 3 of https://github.com/google/snappy/blob/master/framing_format.txt
|
|
16
|
-
// And other implementations for reference:
|
|
17
|
-
// Go: https://github.com/golang/snappy/blob/2e65f85255dbc3072edf28d6b5b8efc472979f5a/snappy.go#L97
|
|
18
|
-
// Python: https://github.com/andrix/python-snappy/blob/602e9c10d743f71bef0bac5e4c4dffa17340d7b3/snappy/snappy.py#L70
|
|
19
|
-
// Mask the right hand to (32 - 17) = 15 bits -> 0x7fff, to keep correct 32 bit values.
|
|
20
|
-
// Shift the left hand with >>> for correct 32 bit intermediate result.
|
|
21
|
-
// Then final >>> 0 for 32 bits output
|
|
22
|
-
result.writeUInt32LE((((x >>> 15) | ((x & 0x7fff) << 17)) + 0xa282ead8) >>> 0, 0);
|
|
23
|
-
return result;
|
|
24
|
-
}
|
|
25
4
|
export async function* encodeSnappy(bytes) {
|
|
26
5
|
yield IDENTIFIER_FRAME;
|
|
27
6
|
for (let i = 0; i < bytes.length; i += UNCOMPRESSED_CHUNK_SIZE) {
|
|
@@ -29,18 +8,14 @@ export async function* encodeSnappy(bytes) {
|
|
|
29
8
|
const compressed = snappy.compressSync(chunk);
|
|
30
9
|
if (compressed.length < chunk.length) {
|
|
31
10
|
const size = compressed.length + 4;
|
|
32
|
-
yield Buffer.concat([
|
|
33
|
-
Buffer.from([ChunkType.COMPRESSED, size, size >> 8, size >> 16]),
|
|
34
|
-
checksum(chunk),
|
|
35
|
-
compressed,
|
|
36
|
-
]);
|
|
11
|
+
yield Buffer.concat([Buffer.from([ChunkType.COMPRESSED, size, size >> 8, size >> 16]), crc(chunk), compressed]);
|
|
37
12
|
}
|
|
38
13
|
else {
|
|
39
14
|
const size = chunk.length + 4;
|
|
40
15
|
yield Buffer.concat([
|
|
41
16
|
//
|
|
42
17
|
Buffer.from([ChunkType.UNCOMPRESSED, size, size >> 8, size >> 16]),
|
|
43
|
-
|
|
18
|
+
crc(chunk),
|
|
44
19
|
chunk,
|
|
45
20
|
]);
|
|
46
21
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compress.js","sourceRoot":"","sources":["../../../../src/encodingStrategies/sszSnappy/snappyFrames/compress.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"compress.js","sourceRoot":"","sources":["../../../../src/encodingStrategies/sszSnappy/snappyFrames/compress.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAC,SAAS,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,GAAG,EAAC,MAAM,aAAa,CAAC;AAEtF,sHAAsH;AAEtH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,YAAY,CAAC,KAAa;IAC/C,MAAM,gBAAgB,CAAC;IAEvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,uBAAuB,EAAE,CAAC;QAC/D,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,uBAAuB,CAAC,CAAC;QAC7D,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YACrC,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;YACnC,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;QAClH,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;YAC9B,MAAM,MAAM,CAAC,MAAM,CAAC;gBAClB,EAAE;gBACF,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;gBAClE,GAAG,CAAC,KAAK,CAAC;gBACV,KAAK;aACN,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { uncompress } from "snappyjs";
|
|
2
2
|
import { Uint8ArrayList } from "uint8arraylist";
|
|
3
|
-
import { ChunkType, IDENTIFIER } from "./common.js";
|
|
3
|
+
import { ChunkType, IDENTIFIER, UNCOMPRESSED_CHUNK_SIZE, crc } from "./common.js";
|
|
4
4
|
export class SnappyFramesUncompress {
|
|
5
5
|
constructor() {
|
|
6
6
|
this.buffer = new Uint8ArrayList();
|
|
@@ -20,27 +20,48 @@ export class SnappyFramesUncompress {
|
|
|
20
20
|
if (this.buffer.length < 4)
|
|
21
21
|
break;
|
|
22
22
|
const type = getChunkType(this.buffer.get(0));
|
|
23
|
+
if (!this.state.foundIdentifier && type !== ChunkType.IDENTIFIER) {
|
|
24
|
+
throw "malformed input: must begin with an identifier";
|
|
25
|
+
}
|
|
23
26
|
const frameSize = getFrameSize(this.buffer, 1);
|
|
24
27
|
if (this.buffer.length - 4 < frameSize) {
|
|
25
28
|
break;
|
|
26
29
|
}
|
|
27
|
-
const
|
|
30
|
+
const frame = this.buffer.subarray(4, 4 + frameSize);
|
|
28
31
|
this.buffer.consume(4 + frameSize);
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
switch (type) {
|
|
33
|
+
case ChunkType.IDENTIFIER: {
|
|
34
|
+
if (!Buffer.prototype.equals.call(frame, IDENTIFIER)) {
|
|
35
|
+
throw "malformed input: bad identifier";
|
|
36
|
+
}
|
|
37
|
+
this.state.foundIdentifier = true;
|
|
38
|
+
continue;
|
|
39
|
+
}
|
|
40
|
+
case ChunkType.PADDING:
|
|
41
|
+
case ChunkType.SKIPPABLE:
|
|
42
|
+
continue;
|
|
43
|
+
case ChunkType.COMPRESSED: {
|
|
44
|
+
const checksum = frame.subarray(0, 4);
|
|
45
|
+
const data = frame.subarray(4);
|
|
46
|
+
const uncompressed = uncompress(data, UNCOMPRESSED_CHUNK_SIZE);
|
|
47
|
+
if (crc(uncompressed).compare(checksum) !== 0) {
|
|
48
|
+
throw "malformed input: bad checksum";
|
|
49
|
+
}
|
|
50
|
+
result.append(uncompressed);
|
|
51
|
+
break;
|
|
52
|
+
}
|
|
53
|
+
case ChunkType.UNCOMPRESSED: {
|
|
54
|
+
const checksum = frame.subarray(0, 4);
|
|
55
|
+
const uncompressed = frame.subarray(4);
|
|
56
|
+
if (uncompressed.length > UNCOMPRESSED_CHUNK_SIZE) {
|
|
57
|
+
throw "malformed input: too large";
|
|
58
|
+
}
|
|
59
|
+
if (crc(uncompressed).compare(checksum) !== 0) {
|
|
60
|
+
throw "malformed input: bad checksum";
|
|
61
|
+
}
|
|
62
|
+
result.append(uncompressed);
|
|
63
|
+
break;
|
|
35
64
|
}
|
|
36
|
-
this.state.foundIdentifier = true;
|
|
37
|
-
continue;
|
|
38
|
-
}
|
|
39
|
-
if (type === ChunkType.COMPRESSED) {
|
|
40
|
-
result.append(uncompress(data.subarray(4)));
|
|
41
|
-
}
|
|
42
|
-
if (type === ChunkType.UNCOMPRESSED) {
|
|
43
|
-
result.append(data.subarray(4));
|
|
44
65
|
}
|
|
45
66
|
}
|
|
46
67
|
if (result.length === 0) {
|
|
@@ -69,6 +90,10 @@ function getChunkType(value) {
|
|
|
69
90
|
case ChunkType.PADDING:
|
|
70
91
|
return ChunkType.PADDING;
|
|
71
92
|
default:
|
|
93
|
+
// https://github.com/google/snappy/blob/main/framing_format.txt#L129
|
|
94
|
+
if (value >= 0x80 && value <= 0xfd) {
|
|
95
|
+
return ChunkType.SKIPPABLE;
|
|
96
|
+
}
|
|
72
97
|
throw new Error("Unsupported snappy chunk type");
|
|
73
98
|
}
|
|
74
99
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uncompress.js","sourceRoot":"","sources":["../../../../src/encodingStrategies/sszSnappy/snappyFrames/uncompress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AACpC,OAAO,EAAC,cAAc,EAAC,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAC,SAAS,EAAE,UAAU,EAAC,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"uncompress.js","sourceRoot":"","sources":["../../../../src/encodingStrategies/sszSnappy/snappyFrames/uncompress.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"bugs": {
|
|
12
12
|
"url": "https://github.com/ChainSafe/lodestar/issues"
|
|
13
13
|
},
|
|
14
|
-
"version": "1.25.0-dev.
|
|
14
|
+
"version": "1.25.0-dev.e6a0cb22b5",
|
|
15
15
|
"type": "module",
|
|
16
16
|
"exports": {
|
|
17
17
|
".": {
|
|
@@ -54,9 +54,9 @@
|
|
|
54
54
|
"dependencies": {
|
|
55
55
|
"@chainsafe/fast-crc32c": "^4.1.1",
|
|
56
56
|
"@libp2p/interface": "^1.3.0",
|
|
57
|
-
"@lodestar/config": "1.25.0-dev.
|
|
58
|
-
"@lodestar/params": "1.25.0-dev.
|
|
59
|
-
"@lodestar/utils": "1.25.0-dev.
|
|
57
|
+
"@lodestar/config": "1.25.0-dev.e6a0cb22b5",
|
|
58
|
+
"@lodestar/params": "1.25.0-dev.e6a0cb22b5",
|
|
59
|
+
"@lodestar/utils": "1.25.0-dev.e6a0cb22b5",
|
|
60
60
|
"it-all": "^3.0.4",
|
|
61
61
|
"it-pipe": "^3.0.1",
|
|
62
62
|
"snappy": "^7.2.2",
|
|
@@ -65,8 +65,8 @@
|
|
|
65
65
|
"uint8arraylist": "^2.4.7"
|
|
66
66
|
},
|
|
67
67
|
"devDependencies": {
|
|
68
|
-
"@lodestar/logger": "1.25.0-dev.
|
|
69
|
-
"@lodestar/types": "1.25.0-dev.
|
|
68
|
+
"@lodestar/logger": "1.25.0-dev.e6a0cb22b5",
|
|
69
|
+
"@lodestar/types": "1.25.0-dev.e6a0cb22b5",
|
|
70
70
|
"libp2p": "1.4.3"
|
|
71
71
|
},
|
|
72
72
|
"peerDependencies": {
|
|
@@ -80,5 +80,5 @@
|
|
|
80
80
|
"reqresp",
|
|
81
81
|
"blockchain"
|
|
82
82
|
],
|
|
83
|
-
"gitHead": "
|
|
83
|
+
"gitHead": "3cb86b6099ea1b4723e5fc68cc302300c6ceca90"
|
|
84
84
|
}
|