@lodestar/spec-test-util 1.48.0-dev.fd70e5fc15 → 1.48.0-rc.0
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/single.js +3 -3
- package/lib/single.js.map +1 -1
- package/lib/sszGeneric.d.ts +1 -1
- package/lib/sszGeneric.js +3 -3
- package/lib/sszGeneric.js.map +1 -1
- package/package.json +5 -5
- package/src/single.ts +4 -4
- package/src/sszGeneric.ts +3 -3
package/lib/single.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import fs from "node:fs";
|
|
2
2
|
import path from "node:path";
|
|
3
|
-
import { uncompress } from "snappyjs";
|
|
4
3
|
import { describe, expect, it, vi } from "vitest";
|
|
4
|
+
import snappyWasm from "@chainsafe/snappy-wasm";
|
|
5
5
|
import { loadYaml } from "@lodestar/utils";
|
|
6
6
|
export var InputType;
|
|
7
7
|
(function (InputType) {
|
|
@@ -122,7 +122,7 @@ function loadInputFiles(directory, options, meta) {
|
|
|
122
122
|
testCase[`${inputName}_raw`] = fs.readFileSync(file);
|
|
123
123
|
break;
|
|
124
124
|
case InputType.SSZ_SNAPPY:
|
|
125
|
-
testCase[`${inputName}_raw`] =
|
|
125
|
+
testCase[`${inputName}_raw`] = snappyWasm.decompress(fs.readFileSync(file));
|
|
126
126
|
break;
|
|
127
127
|
}
|
|
128
128
|
if (!options.inputProcessing)
|
|
@@ -155,7 +155,7 @@ function deserializeInputFile(file, inputName, inputType, options, meta) {
|
|
|
155
155
|
throw Error("sszTypes is not defined");
|
|
156
156
|
let data = fs.readFileSync(file);
|
|
157
157
|
if (inputType === InputType.SSZ_SNAPPY) {
|
|
158
|
-
data =
|
|
158
|
+
data = snappyWasm.decompress(data);
|
|
159
159
|
}
|
|
160
160
|
let sszType;
|
|
161
161
|
for (const key of Object.keys(sszTypes)) {
|
package/lib/single.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"single.js","sourceRoot":"","sources":["../src/single.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"single.js","sourceRoot":"","sources":["../src/single.ts"],"names":[],"mappings":"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"}
|
package/lib/sszGeneric.d.ts
CHANGED
|
@@ -14,7 +14,7 @@ export declare function parseSszValidTestcase(dirpath: string, metaFilename: str
|
|
|
14
14
|
* Docs: https://github.com/ethereum/consensus-specs/blob/v1.6.1/tests/formats/ssz_generic/README.md
|
|
15
15
|
*/
|
|
16
16
|
export declare function parseSszGenericInvalidTestcase(dirpath: string): {
|
|
17
|
-
serialized:
|
|
17
|
+
serialized: Uint8Array<ArrayBufferLike>;
|
|
18
18
|
};
|
|
19
19
|
export declare function readYamlNumbersAsStrings(yamlStr: string): unknown;
|
|
20
20
|
//# sourceMappingURL=sszGeneric.d.ts.map
|
package/lib/sszGeneric.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import fs from "node:fs";
|
|
2
2
|
import path from "node:path";
|
|
3
|
-
import
|
|
3
|
+
import snappyWasm from "@chainsafe/snappy-wasm";
|
|
4
4
|
import { loadYaml } from "@lodestar/utils";
|
|
5
5
|
export function parseSszValidTestcase(dirpath, metaFilename) {
|
|
6
6
|
// The root is stored in meta.yml as:
|
|
@@ -11,7 +11,7 @@ export function parseSszValidTestcase(dirpath, metaFilename) {
|
|
|
11
11
|
throw Error(`meta.root not a string: ${meta.root}\n${metaStr}`);
|
|
12
12
|
}
|
|
13
13
|
// The serialized value is stored in serialized.ssz_snappy
|
|
14
|
-
const serialized =
|
|
14
|
+
const serialized = snappyWasm.decompress(fs.readFileSync(path.join(dirpath, "serialized.ssz_snappy")));
|
|
15
15
|
// The value is stored in value.yml
|
|
16
16
|
const yamlPath = path.join(dirpath, "value.yaml");
|
|
17
17
|
const yamlStrNumbersAsNumbers = fs.readFileSync(yamlPath, "utf8");
|
|
@@ -34,7 +34,7 @@ export function parseSszValidTestcase(dirpath, metaFilename) {
|
|
|
34
34
|
*/
|
|
35
35
|
export function parseSszGenericInvalidTestcase(dirpath) {
|
|
36
36
|
// The serialized value is stored in serialized.ssz_snappy
|
|
37
|
-
const serialized =
|
|
37
|
+
const serialized = snappyWasm.decompress(fs.readFileSync(path.join(dirpath, "serialized.ssz_snappy")));
|
|
38
38
|
return {
|
|
39
39
|
serialized,
|
|
40
40
|
};
|
package/lib/sszGeneric.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sszGeneric.js","sourceRoot":"","sources":["../src/sszGeneric.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,
|
|
1
|
+
{"version":3,"file":"sszGeneric.js","sourceRoot":"","sources":["../src/sszGeneric.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAC,QAAQ,EAAC,MAAM,iBAAiB,CAAC;AAQzC,MAAM,UAAU,qBAAqB,CAAC,OAAe,EAAE,YAAoB;IACzE,qCAAqC;IACrC,qBAAqB;IACrB,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,MAAM,CAAC,CAAC;IAC1E,MAAM,IAAI,GAAmB,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC/C,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAClC,MAAM,KAAK,CAAC,2BAA2B,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,0DAA0D;IAC1D,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC,CAAC,CAAC;IAEvG,mCAAmC;IACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAClD,MAAM,uBAAuB,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAClE,MAAM,SAAS,GAAG,wBAAwB,CAAC,uBAAuB,CAAC,CAAC;IAEpE,8EAA8E;IAE9E,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,UAAU;QACV,SAAS;KACV,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,8BAA8B,CAAC,OAAe;IAC5D,0DAA0D;IAC1D,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC,CAAC,CAAC;IAEvG,OAAO;QACL,UAAU;KACX,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,OAAe;IACtD,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC;AAC3B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lodestar/spec-test-util",
|
|
3
|
-
"version": "1.48.0-
|
|
3
|
+
"version": "1.48.0-rc.0",
|
|
4
4
|
"description": "Spec test suite generator from yaml test files",
|
|
5
5
|
"author": "ChainSafe Systems",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -59,15 +59,15 @@
|
|
|
59
59
|
"blockchain"
|
|
60
60
|
],
|
|
61
61
|
"dependencies": {
|
|
62
|
-
"@
|
|
62
|
+
"@chainsafe/snappy-wasm": "^0.5.2",
|
|
63
|
+
"@lodestar/utils": "^1.48.0-rc.0",
|
|
63
64
|
"rimraf": "^4.4.1",
|
|
64
|
-
"snappyjs": "^0.7.0",
|
|
65
65
|
"vitest": "catalog:"
|
|
66
66
|
},
|
|
67
67
|
"peerDependencies": {
|
|
68
68
|
"@chainsafe/ssz": "^1.7.0",
|
|
69
|
-
"@lodestar/types": "^1.48.0-
|
|
69
|
+
"@lodestar/types": "^1.48.0-rc.0",
|
|
70
70
|
"vitest": "catalog:"
|
|
71
71
|
},
|
|
72
|
-
"gitHead": "
|
|
72
|
+
"gitHead": "ee1c2b21489c8e76dc3f609baee79d31695be0f8"
|
|
73
73
|
}
|
package/src/single.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import fs from "node:fs";
|
|
2
2
|
import path from "node:path";
|
|
3
|
-
import {uncompress} from "snappyjs";
|
|
4
3
|
import {describe, expect, it, vi} from "vitest";
|
|
4
|
+
import snappyWasm from "@chainsafe/snappy-wasm";
|
|
5
5
|
import {loadYaml} from "@lodestar/utils";
|
|
6
6
|
|
|
7
7
|
export enum InputType {
|
|
@@ -192,7 +192,7 @@ function loadInputFiles<TestCase extends {meta?: any}, Result>(
|
|
|
192
192
|
testCase[`${inputName}_raw`] = fs.readFileSync(file);
|
|
193
193
|
break;
|
|
194
194
|
case InputType.SSZ_SNAPPY:
|
|
195
|
-
testCase[`${inputName}_raw`] =
|
|
195
|
+
testCase[`${inputName}_raw`] = snappyWasm.decompress(fs.readFileSync(file));
|
|
196
196
|
break;
|
|
197
197
|
}
|
|
198
198
|
if (!options.inputProcessing) throw Error("inputProcessing is not defined");
|
|
@@ -232,9 +232,9 @@ function deserializeInputFile<TestCase extends {meta?: any}, Result>(
|
|
|
232
232
|
if (inputType === InputType.SSZ || inputType === InputType.SSZ_SNAPPY) {
|
|
233
233
|
const sszTypes = options.getSszTypes ? options.getSszTypes(meta) : options.sszTypes;
|
|
234
234
|
if (!sszTypes) throw Error("sszTypes is not defined");
|
|
235
|
-
let data = fs.readFileSync(file);
|
|
235
|
+
let data: Uint8Array = fs.readFileSync(file);
|
|
236
236
|
if (inputType === InputType.SSZ_SNAPPY) {
|
|
237
|
-
data =
|
|
237
|
+
data = snappyWasm.decompress(data);
|
|
238
238
|
}
|
|
239
239
|
|
|
240
240
|
let sszType: SszTypeGeneric | undefined;
|
package/src/sszGeneric.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import fs from "node:fs";
|
|
2
2
|
import path from "node:path";
|
|
3
|
-
import
|
|
3
|
+
import snappyWasm from "@chainsafe/snappy-wasm";
|
|
4
4
|
import {loadYaml} from "@lodestar/utils";
|
|
5
5
|
|
|
6
6
|
export type ValidTestCaseData = {
|
|
@@ -19,7 +19,7 @@ export function parseSszValidTestcase(dirpath: string, metaFilename: string): Va
|
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
// The serialized value is stored in serialized.ssz_snappy
|
|
22
|
-
const serialized =
|
|
22
|
+
const serialized = snappyWasm.decompress(fs.readFileSync(path.join(dirpath, "serialized.ssz_snappy")));
|
|
23
23
|
|
|
24
24
|
// The value is stored in value.yml
|
|
25
25
|
const yamlPath = path.join(dirpath, "value.yaml");
|
|
@@ -46,7 +46,7 @@ export function parseSszValidTestcase(dirpath: string, metaFilename: string): Va
|
|
|
46
46
|
*/
|
|
47
47
|
export function parseSszGenericInvalidTestcase(dirpath: string) {
|
|
48
48
|
// The serialized value is stored in serialized.ssz_snappy
|
|
49
|
-
const serialized =
|
|
49
|
+
const serialized = snappyWasm.decompress(fs.readFileSync(path.join(dirpath, "serialized.ssz_snappy")));
|
|
50
50
|
|
|
51
51
|
return {
|
|
52
52
|
serialized,
|