@mikeargento/bitgraph 1.9.0 → 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/LICENSE +1 -1
- package/README.md +58 -35
- package/dist/constructor.js +1 -1
- package/dist/constructor.js.map +1 -1
- package/dist/fuse-cli.js +1 -1
- package/dist/fuse-cli.js.map +1 -1
- package/dist/fuse.js +1 -1
- package/dist/fuse.js.map +1 -1
- package/dist/host.js +1 -1
- package/dist/host.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/policy.js +1 -1
- package/dist/policy.js.map +1 -1
- package/package.json +23 -8
- package/src/constructor.ts +1 -1
- package/src/fuse-cli.ts +1 -1
- package/src/fuse.ts +1 -1
- package/src/host.ts +1 -1
- package/src/index.ts +3 -2
- package/src/policy.ts +1 -1
- 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-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 -868
- 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 -426
- 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__/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-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 -1005
- 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 -541
- 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,265 +0,0 @@
|
|
|
1
|
-
import type { BitGraphProof } from "@mikeargento/bitgraph-verify";
|
|
2
|
-
export declare function b64(bytes: Uint8Array): string;
|
|
3
|
-
export declare function utf8(text: string): Uint8Array;
|
|
4
|
-
/**
|
|
5
|
-
* Source of random bytes for fixture generation. Defaults everywhere to
|
|
6
|
-
* crypto.getRandomValues; property-based suites pass a seeded deterministic
|
|
7
|
-
* source so the same seed always regenerates byte-identical fixtures.
|
|
8
|
-
*/
|
|
9
|
-
export type RandomSource = (byteLength: number) => Uint8Array;
|
|
10
|
-
export interface ManualKey {
|
|
11
|
-
privateKey: Uint8Array;
|
|
12
|
-
publicKeyB64: string;
|
|
13
|
-
}
|
|
14
|
-
export declare function makeKey(random?: RandomSource): Promise<ManualKey>;
|
|
15
|
-
/**
|
|
16
|
-
* Manually build and sign a proof over the exact canonical SignedBody the
|
|
17
|
-
* verifier reconstructs. The commit object may carry extra fields (for
|
|
18
|
-
* example the live enclave's undeclared chainId); because it is part of
|
|
19
|
-
* the signed body, the signature covers them.
|
|
20
|
-
*
|
|
21
|
-
* Optional extras follow the canonical SignedBody rules: attribution is
|
|
22
|
-
* included in the signed body when provided; attestationFormat is
|
|
23
|
-
* included when an attestation is provided (the reportB64 itself stays
|
|
24
|
-
* OUTSIDE the signed body, exactly like the enclave output, so the
|
|
25
|
-
* report can be attached or swapped after signing without changing the
|
|
26
|
-
* canonical hash).
|
|
27
|
-
*/
|
|
28
|
-
export declare function signBody(key: ManualKey, artifact: BitGraphProof["artifact"], commit: BitGraphProof["commit"], measurement: string, extras?: {
|
|
29
|
-
attribution?: {
|
|
30
|
-
name?: string;
|
|
31
|
-
title?: string;
|
|
32
|
-
message?: string;
|
|
33
|
-
};
|
|
34
|
-
attestation?: {
|
|
35
|
-
format: string;
|
|
36
|
-
reportB64: string;
|
|
37
|
-
};
|
|
38
|
-
}): Promise<BitGraphProof>;
|
|
39
|
-
/**
|
|
40
|
-
* Build a proof through the root Constructor (the real commit path).
|
|
41
|
-
* Default fixtures are chainless: no counter, no epochId.
|
|
42
|
-
*/
|
|
43
|
-
export declare function makeConstructorProof(opts?: {
|
|
44
|
-
withCounter?: boolean;
|
|
45
|
-
epochId?: string;
|
|
46
|
-
payload?: string;
|
|
47
|
-
}): Promise<{
|
|
48
|
-
proof: BitGraphProof;
|
|
49
|
-
bytes: Uint8Array;
|
|
50
|
-
}>;
|
|
51
|
-
/**
|
|
52
|
-
* Build a verifier-valid proof carrying a chainId inside the signed
|
|
53
|
-
* commit body, matching what the live enclave injects for non-default
|
|
54
|
-
* chains.
|
|
55
|
-
*/
|
|
56
|
-
export declare function makeChainIdProof(opts?: {
|
|
57
|
-
chainId?: string;
|
|
58
|
-
counter?: string;
|
|
59
|
-
epochId?: string;
|
|
60
|
-
payload?: string;
|
|
61
|
-
}): Promise<{
|
|
62
|
-
proof: BitGraphProof;
|
|
63
|
-
bytes: Uint8Array;
|
|
64
|
-
}>;
|
|
65
|
-
/**
|
|
66
|
-
* Build a verifier-valid epoch-genesis proof carrying an epochLink that
|
|
67
|
-
* consumes the given predecessor into the given successor epoch.
|
|
68
|
-
*
|
|
69
|
-
* By default the predecessor key is a fresh random key; pass
|
|
70
|
-
* prevPublicKeyB64 to reference the actual signer of an observed
|
|
71
|
-
* predecessor. Optional counter, slotCounter, prevB64, and chainId land
|
|
72
|
-
* in the signed commit body, matching real enclave output shapes.
|
|
73
|
-
*/
|
|
74
|
-
export declare function makeEpochLinkProof(opts: {
|
|
75
|
-
prevEpochId: string;
|
|
76
|
-
prevCounter: string;
|
|
77
|
-
prevProofHashB64: string;
|
|
78
|
-
toEpochId: string;
|
|
79
|
-
prevPublicKeyB64?: string;
|
|
80
|
-
key?: ManualKey;
|
|
81
|
-
counter?: string;
|
|
82
|
-
slotCounter?: string;
|
|
83
|
-
prevB64?: string;
|
|
84
|
-
chainId?: string;
|
|
85
|
-
measurement?: string;
|
|
86
|
-
payload?: string;
|
|
87
|
-
random?: RandomSource;
|
|
88
|
-
}): Promise<{
|
|
89
|
-
proof: BitGraphProof;
|
|
90
|
-
bytes: Uint8Array;
|
|
91
|
-
proofHash: string;
|
|
92
|
-
chainHash: string;
|
|
93
|
-
key: ManualKey;
|
|
94
|
-
}>;
|
|
95
|
-
export interface CounterChainLink {
|
|
96
|
-
proof: BitGraphProof;
|
|
97
|
-
bytes: Uint8Array;
|
|
98
|
-
/** Signed-body identity hash (computeProofHash). */
|
|
99
|
-
proofHash: string;
|
|
100
|
-
/** Whole-proof chain hash (computeChainHash): the value a successor's prevB64 references. */
|
|
101
|
-
chainHash: string;
|
|
102
|
-
}
|
|
103
|
-
/**
|
|
104
|
-
* Build a linked chain of verifier-valid proofs under one signer key,
|
|
105
|
-
* epoch, and chain, with explicit counter positions per proof. Each
|
|
106
|
-
* non-first proof carries prevB64 equal to the canonical proof hash of
|
|
107
|
-
* its predecessor; the first proof omits prevB64 entirely (genesis per
|
|
108
|
-
* G1) unless prevB64OfFirst continues the chain from an existing proof.
|
|
109
|
-
* Pass pairs like real enclave output (slot 1/commit 2, slot 3/
|
|
110
|
-
* commit 4, ...) or leave positions out for counterless link chains.
|
|
111
|
-
*/
|
|
112
|
-
export declare function makeCounterChain(opts: {
|
|
113
|
-
epochId: string;
|
|
114
|
-
pairs: Array<{
|
|
115
|
-
slot?: string;
|
|
116
|
-
commit?: string;
|
|
117
|
-
}>;
|
|
118
|
-
key?: ManualKey;
|
|
119
|
-
chainId?: string;
|
|
120
|
-
measurement?: string;
|
|
121
|
-
payloadPrefix?: string;
|
|
122
|
-
/** Continue an existing chain: the first proof carries this prevB64 instead of being a genesis. */
|
|
123
|
-
prevB64OfFirst?: string;
|
|
124
|
-
random?: RandomSource;
|
|
125
|
-
}): Promise<{
|
|
126
|
-
key: ManualKey;
|
|
127
|
-
proofs: CounterChainLink[];
|
|
128
|
-
}>;
|
|
129
|
-
/**
|
|
130
|
-
* The standard healthy enclave counter sequence: slot 1/commit 2,
|
|
131
|
-
* slot 3/commit 4, ... for `length` proofs.
|
|
132
|
-
*/
|
|
133
|
-
export declare function healthyPairs(length: number): Array<{
|
|
134
|
-
slot: string;
|
|
135
|
-
commit: string;
|
|
136
|
-
}>;
|
|
137
|
-
/**
|
|
138
|
-
* Build a verifier-valid Ethereum anchor proof: signed attribution
|
|
139
|
-
* name "Ethereum Anchor", message = the block hash string, title = the
|
|
140
|
-
* Etherscan block URL, artifact digest = SHA-256 over the block-hash
|
|
141
|
-
* STRING (exactly like bitcoin-anchor.ts lines 188-189). Unsigned
|
|
142
|
-
* metadata is attached after signing when provided.
|
|
143
|
-
*/
|
|
144
|
-
export declare function makeAnchorProof(opts: {
|
|
145
|
-
blockHash: string;
|
|
146
|
-
blockNumber?: string | number;
|
|
147
|
-
/** Overrides the Etherscan URL entirely (for unparseable-title cases). */
|
|
148
|
-
title?: string;
|
|
149
|
-
/** Omit the title field entirely. */
|
|
150
|
-
noTitle?: boolean;
|
|
151
|
-
/** Overrides the artifact digest (for digest-binding failure cases; the proof stays validly signed). */
|
|
152
|
-
digestB64?: string;
|
|
153
|
-
key?: ManualKey;
|
|
154
|
-
epochId?: string;
|
|
155
|
-
counter?: string;
|
|
156
|
-
slotCounter?: string;
|
|
157
|
-
prevB64?: string;
|
|
158
|
-
chainId?: string;
|
|
159
|
-
measurement?: string;
|
|
160
|
-
/** Unsigned metadata object attached verbatim after signing. */
|
|
161
|
-
metadata?: unknown;
|
|
162
|
-
/** Overrides attribution.name (for non-anchor attribution cases). */
|
|
163
|
-
attributionName?: string;
|
|
164
|
-
random?: RandomSource;
|
|
165
|
-
}): Promise<{
|
|
166
|
-
proof: BitGraphProof;
|
|
167
|
-
proofHash: string;
|
|
168
|
-
chainHash: string;
|
|
169
|
-
key: ManualKey;
|
|
170
|
-
}>;
|
|
171
|
-
export type RlpInput = Uint8Array | RlpInput[];
|
|
172
|
-
export declare function encodeRlp(item: RlpInput): Uint8Array;
|
|
173
|
-
/** Minimal big-endian bytes of a non-negative integer; empty for zero (Ethereum header integer encoding). */
|
|
174
|
-
export declare function beBytes(value: number | bigint): Uint8Array;
|
|
175
|
-
/**
|
|
176
|
-
* Build a synthetic 20-item RLP block header with the number at index 8
|
|
177
|
-
* and the timestamp at index 11 (the stable Ethereum header positions).
|
|
178
|
-
* Other items are deterministic filler byte strings.
|
|
179
|
-
*/
|
|
180
|
-
export declare function makeEthereumHeader(opts: {
|
|
181
|
-
blockNumber: number | bigint;
|
|
182
|
-
timestamp: number | bigint;
|
|
183
|
-
itemCount?: number;
|
|
184
|
-
}): {
|
|
185
|
-
headerBytes: Uint8Array;
|
|
186
|
-
headerRlpHex: string;
|
|
187
|
-
};
|
|
188
|
-
/** JSON string of a bitgraph-anchor-witness/1 file. */
|
|
189
|
-
export declare function witnessJson(opts: {
|
|
190
|
-
headerRlpHex?: unknown;
|
|
191
|
-
blockNumber?: unknown;
|
|
192
|
-
blockHash?: unknown;
|
|
193
|
-
network?: string;
|
|
194
|
-
omit?: Array<"headerRlpHex" | "blockNumber" | "blockHash">;
|
|
195
|
-
}): string;
|
|
196
|
-
export declare function makeTempDir(prefix: string): Promise<string>;
|
|
197
|
-
/**
|
|
198
|
-
* Write a bundle directory from a path -> content map. Paths use "/"
|
|
199
|
-
* separators; parent directories are created as needed.
|
|
200
|
-
*/
|
|
201
|
-
export declare function writeBundleDir(root: string, files: Record<string, Uint8Array | string>): Promise<void>;
|
|
202
|
-
export interface TarWriteEntry {
|
|
203
|
-
/** Header name field (up to 100 bytes). */
|
|
204
|
-
name: string;
|
|
205
|
-
content: Uint8Array | string;
|
|
206
|
-
/** Defaults to "0" (regular file). */
|
|
207
|
-
typeflag?: string;
|
|
208
|
-
/** Emit a PAX extended header carrying path=<value> before the entry. */
|
|
209
|
-
paxPath?: string;
|
|
210
|
-
/**
|
|
211
|
-
* Override the size field written in the PAX 'x' header (defaults to the
|
|
212
|
-
* real record length). Used by ingest cap tests to declare an absurd
|
|
213
|
-
* metadata-entry size without writing that many bytes.
|
|
214
|
-
*/
|
|
215
|
-
paxHeaderDeclaredSize?: number;
|
|
216
|
-
/** Emit a GNU long-name ('L') entry carrying this name before the entry. */
|
|
217
|
-
gnuLongName?: string;
|
|
218
|
-
}
|
|
219
|
-
/** Build a complete tar archive in memory (ustar, PAX, GNU long-name). */
|
|
220
|
-
export declare function makeTar(entries: TarWriteEntry[]): Uint8Array;
|
|
221
|
-
/** Compact JSON serialization of a proof, the usual on-disk form. */
|
|
222
|
-
export declare function proofJson(proof: BitGraphProof): string;
|
|
223
|
-
/** Stored form: the proof with a trailing proofHash field, as the ledger serves it. */
|
|
224
|
-
export declare function storedProofJson(proof: BitGraphProof, proofHash: string): string;
|
|
225
|
-
export interface StandardAuditBundle {
|
|
226
|
-
dir: string;
|
|
227
|
-
epochId: string;
|
|
228
|
-
anchorEpochId: string;
|
|
229
|
-
chainId: string;
|
|
230
|
-
/** Canonical hashes of the four chain proofs, in chain order, INCLUDING the dropped one. */
|
|
231
|
-
chainProofHashes: string[];
|
|
232
|
-
/** Canonical hash of the chain proof deliberately absent from the bundle (index 1, slot 3/commit 4). */
|
|
233
|
-
droppedProofHash: string;
|
|
234
|
-
forkAProofHash: string;
|
|
235
|
-
forkBProofHash: string;
|
|
236
|
-
anchorProofHash: string;
|
|
237
|
-
blockNumber: number;
|
|
238
|
-
blockTimestamp: number;
|
|
239
|
-
/** Bundle path of the occ/1 reject. */
|
|
240
|
-
unsupportedPath: string;
|
|
241
|
-
/** Expected counts for assertions. */
|
|
242
|
-
expected: {
|
|
243
|
-
observed: number;
|
|
244
|
-
proofFiles: number;
|
|
245
|
-
exactDuplicates: number;
|
|
246
|
-
semanticDuplicates: number;
|
|
247
|
-
unsupportedVersion: number;
|
|
248
|
-
verified: number;
|
|
249
|
-
failed: number;
|
|
250
|
-
artifactUnavailable: number;
|
|
251
|
-
chainless: number;
|
|
252
|
-
};
|
|
253
|
-
}
|
|
254
|
-
/**
|
|
255
|
-
* Build the standard mixed bundle in a temp directory, per the Phase 4d
|
|
256
|
-
* brief: a healthy signed chain (4 proofs, slot/commit pairs 1..8) with
|
|
257
|
-
* one proof missing (index 1, producing an unexplained-position gap and
|
|
258
|
-
* a chain break), a predecessor-reuse fork off the chain tail, an occ/1
|
|
259
|
-
* unsupported-version reject, one artifact-present proof (chain genesis)
|
|
260
|
-
* and artifact-absent proofs (everything else), an Ethereum anchor in
|
|
261
|
-
* its own epoch with a valid offline witness, plus one exact-duplicate
|
|
262
|
-
* copy and one semantic-duplicate (stored-form) copy of the genesis.
|
|
263
|
-
*/
|
|
264
|
-
export declare function makeStandardAuditBundle(): Promise<StandardAuditBundle>;
|
|
265
|
-
//# sourceMappingURL=audit-fixtures.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"audit-fixtures.d.ts","sourceRoot":"","sources":["../../src/__tests__/audit-fixtures.ts"],"names":[],"mappings":"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"}
|