@longarc/mdash 3.0.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.
Files changed (55) hide show
  1. package/README.md +278 -0
  2. package/dist/checkpoint/engine.d.ts +208 -0
  3. package/dist/checkpoint/engine.d.ts.map +1 -0
  4. package/dist/checkpoint/engine.js +369 -0
  5. package/dist/checkpoint/engine.js.map +1 -0
  6. package/dist/context/engine.d.ts +197 -0
  7. package/dist/context/engine.d.ts.map +1 -0
  8. package/dist/context/engine.js +392 -0
  9. package/dist/context/engine.js.map +1 -0
  10. package/dist/core/commitment.d.ts +154 -0
  11. package/dist/core/commitment.d.ts.map +1 -0
  12. package/dist/core/commitment.js +305 -0
  13. package/dist/core/commitment.js.map +1 -0
  14. package/dist/core/crypto.d.ts +100 -0
  15. package/dist/core/crypto.d.ts.map +1 -0
  16. package/dist/core/crypto.js +243 -0
  17. package/dist/core/crypto.js.map +1 -0
  18. package/dist/index.d.ts +121 -0
  19. package/dist/index.d.ts.map +1 -0
  20. package/dist/index.js +234 -0
  21. package/dist/index.js.map +1 -0
  22. package/dist/mcca/engine.d.ts +260 -0
  23. package/dist/mcca/engine.d.ts.map +1 -0
  24. package/dist/mcca/engine.js +518 -0
  25. package/dist/mcca/engine.js.map +1 -0
  26. package/dist/physics/engine.d.ts +165 -0
  27. package/dist/physics/engine.d.ts.map +1 -0
  28. package/dist/physics/engine.js +371 -0
  29. package/dist/physics/engine.js.map +1 -0
  30. package/dist/tee/engine.d.ts +285 -0
  31. package/dist/tee/engine.d.ts.map +1 -0
  32. package/dist/tee/engine.js +505 -0
  33. package/dist/tee/engine.js.map +1 -0
  34. package/dist/warrant/engine.d.ts +195 -0
  35. package/dist/warrant/engine.d.ts.map +1 -0
  36. package/dist/warrant/engine.js +409 -0
  37. package/dist/warrant/engine.js.map +1 -0
  38. package/dist/zk/engine.d.ts +243 -0
  39. package/dist/zk/engine.d.ts.map +1 -0
  40. package/dist/zk/engine.js +489 -0
  41. package/dist/zk/engine.js.map +1 -0
  42. package/package.json +25 -0
  43. package/src/__tests__/phase1.test.ts +1120 -0
  44. package/src/__tests__/phase2-4.test.ts +898 -0
  45. package/src/checkpoint/engine.ts +532 -0
  46. package/src/context/engine.ts +598 -0
  47. package/src/core/commitment.ts +438 -0
  48. package/src/core/crypto.ts +304 -0
  49. package/src/index.ts +320 -0
  50. package/src/mcca/engine.ts +778 -0
  51. package/src/physics/engine.ts +563 -0
  52. package/src/tee/engine.ts +810 -0
  53. package/src/warrant/engine.ts +625 -0
  54. package/src/zk/engine.ts +730 -0
  55. package/tsconfig.json +21 -0
@@ -0,0 +1,243 @@
1
+ /**
2
+ * mdash v3.0 - L3 ZK Proofs Layer
3
+ *
4
+ * Mathematically bulletproof attestation for disputes and insurance claims.
5
+ * Uses Plonky2 (STARK-based) for async proof generation.
6
+ *
7
+ * Use Cases:
8
+ * - Insurance claim verification
9
+ * - Legal dispute evidence
10
+ * - Audit compliance
11
+ * - High-value transaction attestation
12
+ *
13
+ * Latency: 100ms - 10s (async, background)
14
+ * Trust: Mathematical only (no hardware dependency)
15
+ *
16
+ * @version 3.0.0
17
+ */
18
+ import { Hash, Seal, Timestamp } from '../core/crypto.js';
19
+ import { CommitmentEngine } from '../core/commitment.js';
20
+ export type ProofStatus = 'queued' | 'proving' | 'verified' | 'failed' | 'expired';
21
+ export type ProofType = 'commitment_inclusion' | 'warrant_validity' | 'checkpoint_chain' | 'action_compliance' | 'audit_trail' | 'custom';
22
+ /**
23
+ * Plonky2 proof structure
24
+ * Based on Polygon's Plonky2 implementation
25
+ */
26
+ export interface Plonky2Proof {
27
+ /** Proof bytes (base64 encoded) */
28
+ proof: string;
29
+ /** Public inputs */
30
+ public_inputs: string[];
31
+ /** Verification key hash */
32
+ verifier_key_hash: Hash;
33
+ /** Circuit type */
34
+ circuit: string;
35
+ /** Number of gates */
36
+ num_gates: number;
37
+ /** Proving time (ms) */
38
+ proving_time_ms: number;
39
+ }
40
+ /**
41
+ * Zero Knowledge Proof Document
42
+ */
43
+ export interface ZKProofDocument {
44
+ /** Unique proof ID */
45
+ id: string;
46
+ /** Type of proof */
47
+ type: ProofType;
48
+ /** Creation timestamp */
49
+ timestamp: Timestamp;
50
+ /** Status */
51
+ status: ProofStatus;
52
+ /** Statement being proven */
53
+ statement: {
54
+ /** Human readable description */
55
+ description: string;
56
+ /** Structured claim */
57
+ claim: Record<string, unknown>;
58
+ /** Hash of the claim */
59
+ claim_hash: Hash;
60
+ };
61
+ /** The ZK proof itself */
62
+ proof: Plonky2Proof | null;
63
+ /** References to L1/L2 attestations */
64
+ references: {
65
+ commitments: string[];
66
+ attestations: string[];
67
+ };
68
+ /** Verification result */
69
+ verification: {
70
+ verified: boolean;
71
+ verified_at: Timestamp | null;
72
+ verifier: string | null;
73
+ };
74
+ /** Expiry */
75
+ expires_at: Timestamp;
76
+ /** Seal */
77
+ seal: Seal;
78
+ }
79
+ /**
80
+ * Proof request
81
+ */
82
+ export interface ProofRequest {
83
+ type: ProofType;
84
+ statement: {
85
+ description: string;
86
+ claim: Record<string, unknown>;
87
+ };
88
+ commitmentIds?: string[];
89
+ attestationIds?: string[];
90
+ priority?: 'low' | 'normal' | 'high';
91
+ deadline?: Timestamp;
92
+ }
93
+ /**
94
+ * Circuit configuration
95
+ * Defines the structure for each proof type
96
+ */
97
+ export interface CircuitConfig {
98
+ name: string;
99
+ numPublicInputs: number;
100
+ numPrivateInputs: number;
101
+ estimatedGates: number;
102
+ estimatedProvingTimeMs: number;
103
+ }
104
+ export declare const CIRCUIT_CONFIGS: Record<ProofType, CircuitConfig>;
105
+ interface QueuedProof {
106
+ request: ProofRequest;
107
+ document: ZKProofDocument;
108
+ priority: number;
109
+ queuedAt: number;
110
+ deadline: number | null;
111
+ }
112
+ declare class ProofQueue {
113
+ private queue;
114
+ private processing;
115
+ private maxConcurrent;
116
+ constructor(maxConcurrent?: number);
117
+ enqueue(item: QueuedProof): void;
118
+ dequeue(): QueuedProof | null;
119
+ complete(id: string): void;
120
+ getStats(): {
121
+ queued: number;
122
+ processing: number;
123
+ totalPending: number;
124
+ };
125
+ }
126
+ export declare class ZKProofsEngine {
127
+ private key;
128
+ private commitmentEngine;
129
+ private documents;
130
+ private queue;
131
+ private verificationKeys;
132
+ private processingInterval;
133
+ private metrics;
134
+ constructor(commitmentEngine: CommitmentEngine, maxConcurrent?: number);
135
+ /**
136
+ * Initialize the ZK proofs engine
137
+ */
138
+ initialize(sealKey: string): Promise<void>;
139
+ /**
140
+ * Start background proof processing
141
+ */
142
+ private startProcessing;
143
+ /**
144
+ * Stop background processing
145
+ */
146
+ stopProcessing(): void;
147
+ /**
148
+ * Request a ZK proof (async)
149
+ * Returns immediately with proof document in 'queued' status
150
+ */
151
+ requestProof(request: ProofRequest): Promise<ZKProofDocument>;
152
+ /**
153
+ * Process queued proofs
154
+ */
155
+ private processQueue;
156
+ /**
157
+ * Generate a ZK proof (Plonky2 simulation)
158
+ */
159
+ private generateProof;
160
+ /**
161
+ * Generate public inputs based on proof type
162
+ */
163
+ private generatePublicInputs;
164
+ /**
165
+ * Verify a ZK proof
166
+ */
167
+ verifyProof(document: ZKProofDocument): Promise<{
168
+ valid: boolean;
169
+ errors: string[];
170
+ }>;
171
+ /**
172
+ * Get proof document by ID
173
+ */
174
+ get(id: string): ZKProofDocument | null;
175
+ /**
176
+ * Wait for proof completion
177
+ */
178
+ waitForProof(id: string, timeoutMs?: number): Promise<ZKProofDocument>;
179
+ /**
180
+ * Get queue statistics
181
+ */
182
+ getQueueStats(): ReturnType<ProofQueue['getStats']>;
183
+ /**
184
+ * Get engine statistics
185
+ */
186
+ getStats(): {
187
+ proofsGenerated: number;
188
+ proofsVerified: number;
189
+ avgProvingTimeMs: number;
190
+ failures: number;
191
+ queueStats: ReturnType<ProofQueue['getStats']>;
192
+ };
193
+ }
194
+ export declare class ClaimBuilder {
195
+ private type;
196
+ private claim;
197
+ private description;
198
+ private commitmentIds;
199
+ private attestationIds;
200
+ constructor(type: ProofType);
201
+ /**
202
+ * Set claim description
203
+ */
204
+ withDescription(desc: string): this;
205
+ /**
206
+ * Add claim data
207
+ */
208
+ withClaim(key: string, value: unknown): this;
209
+ /**
210
+ * Reference L1 commitments
211
+ */
212
+ withCommitments(...ids: string[]): this;
213
+ /**
214
+ * Reference L2 attestations
215
+ */
216
+ withAttestations(...ids: string[]): this;
217
+ /**
218
+ * Build the proof request
219
+ */
220
+ build(priority?: 'low' | 'normal' | 'high'): ProofRequest;
221
+ }
222
+ /**
223
+ * Helper for generating insurance-grade proofs
224
+ */
225
+ export declare class InsuranceClaimProof {
226
+ private zkEngine;
227
+ constructor(zkEngine: ZKProofsEngine);
228
+ /**
229
+ * Generate proof for an insurance claim
230
+ */
231
+ generateClaim(params: {
232
+ claimId: string;
233
+ policyId: string;
234
+ incidentDescription: string;
235
+ warrantId: string;
236
+ checkpointIds: string[];
237
+ actionDetails: Record<string, unknown>;
238
+ amount: number;
239
+ currency: string;
240
+ }): Promise<ZKProofDocument>;
241
+ }
242
+ export {};
243
+ //# sourceMappingURL=engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/zk/engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EACL,IAAI,EACJ,IAAI,EACJ,SAAS,EAMV,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,gBAAgB,EAAc,MAAM,uBAAuB,CAAC;AAOrE,MAAM,MAAM,WAAW,GACnB,QAAQ,GACR,SAAS,GACT,UAAU,GACV,QAAQ,GACR,SAAS,CAAC;AAEd,MAAM,MAAM,SAAS,GACjB,sBAAsB,GACtB,kBAAkB,GAClB,kBAAkB,GAClB,mBAAmB,GACnB,aAAa,GACb,QAAQ,CAAC;AAEb;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB;IACpB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,4BAA4B;IAC5B,iBAAiB,EAAE,IAAI,CAAC;IACxB,mBAAmB;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,sBAAsB;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,wBAAwB;IACxB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,sBAAsB;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,oBAAoB;IACpB,IAAI,EAAE,SAAS,CAAC;IAChB,yBAAyB;IACzB,SAAS,EAAE,SAAS,CAAC;IACrB,aAAa;IACb,MAAM,EAAE,WAAW,CAAC;IACpB,6BAA6B;IAC7B,SAAS,EAAE;QACT,iCAAiC;QACjC,WAAW,EAAE,MAAM,CAAC;QACpB,uBAAuB;QACvB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC/B,wBAAwB;QACxB,UAAU,EAAE,IAAI,CAAC;KAClB,CAAC;IACF,0BAA0B;IAC1B,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;IAC3B,uCAAuC;IACvC,UAAU,EAAE;QACV,WAAW,EAAE,MAAM,EAAE,CAAC;QACtB,YAAY,EAAE,MAAM,EAAE,CAAC;KACxB,CAAC;IACF,0BAA0B;IAC1B,YAAY,EAAE;QACZ,QAAQ,EAAE,OAAO,CAAC;QAClB,WAAW,EAAE,SAAS,GAAG,IAAI,CAAC;QAC9B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;KACzB,CAAC;IACF,aAAa;IACb,UAAU,EAAE,SAAS,CAAC;IACtB,WAAW;IACX,IAAI,EAAE,IAAI,CAAC;CACZ;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,SAAS,CAAC;IAChB,SAAS,EAAE;QACT,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAChC,CAAC;IACF,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACrC,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAMD;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,sBAAsB,EAAE,MAAM,CAAC;CAChC;AAED,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,SAAS,EAAE,aAAa,CA2C5D,CAAC;AAMF,UAAU,WAAW;IACnB,OAAO,EAAE,YAAY,CAAC;IACtB,QAAQ,EAAE,eAAe,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,cAAM,UAAU;IACd,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,UAAU,CAAuC;IACzD,OAAO,CAAC,aAAa,CAAS;gBAElB,aAAa,GAAE,MAAU;IAIrC,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAahC,OAAO,IAAI,WAAW,GAAG,IAAI;IAY7B,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAI1B,QAAQ,IAAI;QACV,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;KACtB;CAOF;AAMD,qBAAa,cAAc;IACzB,OAAO,CAAC,GAAG,CAA0B;IACrC,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,SAAS,CAA2C;IAC5D,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,gBAAgB,CAAgC;IAGxD,OAAO,CAAC,kBAAkB,CAA+C;IAGzE,OAAO,CAAC,OAAO,CAKb;gBAEU,gBAAgB,EAAE,gBAAgB,EAAE,aAAa,GAAE,MAAU;IAKzE;;OAEG;IACG,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAahD;;OAEG;IACH,OAAO,CAAC,eAAe;IAMvB;;OAEG;IACH,cAAc,IAAI,IAAI;IAOtB;;;OAGG;IACG,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC;IA2DnE;;OAEG;YACW,YAAY;IAuC1B;;OAEG;YACW,aAAa;IA6C3B;;OAEG;YACW,oBAAoB;IAgDlC;;OAEG;IACG,WAAW,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC;QACpD,KAAK,EAAE,OAAO,CAAC;QACf,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;IAiDF;;OAEG;IACH,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI;IAIvC;;OAEG;IACG,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,GAAE,MAAc,GAAG,OAAO,CAAC,eAAe,CAAC;IAcnF;;OAEG;IACH,aAAa,IAAI,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAInD;;OAEG;IACH,QAAQ,IAAI;QACV,eAAe,EAAE,MAAM,CAAC;QACxB,cAAc,EAAE,MAAM,CAAC;QACvB,gBAAgB,EAAE,MAAM,CAAC;QACzB,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;KAChD;CAWF;AAMD,qBAAa,YAAY;IACvB,OAAO,CAAC,IAAI,CAAY;IACxB,OAAO,CAAC,KAAK,CAA+B;IAC5C,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,cAAc,CAAgB;gBAE1B,IAAI,EAAE,SAAS;IAI3B;;OAEG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAKnC;;OAEG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAK5C;;OAEG;IACH,eAAe,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI;IAKvC;;OAEG;IACH,gBAAgB,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI;IAKxC;;OAEG;IACH,KAAK,CAAC,QAAQ,GAAE,KAAK,GAAG,QAAQ,GAAG,MAAiB,GAAG,YAAY;CAYpE;AAMD;;GAEG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAiB;gBAErB,QAAQ,EAAE,cAAc;IAIpC;;OAEG;IACG,aAAa,CAAC,MAAM,EAAE;QAC1B,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,mBAAmB,EAAE,MAAM,CAAC;QAC5B,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,MAAM,EAAE,CAAC;QACxB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACvC,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC,eAAe,CAAC;CAgB7B"}