@mikeargento/bitgraph-audit 0.6.3 → 0.7.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/dist/anomalies.js +10 -10
- package/dist/anomalies.js.map +1 -1
- package/dist/audit.d.ts +1 -1
- package/dist/audit.d.ts.map +1 -1
- package/dist/audit.js +9 -2
- package/dist/audit.js.map +1 -1
- package/dist/ceilings.d.ts +16 -0
- package/dist/ceilings.d.ts.map +1 -0
- package/dist/ceilings.js +70 -0
- package/dist/ceilings.js.map +1 -0
- package/dist/cli.js +46 -4
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/ingest.d.ts.map +1 -1
- package/dist/ingest.js +17 -0
- package/dist/ingest.js.map +1 -1
- package/dist/report-json.d.ts.map +1 -1
- package/dist/report-json.js +3 -0
- package/dist/report-json.js.map +1 -1
- package/dist/report-md.js +35 -14
- package/dist/report-md.js.map +1 -1
- package/dist/types.d.ts +55 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/anomalies.ts +10 -10
- package/src/audit.ts +8 -1
- package/src/ceilings.ts +85 -0
- package/src/cli.ts +46 -7
- package/src/index.ts +2 -0
- package/src/ingest.ts +19 -0
- package/src/report-json.ts +3 -0
- package/src/report-md.ts +34 -14
- package/src/types.ts +54 -0
package/dist/types.d.ts
CHANGED
|
@@ -361,6 +361,8 @@ export interface IngestCounts {
|
|
|
361
361
|
artifacts: number;
|
|
362
362
|
/** Anchor witness files. */
|
|
363
363
|
witnesses: number;
|
|
364
|
+
/** Ceiling files (bitgraph-ceiling/1) and ceiling status notes (bitgraph-ceiling-status/1). */
|
|
365
|
+
ceilings?: number;
|
|
364
366
|
/** Container entries skipped for unsafe paths. */
|
|
365
367
|
skippedUnsafePaths: number;
|
|
366
368
|
}
|
|
@@ -419,6 +421,10 @@ export interface IngestResult {
|
|
|
419
421
|
artifacts: ArtifactRecord[];
|
|
420
422
|
/** Anchor witness files in observation order. */
|
|
421
423
|
witnesses: AnchorWitnessFile[];
|
|
424
|
+
/** Ceiling files (bitgraph-ceiling/1) in observation order. Optional so older embedders' IngestResults still type. */
|
|
425
|
+
ceilings?: CeilingFile[];
|
|
426
|
+
/** Ceiling status notes (bitgraph-ceiling-status/1): a package saying why a ceiling is absent. */
|
|
427
|
+
ceilingStatuses?: CeilingFile[];
|
|
422
428
|
/** Present when a root manifest.json entry existed. */
|
|
423
429
|
manifest?: ManifestReport;
|
|
424
430
|
/**
|
|
@@ -1184,6 +1190,8 @@ export interface AuditOptions {
|
|
|
1184
1190
|
* explicitly non-AWS deployments.
|
|
1185
1191
|
*/
|
|
1186
1192
|
trustedRootCaDer?: Uint8Array;
|
|
1193
|
+
/** Ceilings in time: the declared writer, the chain, and an optional Base RPC for the one online check. */
|
|
1194
|
+
ceilings?: import("./ceilings.js").CeilingAuditOptions;
|
|
1187
1195
|
}
|
|
1188
1196
|
/**
|
|
1189
1197
|
* Run metadata for one audit execution. This is the ONLY nondeterministic
|
|
@@ -1201,6 +1209,49 @@ export interface AuditRunMetadata {
|
|
|
1201
1209
|
container: ContainerKind;
|
|
1202
1210
|
}
|
|
1203
1211
|
/** Everything one full audit run produced, in pipeline order. */
|
|
1212
|
+
/** A ceiling file or a ceiling status note, as found in the bundle. Never an artifact. */
|
|
1213
|
+
export interface CeilingFile {
|
|
1214
|
+
path: string;
|
|
1215
|
+
fileSha256Hex: string;
|
|
1216
|
+
json: Record<string, unknown>;
|
|
1217
|
+
}
|
|
1218
|
+
/** One ceiling file checked against its proof (verifyCeiling), offline. */
|
|
1219
|
+
export interface CeilingCheck {
|
|
1220
|
+
path: string;
|
|
1221
|
+
proofHash: string | null;
|
|
1222
|
+
/**
|
|
1223
|
+
* verified: every offline check passed. failed: the file is present and
|
|
1224
|
+
* wrong (a tampered or foreign ceiling). pending: the file says no Base
|
|
1225
|
+
* transaction yet. unmatched: no proof in the bundle has its proofHash.
|
|
1226
|
+
*/
|
|
1227
|
+
status: "verified" | "failed" | "pending" | "unmatched";
|
|
1228
|
+
reason?: string;
|
|
1229
|
+
/** One line for people, e.g. "Ceiling: Base block N at hh:mm:ss UTC, settled on Ethereum." */
|
|
1230
|
+
label?: string;
|
|
1231
|
+
window?: {
|
|
1232
|
+
floorBlock: number | null;
|
|
1233
|
+
floorTime: number | null;
|
|
1234
|
+
ceilingChainId: number;
|
|
1235
|
+
ceilingBlock: number;
|
|
1236
|
+
ceilingTime: number;
|
|
1237
|
+
widthSeconds: number | null;
|
|
1238
|
+
};
|
|
1239
|
+
/** Online check against a Base RPC: null when not asked or unreachable. */
|
|
1240
|
+
onChain: boolean | null;
|
|
1241
|
+
onChainDetail?: string;
|
|
1242
|
+
}
|
|
1243
|
+
export interface CeilingAnalysis {
|
|
1244
|
+
/** The writer address the ceilings were checked against. */
|
|
1245
|
+
writer: string;
|
|
1246
|
+
chainId: number;
|
|
1247
|
+
checks: CeilingCheck[];
|
|
1248
|
+
/** Status notes carried instead of a ceiling (path and note). */
|
|
1249
|
+
statuses: Array<{
|
|
1250
|
+
path: string;
|
|
1251
|
+
status: string;
|
|
1252
|
+
note: string;
|
|
1253
|
+
}>;
|
|
1254
|
+
}
|
|
1204
1255
|
export interface AuditResult {
|
|
1205
1256
|
runMetadata: AuditRunMetadata;
|
|
1206
1257
|
ingest: IngestResult;
|
|
@@ -1212,6 +1263,8 @@ export interface AuditResult {
|
|
|
1212
1263
|
witnesses: AnchorWitnessAnalysis;
|
|
1213
1264
|
temporal: TemporalAnalysis;
|
|
1214
1265
|
attestations: AttestationAnalysis;
|
|
1266
|
+
/** Ceilings in time on Base. Absent from results made before this stage existed. */
|
|
1267
|
+
ceilings?: CeilingAnalysis;
|
|
1215
1268
|
}
|
|
1216
1269
|
/**
|
|
1217
1270
|
* CLI exit semantics as bit flags.
|
|
@@ -1436,6 +1489,8 @@ export interface AuditJsonReport {
|
|
|
1436
1489
|
groups: AuthorityGroup[];
|
|
1437
1490
|
sharedSignersAcrossEpochs: SignerEpochSpan[];
|
|
1438
1491
|
};
|
|
1492
|
+
/** Ceilings in time on Base (bitgraph-ceiling/1). Absent when the bundle carries none. */
|
|
1493
|
+
ceilings?: import("./types.js").CeilingAnalysis;
|
|
1439
1494
|
attestations: {
|
|
1440
1495
|
records: ProofAttestationRecord[];
|
|
1441
1496
|
counts: AttestationAnalysis["counts"];
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mikeargento/bitgraph-audit",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"description": "Offline audit of BitGraph proof bundles: ingest, tiered verification, causal reconstruction, divergence reporting.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"bitgraph",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
],
|
|
33
33
|
"scripts": {
|
|
34
34
|
"build": "tsc",
|
|
35
|
-
"prepack": "tsc",
|
|
35
|
+
"prepack": "rm -rf dist && tsc",
|
|
36
36
|
"typecheck": "tsc --noEmit",
|
|
37
37
|
"bench": "node scripts/bench-audit.mjs"
|
|
38
38
|
},
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"node": ">=20"
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@mikeargento/bitgraph-verify": "^1.
|
|
43
|
+
"@mikeargento/bitgraph-verify": "^1.14.0",
|
|
44
44
|
"@noble/hashes": "^1.4.0"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
package/src/anomalies.ts
CHANGED
|
@@ -155,9 +155,9 @@ function analyzeGaps(
|
|
|
155
155
|
proofHashes: [],
|
|
156
156
|
message:
|
|
157
157
|
`${count} counter position${count === 1n ? "" : "s"} within the observed range [${min}, ${max}] ` +
|
|
158
|
-
`of this partition ${count === 1n ? "is" : "are"} neither a commit position nor a referenced
|
|
158
|
+
`of this partition ${count === 1n ? "is" : "are"} neither a commit position nor a referenced reserved position ` +
|
|
159
159
|
`in the supplied bundle. Such ${count === 1n ? "a position" : "positions"} may mean a proof is absent ` +
|
|
160
|
-
`from the bundle, or a
|
|
160
|
+
`from the bundle, or a position that was reserved but never committed (a routine, benign occurrence); ` +
|
|
161
161
|
`this offline audit cannot distinguish the two. It does not, by itself, establish that the authority ` +
|
|
162
162
|
`failed to create or withheld any proof.`,
|
|
163
163
|
details: detail as unknown as Record<string, unknown>,
|
|
@@ -200,8 +200,8 @@ async function analyzeCollisions(
|
|
|
200
200
|
kind === "counter"
|
|
201
201
|
? `${parties.length} distinct valid proofs claim commit counter ${position} in one partition. ` +
|
|
202
202
|
`The audit does not choose between them; all parties are preserved for adjudication.`
|
|
203
|
-
: `${parties.length} distinct valid proofs reference
|
|
204
|
-
`A
|
|
203
|
+
: `${parties.length} distinct valid proofs reference reserved position ${position} in one partition. ` +
|
|
204
|
+
`A reserved position is consumed exactly once; all parties are preserved for adjudication.`,
|
|
205
205
|
details: {
|
|
206
206
|
position,
|
|
207
207
|
validParties: parties.map((m) => m.proofHash),
|
|
@@ -220,8 +220,8 @@ async function analyzeCollisions(
|
|
|
220
220
|
`signer, epoch, and chain partition. A commit counter position can be consumed only once, so at ` +
|
|
221
221
|
`most one of these can belong to the authoritative sequence. The audit tool does not choose ` +
|
|
222
222
|
`between them; every party and its predecessor relationship is preserved for adjudication.`
|
|
223
|
-
: `Two or more independently valid proof objects reference
|
|
224
|
-
`signer, epoch, and chain partition. A
|
|
223
|
+
: `Two or more independently valid proof objects reference reserved position ${position} in the same ` +
|
|
224
|
+
`signer, epoch, and chain partition. A reserved position is allocated once and consumed by one ` +
|
|
225
225
|
`commit, so at most one of these can belong to the authoritative sequence. The audit tool does ` +
|
|
226
226
|
`not choose between them.`,
|
|
227
227
|
});
|
|
@@ -296,9 +296,9 @@ async function analyzeCrossKindPositionReuse(
|
|
|
296
296
|
partition: partition.key,
|
|
297
297
|
proofHashes: [...involvedMap.keys()],
|
|
298
298
|
message:
|
|
299
|
-
`Counter position ${position} is committed by one proof and reserved
|
|
299
|
+
`Counter position ${position} is committed by one proof and reserved by a ` +
|
|
300
300
|
`different proof in the same partition. A single causal position is consumed once, as a ` +
|
|
301
|
-
`
|
|
301
|
+
`reservation or as a commit, never both across distinct proofs. The audit does not choose between ` +
|
|
302
302
|
`them; all parties are preserved for adjudication.`,
|
|
303
303
|
details: {
|
|
304
304
|
position,
|
|
@@ -317,7 +317,7 @@ async function analyzeCrossKindPositionReuse(
|
|
|
317
317
|
explanation:
|
|
318
318
|
`Two or more independently valid proof objects allocate counter position ${position} in the ` +
|
|
319
319
|
`same signer, epoch, and chain partition through different roles: at least one commits at it ` +
|
|
320
|
-
`and at least one reserves it
|
|
320
|
+
`and at least one reserves it. Each position in a chain is consumed exactly once, so ` +
|
|
321
321
|
`at most one of these allocations can belong to the authoritative sequence. This pattern only ` +
|
|
322
322
|
`arises through enclave malfunction, replay, or compromise. The audit tool does not choose ` +
|
|
323
323
|
`between them; every party is preserved for adjudication.`,
|
|
@@ -558,7 +558,7 @@ function analyzeSlotOrder(
|
|
|
558
558
|
partition: partition.key,
|
|
559
559
|
proofHashes: [m.proofHash],
|
|
560
560
|
message:
|
|
561
|
-
"commit.slotCounter is not strictly less than commit.counter. The
|
|
561
|
+
"commit.slotCounter is not strictly less than commit.counter. The position must be reserved " +
|
|
562
562
|
"before the commit that consumes it, so this proof's declared positions contradict the " +
|
|
563
563
|
"nonce-first construction order.",
|
|
564
564
|
details: {
|
package/src/audit.ts
CHANGED
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
* Zero network access, as everywhere in this package.
|
|
18
18
|
*/
|
|
19
19
|
|
|
20
|
+
import { verifyCeilings } from "./ceilings.js";
|
|
20
21
|
import { ingestBundle } from "./ingest.js";
|
|
21
22
|
import { verifyObservedProofs } from "./verify-tiers.js";
|
|
22
23
|
import { reconstructChains } from "./reconstruct.js";
|
|
@@ -37,7 +38,7 @@ import type { AuditOptions, AuditResult, ExitFlags, IngestResult } from "./types
|
|
|
37
38
|
* this equals package.json's version, so the constant cannot drift silently
|
|
38
39
|
* across releases.
|
|
39
40
|
*/
|
|
40
|
-
export const AUDIT_VERSION = "0.
|
|
41
|
+
export const AUDIT_VERSION = "0.7.0";
|
|
41
42
|
|
|
42
43
|
/** The audit package's own version. */
|
|
43
44
|
export function auditToolVersion(): string {
|
|
@@ -80,6 +81,7 @@ export async function auditIngest(
|
|
|
80
81
|
const witnesses = await verifyAnchorWitnesses(ingest, anchors);
|
|
81
82
|
// Populates EpochRecord.anchorBounds on the reconstruction result.
|
|
82
83
|
const temporal = deriveTemporalBounds(ingest, reconstruction, anchors, witnesses);
|
|
84
|
+
const ceilings = await verifyCeilings(ingest, options?.ceilings ?? {});
|
|
83
85
|
const attestations = await validateAttestations(
|
|
84
86
|
ingest,
|
|
85
87
|
authorities,
|
|
@@ -104,6 +106,7 @@ export async function auditIngest(
|
|
|
104
106
|
witnesses,
|
|
105
107
|
temporal,
|
|
106
108
|
attestations,
|
|
109
|
+
ceilings,
|
|
107
110
|
};
|
|
108
111
|
}
|
|
109
112
|
|
|
@@ -152,7 +155,11 @@ export function computeExitFlags(result: AuditResult): ExitFlags {
|
|
|
152
155
|
const witnessVerificationFailures = result.witnesses.findings.some((f) =>
|
|
153
156
|
WITNESS_VERIFICATION_FAILURE_CODES.has(f.code)
|
|
154
157
|
);
|
|
158
|
+
// A ceiling file that is present and wrong is failed evidence, like a bad
|
|
159
|
+
// witness: bit 2. Pending, unmatched and status notes are reported, never bits.
|
|
160
|
+
const ceilingFailures = (result.ceilings?.checks ?? []).some((c) => c.status === "failed");
|
|
155
161
|
const chainAnomaliesOrDivergences =
|
|
162
|
+
ceilingFailures ||
|
|
156
163
|
result.anomalies.anomalies.length > 0 ||
|
|
157
164
|
result.anomalies.divergences.length > 0 ||
|
|
158
165
|
result.authorities.anomalies.length > 0 ||
|
package/src/ceilings.ts
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
// Copyright (c) 2024-2026 Argento Computing Inc. Licensed under the MIT License. See LICENSE.
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Ceilings in time (bitgraph-ceiling/1): each ceiling file in the bundle is
|
|
5
|
+
* matched to its proof by proofHash and checked with verifyCeiling, offline.
|
|
6
|
+
* The one thing offline cannot say is whether the carried Base header is on
|
|
7
|
+
* Base's chain. The audit reports that as unchecked; `bitgraph ceiling
|
|
8
|
+
* verify --rpc` or any Base explorer answers it.
|
|
9
|
+
*
|
|
10
|
+
* The writer address is a trust input, like a measurement allowlist: the
|
|
11
|
+
* default is the address BitGraph publishes, and a reader can pass another.
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
import { verifyCeiling, checkCeilingOnline, type CeilingSidecar } from "@mikeargento/bitgraph-verify";
|
|
15
|
+
import type { CeilingAnalysis, CeilingCheck, IngestResult } from "./types.js";
|
|
16
|
+
|
|
17
|
+
/** BitGraph's published ceiling writer on Base mainnet (bitgraph.ing/ceilings). */
|
|
18
|
+
export const BITGRAPH_CEILING_WRITER = "0xf3972408D853c975F86351C311f4310220bbF2a3";
|
|
19
|
+
export const BASE_MAINNET_CHAIN_ID = 8453;
|
|
20
|
+
|
|
21
|
+
export interface CeilingAuditOptions {
|
|
22
|
+
writer?: string;
|
|
23
|
+
chainId?: number;
|
|
24
|
+
/**
|
|
25
|
+
* The one online question, supplied by an embedder that allows network:
|
|
26
|
+
* the Base chain's block hash at a height. The audit itself never makes a
|
|
27
|
+
* network call (its zero-network guarantee), so the CLI never sets this.
|
|
28
|
+
*/
|
|
29
|
+
getBlockHash?: (blockNumber: number) => Promise<string | null>;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export async function verifyCeilings(ingest: IngestResult, options: CeilingAuditOptions = {}): Promise<CeilingAnalysis> {
|
|
33
|
+
const writer = options.writer ?? BITGRAPH_CEILING_WRITER;
|
|
34
|
+
const chainId = options.chainId ?? BASE_MAINNET_CHAIN_ID;
|
|
35
|
+
const byHash = new Map(ingest.proofs.map((p) => [p.proofHash, p]));
|
|
36
|
+
const checks: CeilingCheck[] = [];
|
|
37
|
+
for (const f of ingest.ceilings ?? []) {
|
|
38
|
+
const side = f.json as unknown as CeilingSidecar;
|
|
39
|
+
const proofHash = typeof side.proofHash === "string" ? side.proofHash : null;
|
|
40
|
+
const observed = proofHash ? byHash.get(proofHash) : undefined;
|
|
41
|
+
if (!observed) {
|
|
42
|
+
checks.push({ path: f.path, proofHash, status: "unmatched", reason: "no proof in this bundle has this ceiling's proofHash", onChain: null });
|
|
43
|
+
continue;
|
|
44
|
+
}
|
|
45
|
+
const r = await verifyCeiling(observed.proof, side, { writerAddress: writer, chainId });
|
|
46
|
+
if (!r.ok) {
|
|
47
|
+
const pending = r.status === "pending";
|
|
48
|
+
checks.push({ path: f.path, proofHash, status: pending ? "pending" : "failed", ...(r.reason ? { reason: r.reason } : {}), onChain: null });
|
|
49
|
+
continue;
|
|
50
|
+
}
|
|
51
|
+
const w = r.window!;
|
|
52
|
+
const check: CeilingCheck = {
|
|
53
|
+
path: f.path,
|
|
54
|
+
proofHash,
|
|
55
|
+
status: "verified",
|
|
56
|
+
...(r.label ? { label: r.label } : {}),
|
|
57
|
+
window: {
|
|
58
|
+
floorBlock: w.floor.blockNumber || null,
|
|
59
|
+
floorTime: w.floor.blockTimestamp,
|
|
60
|
+
ceilingChainId: w.ceiling.chainId,
|
|
61
|
+
ceilingBlock: w.ceiling.blockNumber,
|
|
62
|
+
ceilingTime: w.ceiling.blockTimestamp,
|
|
63
|
+
widthSeconds: w.widthSeconds,
|
|
64
|
+
},
|
|
65
|
+
onChain: null,
|
|
66
|
+
onChainDetail: "header not checked against chain",
|
|
67
|
+
};
|
|
68
|
+
if (options.getBlockHash) {
|
|
69
|
+
const online = await checkCeilingOnline(side, options.getBlockHash);
|
|
70
|
+
check.onChain = online.onChain;
|
|
71
|
+
check.onChainDetail = online.detail;
|
|
72
|
+
if (online.onChain === false) {
|
|
73
|
+
check.status = "failed";
|
|
74
|
+
check.reason = `chain: ${online.detail}`;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
checks.push(check);
|
|
78
|
+
}
|
|
79
|
+
const statuses = (ingest.ceilingStatuses ?? []).map((f) => ({
|
|
80
|
+
path: f.path,
|
|
81
|
+
status: String(f.json["status"] ?? "unknown"),
|
|
82
|
+
note: String(f.json["note"] ?? ""),
|
|
83
|
+
}));
|
|
84
|
+
return { writer, chainId, checks, statuses };
|
|
85
|
+
}
|
package/src/cli.ts
CHANGED
|
@@ -52,7 +52,7 @@ const KNOWN_POLICY_FIELDS: readonly string[] = [
|
|
|
52
52
|
class UsageError extends Error {}
|
|
53
53
|
|
|
54
54
|
const USAGE_LINE =
|
|
55
|
-
"Usage: bitgraph-audit <path-to-bundle> [--out <dir>] [--format json,md] [--trust-policy <path>]";
|
|
55
|
+
"Usage: bitgraph-audit <path-to-bundle> [--out <dir>] [--format json,md] [--trust-policy <path>] [--ceiling-writer <0x...>] [--ceiling-chain <id>]";
|
|
56
56
|
|
|
57
57
|
function helpText(): string {
|
|
58
58
|
return [
|
|
@@ -78,6 +78,14 @@ function helpText(): string {
|
|
|
78
78
|
" verification tiers. Valid fields:",
|
|
79
79
|
` ${KNOWN_POLICY_FIELDS.join(", ")}.`,
|
|
80
80
|
" Any other field is an error.",
|
|
81
|
+
" --ceiling-writer <0x…> The address ceilings in time must come from",
|
|
82
|
+
" (default: BitGraph's published writer,",
|
|
83
|
+
" 0xf3972408D853c975F86351C311f4310220bbF2a3).",
|
|
84
|
+
" --ceiling-chain <id> Base chain id for ceilings (default 8453).",
|
|
85
|
+
" The audit never goes online, so whether each",
|
|
86
|
+
" ceiling's Base block is on Base's chain is",
|
|
87
|
+
" reported as unchecked: confirm it on basescan.org",
|
|
88
|
+
" or with `bitgraph ceiling verify --rpc <url>`.",
|
|
81
89
|
" --help, -h Print this help and exit 0.",
|
|
82
90
|
"",
|
|
83
91
|
"Exit codes (bit flags):",
|
|
@@ -98,7 +106,10 @@ function helpText(): string {
|
|
|
98
106
|
" or a supplied anchor witness that fails its offline verification",
|
|
99
107
|
" (block-hash mismatch, digest binding, block number, header or",
|
|
100
108
|
" RLP malformation, an invalid candidate anchor, or an unmatched",
|
|
101
|
-
" witness)
|
|
109
|
+
" witness), or a ceiling in time (bitgraph-ceiling/1) that fails",
|
|
110
|
+
" its check against its proof (wrong writer, root, block, header).",
|
|
111
|
+
" A pending ceiling or a ceiling status note never sets a bit.",
|
|
112
|
+
" Benign findings are reported but never set exit bits:",
|
|
102
113
|
" duplicate copies, manifest advisories, unsafe paths, embedded",
|
|
103
114
|
" proofHash mismatches, and informational anchor findings (unsigned",
|
|
104
115
|
" metadata disagreements, metadata-only anchor claims, and",
|
|
@@ -120,6 +131,8 @@ interface ParsedArgs {
|
|
|
120
131
|
outDir: string;
|
|
121
132
|
formats: ReadonlySet<"json" | "md">;
|
|
122
133
|
trustPolicyPath?: string;
|
|
134
|
+
ceilingWriter?: string;
|
|
135
|
+
ceilingChain?: number;
|
|
123
136
|
}
|
|
124
137
|
|
|
125
138
|
function parseArgs(argv: string[]): ParsedArgs | "help" {
|
|
@@ -127,6 +140,8 @@ function parseArgs(argv: string[]): ParsedArgs | "help" {
|
|
|
127
140
|
let outDir = ".";
|
|
128
141
|
let formats: Set<"json" | "md"> = new Set(["json", "md"]);
|
|
129
142
|
let trustPolicyPath: string | undefined;
|
|
143
|
+
let ceilingWriter: string | undefined;
|
|
144
|
+
let ceilingChain: number | undefined;
|
|
130
145
|
|
|
131
146
|
const takeValue = (flag: string, index: number): string => {
|
|
132
147
|
const value = argv[index + 1];
|
|
@@ -158,6 +173,15 @@ function parseArgs(argv: string[]): ParsedArgs | "help" {
|
|
|
158
173
|
} else if (arg === "--trust-policy") {
|
|
159
174
|
trustPolicyPath = takeValue(arg, i);
|
|
160
175
|
i++;
|
|
176
|
+
} else if (arg === "--ceiling-writer") {
|
|
177
|
+
ceilingWriter = takeValue(arg, i);
|
|
178
|
+
i++;
|
|
179
|
+
if (!/^0x[0-9a-fA-F]{40}$/.test(ceilingWriter)) throw new UsageError("--ceiling-writer must be a 0x address.");
|
|
180
|
+
} else if (arg === "--ceiling-chain") {
|
|
181
|
+
ceilingChain = Number(takeValue(arg, i));
|
|
182
|
+
i++;
|
|
183
|
+
if (!Number.isInteger(ceilingChain) || ceilingChain <= 0) throw new UsageError("--ceiling-chain must be a chain id.");
|
|
184
|
+
|
|
161
185
|
} else if (arg.startsWith("-")) {
|
|
162
186
|
throw new UsageError(`unknown option "${arg}".`);
|
|
163
187
|
} else if (bundlePath === undefined) {
|
|
@@ -173,6 +197,9 @@ function parseArgs(argv: string[]): ParsedArgs | "help" {
|
|
|
173
197
|
outDir,
|
|
174
198
|
formats,
|
|
175
199
|
...(trustPolicyPath !== undefined ? { trustPolicyPath } : {}),
|
|
200
|
+
...(ceilingWriter !== undefined ? { ceilingWriter } : {}),
|
|
201
|
+
...(ceilingChain !== undefined ? { ceilingChain } : {}),
|
|
202
|
+
|
|
176
203
|
};
|
|
177
204
|
}
|
|
178
205
|
|
|
@@ -209,7 +236,7 @@ function exitMeaning(flags: ExitFlags): string {
|
|
|
209
236
|
const parts: string[] = [];
|
|
210
237
|
if (flags.verificationFailures) parts.push("verification failures");
|
|
211
238
|
if (flags.chainAnomaliesOrDivergences) {
|
|
212
|
-
parts.push("chain anomalies, divergences, or anchor witness verification failures");
|
|
239
|
+
parts.push("chain anomalies, divergences, or anchor witness verification failures (or a failed ceiling in time)");
|
|
213
240
|
}
|
|
214
241
|
return parts.join("; ");
|
|
215
242
|
}
|
|
@@ -308,10 +335,15 @@ async function main(): Promise<number> {
|
|
|
308
335
|
|
|
309
336
|
let result;
|
|
310
337
|
try {
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
338
|
+
const ceilings = {
|
|
339
|
+
...(parsed.ceilingWriter !== undefined ? { writer: parsed.ceilingWriter } : {}),
|
|
340
|
+
...(parsed.ceilingChain !== undefined ? { chainId: parsed.ceilingChain } : {}),
|
|
341
|
+
|
|
342
|
+
};
|
|
343
|
+
result = await runAudit(bundlePath, {
|
|
344
|
+
...(trustAnchors !== undefined ? { trustAnchors } : {}),
|
|
345
|
+
ceilings,
|
|
346
|
+
});
|
|
315
347
|
} catch (err) {
|
|
316
348
|
process.stderr.write(
|
|
317
349
|
`bitgraph-audit: cannot audit "${parsed.bundlePath}": ` +
|
|
@@ -338,6 +370,13 @@ async function main(): Promise<number> {
|
|
|
338
370
|
if (carrierFlags & 1) { flags.verificationFailures = true; }
|
|
339
371
|
if (carrierFlags & 2) { flags.chainAnomaliesOrDivergences = true; }
|
|
340
372
|
flags.code = flags.code | carrierFlags;
|
|
373
|
+
for (const c of result.ceilings?.checks ?? []) {
|
|
374
|
+
const width = c.window?.widthSeconds != null ? ` (window ${c.window.widthSeconds}s after the floor block)` : "";
|
|
375
|
+
process.stdout.write(c.status === "verified"
|
|
376
|
+
? `ceiling VERIFIED ${c.path}: ${c.label ?? ""}${width}; ${c.onChainDetail ?? ""}\n`
|
|
377
|
+
: `ceiling ${c.status.toUpperCase()} ${c.path}: ${c.reason ?? ""}\n`);
|
|
378
|
+
}
|
|
379
|
+
for (const s of result.ceilings?.statuses ?? []) process.stdout.write(`ceiling ${s.status} ${s.path}: ${s.note}\n`);
|
|
341
380
|
process.stdout.write(
|
|
342
381
|
`bitgraph-audit ${auditToolVersion()}: wrote ${written.join(", ")}\n` +
|
|
343
382
|
`exit ${flags.code}: ${exitMeaning(flags)}\n`
|
package/src/index.ts
CHANGED
|
@@ -101,6 +101,8 @@ export { identifyAnchors } from "./anchors.js";
|
|
|
101
101
|
export { verifyAnchorWitnesses, verifyAnchorWitness } from "./witness.js";
|
|
102
102
|
|
|
103
103
|
export { deriveTemporalBounds } from "./temporal.js";
|
|
104
|
+
export { verifyCeilings, BITGRAPH_CEILING_WRITER, BASE_MAINNET_CHAIN_ID } from "./ceilings.js";
|
|
105
|
+
export type { CeilingAuditOptions } from "./ceilings.js";
|
|
104
106
|
|
|
105
107
|
export { validateAttestations, validateNitroAttestationDocument } from "./attestation.js";
|
|
106
108
|
|
package/src/ingest.ts
CHANGED
|
@@ -43,6 +43,7 @@ import { readTarEntries } from "./tar.js";
|
|
|
43
43
|
import { combineEntryDigests } from "./contents-hash.js";
|
|
44
44
|
import type {
|
|
45
45
|
AnchorWitnessFile,
|
|
46
|
+
CeilingFile,
|
|
46
47
|
ArtifactRecord,
|
|
47
48
|
AuditFinding,
|
|
48
49
|
BundleManifest,
|
|
@@ -82,6 +83,8 @@ const NUL = new Uint8Array([0]);
|
|
|
82
83
|
const MANIFEST_PATH = "manifest.json";
|
|
83
84
|
const BUNDLE_VERSION = "bitgraph-bundle/1";
|
|
84
85
|
const WITNESS_VERSION = "bitgraph-anchor-witness/1";
|
|
86
|
+
const CEILING_VERSION_TAG = "bitgraph-ceiling/1";
|
|
87
|
+
const CEILING_STATUS_VERSION_TAG = "bitgraph-ceiling-status/1";
|
|
85
88
|
|
|
86
89
|
// ---------------------------------------------------------------------------
|
|
87
90
|
// Public API
|
|
@@ -336,6 +339,8 @@ function finalizeIngest(params: FinalizeParams): IngestResult {
|
|
|
336
339
|
const proofsByHash = new Map<string, ObservedProof>();
|
|
337
340
|
const unsupportedVersions: UnsupportedVersionRecord[] = [];
|
|
338
341
|
const witnesses: AnchorWitnessFile[] = [];
|
|
342
|
+
const ceilings: CeilingFile[] = [];
|
|
343
|
+
const ceilingStatuses: CeilingFile[] = [];
|
|
339
344
|
const artifactsByHex = new Map<string, ArtifactRecord>();
|
|
340
345
|
let manifest: ManifestReport | undefined;
|
|
341
346
|
let proofFiles = 0;
|
|
@@ -393,6 +398,17 @@ function finalizeIngest(params: FinalizeParams): IngestResult {
|
|
|
393
398
|
continue;
|
|
394
399
|
}
|
|
395
400
|
|
|
401
|
+
// A ceiling in time travels beside its proof: evidence, never an artifact.
|
|
402
|
+
const pv = parsed !== undefined ? (parsed as Record<string, unknown>)["version"] : undefined;
|
|
403
|
+
if (pv === CEILING_VERSION_TAG || pv === CEILING_STATUS_VERSION_TAG) {
|
|
404
|
+
(pv === CEILING_VERSION_TAG ? ceilings : ceilingStatuses).push({
|
|
405
|
+
path: entry.path,
|
|
406
|
+
fileSha256Hex: entry.sha256Hex,
|
|
407
|
+
json: parsed as Record<string, unknown>,
|
|
408
|
+
});
|
|
409
|
+
continue;
|
|
410
|
+
}
|
|
411
|
+
|
|
396
412
|
indexArtifact(entry, artifactsByHex);
|
|
397
413
|
}
|
|
398
414
|
|
|
@@ -420,6 +436,7 @@ function finalizeIngest(params: FinalizeParams): IngestResult {
|
|
|
420
436
|
unsupportedVersion: unsupportedVersions.length,
|
|
421
437
|
artifacts: artifacts.length,
|
|
422
438
|
witnesses: witnesses.length,
|
|
439
|
+
ceilings: ceilings.length + ceilingStatuses.length,
|
|
423
440
|
skippedUnsafePaths,
|
|
424
441
|
};
|
|
425
442
|
|
|
@@ -432,6 +449,8 @@ function finalizeIngest(params: FinalizeParams): IngestResult {
|
|
|
432
449
|
unsupportedVersions,
|
|
433
450
|
artifacts,
|
|
434
451
|
witnesses,
|
|
452
|
+
ceilings,
|
|
453
|
+
ceilingStatuses,
|
|
435
454
|
...(manifest !== undefined ? { manifest } : {}),
|
|
436
455
|
computedContentsHashB64,
|
|
437
456
|
findings,
|
package/src/report-json.ts
CHANGED
|
@@ -109,6 +109,9 @@ export function buildJsonReport(result: AuditResult): AuditJsonReport {
|
|
|
109
109
|
groups: result.authorities.groups,
|
|
110
110
|
sharedSignersAcrossEpochs: result.authorities.sharedSignersAcrossEpochs,
|
|
111
111
|
},
|
|
112
|
+
...(result.ceilings && (result.ceilings.checks.length > 0 || result.ceilings.statuses.length > 0)
|
|
113
|
+
? { ceilings: result.ceilings }
|
|
114
|
+
: {}),
|
|
112
115
|
attestations: {
|
|
113
116
|
records: result.attestations.records,
|
|
114
117
|
counts: result.attestations.counts,
|