@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.
- package/README.md +278 -0
- package/dist/checkpoint/engine.d.ts +208 -0
- package/dist/checkpoint/engine.d.ts.map +1 -0
- package/dist/checkpoint/engine.js +369 -0
- package/dist/checkpoint/engine.js.map +1 -0
- package/dist/context/engine.d.ts +197 -0
- package/dist/context/engine.d.ts.map +1 -0
- package/dist/context/engine.js +392 -0
- package/dist/context/engine.js.map +1 -0
- package/dist/core/commitment.d.ts +154 -0
- package/dist/core/commitment.d.ts.map +1 -0
- package/dist/core/commitment.js +305 -0
- package/dist/core/commitment.js.map +1 -0
- package/dist/core/crypto.d.ts +100 -0
- package/dist/core/crypto.d.ts.map +1 -0
- package/dist/core/crypto.js +243 -0
- package/dist/core/crypto.js.map +1 -0
- package/dist/index.d.ts +121 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +234 -0
- package/dist/index.js.map +1 -0
- package/dist/mcca/engine.d.ts +260 -0
- package/dist/mcca/engine.d.ts.map +1 -0
- package/dist/mcca/engine.js +518 -0
- package/dist/mcca/engine.js.map +1 -0
- package/dist/physics/engine.d.ts +165 -0
- package/dist/physics/engine.d.ts.map +1 -0
- package/dist/physics/engine.js +371 -0
- package/dist/physics/engine.js.map +1 -0
- package/dist/tee/engine.d.ts +285 -0
- package/dist/tee/engine.d.ts.map +1 -0
- package/dist/tee/engine.js +505 -0
- package/dist/tee/engine.js.map +1 -0
- package/dist/warrant/engine.d.ts +195 -0
- package/dist/warrant/engine.d.ts.map +1 -0
- package/dist/warrant/engine.js +409 -0
- package/dist/warrant/engine.js.map +1 -0
- package/dist/zk/engine.d.ts +243 -0
- package/dist/zk/engine.d.ts.map +1 -0
- package/dist/zk/engine.js +489 -0
- package/dist/zk/engine.js.map +1 -0
- package/package.json +25 -0
- package/src/__tests__/phase1.test.ts +1120 -0
- package/src/__tests__/phase2-4.test.ts +898 -0
- package/src/checkpoint/engine.ts +532 -0
- package/src/context/engine.ts +598 -0
- package/src/core/commitment.ts +438 -0
- package/src/core/crypto.ts +304 -0
- package/src/index.ts +320 -0
- package/src/mcca/engine.ts +778 -0
- package/src/physics/engine.ts +563 -0
- package/src/tee/engine.ts +810 -0
- package/src/warrant/engine.ts +625 -0
- package/src/zk/engine.ts +730 -0
- package/tsconfig.json +21 -0
|
@@ -0,0 +1,489 @@
|
|
|
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 { generateTimestamp, sha256, sha256Object, hmacSeal, deriveKey, } from '../core/crypto.js';
|
|
19
|
+
export const CIRCUIT_CONFIGS = {
|
|
20
|
+
commitment_inclusion: {
|
|
21
|
+
name: 'MerkleInclusionCircuit',
|
|
22
|
+
numPublicInputs: 2, // root, leaf
|
|
23
|
+
numPrivateInputs: 32, // path (max depth 32)
|
|
24
|
+
estimatedGates: 50000,
|
|
25
|
+
estimatedProvingTimeMs: 500,
|
|
26
|
+
},
|
|
27
|
+
warrant_validity: {
|
|
28
|
+
name: 'WarrantValidityCircuit',
|
|
29
|
+
numPublicInputs: 4, // warrant_hash, timestamp, agent_id_hash, action_hash
|
|
30
|
+
numPrivateInputs: 10, // warrant fields
|
|
31
|
+
estimatedGates: 100000,
|
|
32
|
+
estimatedProvingTimeMs: 1000,
|
|
33
|
+
},
|
|
34
|
+
checkpoint_chain: {
|
|
35
|
+
name: 'CheckpointChainCircuit',
|
|
36
|
+
numPublicInputs: 3, // start, end, chain_length
|
|
37
|
+
numPrivateInputs: 100, // checkpoints
|
|
38
|
+
estimatedGates: 500000,
|
|
39
|
+
estimatedProvingTimeMs: 5000,
|
|
40
|
+
},
|
|
41
|
+
action_compliance: {
|
|
42
|
+
name: 'ActionComplianceCircuit',
|
|
43
|
+
numPublicInputs: 5, // action_hash, constraints_hash, result
|
|
44
|
+
numPrivateInputs: 20, // action params, constraint values
|
|
45
|
+
estimatedGates: 150000,
|
|
46
|
+
estimatedProvingTimeMs: 1500,
|
|
47
|
+
},
|
|
48
|
+
audit_trail: {
|
|
49
|
+
name: 'AuditTrailCircuit',
|
|
50
|
+
numPublicInputs: 4, // root, start_time, end_time, num_events
|
|
51
|
+
numPrivateInputs: 1000, // events
|
|
52
|
+
estimatedGates: 2000000,
|
|
53
|
+
estimatedProvingTimeMs: 20000,
|
|
54
|
+
},
|
|
55
|
+
custom: {
|
|
56
|
+
name: 'CustomCircuit',
|
|
57
|
+
numPublicInputs: 10,
|
|
58
|
+
numPrivateInputs: 100,
|
|
59
|
+
estimatedGates: 200000,
|
|
60
|
+
estimatedProvingTimeMs: 2000,
|
|
61
|
+
},
|
|
62
|
+
};
|
|
63
|
+
class ProofQueue {
|
|
64
|
+
queue = [];
|
|
65
|
+
processing = new Map();
|
|
66
|
+
maxConcurrent;
|
|
67
|
+
constructor(maxConcurrent = 4) {
|
|
68
|
+
this.maxConcurrent = maxConcurrent;
|
|
69
|
+
}
|
|
70
|
+
enqueue(item) {
|
|
71
|
+
// Priority queue (higher priority first)
|
|
72
|
+
const insertIndex = this.queue.findIndex(q => q.priority < item.priority);
|
|
73
|
+
if (insertIndex === -1) {
|
|
74
|
+
this.queue.push(item);
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
this.queue.splice(insertIndex, 0, item);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
dequeue() {
|
|
81
|
+
if (this.processing.size >= this.maxConcurrent) {
|
|
82
|
+
return null;
|
|
83
|
+
}
|
|
84
|
+
const item = this.queue.shift();
|
|
85
|
+
if (item) {
|
|
86
|
+
this.processing.set(item.document.id, item);
|
|
87
|
+
}
|
|
88
|
+
return item;
|
|
89
|
+
}
|
|
90
|
+
complete(id) {
|
|
91
|
+
this.processing.delete(id);
|
|
92
|
+
}
|
|
93
|
+
getStats() {
|
|
94
|
+
return {
|
|
95
|
+
queued: this.queue.length,
|
|
96
|
+
processing: this.processing.size,
|
|
97
|
+
totalPending: this.queue.length + this.processing.size,
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
// ============================================================================
|
|
102
|
+
// ZK PROOFS ENGINE
|
|
103
|
+
// ============================================================================
|
|
104
|
+
export class ZKProofsEngine {
|
|
105
|
+
key = null;
|
|
106
|
+
commitmentEngine;
|
|
107
|
+
documents = new Map();
|
|
108
|
+
queue;
|
|
109
|
+
verificationKeys = new Map();
|
|
110
|
+
// Processing interval
|
|
111
|
+
processingInterval = null;
|
|
112
|
+
// Metrics
|
|
113
|
+
metrics = {
|
|
114
|
+
proofsGenerated: 0,
|
|
115
|
+
proofsVerified: 0,
|
|
116
|
+
provingTimeTotal: 0,
|
|
117
|
+
failures: 0,
|
|
118
|
+
};
|
|
119
|
+
constructor(commitmentEngine, maxConcurrent = 4) {
|
|
120
|
+
this.commitmentEngine = commitmentEngine;
|
|
121
|
+
this.queue = new ProofQueue(maxConcurrent);
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Initialize the ZK proofs engine
|
|
125
|
+
*/
|
|
126
|
+
async initialize(sealKey) {
|
|
127
|
+
this.key = await deriveKey(sealKey);
|
|
128
|
+
// Initialize verification keys for each circuit
|
|
129
|
+
for (const [type, config] of Object.entries(CIRCUIT_CONFIGS)) {
|
|
130
|
+
const vkHash = await sha256(`${config.name}-vk-v3.0.0`);
|
|
131
|
+
this.verificationKeys.set(type, vkHash);
|
|
132
|
+
}
|
|
133
|
+
// Start background processing
|
|
134
|
+
this.startProcessing();
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Start background proof processing
|
|
138
|
+
*/
|
|
139
|
+
startProcessing() {
|
|
140
|
+
this.processingInterval = setInterval(() => {
|
|
141
|
+
this.processQueue();
|
|
142
|
+
}, 100); // Check every 100ms
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Stop background processing
|
|
146
|
+
*/
|
|
147
|
+
stopProcessing() {
|
|
148
|
+
if (this.processingInterval) {
|
|
149
|
+
clearInterval(this.processingInterval);
|
|
150
|
+
this.processingInterval = null;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Request a ZK proof (async)
|
|
155
|
+
* Returns immediately with proof document in 'queued' status
|
|
156
|
+
*/
|
|
157
|
+
async requestProof(request) {
|
|
158
|
+
if (!this.key) {
|
|
159
|
+
throw new Error('ZK engine not initialized');
|
|
160
|
+
}
|
|
161
|
+
const id = `zkp-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
|
|
162
|
+
const now = generateTimestamp();
|
|
163
|
+
const claimHash = await sha256Object(request.statement.claim);
|
|
164
|
+
// Default expiry: 30 days
|
|
165
|
+
const expiresAt = new Date(Date.now() + 30 * 24 * 60 * 60 * 1000).toISOString();
|
|
166
|
+
const document = {
|
|
167
|
+
id,
|
|
168
|
+
type: request.type,
|
|
169
|
+
timestamp: now,
|
|
170
|
+
status: 'queued',
|
|
171
|
+
statement: {
|
|
172
|
+
description: request.statement.description,
|
|
173
|
+
claim: request.statement.claim,
|
|
174
|
+
claim_hash: claimHash,
|
|
175
|
+
},
|
|
176
|
+
proof: null,
|
|
177
|
+
references: {
|
|
178
|
+
commitments: request.commitmentIds || [],
|
|
179
|
+
attestations: request.attestationIds || [],
|
|
180
|
+
},
|
|
181
|
+
verification: {
|
|
182
|
+
verified: false,
|
|
183
|
+
verified_at: null,
|
|
184
|
+
verifier: null,
|
|
185
|
+
},
|
|
186
|
+
expires_at: expiresAt,
|
|
187
|
+
seal: '',
|
|
188
|
+
};
|
|
189
|
+
// Seal the document
|
|
190
|
+
document.seal = await hmacSeal(document, this.key);
|
|
191
|
+
// Store
|
|
192
|
+
this.documents.set(id, document);
|
|
193
|
+
// Queue for processing
|
|
194
|
+
const priority = request.priority === 'high' ? 10 : request.priority === 'low' ? 1 : 5;
|
|
195
|
+
const deadline = request.deadline ? new Date(request.deadline).getTime() : null;
|
|
196
|
+
this.queue.enqueue({
|
|
197
|
+
request,
|
|
198
|
+
document,
|
|
199
|
+
priority,
|
|
200
|
+
queuedAt: Date.now(),
|
|
201
|
+
deadline,
|
|
202
|
+
});
|
|
203
|
+
return document;
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Process queued proofs
|
|
207
|
+
*/
|
|
208
|
+
async processQueue() {
|
|
209
|
+
const item = this.queue.dequeue();
|
|
210
|
+
if (!item)
|
|
211
|
+
return;
|
|
212
|
+
try {
|
|
213
|
+
// Update status
|
|
214
|
+
item.document.status = 'proving';
|
|
215
|
+
// Generate the proof
|
|
216
|
+
const proof = await this.generateProof(item.request, item.document);
|
|
217
|
+
// Update document
|
|
218
|
+
item.document.proof = proof;
|
|
219
|
+
item.document.status = 'verified';
|
|
220
|
+
item.document.verification = {
|
|
221
|
+
verified: true,
|
|
222
|
+
verified_at: generateTimestamp(),
|
|
223
|
+
verifier: 'mdash-zk-engine-v3',
|
|
224
|
+
};
|
|
225
|
+
// Re-seal with proof included
|
|
226
|
+
item.document.seal = await hmacSeal(item.document, this.key);
|
|
227
|
+
// Commit to L1
|
|
228
|
+
await this.commitmentEngine.commit(item.document, `zk:${item.document.id}`);
|
|
229
|
+
// Update metrics
|
|
230
|
+
this.metrics.proofsGenerated++;
|
|
231
|
+
this.metrics.provingTimeTotal += proof.proving_time_ms;
|
|
232
|
+
}
|
|
233
|
+
catch (error) {
|
|
234
|
+
item.document.status = 'failed';
|
|
235
|
+
this.metrics.failures++;
|
|
236
|
+
console.error(`[ZK] Proof generation failed: ${error}`);
|
|
237
|
+
}
|
|
238
|
+
finally {
|
|
239
|
+
this.queue.complete(item.document.id);
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
/**
|
|
243
|
+
* Generate a ZK proof (Plonky2 simulation)
|
|
244
|
+
*/
|
|
245
|
+
async generateProof(request, document) {
|
|
246
|
+
const config = CIRCUIT_CONFIGS[request.type];
|
|
247
|
+
const startTime = performance.now();
|
|
248
|
+
// In production, this would:
|
|
249
|
+
// 1. Build the circuit with proper constraints
|
|
250
|
+
// 2. Generate witness
|
|
251
|
+
// 3. Run Plonky2 prover
|
|
252
|
+
// 4. Return serialized proof
|
|
253
|
+
// Simulate proving time (scaled down for dev)
|
|
254
|
+
const simulatedTime = Math.min(config.estimatedProvingTimeMs / 10, 100);
|
|
255
|
+
await new Promise(resolve => setTimeout(resolve, simulatedTime));
|
|
256
|
+
// Generate simulated proof
|
|
257
|
+
const publicInputs = await this.generatePublicInputs(request, document);
|
|
258
|
+
const proofBytes = await sha256(JSON.stringify({
|
|
259
|
+
circuit: config.name,
|
|
260
|
+
public_inputs: publicInputs,
|
|
261
|
+
timestamp: Date.now(),
|
|
262
|
+
nonce: crypto.randomUUID(),
|
|
263
|
+
}));
|
|
264
|
+
const verifierKeyHash = this.verificationKeys.get(request.type);
|
|
265
|
+
if (!verifierKeyHash) {
|
|
266
|
+
throw new Error(`Unknown proof type: ${request.type}`);
|
|
267
|
+
}
|
|
268
|
+
const elapsed = performance.now() - startTime;
|
|
269
|
+
return {
|
|
270
|
+
proof: Buffer.from(proofBytes).toString('base64'),
|
|
271
|
+
public_inputs: publicInputs,
|
|
272
|
+
verifier_key_hash: verifierKeyHash,
|
|
273
|
+
circuit: config.name,
|
|
274
|
+
num_gates: config.estimatedGates,
|
|
275
|
+
proving_time_ms: elapsed,
|
|
276
|
+
};
|
|
277
|
+
}
|
|
278
|
+
/**
|
|
279
|
+
* Generate public inputs based on proof type
|
|
280
|
+
*/
|
|
281
|
+
async generatePublicInputs(request, document) {
|
|
282
|
+
switch (request.type) {
|
|
283
|
+
case 'commitment_inclusion':
|
|
284
|
+
return [
|
|
285
|
+
document.statement.claim_hash,
|
|
286
|
+
await sha256Object(request.commitmentIds || []),
|
|
287
|
+
];
|
|
288
|
+
case 'warrant_validity':
|
|
289
|
+
return [
|
|
290
|
+
await sha256Object(request.statement.claim.warrant || {}),
|
|
291
|
+
request.statement.claim.timestamp || '',
|
|
292
|
+
await sha256(request.statement.claim.agent_id || ''),
|
|
293
|
+
await sha256(request.statement.claim.action || ''),
|
|
294
|
+
];
|
|
295
|
+
case 'checkpoint_chain':
|
|
296
|
+
return [
|
|
297
|
+
request.statement.claim.start_checkpoint || '',
|
|
298
|
+
request.statement.claim.end_checkpoint || '',
|
|
299
|
+
String(request.statement.claim.chain_length || 0),
|
|
300
|
+
];
|
|
301
|
+
case 'action_compliance':
|
|
302
|
+
return [
|
|
303
|
+
await sha256Object(request.statement.claim.action || {}),
|
|
304
|
+
await sha256Object(request.statement.claim.constraints || {}),
|
|
305
|
+
String(request.statement.claim.result || ''),
|
|
306
|
+
document.statement.claim_hash,
|
|
307
|
+
document.timestamp,
|
|
308
|
+
];
|
|
309
|
+
case 'audit_trail':
|
|
310
|
+
return [
|
|
311
|
+
await sha256Object(request.statement.claim.events || []),
|
|
312
|
+
request.statement.claim.start_time || '',
|
|
313
|
+
request.statement.claim.end_time || '',
|
|
314
|
+
String(request.statement.claim.num_events || 0),
|
|
315
|
+
];
|
|
316
|
+
default:
|
|
317
|
+
return [document.statement.claim_hash];
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
/**
|
|
321
|
+
* Verify a ZK proof
|
|
322
|
+
*/
|
|
323
|
+
async verifyProof(document) {
|
|
324
|
+
if (!this.key) {
|
|
325
|
+
throw new Error('ZK engine not initialized');
|
|
326
|
+
}
|
|
327
|
+
const errors = [];
|
|
328
|
+
// 1. Check status
|
|
329
|
+
if (document.status !== 'verified') {
|
|
330
|
+
errors.push(`Invalid status: ${document.status}`);
|
|
331
|
+
}
|
|
332
|
+
// 2. Check proof exists
|
|
333
|
+
if (!document.proof) {
|
|
334
|
+
errors.push('No proof present');
|
|
335
|
+
return { valid: false, errors };
|
|
336
|
+
}
|
|
337
|
+
// 3. Verify seal
|
|
338
|
+
const docForSeal = { ...document };
|
|
339
|
+
docForSeal.seal = '';
|
|
340
|
+
const expectedSeal = await hmacSeal(docForSeal, this.key);
|
|
341
|
+
// Note: In production, seal verification would be more robust
|
|
342
|
+
// 4. Verify proof structure
|
|
343
|
+
if (!document.proof.verifier_key_hash) {
|
|
344
|
+
errors.push('Missing verifier key hash');
|
|
345
|
+
}
|
|
346
|
+
// 5. Check expiry
|
|
347
|
+
if (new Date(document.expires_at) < new Date()) {
|
|
348
|
+
errors.push('Proof expired');
|
|
349
|
+
}
|
|
350
|
+
// 6. In production: Run Plonky2 verifier
|
|
351
|
+
// const isValid = await plonky2.verify(
|
|
352
|
+
// document.proof.proof,
|
|
353
|
+
// document.proof.public_inputs,
|
|
354
|
+
// verificationKey
|
|
355
|
+
// );
|
|
356
|
+
this.metrics.proofsVerified++;
|
|
357
|
+
return {
|
|
358
|
+
valid: errors.length === 0,
|
|
359
|
+
errors,
|
|
360
|
+
};
|
|
361
|
+
}
|
|
362
|
+
/**
|
|
363
|
+
* Get proof document by ID
|
|
364
|
+
*/
|
|
365
|
+
get(id) {
|
|
366
|
+
return this.documents.get(id) || null;
|
|
367
|
+
}
|
|
368
|
+
/**
|
|
369
|
+
* Wait for proof completion
|
|
370
|
+
*/
|
|
371
|
+
async waitForProof(id, timeoutMs = 30000) {
|
|
372
|
+
const startTime = Date.now();
|
|
373
|
+
while (Date.now() - startTime < timeoutMs) {
|
|
374
|
+
const doc = this.documents.get(id);
|
|
375
|
+
if (doc && (doc.status === 'verified' || doc.status === 'failed')) {
|
|
376
|
+
return doc;
|
|
377
|
+
}
|
|
378
|
+
await new Promise(resolve => setTimeout(resolve, 100));
|
|
379
|
+
}
|
|
380
|
+
throw new Error(`Proof generation timeout: ${id}`);
|
|
381
|
+
}
|
|
382
|
+
/**
|
|
383
|
+
* Get queue statistics
|
|
384
|
+
*/
|
|
385
|
+
getQueueStats() {
|
|
386
|
+
return this.queue.getStats();
|
|
387
|
+
}
|
|
388
|
+
/**
|
|
389
|
+
* Get engine statistics
|
|
390
|
+
*/
|
|
391
|
+
getStats() {
|
|
392
|
+
return {
|
|
393
|
+
proofsGenerated: this.metrics.proofsGenerated,
|
|
394
|
+
proofsVerified: this.metrics.proofsVerified,
|
|
395
|
+
avgProvingTimeMs: this.metrics.proofsGenerated > 0
|
|
396
|
+
? this.metrics.provingTimeTotal / this.metrics.proofsGenerated
|
|
397
|
+
: 0,
|
|
398
|
+
failures: this.metrics.failures,
|
|
399
|
+
queueStats: this.queue.getStats(),
|
|
400
|
+
};
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
// ============================================================================
|
|
404
|
+
// CLAIM BUILDER (Helper for constructing proof requests)
|
|
405
|
+
// ============================================================================
|
|
406
|
+
export class ClaimBuilder {
|
|
407
|
+
type;
|
|
408
|
+
claim = {};
|
|
409
|
+
description = '';
|
|
410
|
+
commitmentIds = [];
|
|
411
|
+
attestationIds = [];
|
|
412
|
+
constructor(type) {
|
|
413
|
+
this.type = type;
|
|
414
|
+
}
|
|
415
|
+
/**
|
|
416
|
+
* Set claim description
|
|
417
|
+
*/
|
|
418
|
+
withDescription(desc) {
|
|
419
|
+
this.description = desc;
|
|
420
|
+
return this;
|
|
421
|
+
}
|
|
422
|
+
/**
|
|
423
|
+
* Add claim data
|
|
424
|
+
*/
|
|
425
|
+
withClaim(key, value) {
|
|
426
|
+
this.claim[key] = value;
|
|
427
|
+
return this;
|
|
428
|
+
}
|
|
429
|
+
/**
|
|
430
|
+
* Reference L1 commitments
|
|
431
|
+
*/
|
|
432
|
+
withCommitments(...ids) {
|
|
433
|
+
this.commitmentIds.push(...ids);
|
|
434
|
+
return this;
|
|
435
|
+
}
|
|
436
|
+
/**
|
|
437
|
+
* Reference L2 attestations
|
|
438
|
+
*/
|
|
439
|
+
withAttestations(...ids) {
|
|
440
|
+
this.attestationIds.push(...ids);
|
|
441
|
+
return this;
|
|
442
|
+
}
|
|
443
|
+
/**
|
|
444
|
+
* Build the proof request
|
|
445
|
+
*/
|
|
446
|
+
build(priority = 'normal') {
|
|
447
|
+
return {
|
|
448
|
+
type: this.type,
|
|
449
|
+
statement: {
|
|
450
|
+
description: this.description,
|
|
451
|
+
claim: this.claim,
|
|
452
|
+
},
|
|
453
|
+
commitmentIds: this.commitmentIds,
|
|
454
|
+
attestationIds: this.attestationIds,
|
|
455
|
+
priority,
|
|
456
|
+
};
|
|
457
|
+
}
|
|
458
|
+
}
|
|
459
|
+
// ============================================================================
|
|
460
|
+
// INSURANCE CLAIM HELPER
|
|
461
|
+
// ============================================================================
|
|
462
|
+
/**
|
|
463
|
+
* Helper for generating insurance-grade proofs
|
|
464
|
+
*/
|
|
465
|
+
export class InsuranceClaimProof {
|
|
466
|
+
zkEngine;
|
|
467
|
+
constructor(zkEngine) {
|
|
468
|
+
this.zkEngine = zkEngine;
|
|
469
|
+
}
|
|
470
|
+
/**
|
|
471
|
+
* Generate proof for an insurance claim
|
|
472
|
+
*/
|
|
473
|
+
async generateClaim(params) {
|
|
474
|
+
const request = new ClaimBuilder('action_compliance')
|
|
475
|
+
.withDescription(`Insurance claim ${params.claimId} for policy ${params.policyId}`)
|
|
476
|
+
.withClaim('claim_id', params.claimId)
|
|
477
|
+
.withClaim('policy_id', params.policyId)
|
|
478
|
+
.withClaim('incident', params.incidentDescription)
|
|
479
|
+
.withClaim('warrant_id', params.warrantId)
|
|
480
|
+
.withClaim('action', params.actionDetails)
|
|
481
|
+
.withClaim('amount', params.amount)
|
|
482
|
+
.withClaim('currency', params.currency)
|
|
483
|
+
.withClaim('timestamp', generateTimestamp())
|
|
484
|
+
.withCommitments(...params.checkpointIds)
|
|
485
|
+
.build('high');
|
|
486
|
+
return this.zkEngine.requestProof(request);
|
|
487
|
+
}
|
|
488
|
+
}
|
|
489
|
+
//# sourceMappingURL=engine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/zk/engine.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@longarc/mdash",
|
|
3
|
+
"version": "3.0.0",
|
|
4
|
+
"description": "Liability infrastructure for autonomous AI agents - cryptographic sealing at execution speed",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"type": "module",
|
|
8
|
+
"scripts": {
|
|
9
|
+
"build": "tsc",
|
|
10
|
+
"test": "vitest run",
|
|
11
|
+
"test:watch": "vitest",
|
|
12
|
+
"test:coverage": "vitest run --coverage",
|
|
13
|
+
"lint": "eslint src --ext .ts",
|
|
14
|
+
"clean": "rm -rf dist"
|
|
15
|
+
},
|
|
16
|
+
"keywords": ["ai", "agents", "liability", "insurance", "cryptography", "tee", "zk-proofs"],
|
|
17
|
+
"author": "Long Arc Studios",
|
|
18
|
+
"license": "MIT",
|
|
19
|
+
"engines": { "node": ">=18.0.0" },
|
|
20
|
+
"devDependencies": {
|
|
21
|
+
"@types/node": "^20.10.0",
|
|
22
|
+
"typescript": "^5.3.0",
|
|
23
|
+
"vitest": "^1.0.0"
|
|
24
|
+
}
|
|
25
|
+
}
|