@mikeargento/bitgraph 1.9.1 → 1.10.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/README.md +21 -21
- package/dist/fuse-cli.js +2 -2
- package/dist/fuse-cli.js.map +1 -1
- package/dist/fuse.d.ts +15 -1
- package/dist/fuse.d.ts.map +1 -1
- package/dist/fuse.js +29 -12
- package/dist/fuse.js.map +1 -1
- package/package.json +12 -8
- package/src/fuse-cli.ts +2 -2
- package/src/fuse.ts +46 -13
- package/dist/__tests__/audit-anchors.test.d.ts +0 -2
- package/dist/__tests__/audit-anchors.test.d.ts.map +0 -1
- package/dist/__tests__/audit-anchors.test.js +0 -152
- package/dist/__tests__/audit-anchors.test.js.map +0 -1
- package/dist/__tests__/audit-anomalies.test.d.ts +0 -2
- package/dist/__tests__/audit-anomalies.test.d.ts.map +0 -1
- package/dist/__tests__/audit-anomalies.test.js +0 -663
- package/dist/__tests__/audit-anomalies.test.js.map +0 -1
- package/dist/__tests__/audit-attestation.test.d.ts +0 -2
- package/dist/__tests__/audit-attestation.test.d.ts.map +0 -1
- package/dist/__tests__/audit-attestation.test.js +0 -403
- package/dist/__tests__/audit-attestation.test.js.map +0 -1
- package/dist/__tests__/audit-bench-smoke.test.d.ts +0 -2
- package/dist/__tests__/audit-bench-smoke.test.d.ts.map +0 -1
- package/dist/__tests__/audit-bench-smoke.test.js +0 -87
- package/dist/__tests__/audit-bench-smoke.test.js.map +0 -1
- package/dist/__tests__/audit-boundary.test.d.ts +0 -20
- package/dist/__tests__/audit-boundary.test.d.ts.map +0 -1
- package/dist/__tests__/audit-boundary.test.js +0 -84
- package/dist/__tests__/audit-boundary.test.js.map +0 -1
- package/dist/__tests__/audit-cli.test.d.ts +0 -2
- package/dist/__tests__/audit-cli.test.d.ts.map +0 -1
- package/dist/__tests__/audit-cli.test.js +0 -239
- package/dist/__tests__/audit-cli.test.js.map +0 -1
- package/dist/__tests__/audit-dependencies.test.d.ts +0 -2
- package/dist/__tests__/audit-dependencies.test.d.ts.map +0 -1
- package/dist/__tests__/audit-dependencies.test.js +0 -116
- package/dist/__tests__/audit-dependencies.test.js.map +0 -1
- package/dist/__tests__/audit-fixtures.d.ts +0 -265
- package/dist/__tests__/audit-fixtures.d.ts.map +0 -1
- package/dist/__tests__/audit-fixtures.js +0 -511
- package/dist/__tests__/audit-fixtures.js.map +0 -1
- package/dist/__tests__/audit-ingest.test.d.ts +0 -2
- package/dist/__tests__/audit-ingest.test.d.ts.map +0 -1
- package/dist/__tests__/audit-ingest.test.js +0 -473
- package/dist/__tests__/audit-ingest.test.js.map +0 -1
- package/dist/__tests__/audit-memory-ingest.test.d.ts +0 -12
- package/dist/__tests__/audit-memory-ingest.test.d.ts.map +0 -1
- package/dist/__tests__/audit-memory-ingest.test.js +0 -135
- package/dist/__tests__/audit-memory-ingest.test.js.map +0 -1
- package/dist/__tests__/audit-property.test.d.ts +0 -2
- package/dist/__tests__/audit-property.test.d.ts.map +0 -1
- package/dist/__tests__/audit-property.test.js +0 -771
- package/dist/__tests__/audit-property.test.js.map +0 -1
- package/dist/__tests__/audit-real-fixtures.test.d.ts +0 -2
- package/dist/__tests__/audit-real-fixtures.test.d.ts.map +0 -1
- package/dist/__tests__/audit-real-fixtures.test.js +0 -132
- package/dist/__tests__/audit-real-fixtures.test.js.map +0 -1
- package/dist/__tests__/audit-real-live.test.d.ts +0 -2
- package/dist/__tests__/audit-real-live.test.d.ts.map +0 -1
- package/dist/__tests__/audit-real-live.test.js +0 -107
- package/dist/__tests__/audit-real-live.test.js.map +0 -1
- package/dist/__tests__/audit-reconstruct.test.d.ts +0 -2
- package/dist/__tests__/audit-reconstruct.test.d.ts.map +0 -1
- package/dist/__tests__/audit-reconstruct.test.js +0 -287
- package/dist/__tests__/audit-reconstruct.test.js.map +0 -1
- package/dist/__tests__/audit-report.test.d.ts +0 -2
- package/dist/__tests__/audit-report.test.d.ts.map +0 -1
- package/dist/__tests__/audit-report.test.js +0 -186
- package/dist/__tests__/audit-report.test.js.map +0 -1
- package/dist/__tests__/audit-roundtrip.test.d.ts +0 -2
- package/dist/__tests__/audit-roundtrip.test.d.ts.map +0 -1
- package/dist/__tests__/audit-roundtrip.test.js +0 -368
- package/dist/__tests__/audit-roundtrip.test.js.map +0 -1
- package/dist/__tests__/audit-temporal.test.d.ts +0 -2
- package/dist/__tests__/audit-temporal.test.d.ts.map +0 -1
- package/dist/__tests__/audit-temporal.test.js +0 -364
- package/dist/__tests__/audit-temporal.test.js.map +0 -1
- package/dist/__tests__/audit-tiers.test.d.ts +0 -2
- package/dist/__tests__/audit-tiers.test.d.ts.map +0 -1
- package/dist/__tests__/audit-tiers.test.js +0 -282
- package/dist/__tests__/audit-tiers.test.js.map +0 -1
- package/dist/__tests__/audit-witness-real.test.d.ts +0 -19
- package/dist/__tests__/audit-witness-real.test.d.ts.map +0 -1
- package/dist/__tests__/audit-witness-real.test.js +0 -82
- package/dist/__tests__/audit-witness-real.test.js.map +0 -1
- package/dist/__tests__/audit-witness.test.d.ts +0 -2
- package/dist/__tests__/audit-witness.test.d.ts.map +0 -1
- package/dist/__tests__/audit-witness.test.js +0 -308
- package/dist/__tests__/audit-witness.test.js.map +0 -1
- package/dist/__tests__/canonical.test.d.ts +0 -2
- package/dist/__tests__/canonical.test.d.ts.map +0 -1
- package/dist/__tests__/canonical.test.js +0 -162
- package/dist/__tests__/canonical.test.js.map +0 -1
- package/dist/__tests__/chain-hash-anchor.test.d.ts +0 -22
- package/dist/__tests__/chain-hash-anchor.test.d.ts.map +0 -1
- package/dist/__tests__/chain-hash-anchor.test.js +0 -55
- package/dist/__tests__/chain-hash-anchor.test.js.map +0 -1
- package/dist/__tests__/commit-service.integration.test.d.ts +0 -2
- package/dist/__tests__/commit-service.integration.test.d.ts.map +0 -1
- package/dist/__tests__/commit-service.integration.test.js +0 -95
- package/dist/__tests__/commit-service.integration.test.js.map +0 -1
- package/dist/__tests__/constructor.test.d.ts +0 -2
- package/dist/__tests__/constructor.test.d.ts.map +0 -1
- package/dist/__tests__/constructor.test.js +0 -267
- package/dist/__tests__/constructor.test.js.map +0 -1
- package/dist/__tests__/declared-proof-fixture.d.ts +0 -66
- package/dist/__tests__/declared-proof-fixture.d.ts.map +0 -1
- package/dist/__tests__/declared-proof-fixture.js +0 -66
- package/dist/__tests__/declared-proof-fixture.js.map +0 -1
- package/dist/__tests__/fuse-inline.test.d.ts +0 -2
- package/dist/__tests__/fuse-inline.test.d.ts.map +0 -1
- package/dist/__tests__/fuse-inline.test.js +0 -181
- package/dist/__tests__/fuse-inline.test.js.map +0 -1
- package/dist/__tests__/fuse-placement.test.d.ts +0 -2
- package/dist/__tests__/fuse-placement.test.d.ts.map +0 -1
- package/dist/__tests__/fuse-placement.test.js +0 -31
- package/dist/__tests__/fuse-placement.test.js.map +0 -1
- package/dist/__tests__/fuse-roundtrip.test.d.ts +0 -2
- package/dist/__tests__/fuse-roundtrip.test.d.ts.map +0 -1
- package/dist/__tests__/fuse-roundtrip.test.js +0 -241
- package/dist/__tests__/fuse-roundtrip.test.js.map +0 -1
- package/dist/__tests__/fuse-sdk.test.d.ts +0 -2
- package/dist/__tests__/fuse-sdk.test.d.ts.map +0 -1
- package/dist/__tests__/fuse-sdk.test.js +0 -117
- package/dist/__tests__/fuse-sdk.test.js.map +0 -1
- package/dist/__tests__/fuse-set-sdk.test.d.ts +0 -2
- package/dist/__tests__/fuse-set-sdk.test.d.ts.map +0 -1
- package/dist/__tests__/fuse-set-sdk.test.js +0 -721
- package/dist/__tests__/fuse-set-sdk.test.js.map +0 -1
- package/dist/__tests__/fuse-set.test.d.ts +0 -2
- package/dist/__tests__/fuse-set.test.d.ts.map +0 -1
- package/dist/__tests__/fuse-set.test.js +0 -889
- package/dist/__tests__/fuse-set.test.js.map +0 -1
- package/dist/__tests__/fuse-set2.test.d.ts +0 -2
- package/dist/__tests__/fuse-set2.test.d.ts.map +0 -1
- package/dist/__tests__/fuse-set2.test.js +0 -294
- package/dist/__tests__/fuse-set2.test.js.map +0 -1
- package/dist/__tests__/fuse-vectors.test.d.ts +0 -2
- package/dist/__tests__/fuse-vectors.test.d.ts.map +0 -1
- package/dist/__tests__/fuse-vectors.test.js +0 -175
- package/dist/__tests__/fuse-vectors.test.js.map +0 -1
- package/dist/__tests__/fuse-verify.test.d.ts +0 -2
- package/dist/__tests__/fuse-verify.test.d.ts.map +0 -1
- package/dist/__tests__/fuse-verify.test.js +0 -250
- package/dist/__tests__/fuse-verify.test.js.map +0 -1
- package/dist/__tests__/hello-world.test.d.ts +0 -2
- package/dist/__tests__/hello-world.test.d.ts.map +0 -1
- package/dist/__tests__/hello-world.test.js +0 -9
- package/dist/__tests__/hello-world.test.js.map +0 -1
- package/dist/__tests__/mock-proof-fixture.d.ts +0 -15
- package/dist/__tests__/mock-proof-fixture.d.ts.map +0 -1
- package/dist/__tests__/mock-proof-fixture.js +0 -34
- package/dist/__tests__/mock-proof-fixture.js.map +0 -1
- package/dist/__tests__/policy-enforcement.test.d.ts +0 -2
- package/dist/__tests__/policy-enforcement.test.d.ts.map +0 -1
- package/dist/__tests__/policy-enforcement.test.js +0 -188
- package/dist/__tests__/policy-enforcement.test.js.map +0 -1
- package/dist/__tests__/proof-hash-regression.test.d.ts +0 -2
- package/dist/__tests__/proof-hash-regression.test.d.ts.map +0 -1
- package/dist/__tests__/proof-hash-regression.test.js +0 -95
- package/dist/__tests__/proof-hash-regression.test.js.map +0 -1
- package/dist/__tests__/proof-hash.test.d.ts +0 -2
- package/dist/__tests__/proof-hash.test.d.ts.map +0 -1
- package/dist/__tests__/proof-hash.test.js +0 -116
- package/dist/__tests__/proof-hash.test.js.map +0 -1
- package/dist/__tests__/proof-integrity.test.d.ts +0 -2
- package/dist/__tests__/proof-integrity.test.d.ts.map +0 -1
- package/dist/__tests__/proof-integrity.test.js +0 -454
- package/dist/__tests__/proof-integrity.test.js.map +0 -1
- package/dist/__tests__/realistic-proof-fixture.d.ts +0 -56
- package/dist/__tests__/realistic-proof-fixture.d.ts.map +0 -1
- package/dist/__tests__/realistic-proof-fixture.js +0 -57
- package/dist/__tests__/realistic-proof-fixture.js.map +0 -1
- package/dist/__tests__/run.test.d.ts +0 -2
- package/dist/__tests__/run.test.d.ts.map +0 -1
- package/dist/__tests__/run.test.js +0 -178
- package/dist/__tests__/run.test.js.map +0 -1
- package/dist/__tests__/verifier.test.d.ts +0 -2
- package/dist/__tests__/verifier.test.d.ts.map +0 -1
- package/dist/__tests__/verifier.test.js +0 -531
- package/dist/__tests__/verifier.test.js.map +0 -1
- package/dist/canonical.d.ts +0 -54
- package/dist/canonical.d.ts.map +0 -1
- package/dist/canonical.js +0 -119
- package/dist/canonical.js.map +0 -1
- package/dist/proof-hash.d.ts +0 -9
- package/dist/proof-hash.d.ts.map +0 -1
- package/dist/proof-hash.js +0 -75
- package/dist/proof-hash.js.map +0 -1
- package/dist/types.d.ts +0 -705
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -3
- package/dist/types.js.map +0 -1
- package/dist/verifier.d.ts +0 -27
- package/dist/verifier.d.ts.map +0 -1
- package/dist/verifier.js +0 -844
- package/dist/verifier.js.map +0 -1
- package/src/__tests__/audit-anchors.test.ts +0 -188
- package/src/__tests__/audit-anomalies.test.ts +0 -815
- package/src/__tests__/audit-attestation.test.ts +0 -529
- package/src/__tests__/audit-bench-smoke.test.ts +0 -108
- package/src/__tests__/audit-boundary.test.ts +0 -96
- package/src/__tests__/audit-cli.test.ts +0 -288
- package/src/__tests__/audit-dependencies.test.ts +0 -141
- package/src/__tests__/audit-fixtures.ts +0 -736
- package/src/__tests__/audit-ingest.test.ts +0 -575
- package/src/__tests__/audit-memory-ingest.test.ts +0 -156
- package/src/__tests__/audit-property.test.ts +0 -892
- package/src/__tests__/audit-real-fixtures.test.ts +0 -153
- package/src/__tests__/audit-real-live.test.ts +0 -128
- package/src/__tests__/audit-reconstruct.test.ts +0 -353
- package/src/__tests__/audit-report.test.ts +0 -222
- package/src/__tests__/audit-roundtrip.test.ts +0 -464
- package/src/__tests__/audit-temporal.test.ts +0 -446
- package/src/__tests__/audit-tiers.test.ts +0 -343
- package/src/__tests__/audit-witness-real.test.ts +0 -92
- package/src/__tests__/audit-witness.test.ts +0 -345
- package/src/__tests__/canonical.test.ts +0 -253
- package/src/__tests__/chain-hash-anchor.test.ts +0 -67
- package/src/__tests__/commit-service.integration.test.ts +0 -117
- package/src/__tests__/constructor.test.ts +0 -340
- package/src/__tests__/declared-proof-fixture.ts +0 -65
- package/src/__tests__/fuse-inline.test.ts +0 -211
- package/src/__tests__/fuse-placement.test.ts +0 -32
- package/src/__tests__/fuse-roundtrip.test.ts +0 -243
- package/src/__tests__/fuse-sdk.test.ts +0 -142
- package/src/__tests__/fuse-set-sdk.test.ts +0 -852
- package/src/__tests__/fuse-set.test.ts +0 -1027
- package/src/__tests__/fuse-set2.test.ts +0 -343
- package/src/__tests__/fuse-vectors.test.ts +0 -218
- package/src/__tests__/fuse-verify.test.ts +0 -278
- package/src/__tests__/hello-world.test.ts +0 -10
- package/src/__tests__/mock-proof-fixture.ts +0 -36
- package/src/__tests__/policy-enforcement.test.ts +0 -226
- package/src/__tests__/proof-hash-regression.test.ts +0 -107
- package/src/__tests__/proof-hash.test.ts +0 -129
- package/src/__tests__/proof-integrity.test.ts +0 -576
- package/src/__tests__/real-fixtures/anchor-after-112762.json +0 -47
- package/src/__tests__/real-fixtures/anchor-with-ethereum-112758.json +0 -47
- package/src/__tests__/real-fixtures/live-proof-0.json +0 -42
- package/src/__tests__/real-fixtures/live-proof-1.json +0 -43
- package/src/__tests__/real-fixtures/live-proof-2.json +0 -43
- package/src/__tests__/real-fixtures/successor-112760.json +0 -38
- package/src/__tests__/real-fixtures/witness-25525146.json +0 -6
- package/src/__tests__/real-fixtures/witness-25525147.json +0 -6
- package/src/__tests__/realistic-proof-fixture.ts +0 -57
- package/src/__tests__/verifier.test.ts +0 -624
|
@@ -1,178 +0,0 @@
|
|
|
1
|
-
// Copyright (c) Mike Argento. All rights reserved. See LICENSE.
|
|
2
|
-
/**
|
|
3
|
-
* BitGraph Run (profile bitgraph-run/1): an artifact MADE with its slot
|
|
4
|
-
* commitment inside it, rather than wrapped around an original afterwards.
|
|
5
|
-
*
|
|
6
|
-
* The positive case is the real thing: the first run artifact minted on
|
|
7
|
-
* production, 2026-09-07, enclave v8, slot 1760 consumed at commit 1763. Its
|
|
8
|
-
* proof and its bytes are the fixtures, so RUN_CONFIRMED here means the
|
|
9
|
-
* enclave's own signature over the marker.
|
|
10
|
-
*
|
|
11
|
-
* The other categories need a key under this test's control, because every one
|
|
12
|
-
* of them is reached by changing something the enclave signed: an edited
|
|
13
|
-
* fixture fails at the signature before it can fail at the thing under test.
|
|
14
|
-
* Those cases mint their own proofs the way the enclave does.
|
|
15
|
-
*/
|
|
16
|
-
import { describe, test } from "node:test";
|
|
17
|
-
import * as assert from "node:assert/strict";
|
|
18
|
-
import { readFileSync } from "node:fs";
|
|
19
|
-
import { fileURLToPath } from "node:url";
|
|
20
|
-
import { sha256 } from "@noble/hashes/sha256";
|
|
21
|
-
import { getPublicKeyAsync, signAsync, utils } from "@noble/ed25519";
|
|
22
|
-
import { verifyRun, readRunAttribution, runAttribution, computeSlotCommitment, canonicalize, RUN_PROFILE, RUN_ENCODING_BASE64URL, } from "@mikeargento/bitgraph-verify";
|
|
23
|
-
const FIX = fileURLToPath(new URL("../../src/__tests__/run-fixtures/", import.meta.url));
|
|
24
|
-
const b64 = (b) => Buffer.from(b).toString("base64");
|
|
25
|
-
const b64u = (b) => b64(b).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
|
|
26
|
-
const utf8 = (s) => new TextEncoder().encode(s);
|
|
27
|
-
const liveProof = JSON.parse(readFileSync(FIX + "run.proof.json", "utf8"));
|
|
28
|
-
const liveBytes = new Uint8Array(readFileSync(FIX + "run.output.txt"));
|
|
29
|
-
/** Mint a proof the way the enclave does, so the signature covers the marker. */
|
|
30
|
-
async function mint(makeBytes, opts = {}) {
|
|
31
|
-
const seed = utils.randomPrivateKey();
|
|
32
|
-
const publicKeyB64 = b64(await getPublicKeyAsync(seed));
|
|
33
|
-
const slotBody = {
|
|
34
|
-
version: "bitgraph/slot/1",
|
|
35
|
-
nonceB64: b64(new Uint8Array(32).fill(7)),
|
|
36
|
-
counter: "41",
|
|
37
|
-
epochId: "run-test-epoch",
|
|
38
|
-
publicKeyB64,
|
|
39
|
-
};
|
|
40
|
-
const slotAllocation = { ...slotBody, signatureB64: b64(await signAsync(canonicalize(slotBody), seed)) };
|
|
41
|
-
const commitment = b64u(computeSlotCommitment(slotAllocation));
|
|
42
|
-
const bytes = makeBytes(commitment);
|
|
43
|
-
const digestB64 = b64(sha256(bytes));
|
|
44
|
-
const attribution = {
|
|
45
|
-
name: opts.profile ?? RUN_PROFILE,
|
|
46
|
-
title: opts.encoding ?? RUN_ENCODING_BASE64URL,
|
|
47
|
-
message: opts.declared ?? commitment,
|
|
48
|
-
};
|
|
49
|
-
const commit = {
|
|
50
|
-
nonceB64: slotBody.nonceB64,
|
|
51
|
-
counter: "42",
|
|
52
|
-
slotCounter: "41",
|
|
53
|
-
slotHashB64: b64(sha256(canonicalize(slotBody))),
|
|
54
|
-
epochId: "run-test-epoch",
|
|
55
|
-
};
|
|
56
|
-
const signedBody = {
|
|
57
|
-
version: "bitgraph/1",
|
|
58
|
-
artifact: { hashAlg: "sha256", digestB64 },
|
|
59
|
-
commit,
|
|
60
|
-
publicKeyB64,
|
|
61
|
-
enforcement: "measured-tee",
|
|
62
|
-
measurement: "run-test-measurement",
|
|
63
|
-
attribution,
|
|
64
|
-
};
|
|
65
|
-
const proof = {
|
|
66
|
-
version: "bitgraph/1",
|
|
67
|
-
artifact: signedBody.artifact,
|
|
68
|
-
commit,
|
|
69
|
-
signer: { publicKeyB64, signatureB64: b64(await signAsync(canonicalize(signedBody), seed)) },
|
|
70
|
-
environment: { enforcement: "measured-tee", measurement: "run-test-measurement" },
|
|
71
|
-
slotAllocation,
|
|
72
|
-
attribution,
|
|
73
|
-
};
|
|
74
|
-
return { proof, bytes, commitment };
|
|
75
|
-
}
|
|
76
|
-
describe("bitgraph-run/1: the marker", () => {
|
|
77
|
-
test("reads the encoding and the declared commitment", () => {
|
|
78
|
-
assert.deepEqual(readRunAttribution(liveProof), {
|
|
79
|
-
encoding: RUN_ENCODING_BASE64URL,
|
|
80
|
-
declaredCommitment: b64u(computeSlotCommitment(liveProof.slotAllocation)),
|
|
81
|
-
});
|
|
82
|
-
});
|
|
83
|
-
test("is null for a fused proof, an anchor and a plain recording", () => {
|
|
84
|
-
for (const name of ["bitgraph-fuse/1", "Ethereum Anchor", undefined]) {
|
|
85
|
-
const proof = { attribution: name === undefined ? undefined : { name } };
|
|
86
|
-
assert.equal(readRunAttribution(proof), null);
|
|
87
|
-
}
|
|
88
|
-
});
|
|
89
|
-
test("runAttribution builds exactly what the live proof carries", () => {
|
|
90
|
-
const commitment = b64u(computeSlotCommitment(liveProof.slotAllocation));
|
|
91
|
-
assert.deepEqual(runAttribution(commitment), liveProof.attribution);
|
|
92
|
-
assert.deepEqual(runAttribution(computeSlotCommitment(liveProof.slotAllocation)), liveProof.attribution);
|
|
93
|
-
});
|
|
94
|
-
});
|
|
95
|
-
describe("bitgraph-run/1: the live artifact (slot 1760, commit 1763)", () => {
|
|
96
|
-
test("RUN_CONFIRMED, with the commitment located in the bytes", async () => {
|
|
97
|
-
const r = await verifyRun({ proof: liveProof, bytes: liveBytes });
|
|
98
|
-
assert.equal(r.category, "RUN_CONFIRMED");
|
|
99
|
-
assert.equal(r.proof.valid, true);
|
|
100
|
-
assert.equal(r.reason, null);
|
|
101
|
-
assert.equal(r.occurrences, 1);
|
|
102
|
-
assert.equal(typeof r.offset, "number");
|
|
103
|
-
assert.equal(r.fileDigestB64, r.artifactDigestB64);
|
|
104
|
-
// The located bytes really are the commitment, at the offset reported.
|
|
105
|
-
const at = Buffer.from(liveBytes.slice(r.offset, r.offset + r.slotCommitmentB64u.length)).toString("utf8");
|
|
106
|
-
assert.equal(at, r.slotCommitmentB64u);
|
|
107
|
-
});
|
|
108
|
-
test("the span is the real one, and the statements name it", async () => {
|
|
109
|
-
const r = await verifyRun({ proof: liveProof, bytes: liveBytes });
|
|
110
|
-
assert.equal(r.span?.slotCounter, "1760");
|
|
111
|
-
assert.equal(r.span?.commitCounter, "1763");
|
|
112
|
-
assert.match(r.statements[0] ?? "", /slot at position 1760/);
|
|
113
|
-
assert.match(r.statements[1] ?? "", /committed at position 1763/);
|
|
114
|
-
});
|
|
115
|
-
test("the limits are always carried with the claim, never dropped", async () => {
|
|
116
|
-
const r = await verifyRun({ proof: liveProof, bytes: liveBytes });
|
|
117
|
-
assert.equal(r.limits.length, 2);
|
|
118
|
-
assert.match(r.limits.join(" "), /does not show it was an input/);
|
|
119
|
-
assert.match(r.limits.join(" "), /producer's claim/);
|
|
120
|
-
});
|
|
121
|
-
test("one edited byte is refused on the proof, not on the search", async () => {
|
|
122
|
-
const edited = new Uint8Array(liveBytes);
|
|
123
|
-
edited[edited.length - 2] = edited[edited.length - 2] ^ 0x01;
|
|
124
|
-
const r = await verifyRun({ proof: liveProof, bytes: edited });
|
|
125
|
-
assert.equal(r.category, "INVALID_UNDERLYING_PROOF");
|
|
126
|
-
assert.equal(r.proof.valid, false);
|
|
127
|
-
assert.notEqual(r.fileDigestB64, r.artifactDigestB64);
|
|
128
|
-
});
|
|
129
|
-
test("a proof declaring an unpinned measurement is refused", async () => {
|
|
130
|
-
const r = await verifyRun({ proof: liveProof, bytes: liveBytes, trustAnchors: { allowedMeasurements: ["0".repeat(96)] } });
|
|
131
|
-
assert.equal(r.category, "INVALID_UNDERLYING_PROOF");
|
|
132
|
-
});
|
|
133
|
-
});
|
|
134
|
-
describe("bitgraph-run/1: every other category", () => {
|
|
135
|
-
test("counts every occurrence and reports the first", async () => {
|
|
136
|
-
const { proof, bytes } = await mint((c) => utf8(`${c}\nmiddle\n${c}\n`));
|
|
137
|
-
const r = await verifyRun({ proof, bytes });
|
|
138
|
-
assert.equal(r.category, "RUN_CONFIRMED");
|
|
139
|
-
assert.equal(r.offset, 0);
|
|
140
|
-
assert.equal(r.occurrences, 2);
|
|
141
|
-
});
|
|
142
|
-
test("COMMITMENT_ABSENT: the proof is valid, the bytes simply do not carry it", async () => {
|
|
143
|
-
const { proof, bytes } = await mint(() => utf8("nothing of the sort in here\n"));
|
|
144
|
-
const r = await verifyRun({ proof, bytes });
|
|
145
|
-
assert.equal(r.category, "COMMITMENT_ABSENT");
|
|
146
|
-
assert.equal(r.proof.valid, true);
|
|
147
|
-
assert.equal(r.offset, null);
|
|
148
|
-
assert.deepEqual(r.statements, []);
|
|
149
|
-
assert.deepEqual(r.limits, [], "a result that establishes nothing carries no limits either");
|
|
150
|
-
});
|
|
151
|
-
test("INVALID_SLOT_COMMITMENT: the signed marker names a commitment this slot did not make", async () => {
|
|
152
|
-
const { proof, bytes } = await mint((c) => utf8(`token ${c}\n`), { declared: b64u(new Uint8Array(32).fill(9)) });
|
|
153
|
-
const r = await verifyRun({ proof, bytes });
|
|
154
|
-
assert.equal(r.category, "INVALID_SLOT_COMMITMENT");
|
|
155
|
-
assert.match(r.reason ?? "", /this proof's slot record commits to/);
|
|
156
|
-
});
|
|
157
|
-
test("UNDETERMINED_ENCODING: an encoding this build does not register is not a failure and not a pass", async () => {
|
|
158
|
-
const { proof, bytes } = await mint((c) => utf8(`token ${c}\n`), { encoding: "hex/1" });
|
|
159
|
-
const r = await verifyRun({ proof, bytes });
|
|
160
|
-
assert.equal(r.category, "UNDETERMINED_ENCODING");
|
|
161
|
-
assert.match(r.reason ?? "", /does not register/);
|
|
162
|
-
});
|
|
163
|
-
test("NOT_A_RUN: another profile is left alone, signature untouched", async () => {
|
|
164
|
-
const { proof, bytes } = await mint((c) => utf8(`token ${c}\n`), { profile: "bitgraph-fuse/1" });
|
|
165
|
-
const r = await verifyRun({ proof, bytes });
|
|
166
|
-
assert.equal(r.category, "NOT_A_RUN");
|
|
167
|
-
assert.equal(r.marker, null);
|
|
168
|
-
assert.equal(r.proof.valid, false, "the underlying proof is never even run for a profile this verifier does not own");
|
|
169
|
-
});
|
|
170
|
-
test("a commitment appended to finished work passes, and the limit says so", async () => {
|
|
171
|
-
const { proof, bytes } = await mint((c) => utf8(`the work was already done\n${c}\n`));
|
|
172
|
-
const r = await verifyRun({ proof, bytes });
|
|
173
|
-
assert.equal(r.category, "RUN_CONFIRMED");
|
|
174
|
-
assert.ok((r.offset ?? 0) > 0);
|
|
175
|
-
assert.match(r.limits[0] ?? "", /appended to a finished file pass the same check/);
|
|
176
|
-
});
|
|
177
|
-
});
|
|
178
|
-
//# sourceMappingURL=run.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"run.test.js","sourceRoot":"","sources":["../../src/__tests__/run.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"verifier.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/verifier.test.ts"],"names":[],"mappings":""}
|