@mikeargento/bitgraph 1.9.1 → 1.9.2
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/package.json +9 -6
- 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,511 +0,0 @@
|
|
|
1
|
-
// Copyright (c) Argento Computing Inc. All rights reserved. See LICENSE.
|
|
2
|
-
/**
|
|
3
|
-
* Shared fixture helpers for the bitgraph-audit test suites.
|
|
4
|
-
*
|
|
5
|
-
* Proofs that must be verifier-valid are built either through the root
|
|
6
|
-
* Constructor (real commit path) or by manually signing the exact
|
|
7
|
-
* canonical SignedBody layout with real Ed25519 keys, the same approach
|
|
8
|
-
* as src/__tests__/proof-integrity.test.ts. Verifier semantics are never
|
|
9
|
-
* bypassed.
|
|
10
|
-
*
|
|
11
|
-
* Also provides a minimal in-memory tar writer (ustar, PAX path records,
|
|
12
|
-
* GNU long-name entries) so container tests never shell out.
|
|
13
|
-
*/
|
|
14
|
-
import { mkdir, mkdtemp, writeFile } from "node:fs/promises";
|
|
15
|
-
import { tmpdir } from "node:os";
|
|
16
|
-
import { dirname, join } from "node:path";
|
|
17
|
-
import { getPublicKeyAsync, signAsync } from "@noble/ed25519";
|
|
18
|
-
import { sha256 } from "@noble/hashes/sha256";
|
|
19
|
-
import { keccak_256 } from "@noble/hashes/sha3";
|
|
20
|
-
import { canonicalize, computeProofHash, computeChainHash } from "@mikeargento/bitgraph-verify";
|
|
21
|
-
import { Constructor } from "../constructor.js";
|
|
22
|
-
// ---------------------------------------------------------------------------
|
|
23
|
-
// Encoding helpers
|
|
24
|
-
// ---------------------------------------------------------------------------
|
|
25
|
-
export function b64(bytes) {
|
|
26
|
-
return Buffer.from(bytes).toString("base64");
|
|
27
|
-
}
|
|
28
|
-
export function utf8(text) {
|
|
29
|
-
return new TextEncoder().encode(text);
|
|
30
|
-
}
|
|
31
|
-
const defaultRandom = (n) => crypto.getRandomValues(new Uint8Array(n));
|
|
32
|
-
export async function makeKey(random) {
|
|
33
|
-
const privateKey = (random ?? defaultRandom)(32);
|
|
34
|
-
const publicKeyB64 = b64(await getPublicKeyAsync(privateKey));
|
|
35
|
-
return { privateKey, publicKeyB64 };
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Manually build and sign a proof over the exact canonical SignedBody the
|
|
39
|
-
* verifier reconstructs. The commit object may carry extra fields (for
|
|
40
|
-
* example the live enclave's undeclared chainId); because it is part of
|
|
41
|
-
* the signed body, the signature covers them.
|
|
42
|
-
*
|
|
43
|
-
* Optional extras follow the canonical SignedBody rules: attribution is
|
|
44
|
-
* included in the signed body when provided; attestationFormat is
|
|
45
|
-
* included when an attestation is provided (the reportB64 itself stays
|
|
46
|
-
* OUTSIDE the signed body, exactly like the enclave output, so the
|
|
47
|
-
* report can be attached or swapped after signing without changing the
|
|
48
|
-
* canonical hash).
|
|
49
|
-
*/
|
|
50
|
-
export async function signBody(key, artifact, commit, measurement, extras) {
|
|
51
|
-
const signedBody = {
|
|
52
|
-
version: "bitgraph/1",
|
|
53
|
-
artifact,
|
|
54
|
-
commit,
|
|
55
|
-
publicKeyB64: key.publicKeyB64,
|
|
56
|
-
enforcement: "stub",
|
|
57
|
-
measurement,
|
|
58
|
-
};
|
|
59
|
-
if (extras?.attribution !== undefined)
|
|
60
|
-
signedBody["attribution"] = extras.attribution;
|
|
61
|
-
if (extras?.attestation !== undefined)
|
|
62
|
-
signedBody["attestationFormat"] = extras.attestation.format;
|
|
63
|
-
const signatureB64 = b64(await signAsync(canonicalize(signedBody), key.privateKey));
|
|
64
|
-
const proof = {
|
|
65
|
-
version: "bitgraph/1",
|
|
66
|
-
artifact,
|
|
67
|
-
commit,
|
|
68
|
-
signer: { publicKeyB64: key.publicKeyB64, signatureB64 },
|
|
69
|
-
environment: {
|
|
70
|
-
enforcement: "stub",
|
|
71
|
-
measurement,
|
|
72
|
-
...(extras?.attestation !== undefined
|
|
73
|
-
? { attestation: { format: extras.attestation.format, reportB64: extras.attestation.reportB64 } }
|
|
74
|
-
: {}),
|
|
75
|
-
},
|
|
76
|
-
};
|
|
77
|
-
if (extras?.attribution !== undefined) {
|
|
78
|
-
proof["attribution"] = extras.attribution;
|
|
79
|
-
}
|
|
80
|
-
return proof;
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Build a proof through the root Constructor (the real commit path).
|
|
84
|
-
* Default fixtures are chainless: no counter, no epochId.
|
|
85
|
-
*/
|
|
86
|
-
export async function makeConstructorProof(opts) {
|
|
87
|
-
const privateKey = crypto.getRandomValues(new Uint8Array(32));
|
|
88
|
-
const publicKeyBytes = await getPublicKeyAsync(privateKey);
|
|
89
|
-
const measurement = "test-measurement-audit";
|
|
90
|
-
let counter = 0;
|
|
91
|
-
const base = {
|
|
92
|
-
enforcementTier: "stub",
|
|
93
|
-
getMeasurement: async () => measurement,
|
|
94
|
-
getFreshNonce: async () => crypto.getRandomValues(new Uint8Array(16)),
|
|
95
|
-
sign: async (data) => signAsync(data, privateKey),
|
|
96
|
-
getPublicKey: async () => publicKeyBytes,
|
|
97
|
-
};
|
|
98
|
-
const host = opts?.withCounter
|
|
99
|
-
? { ...base, nextCounter: async () => String(++counter) }
|
|
100
|
-
: base;
|
|
101
|
-
const ctor = await Constructor.initialize(opts?.epochId !== undefined ? { host, epochId: opts.epochId } : { host });
|
|
102
|
-
const bytes = utf8(opts?.payload ?? "bitgraph-audit-test-payload");
|
|
103
|
-
const proof = await ctor.commit({ bytes });
|
|
104
|
-
return { proof, bytes };
|
|
105
|
-
}
|
|
106
|
-
/**
|
|
107
|
-
* Build a verifier-valid proof carrying a chainId inside the signed
|
|
108
|
-
* commit body, matching what the live enclave injects for non-default
|
|
109
|
-
* chains.
|
|
110
|
-
*/
|
|
111
|
-
export async function makeChainIdProof(opts) {
|
|
112
|
-
const key = await makeKey();
|
|
113
|
-
const bytes = utf8(opts?.payload ?? "bitgraph-audit-chainid-payload");
|
|
114
|
-
const commit = {
|
|
115
|
-
nonceB64: b64(crypto.getRandomValues(new Uint8Array(16))),
|
|
116
|
-
...(opts?.counter !== undefined ? { counter: opts.counter } : {}),
|
|
117
|
-
...(opts?.epochId !== undefined ? { epochId: opts.epochId } : {}),
|
|
118
|
-
};
|
|
119
|
-
commit["chainId"] = opts?.chainId ?? "bitgraph:main";
|
|
120
|
-
const proof = await signBody(key, { hashAlg: "sha256", digestB64: b64(sha256(bytes)) }, commit, "test-measurement-chainid");
|
|
121
|
-
return { proof, bytes };
|
|
122
|
-
}
|
|
123
|
-
/**
|
|
124
|
-
* Build a verifier-valid epoch-genesis proof carrying an epochLink that
|
|
125
|
-
* consumes the given predecessor into the given successor epoch.
|
|
126
|
-
*
|
|
127
|
-
* By default the predecessor key is a fresh random key; pass
|
|
128
|
-
* prevPublicKeyB64 to reference the actual signer of an observed
|
|
129
|
-
* predecessor. Optional counter, slotCounter, prevB64, and chainId land
|
|
130
|
-
* in the signed commit body, matching real enclave output shapes.
|
|
131
|
-
*/
|
|
132
|
-
export async function makeEpochLinkProof(opts) {
|
|
133
|
-
const random = opts.random ?? defaultRandom;
|
|
134
|
-
const key = opts.key ?? (await makeKey(random));
|
|
135
|
-
const prevPublicKeyB64 = opts.prevPublicKeyB64 ?? (await makeKey(random)).publicKeyB64;
|
|
136
|
-
const bytes = utf8(opts.payload ?? `bitgraph-audit-epochlink-${opts.toEpochId}`);
|
|
137
|
-
const commit = {
|
|
138
|
-
nonceB64: b64(random(16)),
|
|
139
|
-
...(opts.counter !== undefined ? { counter: opts.counter } : {}),
|
|
140
|
-
...(opts.slotCounter !== undefined ? { slotCounter: opts.slotCounter } : {}),
|
|
141
|
-
...(opts.prevB64 !== undefined ? { prevB64: opts.prevB64 } : {}),
|
|
142
|
-
epochId: opts.toEpochId,
|
|
143
|
-
epochLink: {
|
|
144
|
-
prevEpochId: opts.prevEpochId,
|
|
145
|
-
prevPublicKeyB64,
|
|
146
|
-
prevCounter: opts.prevCounter,
|
|
147
|
-
prevProofHashB64: opts.prevProofHashB64,
|
|
148
|
-
toEpochId: opts.toEpochId,
|
|
149
|
-
toPublicKeyB64: key.publicKeyB64,
|
|
150
|
-
},
|
|
151
|
-
};
|
|
152
|
-
if (opts.chainId !== undefined) {
|
|
153
|
-
commit["chainId"] = opts.chainId;
|
|
154
|
-
}
|
|
155
|
-
const proof = await signBody(key, { hashAlg: "sha256", digestB64: b64(sha256(bytes)) }, commit, opts.measurement ?? "test-measurement-epochlink");
|
|
156
|
-
return { proof, bytes, proofHash: computeProofHash(proof), chainHash: computeChainHash(proof), key };
|
|
157
|
-
}
|
|
158
|
-
/**
|
|
159
|
-
* Build a linked chain of verifier-valid proofs under one signer key,
|
|
160
|
-
* epoch, and chain, with explicit counter positions per proof. Each
|
|
161
|
-
* non-first proof carries prevB64 equal to the canonical proof hash of
|
|
162
|
-
* its predecessor; the first proof omits prevB64 entirely (genesis per
|
|
163
|
-
* G1) unless prevB64OfFirst continues the chain from an existing proof.
|
|
164
|
-
* Pass pairs like real enclave output (slot 1/commit 2, slot 3/
|
|
165
|
-
* commit 4, ...) or leave positions out for counterless link chains.
|
|
166
|
-
*/
|
|
167
|
-
export async function makeCounterChain(opts) {
|
|
168
|
-
const random = opts.random ?? defaultRandom;
|
|
169
|
-
const key = opts.key ?? (await makeKey(random));
|
|
170
|
-
const measurement = opts.measurement ?? "test-measurement-chain";
|
|
171
|
-
const proofs = [];
|
|
172
|
-
for (let i = 0; i < opts.pairs.length; i++) {
|
|
173
|
-
const pair = opts.pairs[i];
|
|
174
|
-
const bytes = utf8(`${opts.payloadPrefix ?? opts.epochId}-payload-${i}`);
|
|
175
|
-
const prevB64 = i > 0 ? proofs[i - 1].chainHash : opts.prevB64OfFirst;
|
|
176
|
-
const commit = {
|
|
177
|
-
nonceB64: b64(random(16)),
|
|
178
|
-
...(pair.commit !== undefined ? { counter: pair.commit } : {}),
|
|
179
|
-
...(pair.slot !== undefined ? { slotCounter: pair.slot } : {}),
|
|
180
|
-
...(prevB64 !== undefined ? { prevB64 } : {}),
|
|
181
|
-
epochId: opts.epochId,
|
|
182
|
-
};
|
|
183
|
-
if (opts.chainId !== undefined) {
|
|
184
|
-
commit["chainId"] = opts.chainId;
|
|
185
|
-
}
|
|
186
|
-
const proof = await signBody(key, { hashAlg: "sha256", digestB64: b64(sha256(bytes)) }, commit, measurement);
|
|
187
|
-
proofs.push({ proof, bytes, proofHash: computeProofHash(proof), chainHash: computeChainHash(proof) });
|
|
188
|
-
}
|
|
189
|
-
return { key, proofs };
|
|
190
|
-
}
|
|
191
|
-
/**
|
|
192
|
-
* The standard healthy enclave counter sequence: slot 1/commit 2,
|
|
193
|
-
* slot 3/commit 4, ... for `length` proofs.
|
|
194
|
-
*/
|
|
195
|
-
export function healthyPairs(length) {
|
|
196
|
-
const pairs = [];
|
|
197
|
-
for (let i = 0; i < length; i++) {
|
|
198
|
-
pairs.push({ slot: String(2 * i + 1), commit: String(2 * i + 2) });
|
|
199
|
-
}
|
|
200
|
-
return pairs;
|
|
201
|
-
}
|
|
202
|
-
// ---------------------------------------------------------------------------
|
|
203
|
-
// Ethereum anchor fixtures (matching packages/hosted/src/bitcoin-anchor.ts)
|
|
204
|
-
// ---------------------------------------------------------------------------
|
|
205
|
-
/**
|
|
206
|
-
* Build a verifier-valid Ethereum anchor proof: signed attribution
|
|
207
|
-
* name "Ethereum Anchor", message = the block hash string, title = the
|
|
208
|
-
* Etherscan block URL, artifact digest = SHA-256 over the block-hash
|
|
209
|
-
* STRING (exactly like bitcoin-anchor.ts lines 188-189). Unsigned
|
|
210
|
-
* metadata is attached after signing when provided.
|
|
211
|
-
*/
|
|
212
|
-
export async function makeAnchorProof(opts) {
|
|
213
|
-
const random = opts.random ?? defaultRandom;
|
|
214
|
-
const key = opts.key ?? (await makeKey(random));
|
|
215
|
-
const commit = {
|
|
216
|
-
nonceB64: b64(random(16)),
|
|
217
|
-
...(opts.counter !== undefined ? { counter: opts.counter } : {}),
|
|
218
|
-
...(opts.slotCounter !== undefined ? { slotCounter: opts.slotCounter } : {}),
|
|
219
|
-
...(opts.prevB64 !== undefined ? { prevB64: opts.prevB64 } : {}),
|
|
220
|
-
...(opts.epochId !== undefined ? { epochId: opts.epochId } : {}),
|
|
221
|
-
};
|
|
222
|
-
if (opts.chainId !== undefined) {
|
|
223
|
-
commit["chainId"] = opts.chainId;
|
|
224
|
-
}
|
|
225
|
-
const attribution = {
|
|
226
|
-
name: opts.attributionName ?? "Ethereum Anchor",
|
|
227
|
-
message: opts.blockHash,
|
|
228
|
-
};
|
|
229
|
-
if (opts.noTitle !== true) {
|
|
230
|
-
attribution.title = opts.title ?? `https://etherscan.io/block/${opts.blockNumber ?? 0}`;
|
|
231
|
-
}
|
|
232
|
-
const proof = await signBody(key, {
|
|
233
|
-
hashAlg: "sha256",
|
|
234
|
-
digestB64: opts.digestB64 ?? b64(sha256(utf8(opts.blockHash))),
|
|
235
|
-
}, commit, opts.measurement ?? "test-measurement-anchor", { attribution });
|
|
236
|
-
if (opts.metadata !== undefined) {
|
|
237
|
-
proof["metadata"] = opts.metadata;
|
|
238
|
-
}
|
|
239
|
-
return { proof, proofHash: computeProofHash(proof), chainHash: computeChainHash(proof), key };
|
|
240
|
-
}
|
|
241
|
-
export function encodeRlp(item) {
|
|
242
|
-
if (item instanceof Uint8Array) {
|
|
243
|
-
if (item.length === 1 && item[0] < 0x80)
|
|
244
|
-
return item;
|
|
245
|
-
return concatBytes([encodeRlpLength(item.length, 0x80), item]);
|
|
246
|
-
}
|
|
247
|
-
const payload = concatBytes(item.map(encodeRlp));
|
|
248
|
-
return concatBytes([encodeRlpLength(payload.length, 0xc0), payload]);
|
|
249
|
-
}
|
|
250
|
-
function encodeRlpLength(length, offset) {
|
|
251
|
-
if (length <= 55)
|
|
252
|
-
return new Uint8Array([offset + length]);
|
|
253
|
-
const bytes = [];
|
|
254
|
-
let v = length;
|
|
255
|
-
while (v > 0) {
|
|
256
|
-
bytes.unshift(v & 0xff);
|
|
257
|
-
v = Math.floor(v / 256);
|
|
258
|
-
}
|
|
259
|
-
return new Uint8Array([offset + 55 + bytes.length, ...bytes]);
|
|
260
|
-
}
|
|
261
|
-
/** Minimal big-endian bytes of a non-negative integer; empty for zero (Ethereum header integer encoding). */
|
|
262
|
-
export function beBytes(value) {
|
|
263
|
-
let v = BigInt(value);
|
|
264
|
-
const bytes = [];
|
|
265
|
-
while (v > 0n) {
|
|
266
|
-
bytes.unshift(Number(v & 0xffn));
|
|
267
|
-
v >>= 8n;
|
|
268
|
-
}
|
|
269
|
-
return new Uint8Array(bytes);
|
|
270
|
-
}
|
|
271
|
-
/**
|
|
272
|
-
* Build a synthetic 20-item RLP block header with the number at index 8
|
|
273
|
-
* and the timestamp at index 11 (the stable Ethereum header positions).
|
|
274
|
-
* Other items are deterministic filler byte strings.
|
|
275
|
-
*/
|
|
276
|
-
export function makeEthereumHeader(opts) {
|
|
277
|
-
const count = opts.itemCount ?? 20;
|
|
278
|
-
const items = [];
|
|
279
|
-
for (let i = 0; i < count; i++) {
|
|
280
|
-
if (i === 8)
|
|
281
|
-
items.push(beBytes(opts.blockNumber));
|
|
282
|
-
else if (i === 11)
|
|
283
|
-
items.push(beBytes(opts.timestamp));
|
|
284
|
-
else
|
|
285
|
-
items.push(new Uint8Array(32).fill(i + 1));
|
|
286
|
-
}
|
|
287
|
-
const headerBytes = encodeRlp(items);
|
|
288
|
-
return {
|
|
289
|
-
headerBytes,
|
|
290
|
-
headerRlpHex: `0x${Buffer.from(headerBytes).toString("hex")}`,
|
|
291
|
-
};
|
|
292
|
-
}
|
|
293
|
-
/** JSON string of a bitgraph-anchor-witness/1 file. */
|
|
294
|
-
export function witnessJson(opts) {
|
|
295
|
-
const witness = { version: "bitgraph-anchor-witness/1" };
|
|
296
|
-
if (!(opts.omit ?? []).includes("headerRlpHex"))
|
|
297
|
-
witness["headerRlpHex"] = opts.headerRlpHex;
|
|
298
|
-
if (!(opts.omit ?? []).includes("blockNumber"))
|
|
299
|
-
witness["blockNumber"] = opts.blockNumber;
|
|
300
|
-
if (!(opts.omit ?? []).includes("blockHash"))
|
|
301
|
-
witness["blockHash"] = opts.blockHash;
|
|
302
|
-
if (opts.network !== undefined)
|
|
303
|
-
witness["network"] = opts.network;
|
|
304
|
-
return JSON.stringify(witness);
|
|
305
|
-
}
|
|
306
|
-
// ---------------------------------------------------------------------------
|
|
307
|
-
// Bundle-on-disk helpers
|
|
308
|
-
// ---------------------------------------------------------------------------
|
|
309
|
-
export async function makeTempDir(prefix) {
|
|
310
|
-
return mkdtemp(join(tmpdir(), prefix));
|
|
311
|
-
}
|
|
312
|
-
/**
|
|
313
|
-
* Write a bundle directory from a path -> content map. Paths use "/"
|
|
314
|
-
* separators; parent directories are created as needed.
|
|
315
|
-
*/
|
|
316
|
-
export async function writeBundleDir(root, files) {
|
|
317
|
-
for (const [relPath, content] of Object.entries(files)) {
|
|
318
|
-
const abs = join(root, ...relPath.split("/"));
|
|
319
|
-
await mkdir(dirname(abs), { recursive: true });
|
|
320
|
-
await writeFile(abs, typeof content === "string" ? utf8(content) : content);
|
|
321
|
-
}
|
|
322
|
-
}
|
|
323
|
-
/** Build a complete tar archive in memory (ustar, PAX, GNU long-name). */
|
|
324
|
-
export function makeTar(entries) {
|
|
325
|
-
const parts = [];
|
|
326
|
-
for (const entry of entries) {
|
|
327
|
-
const content = typeof entry.content === "string" ? utf8(entry.content) : entry.content;
|
|
328
|
-
if (entry.paxPath !== undefined) {
|
|
329
|
-
const record = paxRecord("path", entry.paxPath);
|
|
330
|
-
const declaredSize = entry.paxHeaderDeclaredSize ?? record.length;
|
|
331
|
-
parts.push(tarHeaderBlock("PaxHeaders.0/entry", declaredSize, "x"), padTo512(record));
|
|
332
|
-
}
|
|
333
|
-
if (entry.gnuLongName !== undefined) {
|
|
334
|
-
const nameBytes = utf8(`${entry.gnuLongName}\0`);
|
|
335
|
-
parts.push(tarHeaderBlock("././@LongLink", nameBytes.length, "L"), padTo512(nameBytes));
|
|
336
|
-
}
|
|
337
|
-
parts.push(tarHeaderBlock(entry.name, content.length, entry.typeflag ?? "0"), padTo512(content));
|
|
338
|
-
}
|
|
339
|
-
parts.push(new Uint8Array(512), new Uint8Array(512));
|
|
340
|
-
return concatBytes(parts);
|
|
341
|
-
}
|
|
342
|
-
function tarHeaderBlock(name, size, typeflag) {
|
|
343
|
-
const block = new Uint8Array(512);
|
|
344
|
-
const ascii = (text, offset, length) => {
|
|
345
|
-
const bytes = utf8(text);
|
|
346
|
-
block.set(bytes.subarray(0, Math.min(bytes.length, length)), offset);
|
|
347
|
-
};
|
|
348
|
-
ascii(name, 0, 100);
|
|
349
|
-
block.set(octalField(0o644, 8), 100); // mode
|
|
350
|
-
block.set(octalField(0, 8), 108); // uid
|
|
351
|
-
block.set(octalField(0, 8), 116); // gid
|
|
352
|
-
block.set(octalField(size, 12), 124); // size
|
|
353
|
-
block.set(octalField(0, 12), 136); // mtime
|
|
354
|
-
for (let i = 148; i < 156; i++)
|
|
355
|
-
block[i] = 0x20; // checksum spaces
|
|
356
|
-
block[156] = typeflag.charCodeAt(0);
|
|
357
|
-
ascii("ustar", 257, 6); // magic, NUL-terminated by the zero block
|
|
358
|
-
ascii("00", 263, 2); // version
|
|
359
|
-
let sum = 0;
|
|
360
|
-
for (let i = 0; i < 512; i++)
|
|
361
|
-
sum += block[i];
|
|
362
|
-
ascii(sum.toString(8).padStart(6, "0"), 148, 6);
|
|
363
|
-
block[154] = 0;
|
|
364
|
-
block[155] = 0x20;
|
|
365
|
-
return block;
|
|
366
|
-
}
|
|
367
|
-
function octalField(value, length) {
|
|
368
|
-
const out = new Uint8Array(length);
|
|
369
|
-
const text = value.toString(8).padStart(length - 1, "0");
|
|
370
|
-
for (let i = 0; i < text.length; i++)
|
|
371
|
-
out[i] = text.charCodeAt(i);
|
|
372
|
-
out[length - 1] = 0;
|
|
373
|
-
return out;
|
|
374
|
-
}
|
|
375
|
-
/** PAX record: "<len> <key>=<value>\n" where len counts the whole record. */
|
|
376
|
-
function paxRecord(key, value) {
|
|
377
|
-
const baseBytes = utf8(` ${key}=${value}\n`);
|
|
378
|
-
let length = baseBytes.length + 1;
|
|
379
|
-
while (String(length).length + baseBytes.length !== length) {
|
|
380
|
-
length = String(length).length + baseBytes.length;
|
|
381
|
-
}
|
|
382
|
-
return concatBytes([utf8(String(length)), baseBytes]);
|
|
383
|
-
}
|
|
384
|
-
function padTo512(content) {
|
|
385
|
-
const padding = (512 - (content.length % 512)) % 512;
|
|
386
|
-
if (padding === 0)
|
|
387
|
-
return content;
|
|
388
|
-
const out = new Uint8Array(content.length + padding);
|
|
389
|
-
out.set(content, 0);
|
|
390
|
-
return out;
|
|
391
|
-
}
|
|
392
|
-
function concatBytes(parts) {
|
|
393
|
-
const total = parts.reduce((sum, part) => sum + part.length, 0);
|
|
394
|
-
const out = new Uint8Array(total);
|
|
395
|
-
let offset = 0;
|
|
396
|
-
for (const part of parts) {
|
|
397
|
-
out.set(part, offset);
|
|
398
|
-
offset += part.length;
|
|
399
|
-
}
|
|
400
|
-
return out;
|
|
401
|
-
}
|
|
402
|
-
// ---------------------------------------------------------------------------
|
|
403
|
-
// Serialization helpers
|
|
404
|
-
// ---------------------------------------------------------------------------
|
|
405
|
-
/** Compact JSON serialization of a proof, the usual on-disk form. */
|
|
406
|
-
export function proofJson(proof) {
|
|
407
|
-
return JSON.stringify(proof);
|
|
408
|
-
}
|
|
409
|
-
/** Stored form: the proof with a trailing proofHash field, as the ledger serves it. */
|
|
410
|
-
export function storedProofJson(proof, proofHash) {
|
|
411
|
-
return JSON.stringify({ ...proof, proofHash });
|
|
412
|
-
}
|
|
413
|
-
/**
|
|
414
|
-
* Build the standard mixed bundle in a temp directory, per the Phase 4d
|
|
415
|
-
* brief: a healthy signed chain (4 proofs, slot/commit pairs 1..8) with
|
|
416
|
-
* one proof missing (index 1, producing an unexplained-position gap and
|
|
417
|
-
* a chain break), a predecessor-reuse fork off the chain tail, an occ/1
|
|
418
|
-
* unsupported-version reject, one artifact-present proof (chain genesis)
|
|
419
|
-
* and artifact-absent proofs (everything else), an Ethereum anchor in
|
|
420
|
-
* its own epoch with a valid offline witness, plus one exact-duplicate
|
|
421
|
-
* copy and one semantic-duplicate (stored-form) copy of the genesis.
|
|
422
|
-
*/
|
|
423
|
-
export async function makeStandardAuditBundle() {
|
|
424
|
-
const dir = await makeTempDir("bitgraph-audit-standard-");
|
|
425
|
-
const epochId = "epoch-standard-main";
|
|
426
|
-
const anchorEpochId = "epoch-standard-anchor";
|
|
427
|
-
const chainId = "bitgraph:main";
|
|
428
|
-
const measurement = "test-measurement-chain";
|
|
429
|
-
const chain = await makeCounterChain({
|
|
430
|
-
epochId,
|
|
431
|
-
pairs: healthyPairs(4),
|
|
432
|
-
chainId,
|
|
433
|
-
measurement,
|
|
434
|
-
payloadPrefix: "standard-bundle",
|
|
435
|
-
});
|
|
436
|
-
const tail = chain.proofs[3];
|
|
437
|
-
const forkChild = async (slot, commit, payload) => {
|
|
438
|
-
const bytes = utf8(payload);
|
|
439
|
-
const commitBody = {
|
|
440
|
-
nonceB64: b64(crypto.getRandomValues(new Uint8Array(16))),
|
|
441
|
-
counter: commit,
|
|
442
|
-
slotCounter: slot,
|
|
443
|
-
prevB64: tail.chainHash,
|
|
444
|
-
epochId,
|
|
445
|
-
};
|
|
446
|
-
commitBody["chainId"] = chainId;
|
|
447
|
-
const proof = await signBody(chain.key, { hashAlg: "sha256", digestB64: b64(sha256(bytes)) }, commitBody, measurement);
|
|
448
|
-
return { proof, proofHash: computeProofHash(proof), chainHash: computeChainHash(proof) };
|
|
449
|
-
};
|
|
450
|
-
const forkA = await forkChild("9", "10", "standard-bundle-fork-a");
|
|
451
|
-
const forkB = await forkChild("11", "12", "standard-bundle-fork-b");
|
|
452
|
-
const blockNumber = 123456;
|
|
453
|
-
const blockTimestamp = 1_700_000_000;
|
|
454
|
-
const { headerBytes, headerRlpHex } = makeEthereumHeader({ blockNumber, timestamp: blockTimestamp });
|
|
455
|
-
const blockHash = `0x${Buffer.from(keccak_256(headerBytes)).toString("hex")}`;
|
|
456
|
-
const anchor = await makeAnchorProof({
|
|
457
|
-
blockHash,
|
|
458
|
-
blockNumber,
|
|
459
|
-
epochId: anchorEpochId,
|
|
460
|
-
counter: "2",
|
|
461
|
-
slotCounter: "1",
|
|
462
|
-
});
|
|
463
|
-
const unsupportedPath = "legacy/old.json";
|
|
464
|
-
const occProof = JSON.stringify({
|
|
465
|
-
version: "occ/1",
|
|
466
|
-
artifact: { hashAlg: "sha256", digestB64: "b2NjLWxlZ2FjeQ==" },
|
|
467
|
-
commit: { nonceB64: "b2NjLW5vbmNl" },
|
|
468
|
-
signer: { publicKeyB64: "b2NjLWtleQ==", signatureB64: "b2NjLXNpZw==" },
|
|
469
|
-
});
|
|
470
|
-
const genesis = chain.proofs[0];
|
|
471
|
-
await writeBundleDir(dir, {
|
|
472
|
-
"proofs/chain-0.json": proofJson(genesis.proof),
|
|
473
|
-
"proofs/chain-0-copy.json": proofJson(genesis.proof),
|
|
474
|
-
"proofs/chain-0-stored.json": storedProofJson(genesis.proof, genesis.proofHash),
|
|
475
|
-
// chain-1 (slot 3 / commit 4) is deliberately absent: the gap.
|
|
476
|
-
"proofs/chain-2.json": proofJson(chain.proofs[2].proof),
|
|
477
|
-
"proofs/chain-3.json": proofJson(tail.proof),
|
|
478
|
-
"proofs/fork-a.json": proofJson(forkA.proof),
|
|
479
|
-
"proofs/fork-b.json": proofJson(forkB.proof),
|
|
480
|
-
"proofs/anchor.json": proofJson(anchor.proof),
|
|
481
|
-
"witnesses/block.json": witnessJson({ headerRlpHex, blockNumber, blockHash }),
|
|
482
|
-
"artifacts/payload-0.bin": genesis.bytes,
|
|
483
|
-
[unsupportedPath]: occProof,
|
|
484
|
-
});
|
|
485
|
-
return {
|
|
486
|
-
dir,
|
|
487
|
-
epochId,
|
|
488
|
-
anchorEpochId,
|
|
489
|
-
chainId,
|
|
490
|
-
chainProofHashes: chain.proofs.map((p) => p.proofHash),
|
|
491
|
-
droppedProofHash: chain.proofs[1].proofHash,
|
|
492
|
-
forkAProofHash: forkA.proofHash,
|
|
493
|
-
forkBProofHash: forkB.proofHash,
|
|
494
|
-
anchorProofHash: anchor.proofHash,
|
|
495
|
-
blockNumber,
|
|
496
|
-
blockTimestamp,
|
|
497
|
-
unsupportedPath,
|
|
498
|
-
expected: {
|
|
499
|
-
observed: 6,
|
|
500
|
-
proofFiles: 8,
|
|
501
|
-
exactDuplicates: 1,
|
|
502
|
-
semanticDuplicates: 1,
|
|
503
|
-
unsupportedVersion: 1,
|
|
504
|
-
verified: 1,
|
|
505
|
-
failed: 0,
|
|
506
|
-
artifactUnavailable: 5,
|
|
507
|
-
chainless: 0,
|
|
508
|
-
},
|
|
509
|
-
};
|
|
510
|
-
}
|
|
511
|
-
//# sourceMappingURL=audit-fixtures.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"audit-fixtures.js","sourceRoot":"","sources":["../../src/__tests__/audit-fixtures.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"audit-ingest.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/audit-ingest.test.ts"],"names":[],"mappings":""}
|