forked from Sub-Rosa-Issue/sub-rosa-issue
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathartifacts-generate.mjs
More file actions
40 lines (34 loc) · 1.09 KB
/
Copy pathartifacts-generate.mjs
File metadata and controls
40 lines (34 loc) · 1.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#!/usr/bin/env node
import { readFileSync } from "node:fs";
import {
PATHS,
SOURCE_COMMAND,
buildManifest,
buildWasm,
computeSourceHash,
computeSpecHash,
generateBindingsToTemp,
installBindingsFromTemp,
sha256File,
writeManifest,
} from "./artifacts-lib.mjs";
console.log("Building Round contract WASM…");
buildWasm();
const wasmHash = sha256File(PATHS.wasm);
console.log(`WASM hash: ${wasmHash}`);
console.log("Generating TypeScript bindings…");
generateBindingsToTemp();
installBindingsFromTemp();
const bindingsContent = readFileSync(PATHS.bindings, "utf8");
const specHash = computeSpecHash(bindingsContent);
const sourceHash = computeSourceHash();
const manifest = buildManifest({ wasmHash, specHash, sourceHash });
writeManifest(manifest);
console.log("Updated artifact manifest:");
console.log(` ${PATHS.manifest}`);
console.log(` spec hash: ${specHash}`);
console.log(` source hash: ${sourceHash}`);
console.log("");
console.log("Commit these files together:");
console.log(" - packages/round-bindings/src/index.ts");
console.log(" - deployments/artifact-manifest.json");