@hardkas/artifacts 0.8.1-alpha → 0.8.3-alpha

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 (3) hide show
  1. package/dist/index.d.ts +615 -32
  2. package/dist/index.js +179 -11
  3. package/package.json +3 -3
package/dist/index.d.ts CHANGED
@@ -14,6 +14,10 @@ declare const ARTIFACT_SCHEMAS: {
14
14
  readonly IGRA_TX_PLAN: "hardkas.igraTxPlan.v1";
15
15
  readonly IGRA_SIGNED_TX: "hardkas.igraSignedTx.v1";
16
16
  readonly IGRA_TX_RECEIPT: "hardkas.igraTxReceipt.v1";
17
+ readonly POLICY: "hardkas.policy.v1";
18
+ readonly NETWORK_PROFILE: "hardkas.networkProfile.v1";
19
+ readonly ASSUMPTION: "hardkas.assumption.v1";
20
+ readonly MIGRATION_RECEIPT: "hardkas.migrationReceipt.v1";
17
21
  };
18
22
  type HardkasArtifactSchema = (typeof ARTIFACT_SCHEMAS)[keyof typeof ARTIFACT_SCHEMAS] | string;
19
23
  type HardkasArtifactMode = "simulated" | "node" | "rpc" | "l2-rpc" | "real";
@@ -65,7 +69,7 @@ declare const BaseArtifactSchema: z.ZodObject<{
65
69
  hardkasVersion: z.ZodString;
66
70
  version: z.ZodLiteral<"1.0.0-alpha">;
67
71
  hashVersion: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
68
- networkId: z.ZodEnum<["mainnet", "testnet-10", "testnet-11", "testnet-12", "simnet", "simnet-1", "devnet", "simulated"]>;
72
+ networkId: z.ZodEnum<["mainnet", "testnet-10", "testnet-11", "testnet-12", "simnet", "simnet-1", "devnet", "simulated", "igra"]>;
69
73
  mode: z.ZodEnum<["simulated", "real", "readonly"]>;
70
74
  contentHash: z.ZodOptional<z.ZodString>;
71
75
  createdAt: z.ZodString;
@@ -116,7 +120,7 @@ declare const BaseArtifactSchema: z.ZodObject<{
116
120
  version: "1.0.0-alpha";
117
121
  schema: string;
118
122
  hardkasVersion: string;
119
- networkId: "simulated" | "mainnet" | "testnet-10" | "testnet-11" | "testnet-12" | "simnet" | "simnet-1" | "devnet";
123
+ networkId: "simulated" | "mainnet" | "testnet-10" | "testnet-11" | "testnet-12" | "simnet" | "simnet-1" | "devnet" | "igra";
120
124
  mode: "simulated" | "real" | "readonly";
121
125
  createdAt: string;
122
126
  schemaVersion?: string | undefined;
@@ -145,7 +149,7 @@ declare const BaseArtifactSchema: z.ZodObject<{
145
149
  version: "1.0.0-alpha";
146
150
  schema: string;
147
151
  hardkasVersion: string;
148
- networkId: "simulated" | "mainnet" | "testnet-10" | "testnet-11" | "testnet-12" | "simnet" | "simnet-1" | "devnet";
152
+ networkId: "simulated" | "mainnet" | "testnet-10" | "testnet-11" | "testnet-12" | "simnet" | "simnet-1" | "devnet" | "igra";
149
153
  mode: "simulated" | "real" | "readonly";
150
154
  createdAt: string;
151
155
  schemaVersion?: string | undefined;
@@ -184,6 +188,529 @@ declare const AccountRefSchema: z.ZodObject<{
184
188
  accountName?: string | undefined;
185
189
  input?: string | undefined;
186
190
  }>;
191
+ declare const PolicySchema: z.ZodObject<{
192
+ schemaVersion: z.ZodOptional<z.ZodString>;
193
+ hardkasVersion: z.ZodString;
194
+ version: z.ZodLiteral<"1.0.0-alpha">;
195
+ hashVersion: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
196
+ networkId: z.ZodEnum<["mainnet", "testnet-10", "testnet-11", "testnet-12", "simnet", "simnet-1", "devnet", "simulated", "igra"]>;
197
+ mode: z.ZodEnum<["simulated", "real", "readonly"]>;
198
+ contentHash: z.ZodOptional<z.ZodString>;
199
+ createdAt: z.ZodString;
200
+ lineage: z.ZodOptional<z.ZodObject<{
201
+ artifactId: z.ZodString;
202
+ lineageId: z.ZodString;
203
+ parentArtifactId: z.ZodOptional<z.ZodString>;
204
+ rootArtifactId: z.ZodString;
205
+ sequence: z.ZodOptional<z.ZodNumber>;
206
+ }, "strip", z.ZodTypeAny, {
207
+ artifactId: string;
208
+ lineageId: string;
209
+ rootArtifactId: string;
210
+ parentArtifactId?: string | undefined;
211
+ sequence?: number | undefined;
212
+ }, {
213
+ artifactId: string;
214
+ lineageId: string;
215
+ rootArtifactId: string;
216
+ parentArtifactId?: string | undefined;
217
+ sequence?: number | undefined;
218
+ }>>;
219
+ parents: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
220
+ lineageDepth: z.ZodOptional<z.ZodNumber>;
221
+ workflowId: z.ZodOptional<z.ZodString>;
222
+ scriptProfile: z.ZodOptional<z.ZodEnum<["standard", "experimental"]>>;
223
+ scriptCapabilities: z.ZodOptional<z.ZodArray<z.ZodEnum<["p2pk", "multisig", "timelock", "covenant-experimental", "silverscript-experimental", "tockata-experimental"]>, "many">>;
224
+ scriptMetadata: z.ZodOptional<z.ZodObject<{
225
+ language: z.ZodOptional<z.ZodEnum<["native", "silverscript", "tockata"]>>;
226
+ version: z.ZodOptional<z.ZodString>;
227
+ experimental: z.ZodBoolean;
228
+ notes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
229
+ consensusImpact: z.ZodOptional<z.ZodEnum<["none", "experimental"]>>;
230
+ }, "strip", z.ZodTypeAny, {
231
+ experimental: boolean;
232
+ language?: "native" | "silverscript" | "tockata" | undefined;
233
+ version?: string | undefined;
234
+ notes?: string[] | undefined;
235
+ consensusImpact?: "experimental" | "none" | undefined;
236
+ }, {
237
+ experimental: boolean;
238
+ language?: "native" | "silverscript" | "tockata" | undefined;
239
+ version?: string | undefined;
240
+ notes?: string[] | undefined;
241
+ consensusImpact?: "experimental" | "none" | undefined;
242
+ }>>;
243
+ } & {
244
+ schema: z.ZodLiteral<"hardkas.policy.v1">;
245
+ decision: z.ZodEnum<["ALLOW", "DENY"]>;
246
+ rules: z.ZodArray<z.ZodObject<{
247
+ id: z.ZodString;
248
+ result: z.ZodEnum<["PASS", "FAIL"]>;
249
+ inputHash: z.ZodOptional<z.ZodString>;
250
+ }, "strip", z.ZodTypeAny, {
251
+ id: string;
252
+ result: "PASS" | "FAIL";
253
+ inputHash?: string | undefined;
254
+ }, {
255
+ id: string;
256
+ result: "PASS" | "FAIL";
257
+ inputHash?: string | undefined;
258
+ }>, "many">;
259
+ }, "strip", z.ZodTypeAny, {
260
+ version: "1.0.0-alpha";
261
+ schema: "hardkas.policy.v1";
262
+ hardkasVersion: string;
263
+ networkId: "simulated" | "mainnet" | "testnet-10" | "testnet-11" | "testnet-12" | "simnet" | "simnet-1" | "devnet" | "igra";
264
+ mode: "simulated" | "real" | "readonly";
265
+ createdAt: string;
266
+ decision: "ALLOW" | "DENY";
267
+ rules: {
268
+ id: string;
269
+ result: "PASS" | "FAIL";
270
+ inputHash?: string | undefined;
271
+ }[];
272
+ schemaVersion?: string | undefined;
273
+ hashVersion?: string | number | undefined;
274
+ contentHash?: string | undefined;
275
+ lineage?: {
276
+ artifactId: string;
277
+ lineageId: string;
278
+ rootArtifactId: string;
279
+ parentArtifactId?: string | undefined;
280
+ sequence?: number | undefined;
281
+ } | undefined;
282
+ parents?: string[] | undefined;
283
+ lineageDepth?: number | undefined;
284
+ workflowId?: string | undefined;
285
+ scriptProfile?: "experimental" | "standard" | undefined;
286
+ scriptCapabilities?: ("p2pk" | "multisig" | "timelock" | "covenant-experimental" | "silverscript-experimental" | "tockata-experimental")[] | undefined;
287
+ scriptMetadata?: {
288
+ experimental: boolean;
289
+ language?: "native" | "silverscript" | "tockata" | undefined;
290
+ version?: string | undefined;
291
+ notes?: string[] | undefined;
292
+ consensusImpact?: "experimental" | "none" | undefined;
293
+ } | undefined;
294
+ }, {
295
+ version: "1.0.0-alpha";
296
+ schema: "hardkas.policy.v1";
297
+ hardkasVersion: string;
298
+ networkId: "simulated" | "mainnet" | "testnet-10" | "testnet-11" | "testnet-12" | "simnet" | "simnet-1" | "devnet" | "igra";
299
+ mode: "simulated" | "real" | "readonly";
300
+ createdAt: string;
301
+ decision: "ALLOW" | "DENY";
302
+ rules: {
303
+ id: string;
304
+ result: "PASS" | "FAIL";
305
+ inputHash?: string | undefined;
306
+ }[];
307
+ schemaVersion?: string | undefined;
308
+ hashVersion?: string | number | undefined;
309
+ contentHash?: string | undefined;
310
+ lineage?: {
311
+ artifactId: string;
312
+ lineageId: string;
313
+ rootArtifactId: string;
314
+ parentArtifactId?: string | undefined;
315
+ sequence?: number | undefined;
316
+ } | undefined;
317
+ parents?: string[] | undefined;
318
+ lineageDepth?: number | undefined;
319
+ workflowId?: string | undefined;
320
+ scriptProfile?: "experimental" | "standard" | undefined;
321
+ scriptCapabilities?: ("p2pk" | "multisig" | "timelock" | "covenant-experimental" | "silverscript-experimental" | "tockata-experimental")[] | undefined;
322
+ scriptMetadata?: {
323
+ experimental: boolean;
324
+ language?: "native" | "silverscript" | "tockata" | undefined;
325
+ version?: string | undefined;
326
+ notes?: string[] | undefined;
327
+ consensusImpact?: "experimental" | "none" | undefined;
328
+ } | undefined;
329
+ }>;
330
+ declare const NetworkProfileSchema: z.ZodObject<{
331
+ schemaVersion: z.ZodOptional<z.ZodString>;
332
+ hardkasVersion: z.ZodString;
333
+ version: z.ZodLiteral<"1.0.0-alpha">;
334
+ hashVersion: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
335
+ networkId: z.ZodEnum<["mainnet", "testnet-10", "testnet-11", "testnet-12", "simnet", "simnet-1", "devnet", "simulated", "igra"]>;
336
+ mode: z.ZodEnum<["simulated", "real", "readonly"]>;
337
+ contentHash: z.ZodOptional<z.ZodString>;
338
+ createdAt: z.ZodString;
339
+ lineage: z.ZodOptional<z.ZodObject<{
340
+ artifactId: z.ZodString;
341
+ lineageId: z.ZodString;
342
+ parentArtifactId: z.ZodOptional<z.ZodString>;
343
+ rootArtifactId: z.ZodString;
344
+ sequence: z.ZodOptional<z.ZodNumber>;
345
+ }, "strip", z.ZodTypeAny, {
346
+ artifactId: string;
347
+ lineageId: string;
348
+ rootArtifactId: string;
349
+ parentArtifactId?: string | undefined;
350
+ sequence?: number | undefined;
351
+ }, {
352
+ artifactId: string;
353
+ lineageId: string;
354
+ rootArtifactId: string;
355
+ parentArtifactId?: string | undefined;
356
+ sequence?: number | undefined;
357
+ }>>;
358
+ parents: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
359
+ lineageDepth: z.ZodOptional<z.ZodNumber>;
360
+ workflowId: z.ZodOptional<z.ZodString>;
361
+ scriptProfile: z.ZodOptional<z.ZodEnum<["standard", "experimental"]>>;
362
+ scriptCapabilities: z.ZodOptional<z.ZodArray<z.ZodEnum<["p2pk", "multisig", "timelock", "covenant-experimental", "silverscript-experimental", "tockata-experimental"]>, "many">>;
363
+ scriptMetadata: z.ZodOptional<z.ZodObject<{
364
+ language: z.ZodOptional<z.ZodEnum<["native", "silverscript", "tockata"]>>;
365
+ version: z.ZodOptional<z.ZodString>;
366
+ experimental: z.ZodBoolean;
367
+ notes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
368
+ consensusImpact: z.ZodOptional<z.ZodEnum<["none", "experimental"]>>;
369
+ }, "strip", z.ZodTypeAny, {
370
+ experimental: boolean;
371
+ language?: "native" | "silverscript" | "tockata" | undefined;
372
+ version?: string | undefined;
373
+ notes?: string[] | undefined;
374
+ consensusImpact?: "experimental" | "none" | undefined;
375
+ }, {
376
+ experimental: boolean;
377
+ language?: "native" | "silverscript" | "tockata" | undefined;
378
+ version?: string | undefined;
379
+ notes?: string[] | undefined;
380
+ consensusImpact?: "experimental" | "none" | undefined;
381
+ }>>;
382
+ } & {
383
+ schema: z.ZodLiteral<"hardkas.networkProfile.v1">;
384
+ networkProfileId: z.ZodString;
385
+ layer: z.ZodString;
386
+ capabilities: z.ZodRecord<z.ZodString, z.ZodAny>;
387
+ }, "strip", z.ZodTypeAny, {
388
+ version: "1.0.0-alpha";
389
+ schema: "hardkas.networkProfile.v1";
390
+ hardkasVersion: string;
391
+ networkId: "simulated" | "mainnet" | "testnet-10" | "testnet-11" | "testnet-12" | "simnet" | "simnet-1" | "devnet" | "igra";
392
+ mode: "simulated" | "real" | "readonly";
393
+ createdAt: string;
394
+ networkProfileId: string;
395
+ layer: string;
396
+ capabilities: Record<string, any>;
397
+ schemaVersion?: string | undefined;
398
+ hashVersion?: string | number | undefined;
399
+ contentHash?: string | undefined;
400
+ lineage?: {
401
+ artifactId: string;
402
+ lineageId: string;
403
+ rootArtifactId: string;
404
+ parentArtifactId?: string | undefined;
405
+ sequence?: number | undefined;
406
+ } | undefined;
407
+ parents?: string[] | undefined;
408
+ lineageDepth?: number | undefined;
409
+ workflowId?: string | undefined;
410
+ scriptProfile?: "experimental" | "standard" | undefined;
411
+ scriptCapabilities?: ("p2pk" | "multisig" | "timelock" | "covenant-experimental" | "silverscript-experimental" | "tockata-experimental")[] | undefined;
412
+ scriptMetadata?: {
413
+ experimental: boolean;
414
+ language?: "native" | "silverscript" | "tockata" | undefined;
415
+ version?: string | undefined;
416
+ notes?: string[] | undefined;
417
+ consensusImpact?: "experimental" | "none" | undefined;
418
+ } | undefined;
419
+ }, {
420
+ version: "1.0.0-alpha";
421
+ schema: "hardkas.networkProfile.v1";
422
+ hardkasVersion: string;
423
+ networkId: "simulated" | "mainnet" | "testnet-10" | "testnet-11" | "testnet-12" | "simnet" | "simnet-1" | "devnet" | "igra";
424
+ mode: "simulated" | "real" | "readonly";
425
+ createdAt: string;
426
+ networkProfileId: string;
427
+ layer: string;
428
+ capabilities: Record<string, any>;
429
+ schemaVersion?: string | undefined;
430
+ hashVersion?: string | number | undefined;
431
+ contentHash?: string | undefined;
432
+ lineage?: {
433
+ artifactId: string;
434
+ lineageId: string;
435
+ rootArtifactId: string;
436
+ parentArtifactId?: string | undefined;
437
+ sequence?: number | undefined;
438
+ } | undefined;
439
+ parents?: string[] | undefined;
440
+ lineageDepth?: number | undefined;
441
+ workflowId?: string | undefined;
442
+ scriptProfile?: "experimental" | "standard" | undefined;
443
+ scriptCapabilities?: ("p2pk" | "multisig" | "timelock" | "covenant-experimental" | "silverscript-experimental" | "tockata-experimental")[] | undefined;
444
+ scriptMetadata?: {
445
+ experimental: boolean;
446
+ language?: "native" | "silverscript" | "tockata" | undefined;
447
+ version?: string | undefined;
448
+ notes?: string[] | undefined;
449
+ consensusImpact?: "experimental" | "none" | undefined;
450
+ } | undefined;
451
+ }>;
452
+ declare const AssumptionSchema: z.ZodObject<{
453
+ schemaVersion: z.ZodOptional<z.ZodString>;
454
+ hardkasVersion: z.ZodString;
455
+ version: z.ZodLiteral<"1.0.0-alpha">;
456
+ hashVersion: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
457
+ networkId: z.ZodEnum<["mainnet", "testnet-10", "testnet-11", "testnet-12", "simnet", "simnet-1", "devnet", "simulated", "igra"]>;
458
+ mode: z.ZodEnum<["simulated", "real", "readonly"]>;
459
+ contentHash: z.ZodOptional<z.ZodString>;
460
+ createdAt: z.ZodString;
461
+ lineage: z.ZodOptional<z.ZodObject<{
462
+ artifactId: z.ZodString;
463
+ lineageId: z.ZodString;
464
+ parentArtifactId: z.ZodOptional<z.ZodString>;
465
+ rootArtifactId: z.ZodString;
466
+ sequence: z.ZodOptional<z.ZodNumber>;
467
+ }, "strip", z.ZodTypeAny, {
468
+ artifactId: string;
469
+ lineageId: string;
470
+ rootArtifactId: string;
471
+ parentArtifactId?: string | undefined;
472
+ sequence?: number | undefined;
473
+ }, {
474
+ artifactId: string;
475
+ lineageId: string;
476
+ rootArtifactId: string;
477
+ parentArtifactId?: string | undefined;
478
+ sequence?: number | undefined;
479
+ }>>;
480
+ parents: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
481
+ lineageDepth: z.ZodOptional<z.ZodNumber>;
482
+ workflowId: z.ZodOptional<z.ZodString>;
483
+ scriptProfile: z.ZodOptional<z.ZodEnum<["standard", "experimental"]>>;
484
+ scriptCapabilities: z.ZodOptional<z.ZodArray<z.ZodEnum<["p2pk", "multisig", "timelock", "covenant-experimental", "silverscript-experimental", "tockata-experimental"]>, "many">>;
485
+ scriptMetadata: z.ZodOptional<z.ZodObject<{
486
+ language: z.ZodOptional<z.ZodEnum<["native", "silverscript", "tockata"]>>;
487
+ version: z.ZodOptional<z.ZodString>;
488
+ experimental: z.ZodBoolean;
489
+ notes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
490
+ consensusImpact: z.ZodOptional<z.ZodEnum<["none", "experimental"]>>;
491
+ }, "strip", z.ZodTypeAny, {
492
+ experimental: boolean;
493
+ language?: "native" | "silverscript" | "tockata" | undefined;
494
+ version?: string | undefined;
495
+ notes?: string[] | undefined;
496
+ consensusImpact?: "experimental" | "none" | undefined;
497
+ }, {
498
+ experimental: boolean;
499
+ language?: "native" | "silverscript" | "tockata" | undefined;
500
+ version?: string | undefined;
501
+ notes?: string[] | undefined;
502
+ consensusImpact?: "experimental" | "none" | undefined;
503
+ }>>;
504
+ } & {
505
+ schema: z.ZodLiteral<"hardkas.assumption.v1">;
506
+ settlement: z.ZodOptional<z.ZodString>;
507
+ securityModel: z.ZodOptional<z.ZodString>;
508
+ bridgePhase: z.ZodOptional<z.ZodString>;
509
+ exitModel: z.ZodOptional<z.ZodString>;
510
+ customAssumptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
511
+ }, "strip", z.ZodTypeAny, {
512
+ version: "1.0.0-alpha";
513
+ schema: "hardkas.assumption.v1";
514
+ hardkasVersion: string;
515
+ networkId: "simulated" | "mainnet" | "testnet-10" | "testnet-11" | "testnet-12" | "simnet" | "simnet-1" | "devnet" | "igra";
516
+ mode: "simulated" | "real" | "readonly";
517
+ createdAt: string;
518
+ schemaVersion?: string | undefined;
519
+ hashVersion?: string | number | undefined;
520
+ contentHash?: string | undefined;
521
+ lineage?: {
522
+ artifactId: string;
523
+ lineageId: string;
524
+ rootArtifactId: string;
525
+ parentArtifactId?: string | undefined;
526
+ sequence?: number | undefined;
527
+ } | undefined;
528
+ parents?: string[] | undefined;
529
+ lineageDepth?: number | undefined;
530
+ workflowId?: string | undefined;
531
+ scriptProfile?: "experimental" | "standard" | undefined;
532
+ scriptCapabilities?: ("p2pk" | "multisig" | "timelock" | "covenant-experimental" | "silverscript-experimental" | "tockata-experimental")[] | undefined;
533
+ scriptMetadata?: {
534
+ experimental: boolean;
535
+ language?: "native" | "silverscript" | "tockata" | undefined;
536
+ version?: string | undefined;
537
+ notes?: string[] | undefined;
538
+ consensusImpact?: "experimental" | "none" | undefined;
539
+ } | undefined;
540
+ settlement?: string | undefined;
541
+ securityModel?: string | undefined;
542
+ bridgePhase?: string | undefined;
543
+ exitModel?: string | undefined;
544
+ customAssumptions?: Record<string, any> | undefined;
545
+ }, {
546
+ version: "1.0.0-alpha";
547
+ schema: "hardkas.assumption.v1";
548
+ hardkasVersion: string;
549
+ networkId: "simulated" | "mainnet" | "testnet-10" | "testnet-11" | "testnet-12" | "simnet" | "simnet-1" | "devnet" | "igra";
550
+ mode: "simulated" | "real" | "readonly";
551
+ createdAt: string;
552
+ schemaVersion?: string | undefined;
553
+ hashVersion?: string | number | undefined;
554
+ contentHash?: string | undefined;
555
+ lineage?: {
556
+ artifactId: string;
557
+ lineageId: string;
558
+ rootArtifactId: string;
559
+ parentArtifactId?: string | undefined;
560
+ sequence?: number | undefined;
561
+ } | undefined;
562
+ parents?: string[] | undefined;
563
+ lineageDepth?: number | undefined;
564
+ workflowId?: string | undefined;
565
+ scriptProfile?: "experimental" | "standard" | undefined;
566
+ scriptCapabilities?: ("p2pk" | "multisig" | "timelock" | "covenant-experimental" | "silverscript-experimental" | "tockata-experimental")[] | undefined;
567
+ scriptMetadata?: {
568
+ experimental: boolean;
569
+ language?: "native" | "silverscript" | "tockata" | undefined;
570
+ version?: string | undefined;
571
+ notes?: string[] | undefined;
572
+ consensusImpact?: "experimental" | "none" | undefined;
573
+ } | undefined;
574
+ settlement?: string | undefined;
575
+ securityModel?: string | undefined;
576
+ bridgePhase?: string | undefined;
577
+ exitModel?: string | undefined;
578
+ customAssumptions?: Record<string, any> | undefined;
579
+ }>;
580
+ declare const MigrationReceiptSchema: z.ZodObject<{
581
+ schemaVersion: z.ZodOptional<z.ZodString>;
582
+ hardkasVersion: z.ZodString;
583
+ version: z.ZodLiteral<"1.0.0-alpha">;
584
+ hashVersion: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
585
+ networkId: z.ZodEnum<["mainnet", "testnet-10", "testnet-11", "testnet-12", "simnet", "simnet-1", "devnet", "simulated", "igra"]>;
586
+ mode: z.ZodEnum<["simulated", "real", "readonly"]>;
587
+ contentHash: z.ZodOptional<z.ZodString>;
588
+ createdAt: z.ZodString;
589
+ lineage: z.ZodOptional<z.ZodObject<{
590
+ artifactId: z.ZodString;
591
+ lineageId: z.ZodString;
592
+ parentArtifactId: z.ZodOptional<z.ZodString>;
593
+ rootArtifactId: z.ZodString;
594
+ sequence: z.ZodOptional<z.ZodNumber>;
595
+ }, "strip", z.ZodTypeAny, {
596
+ artifactId: string;
597
+ lineageId: string;
598
+ rootArtifactId: string;
599
+ parentArtifactId?: string | undefined;
600
+ sequence?: number | undefined;
601
+ }, {
602
+ artifactId: string;
603
+ lineageId: string;
604
+ rootArtifactId: string;
605
+ parentArtifactId?: string | undefined;
606
+ sequence?: number | undefined;
607
+ }>>;
608
+ parents: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
609
+ lineageDepth: z.ZodOptional<z.ZodNumber>;
610
+ workflowId: z.ZodOptional<z.ZodString>;
611
+ scriptProfile: z.ZodOptional<z.ZodEnum<["standard", "experimental"]>>;
612
+ scriptCapabilities: z.ZodOptional<z.ZodArray<z.ZodEnum<["p2pk", "multisig", "timelock", "covenant-experimental", "silverscript-experimental", "tockata-experimental"]>, "many">>;
613
+ scriptMetadata: z.ZodOptional<z.ZodObject<{
614
+ language: z.ZodOptional<z.ZodEnum<["native", "silverscript", "tockata"]>>;
615
+ version: z.ZodOptional<z.ZodString>;
616
+ experimental: z.ZodBoolean;
617
+ notes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
618
+ consensusImpact: z.ZodOptional<z.ZodEnum<["none", "experimental"]>>;
619
+ }, "strip", z.ZodTypeAny, {
620
+ experimental: boolean;
621
+ language?: "native" | "silverscript" | "tockata" | undefined;
622
+ version?: string | undefined;
623
+ notes?: string[] | undefined;
624
+ consensusImpact?: "experimental" | "none" | undefined;
625
+ }, {
626
+ experimental: boolean;
627
+ language?: "native" | "silverscript" | "tockata" | undefined;
628
+ version?: string | undefined;
629
+ notes?: string[] | undefined;
630
+ consensusImpact?: "experimental" | "none" | undefined;
631
+ }>>;
632
+ } & {
633
+ schema: z.ZodLiteral<"hardkas.migrationReceipt.v1">;
634
+ oldHash: z.ZodString;
635
+ newHash: z.ZodString;
636
+ fromSchema: z.ZodString;
637
+ toSchema: z.ZodString;
638
+ migrationId: z.ZodString;
639
+ migrationVersion: z.ZodOptional<z.ZodString>;
640
+ decision: z.ZodLiteral<"MIGRATED_WITH_PROOF">;
641
+ }, "strip", z.ZodTypeAny, {
642
+ version: "1.0.0-alpha";
643
+ schema: "hardkas.migrationReceipt.v1";
644
+ hardkasVersion: string;
645
+ networkId: "simulated" | "mainnet" | "testnet-10" | "testnet-11" | "testnet-12" | "simnet" | "simnet-1" | "devnet" | "igra";
646
+ mode: "simulated" | "real" | "readonly";
647
+ createdAt: string;
648
+ decision: "MIGRATED_WITH_PROOF";
649
+ oldHash: string;
650
+ newHash: string;
651
+ fromSchema: string;
652
+ toSchema: string;
653
+ migrationId: string;
654
+ schemaVersion?: string | undefined;
655
+ hashVersion?: string | number | undefined;
656
+ contentHash?: string | undefined;
657
+ lineage?: {
658
+ artifactId: string;
659
+ lineageId: string;
660
+ rootArtifactId: string;
661
+ parentArtifactId?: string | undefined;
662
+ sequence?: number | undefined;
663
+ } | undefined;
664
+ parents?: string[] | undefined;
665
+ lineageDepth?: number | undefined;
666
+ workflowId?: string | undefined;
667
+ scriptProfile?: "experimental" | "standard" | undefined;
668
+ scriptCapabilities?: ("p2pk" | "multisig" | "timelock" | "covenant-experimental" | "silverscript-experimental" | "tockata-experimental")[] | undefined;
669
+ scriptMetadata?: {
670
+ experimental: boolean;
671
+ language?: "native" | "silverscript" | "tockata" | undefined;
672
+ version?: string | undefined;
673
+ notes?: string[] | undefined;
674
+ consensusImpact?: "experimental" | "none" | undefined;
675
+ } | undefined;
676
+ migrationVersion?: string | undefined;
677
+ }, {
678
+ version: "1.0.0-alpha";
679
+ schema: "hardkas.migrationReceipt.v1";
680
+ hardkasVersion: string;
681
+ networkId: "simulated" | "mainnet" | "testnet-10" | "testnet-11" | "testnet-12" | "simnet" | "simnet-1" | "devnet" | "igra";
682
+ mode: "simulated" | "real" | "readonly";
683
+ createdAt: string;
684
+ decision: "MIGRATED_WITH_PROOF";
685
+ oldHash: string;
686
+ newHash: string;
687
+ fromSchema: string;
688
+ toSchema: string;
689
+ migrationId: string;
690
+ schemaVersion?: string | undefined;
691
+ hashVersion?: string | number | undefined;
692
+ contentHash?: string | undefined;
693
+ lineage?: {
694
+ artifactId: string;
695
+ lineageId: string;
696
+ rootArtifactId: string;
697
+ parentArtifactId?: string | undefined;
698
+ sequence?: number | undefined;
699
+ } | undefined;
700
+ parents?: string[] | undefined;
701
+ lineageDepth?: number | undefined;
702
+ workflowId?: string | undefined;
703
+ scriptProfile?: "experimental" | "standard" | undefined;
704
+ scriptCapabilities?: ("p2pk" | "multisig" | "timelock" | "covenant-experimental" | "silverscript-experimental" | "tockata-experimental")[] | undefined;
705
+ scriptMetadata?: {
706
+ experimental: boolean;
707
+ language?: "native" | "silverscript" | "tockata" | undefined;
708
+ version?: string | undefined;
709
+ notes?: string[] | undefined;
710
+ consensusImpact?: "experimental" | "none" | undefined;
711
+ } | undefined;
712
+ migrationVersion?: string | undefined;
713
+ }>;
187
714
  declare const TxPlanSchema: z.ZodObject<{
188
715
  schemaVersion: z.ZodOptional<z.ZodString>;
189
716
  hardkasVersion: z.ZodString;
@@ -236,7 +763,7 @@ declare const TxPlanSchema: z.ZodObject<{
236
763
  }>>;
237
764
  } & {
238
765
  schema: z.ZodLiteral<"hardkas.txPlan">;
239
- networkId: z.ZodEnum<["mainnet", "testnet-10", "testnet-11", "testnet-12", "simnet", "simnet-1", "devnet", "simulated"]>;
766
+ networkId: z.ZodEnum<["mainnet", "testnet-10", "testnet-11", "testnet-12", "simnet", "simnet-1", "devnet", "simulated", "igra"]>;
240
767
  mode: z.ZodEnum<["simulated", "real", "readonly"]>;
241
768
  planId: z.ZodString;
242
769
  from: z.ZodObject<{
@@ -314,11 +841,14 @@ declare const TxPlanSchema: z.ZodObject<{
314
841
  amountSompi: string;
315
842
  }>>;
316
843
  rpcUrl: z.ZodOptional<z.ZodString>;
844
+ networkProfileRef: z.ZodOptional<z.ZodString>;
845
+ policyRef: z.ZodOptional<z.ZodString>;
846
+ assumptionRef: z.ZodOptional<z.ZodString>;
317
847
  }, "strip", z.ZodTypeAny, {
318
848
  version: "1.0.0-alpha";
319
849
  schema: "hardkas.txPlan";
320
850
  hardkasVersion: string;
321
- networkId: "simulated" | "mainnet" | "testnet-10" | "testnet-11" | "testnet-12" | "simnet" | "simnet-1" | "devnet";
851
+ networkId: "simulated" | "mainnet" | "testnet-10" | "testnet-11" | "testnet-12" | "simnet" | "simnet-1" | "devnet" | "igra";
322
852
  mode: "simulated" | "real" | "readonly";
323
853
  createdAt: string;
324
854
  planId: string;
@@ -373,11 +903,14 @@ declare const TxPlanSchema: z.ZodObject<{
373
903
  amountSompi: string;
374
904
  } | undefined;
375
905
  rpcUrl?: string | undefined;
906
+ networkProfileRef?: string | undefined;
907
+ policyRef?: string | undefined;
908
+ assumptionRef?: string | undefined;
376
909
  }, {
377
910
  version: "1.0.0-alpha";
378
911
  schema: "hardkas.txPlan";
379
912
  hardkasVersion: string;
380
- networkId: "simulated" | "mainnet" | "testnet-10" | "testnet-11" | "testnet-12" | "simnet" | "simnet-1" | "devnet";
913
+ networkId: "simulated" | "mainnet" | "testnet-10" | "testnet-11" | "testnet-12" | "simnet" | "simnet-1" | "devnet" | "igra";
381
914
  mode: "simulated" | "real" | "readonly";
382
915
  createdAt: string;
383
916
  planId: string;
@@ -432,6 +965,9 @@ declare const TxPlanSchema: z.ZodObject<{
432
965
  amountSompi: string;
433
966
  } | undefined;
434
967
  rpcUrl?: string | undefined;
968
+ networkProfileRef?: string | undefined;
969
+ policyRef?: string | undefined;
970
+ assumptionRef?: string | undefined;
435
971
  }>;
436
972
  declare const DagContextSchema: z.ZodObject<{
437
973
  mode: z.ZodEnum<["linear", "dag-light"]>;
@@ -489,14 +1025,14 @@ declare const LocalnetUtxoSchemaV2: z.ZodObject<{
489
1025
  createdAtDaaScore: z.ZodString;
490
1026
  }, "strip", z.ZodTypeAny, {
491
1027
  address: string;
492
- amountSompi: string;
493
1028
  id: string;
1029
+ amountSompi: string;
494
1030
  spent: boolean;
495
1031
  createdAtDaaScore: string;
496
1032
  }, {
497
1033
  address: string;
498
- amountSompi: string;
499
1034
  id: string;
1035
+ amountSompi: string;
500
1036
  spent: boolean;
501
1037
  createdAtDaaScore: string;
502
1038
  }>;
@@ -505,7 +1041,7 @@ declare const SnapshotSchema: z.ZodObject<{
505
1041
  hardkasVersion: z.ZodString;
506
1042
  version: z.ZodLiteral<"1.0.0-alpha">;
507
1043
  hashVersion: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
508
- networkId: z.ZodEnum<["mainnet", "testnet-10", "testnet-11", "testnet-12", "simnet", "simnet-1", "devnet", "simulated"]>;
1044
+ networkId: z.ZodEnum<["mainnet", "testnet-10", "testnet-11", "testnet-12", "simnet", "simnet-1", "devnet", "simulated", "igra"]>;
509
1045
  mode: z.ZodEnum<["simulated", "real", "readonly"]>;
510
1046
  contentHash: z.ZodOptional<z.ZodString>;
511
1047
  createdAt: z.ZodString;
@@ -577,14 +1113,14 @@ declare const SnapshotSchema: z.ZodObject<{
577
1113
  createdAtDaaScore: z.ZodString;
578
1114
  }, "strip", z.ZodTypeAny, {
579
1115
  address: string;
580
- amountSompi: string;
581
1116
  id: string;
1117
+ amountSompi: string;
582
1118
  spent: boolean;
583
1119
  createdAtDaaScore: string;
584
1120
  }, {
585
1121
  address: string;
586
- amountSompi: string;
587
1122
  id: string;
1123
+ amountSompi: string;
588
1124
  spent: boolean;
589
1125
  createdAtDaaScore: string;
590
1126
  }>, "many">;
@@ -592,7 +1128,7 @@ declare const SnapshotSchema: z.ZodObject<{
592
1128
  version: "1.0.0-alpha";
593
1129
  schema: "hardkas.snapshot";
594
1130
  hardkasVersion: string;
595
- networkId: "simulated" | "mainnet" | "testnet-10" | "testnet-11" | "testnet-12" | "simnet" | "simnet-1" | "devnet";
1131
+ networkId: "simulated" | "mainnet" | "testnet-10" | "testnet-11" | "testnet-12" | "simnet" | "simnet-1" | "devnet" | "igra";
596
1132
  mode: "simulated" | "real" | "readonly";
597
1133
  createdAt: string;
598
1134
  daaScore: string;
@@ -602,8 +1138,8 @@ declare const SnapshotSchema: z.ZodObject<{
602
1138
  }[];
603
1139
  utxos: {
604
1140
  address: string;
605
- amountSompi: string;
606
1141
  id: string;
1142
+ amountSompi: string;
607
1143
  spent: boolean;
608
1144
  createdAtDaaScore: string;
609
1145
  }[];
@@ -637,7 +1173,7 @@ declare const SnapshotSchema: z.ZodObject<{
637
1173
  version: "1.0.0-alpha";
638
1174
  schema: "hardkas.snapshot";
639
1175
  hardkasVersion: string;
640
- networkId: "simulated" | "mainnet" | "testnet-10" | "testnet-11" | "testnet-12" | "simnet" | "simnet-1" | "devnet";
1176
+ networkId: "simulated" | "mainnet" | "testnet-10" | "testnet-11" | "testnet-12" | "simnet" | "simnet-1" | "devnet" | "igra";
641
1177
  mode: "simulated" | "real" | "readonly";
642
1178
  createdAt: string;
643
1179
  daaScore: string;
@@ -647,8 +1183,8 @@ declare const SnapshotSchema: z.ZodObject<{
647
1183
  }[];
648
1184
  utxos: {
649
1185
  address: string;
650
- amountSompi: string;
651
1186
  id: string;
1187
+ amountSompi: string;
652
1188
  spent: boolean;
653
1189
  createdAtDaaScore: string;
654
1190
  }[];
@@ -734,7 +1270,7 @@ declare const TxReceiptSchema: z.ZodObject<{
734
1270
  txId: z.ZodString;
735
1271
  status: z.ZodEnum<["pending", "submitted", "accepted", "confirmed", "failed"]>;
736
1272
  mode: z.ZodEnum<["simulated", "real", "readonly"]>;
737
- networkId: z.ZodEnum<["mainnet", "testnet-10", "testnet-11", "testnet-12", "simnet", "simnet-1", "devnet", "simulated"]>;
1273
+ networkId: z.ZodEnum<["mainnet", "testnet-10", "testnet-11", "testnet-12", "simnet", "simnet-1", "devnet", "simulated", "igra"]>;
738
1274
  from: z.ZodObject<{
739
1275
  address: z.ZodString;
740
1276
  accountName: z.ZodOptional<z.ZodString>;
@@ -830,7 +1366,7 @@ declare const TxReceiptSchema: z.ZodObject<{
830
1366
  version: "1.0.0-alpha";
831
1367
  schema: "hardkas.txReceipt";
832
1368
  hardkasVersion: string;
833
- networkId: "simulated" | "mainnet" | "testnet-10" | "testnet-11" | "testnet-12" | "simnet" | "simnet-1" | "devnet";
1369
+ networkId: "simulated" | "mainnet" | "testnet-10" | "testnet-11" | "testnet-12" | "simnet" | "simnet-1" | "devnet" | "igra";
834
1370
  mode: "simulated" | "real" | "readonly";
835
1371
  createdAt: string;
836
1372
  from: {
@@ -901,7 +1437,7 @@ declare const TxReceiptSchema: z.ZodObject<{
901
1437
  version: "1.0.0-alpha";
902
1438
  schema: "hardkas.txReceipt";
903
1439
  hardkasVersion: string;
904
- networkId: "simulated" | "mainnet" | "testnet-10" | "testnet-11" | "testnet-12" | "simnet" | "simnet-1" | "devnet";
1440
+ networkId: "simulated" | "mainnet" | "testnet-10" | "testnet-11" | "testnet-12" | "simnet" | "simnet-1" | "devnet" | "igra";
905
1441
  mode: "simulated" | "real" | "readonly";
906
1442
  createdAt: string;
907
1443
  from: {
@@ -1043,7 +1579,7 @@ declare const SignedTxSchema: z.ZodObject<{
1043
1579
  status: z.ZodEnum<["partially_signed", "signed"]>;
1044
1580
  signedId: z.ZodString;
1045
1581
  sourcePlanId: z.ZodString;
1046
- networkId: z.ZodEnum<["mainnet", "testnet-10", "testnet-11", "testnet-12", "simnet", "simnet-1", "devnet", "simulated"]>;
1582
+ networkId: z.ZodEnum<["mainnet", "testnet-10", "testnet-11", "testnet-12", "simnet", "simnet-1", "devnet", "simulated", "igra"]>;
1047
1583
  mode: z.ZodEnum<["simulated", "real", "readonly"]>;
1048
1584
  from: z.ZodObject<{
1049
1585
  address: z.ZodString;
@@ -1128,7 +1664,7 @@ declare const SignedTxSchema: z.ZodObject<{
1128
1664
  version: "1.0.0-alpha";
1129
1665
  schema: "hardkas.signedTx";
1130
1666
  hardkasVersion: string;
1131
- networkId: "simulated" | "mainnet" | "testnet-10" | "testnet-11" | "testnet-12" | "simnet" | "simnet-1" | "devnet";
1667
+ networkId: "simulated" | "mainnet" | "testnet-10" | "testnet-11" | "testnet-12" | "simnet" | "simnet-1" | "devnet" | "igra";
1132
1668
  mode: "simulated" | "real" | "readonly";
1133
1669
  createdAt: string;
1134
1670
  from: {
@@ -1190,7 +1726,7 @@ declare const SignedTxSchema: z.ZodObject<{
1190
1726
  version: "1.0.0-alpha";
1191
1727
  schema: "hardkas.signedTx";
1192
1728
  hardkasVersion: string;
1193
- networkId: "simulated" | "mainnet" | "testnet-10" | "testnet-11" | "testnet-12" | "simnet" | "simnet-1" | "devnet";
1729
+ networkId: "simulated" | "mainnet" | "testnet-10" | "testnet-11" | "testnet-12" | "simnet" | "simnet-1" | "devnet" | "igra";
1194
1730
  mode: "simulated" | "real" | "readonly";
1195
1731
  createdAt: string;
1196
1732
  from: {
@@ -1301,7 +1837,7 @@ declare const TxTraceSchema: z.ZodObject<{
1301
1837
  } & {
1302
1838
  schema: z.ZodLiteral<"hardkas.txTrace">;
1303
1839
  txId: z.ZodString;
1304
- networkId: z.ZodEnum<["mainnet", "testnet-10", "testnet-11", "testnet-12", "simnet", "simnet-1", "devnet", "simulated"]>;
1840
+ networkId: z.ZodEnum<["mainnet", "testnet-10", "testnet-11", "testnet-12", "simnet", "simnet-1", "devnet", "simulated", "igra"]>;
1305
1841
  mode: z.ZodEnum<["simulated", "real", "readonly"]>;
1306
1842
  steps: z.ZodArray<z.ZodObject<{
1307
1843
  phase: z.ZodString;
@@ -1371,7 +1907,7 @@ declare const TxTraceSchema: z.ZodObject<{
1371
1907
  version: "1.0.0-alpha";
1372
1908
  schema: "hardkas.txTrace";
1373
1909
  hardkasVersion: string;
1374
- networkId: "simulated" | "mainnet" | "testnet-10" | "testnet-11" | "testnet-12" | "simnet" | "simnet-1" | "devnet";
1910
+ networkId: "simulated" | "mainnet" | "testnet-10" | "testnet-11" | "testnet-12" | "simnet" | "simnet-1" | "devnet" | "igra";
1375
1911
  mode: "simulated" | "real" | "readonly";
1376
1912
  createdAt: string;
1377
1913
  txId: string;
@@ -1421,7 +1957,7 @@ declare const TxTraceSchema: z.ZodObject<{
1421
1957
  version: "1.0.0-alpha";
1422
1958
  schema: "hardkas.txTrace";
1423
1959
  hardkasVersion: string;
1424
- networkId: "simulated" | "mainnet" | "testnet-10" | "testnet-11" | "testnet-12" | "simnet" | "simnet-1" | "devnet";
1960
+ networkId: "simulated" | "mainnet" | "testnet-10" | "testnet-11" | "testnet-12" | "simnet" | "simnet-1" | "devnet" | "igra";
1425
1961
  mode: "simulated" | "real" | "readonly";
1426
1962
  createdAt: string;
1427
1963
  txId: string;
@@ -1473,7 +2009,7 @@ declare const WorkflowSchema: z.ZodObject<{
1473
2009
  hardkasVersion: z.ZodString;
1474
2010
  version: z.ZodLiteral<"1.0.0-alpha">;
1475
2011
  hashVersion: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
1476
- networkId: z.ZodEnum<["mainnet", "testnet-10", "testnet-11", "testnet-12", "simnet", "simnet-1", "devnet", "simulated"]>;
2012
+ networkId: z.ZodEnum<["mainnet", "testnet-10", "testnet-11", "testnet-12", "simnet", "simnet-1", "devnet", "simulated", "igra"]>;
1477
2013
  mode: z.ZodEnum<["simulated", "real", "readonly"]>;
1478
2014
  contentHash: z.ZodOptional<z.ZodString>;
1479
2015
  createdAt: z.ZodString;
@@ -1603,7 +2139,7 @@ declare const WorkflowSchema: z.ZodObject<{
1603
2139
  version: "1.0.0-alpha";
1604
2140
  schema: "hardkas.workflow.v1";
1605
2141
  hardkasVersion: string;
1606
- networkId: "simulated" | "mainnet" | "testnet-10" | "testnet-11" | "testnet-12" | "simnet" | "simnet-1" | "devnet";
2142
+ networkId: "simulated" | "mainnet" | "testnet-10" | "testnet-11" | "testnet-12" | "simnet" | "simnet-1" | "devnet" | "igra";
1607
2143
  mode: "simulated" | "real" | "readonly";
1608
2144
  createdAt: string;
1609
2145
  workflowId: string;
@@ -1664,7 +2200,7 @@ declare const WorkflowSchema: z.ZodObject<{
1664
2200
  version: "1.0.0-alpha";
1665
2201
  schema: "hardkas.workflow.v1";
1666
2202
  hardkasVersion: string;
1667
- networkId: "simulated" | "mainnet" | "testnet-10" | "testnet-11" | "testnet-12" | "simnet" | "simnet-1" | "devnet";
2203
+ networkId: "simulated" | "mainnet" | "testnet-10" | "testnet-11" | "testnet-12" | "simnet" | "simnet-1" | "devnet" | "igra";
1668
2204
  mode: "simulated" | "real" | "readonly";
1669
2205
  createdAt: string;
1670
2206
  workflowId: string;
@@ -1729,13 +2265,17 @@ type TxTrace = z.infer<typeof TxTraceSchema>;
1729
2265
  type DagContext$1 = z.infer<typeof DagContextSchema>;
1730
2266
  type Workflow = z.infer<typeof WorkflowSchema>;
1731
2267
  type ScriptCapability = z.infer<typeof ScriptCapabilitySchema>;
2268
+ type Policy = z.infer<typeof PolicySchema>;
2269
+ type NetworkProfile = z.infer<typeof NetworkProfileSchema>;
2270
+ type Assumption = z.infer<typeof AssumptionSchema>;
2271
+ type MigrationReceipt = z.infer<typeof MigrationReceiptSchema>;
1732
2272
  declare const RuntimeSessionSchema: z.ZodObject<{
1733
2273
  schema: z.ZodString;
1734
2274
  schemaVersion: z.ZodOptional<z.ZodString>;
1735
2275
  hardkasVersion: z.ZodString;
1736
2276
  version: z.ZodLiteral<"1.0.0-alpha">;
1737
2277
  hashVersion: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
1738
- networkId: z.ZodEnum<["mainnet", "testnet-10", "testnet-11", "testnet-12", "simnet", "simnet-1", "devnet", "simulated"]>;
2278
+ networkId: z.ZodEnum<["mainnet", "testnet-10", "testnet-11", "testnet-12", "simnet", "simnet-1", "devnet", "simulated", "igra"]>;
1739
2279
  mode: z.ZodEnum<["simulated", "real", "readonly"]>;
1740
2280
  contentHash: z.ZodOptional<z.ZodString>;
1741
2281
  createdAt: z.ZodString;
@@ -1796,7 +2336,7 @@ declare const RuntimeSessionSchema: z.ZodObject<{
1796
2336
  version: "1.0.0-alpha";
1797
2337
  schema: string;
1798
2338
  hardkasVersion: string;
1799
- networkId: "simulated" | "mainnet" | "testnet-10" | "testnet-11" | "testnet-12" | "simnet" | "simnet-1" | "devnet";
2339
+ networkId: "simulated" | "mainnet" | "testnet-10" | "testnet-11" | "testnet-12" | "simnet" | "simnet-1" | "devnet" | "igra";
1800
2340
  mode: "simulated" | "real" | "readonly";
1801
2341
  createdAt: string;
1802
2342
  startedAt: string;
@@ -1834,7 +2374,7 @@ declare const RuntimeSessionSchema: z.ZodObject<{
1834
2374
  version: "1.0.0-alpha";
1835
2375
  schema: string;
1836
2376
  hardkasVersion: string;
1837
- networkId: "simulated" | "mainnet" | "testnet-10" | "testnet-11" | "testnet-12" | "simnet" | "simnet-1" | "devnet";
2377
+ networkId: "simulated" | "mainnet" | "testnet-10" | "testnet-11" | "testnet-12" | "simnet" | "simnet-1" | "devnet" | "igra";
1838
2378
  mode: "simulated" | "real" | "readonly";
1839
2379
  createdAt: string;
1840
2380
  startedAt: string;
@@ -2128,6 +2668,9 @@ interface TxPlanArtifact extends BaseArtifact<"txPlan"> {
2128
2668
  address: string;
2129
2669
  amountSompi: string;
2130
2670
  } | undefined;
2671
+ networkProfileRef?: string | undefined;
2672
+ policyRef?: string | undefined;
2673
+ assumptionRef?: string | undefined;
2131
2674
  }
2132
2675
  interface SignedTxArtifact extends BaseArtifact<"signedTx"> {
2133
2676
  status: "partially_signed" | "signed";
@@ -2211,6 +2754,35 @@ interface TxTraceArtifact extends BaseArtifact<"txTrace"> {
2211
2754
  }>;
2212
2755
  dagContext?: DagContext | undefined;
2213
2756
  }
2757
+ interface PolicyArtifact extends BaseArtifact<"policy.v1"> {
2758
+ decision: "ALLOW" | "DENY";
2759
+ rules: Array<{
2760
+ id: string;
2761
+ result: "PASS" | "FAIL";
2762
+ inputHash?: string | undefined;
2763
+ }>;
2764
+ }
2765
+ interface NetworkProfileArtifact extends BaseArtifact<"networkProfile.v1"> {
2766
+ networkProfileId: string;
2767
+ layer: string;
2768
+ capabilities: Record<string, any>;
2769
+ }
2770
+ interface AssumptionArtifact extends BaseArtifact<"assumption.v1"> {
2771
+ settlement?: string | undefined;
2772
+ securityModel?: string | undefined;
2773
+ bridgePhase?: string | undefined;
2774
+ exitModel?: string | undefined;
2775
+ customAssumptions?: Record<string, any> | undefined;
2776
+ }
2777
+ interface MigrationReceiptArtifact extends BaseArtifact<"migrationReceipt.v1"> {
2778
+ oldHash: string;
2779
+ newHash: string;
2780
+ fromSchema: string;
2781
+ toSchema: string;
2782
+ migrationId: string;
2783
+ migrationVersion?: string | undefined;
2784
+ decision: "MIGRATED_WITH_PROOF";
2785
+ }
2214
2786
 
2215
2787
  interface WorkflowArtifact extends BaseArtifact<"workflow.v1"> {
2216
2788
  workflowId: WorkflowId;
@@ -2531,6 +3103,11 @@ interface MigrationResult {
2531
3103
  description: string;
2532
3104
  }>;
2533
3105
  }
3106
+ declare class MigrationRequiredError extends Error {
3107
+ oldVersion: string;
3108
+ targetVersion: string;
3109
+ constructor(oldVersion: string, targetVersion: string);
3110
+ }
2534
3111
  /**
2535
3112
  * Registers a migration step in the global registry.
2536
3113
  * Steps should be registered in chronological order (oldest → newest).
@@ -2597,7 +3174,9 @@ declare function canMigrate(artifact: ArtifactPayload, targetVersion?: string):
2597
3174
  * }
2598
3175
  * ```
2599
3176
  */
2600
- declare function migrateArtifactPayload(artifact: ArtifactPayload, targetVersion?: string): MigrationResult;
3177
+ declare function migrateArtifactPayload(artifact: ArtifactPayload, targetVersion?: string, options?: {
3178
+ strictPolicy?: boolean;
3179
+ }): MigrationResult;
2601
3180
  /**
2602
3181
  * Migrates a v1 artifact to canonical format by updating the schema, version,
2603
3182
  * and calculating the contentHash.
@@ -2609,6 +3188,10 @@ declare function migrateArtifactPayload(artifact: ArtifactPayload, targetVersion
2609
3188
  * @returns The migrated artifact in canonical format
2610
3189
  */
2611
3190
  declare function migrateToCanonical(v1Artifact: ArtifactPayload): ArtifactPayload;
3191
+ /**
3192
+ * Generates an explicit MigrationReceipt connecting old artifact to new artifact.
3193
+ */
3194
+ declare function generateMigrationReceipt(oldArtifact: ArtifactPayload, newArtifact: ArtifactPayload, migrationId: string): any;
2612
3195
 
2613
3196
  declare const bigIntReplacer: (_key: string, value: unknown) => unknown;
2614
3197
  declare function writeArtifact(filePath: string, artifact: unknown): Promise<void>;
@@ -2830,4 +3413,4 @@ declare function listDeployments(rootDir: string, networkId?: string): Promise<D
2830
3413
  declare function updateDeployment(rootDir: string, networkId: string, label: string, update: Partial<DeploymentRecord>): Promise<DeploymentRecord>;
2831
3414
  declare function deleteDeployment(rootDir: string, networkId: string, label: string): Promise<boolean>;
2832
3415
 
2833
- export { ARTIFACT_SCHEMAS, ARTIFACT_VERSION, AccountRefSchema, type ArtifactDiff, type ArtifactExplanation, ArtifactLineageSchema, type ArtifactLookup, type ArtifactPayload, type ArtifactValidationResult, type ArtifactVerificationResult, type AssumptionLevel, type BaseArtifact, BaseArtifactSchema, BasicCorrelationInvariant, BasicLineageInvariant, CURRENT_HASH_VERSION, type Clock, type CreateTxPlanArtifactOptions, type DagContext, DagContextSchema, type DeploymentIndex, type DeploymentRecord, type DeploymentSummary, type DiffEntry, type DraftArtifact, type FeeAuditResult, HARDKAS_VERSION, type HardkasArtifactBase, type HardkasArtifactMode, type HardkasArtifactSchema, HashInvariant, type IgraSignedTxArtifact, type IgraTxPlanArtifact, type IgraTxReceiptArtifact, type IgraTxRequestArtifact, type Invariant, type InvariantContext, type InvariantViolation, InvariantWatcher, LifecycleInvariant, type LineageOptions, type LineageValidationResult, LocalnetUtxoSchemaV2, type MigrationResult, type MigrationStep, NetworkInvariant, ReplayInvariant, type RuntimeSession, RuntimeSessionSchema, SEMANTIC_EXCLUSIONS, STRICT_PATH_KEYS, SchemaInvariant, type ScriptCapability, ScriptCapabilitySchema, ScriptMetadataSchema, SignatureEntrySchema, SignatureMetadataEntrySchema, type SignedTx, type SignedTxArtifact, type SignedTxArtifactV1, SignedTxSchema, type Snapshot, type SnapshotArtifact, SnapshotSchema, type TxOutputArtifact, type TxPlan, type TxPlanArtifact, type TxPlanArtifactV1, TxPlanSchema, type TxReceipt, type TxReceiptArtifact, type TxReceiptArtifactV1, TxReceiptSchema, type TxTrace, type TxTraceArtifact, type TxTraceArtifactV1, TxTraceSchema, type UtxoArtifact, type VerificationContext, type VerificationIssue, type VerificationSeverity, type WatcherOptions, type Workflow, type WorkflowArtifact, WorkflowSchema, assertDecimalBigIntString, assertEvmAddress, assertEvmTxHash, assertHexData, assertValidIgraSignedTxArtifact, assertValidIgraTxPlanArtifact, assertValidIgraTxReceiptArtifact, assertValidSignedTxArtifact, assertValidTxPlanArtifact, assertValidTxReceiptArtifact, bigIntReplacer, calculateContentHash, canMigrate, canonicalStringify, createDeploymentRecord, createIgraDeployPlanId, createIgraPlanId, createIgraSignedId, createSimulatedSignedTxArtifact, createSimulatedTxReceipt, createTxPlanArtifact, defaultClock, deleteDeployment, detectArtifactVersion, diffArtifacts, explainArtifact, formatSignedTxArtifact, formatTxPlanArtifact, formatTxReceiptArtifact, getBroadcastableSignedTransaction, getDefaultL2ReceiptsDir, getDefaultReceiptPath, getL2ReceiptPath, getMigrationPath, getRegisteredMigrationSteps, isIgraTxPlanArtifact, listDeployments, listIgraTxReceiptArtifacts, loadDeployment, loadIgraTxReceiptArtifact, migrateArtifactPayload, migrateToCanonical, readArtifact, readSignedTxArtifact, readTxPlanArtifact, readTxReceiptArtifact, recomputeMass, registerMigrationStep, saveDeployment, saveIgraTxReceiptArtifact, sortUtxosByOutpoint, txOutputFromArtifact, txOutputToArtifact, updateDeployment, updateDeploymentStatus, utxoFromArtifact, utxoToArtifact, validateArtifact, validateIgraSignedTxArtifact, validateIgraTxPlanArtifact, validateIgraTxReceiptArtifact, validateSignedTxArtifact, validateTxPlanArtifact, validateTxReceiptArtifact, verifyArtifact, verifyArtifactFile, verifyArtifactIntegrity, verifyArtifactReplay, verifyArtifactSemantics, verifyFeeSemantics, verifyLineage, writeArtifact };
3416
+ export { ARTIFACT_SCHEMAS, ARTIFACT_VERSION, AccountRefSchema, type ArtifactDiff, type ArtifactExplanation, ArtifactLineageSchema, type ArtifactLookup, type ArtifactPayload, type ArtifactValidationResult, type ArtifactVerificationResult, type Assumption, type AssumptionArtifact, type AssumptionLevel, AssumptionSchema, type BaseArtifact, BaseArtifactSchema, BasicCorrelationInvariant, BasicLineageInvariant, CURRENT_HASH_VERSION, type Clock, type CreateTxPlanArtifactOptions, type DagContext, DagContextSchema, type DeploymentIndex, type DeploymentRecord, type DeploymentSummary, type DiffEntry, type DraftArtifact, type FeeAuditResult, HARDKAS_VERSION, type HardkasArtifactBase, type HardkasArtifactMode, type HardkasArtifactSchema, HashInvariant, type IgraSignedTxArtifact, type IgraTxPlanArtifact, type IgraTxReceiptArtifact, type IgraTxRequestArtifact, type Invariant, type InvariantContext, type InvariantViolation, InvariantWatcher, LifecycleInvariant, type LineageOptions, type LineageValidationResult, LocalnetUtxoSchemaV2, type MigrationReceipt, type MigrationReceiptArtifact, MigrationReceiptSchema, MigrationRequiredError, type MigrationResult, type MigrationStep, NetworkInvariant, type NetworkProfile, type NetworkProfileArtifact, NetworkProfileSchema, type Policy, type PolicyArtifact, PolicySchema, ReplayInvariant, type RuntimeSession, RuntimeSessionSchema, SEMANTIC_EXCLUSIONS, STRICT_PATH_KEYS, SchemaInvariant, type ScriptCapability, ScriptCapabilitySchema, ScriptMetadataSchema, SignatureEntrySchema, SignatureMetadataEntrySchema, type SignedTx, type SignedTxArtifact, type SignedTxArtifactV1, SignedTxSchema, type Snapshot, type SnapshotArtifact, SnapshotSchema, type TxOutputArtifact, type TxPlan, type TxPlanArtifact, type TxPlanArtifactV1, TxPlanSchema, type TxReceipt, type TxReceiptArtifact, type TxReceiptArtifactV1, TxReceiptSchema, type TxTrace, type TxTraceArtifact, type TxTraceArtifactV1, TxTraceSchema, type UtxoArtifact, type VerificationContext, type VerificationIssue, type VerificationSeverity, type WatcherOptions, type Workflow, type WorkflowArtifact, WorkflowSchema, assertDecimalBigIntString, assertEvmAddress, assertEvmTxHash, assertHexData, assertValidIgraSignedTxArtifact, assertValidIgraTxPlanArtifact, assertValidIgraTxReceiptArtifact, assertValidSignedTxArtifact, assertValidTxPlanArtifact, assertValidTxReceiptArtifact, bigIntReplacer, calculateContentHash, canMigrate, canonicalStringify, createDeploymentRecord, createIgraDeployPlanId, createIgraPlanId, createIgraSignedId, createSimulatedSignedTxArtifact, createSimulatedTxReceipt, createTxPlanArtifact, defaultClock, deleteDeployment, detectArtifactVersion, diffArtifacts, explainArtifact, formatSignedTxArtifact, formatTxPlanArtifact, formatTxReceiptArtifact, generateMigrationReceipt, getBroadcastableSignedTransaction, getDefaultL2ReceiptsDir, getDefaultReceiptPath, getL2ReceiptPath, getMigrationPath, getRegisteredMigrationSteps, isIgraTxPlanArtifact, listDeployments, listIgraTxReceiptArtifacts, loadDeployment, loadIgraTxReceiptArtifact, migrateArtifactPayload, migrateToCanonical, readArtifact, readSignedTxArtifact, readTxPlanArtifact, readTxReceiptArtifact, recomputeMass, registerMigrationStep, saveDeployment, saveIgraTxReceiptArtifact, sortUtxosByOutpoint, txOutputFromArtifact, txOutputToArtifact, updateDeployment, updateDeploymentStatus, utxoFromArtifact, utxoToArtifact, validateArtifact, validateIgraSignedTxArtifact, validateIgraTxPlanArtifact, validateIgraTxReceiptArtifact, validateSignedTxArtifact, validateTxPlanArtifact, validateTxReceiptArtifact, verifyArtifact, verifyArtifactFile, verifyArtifactIntegrity, verifyArtifactReplay, verifyArtifactSemantics, verifyFeeSemantics, verifyLineage, writeArtifact };
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  // package.json
2
2
  var package_default = {
3
3
  name: "@hardkas/artifacts",
4
- version: "0.8.0-alpha",
4
+ version: "0.8.3-alpha",
5
5
  type: "module",
6
6
  license: "MIT",
7
7
  author: "Javier Rodriguez",
@@ -53,7 +53,11 @@ var ARTIFACT_SCHEMAS = {
53
53
  SNAPSHOT: "hardkas.snapshot",
54
54
  IGRA_TX_PLAN: "hardkas.igraTxPlan.v1",
55
55
  IGRA_SIGNED_TX: "hardkas.igraSignedTx.v1",
56
- IGRA_TX_RECEIPT: "hardkas.igraTxReceipt.v1"
56
+ IGRA_TX_RECEIPT: "hardkas.igraTxReceipt.v1",
57
+ POLICY: "hardkas.policy.v1",
58
+ NETWORK_PROFILE: "hardkas.networkProfile.v1",
59
+ ASSUMPTION: "hardkas.assumption.v1",
60
+ MIGRATION_RECEIPT: "hardkas.migrationReceipt.v1"
57
61
  };
58
62
 
59
63
  // src/igra-artifacts.ts
@@ -345,6 +349,41 @@ var AccountRefSchema = z.object({
345
349
  accountName: z.string().optional(),
346
350
  input: z.string().optional()
347
351
  });
352
+ var PolicySchema = BaseArtifactSchema.extend({
353
+ schema: z.literal("hardkas.policy.v1"),
354
+ decision: z.enum(["ALLOW", "DENY"]),
355
+ rules: z.array(
356
+ z.object({
357
+ id: z.string(),
358
+ result: z.enum(["PASS", "FAIL"]),
359
+ inputHash: z.string().optional()
360
+ })
361
+ )
362
+ });
363
+ var NetworkProfileSchema = BaseArtifactSchema.extend({
364
+ schema: z.literal("hardkas.networkProfile.v1"),
365
+ networkProfileId: z.string(),
366
+ layer: z.string(),
367
+ capabilities: z.record(z.any())
368
+ });
369
+ var AssumptionSchema = BaseArtifactSchema.extend({
370
+ schema: z.literal("hardkas.assumption.v1"),
371
+ settlement: z.string().optional(),
372
+ securityModel: z.string().optional(),
373
+ bridgePhase: z.string().optional(),
374
+ exitModel: z.string().optional(),
375
+ customAssumptions: z.record(z.any()).optional()
376
+ });
377
+ var MigrationReceiptSchema = BaseArtifactSchema.extend({
378
+ schema: z.literal("hardkas.migrationReceipt.v1"),
379
+ oldHash: z.string(),
380
+ newHash: z.string(),
381
+ fromSchema: z.string(),
382
+ toSchema: z.string(),
383
+ migrationId: z.string(),
384
+ migrationVersion: z.string().optional(),
385
+ decision: z.literal("MIGRATED_WITH_PROOF")
386
+ });
348
387
  var TxPlanSchema = BaseArtifactSchema.extend({
349
388
  schema: z.literal("hardkas.txPlan"),
350
389
  networkId: kaspaNetworkIdSchema,
@@ -374,7 +413,10 @@ var TxPlanSchema = BaseArtifactSchema.extend({
374
413
  address: z.string(),
375
414
  amountSompi: z.string()
376
415
  }).optional(),
377
- rpcUrl: z.string().optional()
416
+ rpcUrl: z.string().optional(),
417
+ networkProfileRef: z.string().optional(),
418
+ policyRef: z.string().optional(),
419
+ assumptionRef: z.string().optional()
378
420
  });
379
421
  var DagContextSchema = z.object({
380
422
  mode: z.enum(["linear", "dag-light"]),
@@ -727,12 +769,21 @@ function verifyLineage(artifact, parent, options = {}) {
727
769
  }
728
770
  if (parent) {
729
771
  const validTransitions = {
730
- "hardkas.snapshot": ["hardkas.txPlan"],
731
- "hardkas.txPlan": ["hardkas.signedTx"],
732
- "hardkas.signedTx": ["hardkas.txReceipt"]
772
+ "hardkas.snapshot": ["hardkas.txPlan", "hardkas.migrationReceipt.v1"],
773
+ "hardkas.txPlan": ["hardkas.signedTx", "hardkas.migrationReceipt.v1"],
774
+ "hardkas.signedTx": ["hardkas.txReceipt", "hardkas.signedTx", "hardkas.migrationReceipt.v1"],
775
+ "hardkas.txReceipt": ["hardkas.txTrace", "hardkas.migrationReceipt.v1"]
733
776
  };
734
- const allowed = validTransitions[parent.schema] || [];
735
- if (!allowed.includes(artifact.schema)) {
777
+ let isValidTransition = false;
778
+ if (parent.schema === "hardkas.migrationReceipt.v1") {
779
+ isValidTransition = parent.toSchema === artifact.schema;
780
+ } else if (artifact.schema === "hardkas.migrationReceipt.v1") {
781
+ isValidTransition = artifact.fromSchema === parent.schema;
782
+ } else {
783
+ const allowed = validTransitions[parent.schema] || [];
784
+ isValidTransition = allowed.includes(artifact.schema);
785
+ }
786
+ if (!isValidTransition) {
736
787
  addIssue(
737
788
  "INVALID_TRANSITION",
738
789
  `Invalid lineage transition: ${parent.schema} -> ${artifact.schema}`
@@ -817,10 +868,10 @@ async function verifyArtifactIntegrity(artifactOrPath) {
817
868
  const actualHash = calculateContentHash(v, hashVersion);
818
869
  result.actualHash = actualHash;
819
870
  if (!v.contentHash) {
820
- addError("ARTIFACT_HASH_MISMATCH", "Missing contentHash field");
871
+ addError("MISSING_CONTENT_HASH", "Missing contentHash field");
821
872
  } else if (actualHash !== v.contentHash) {
822
873
  addError(
823
- "ARTIFACT_HASH_MISMATCH",
874
+ "HASH_MISMATCH",
824
875
  `Hash mismatch: expected ${v.contentHash}, got ${actualHash}`
825
876
  );
826
877
  }
@@ -844,6 +895,18 @@ async function verifyArtifactIntegrity(artifactOrPath) {
844
895
  case "hardkas.workflow.v1":
845
896
  schema = WorkflowSchema;
846
897
  break;
898
+ case "hardkas.policy.v1":
899
+ schema = PolicySchema;
900
+ break;
901
+ case "hardkas.networkProfile.v1":
902
+ schema = NetworkProfileSchema;
903
+ break;
904
+ case "hardkas.assumption.v1":
905
+ schema = AssumptionSchema;
906
+ break;
907
+ case "hardkas.migrationReceipt.v1":
908
+ schema = MigrationReceiptSchema;
909
+ break;
847
910
  }
848
911
  if (schema) {
849
912
  const validation = schema.safeParse(v);
@@ -1214,6 +1277,16 @@ var InvariantWatcher = class {
1214
1277
  };
1215
1278
 
1216
1279
  // src/migration.ts
1280
+ var MigrationRequiredError = class extends Error {
1281
+ constructor(oldVersion, targetVersion) {
1282
+ super(`MIGRATION_REQUIRED: Artifact requires explicit migration from ${oldVersion} to ${targetVersion}`);
1283
+ this.oldVersion = oldVersion;
1284
+ this.targetVersion = targetVersion;
1285
+ this.name = "MigrationRequiredError";
1286
+ }
1287
+ oldVersion;
1288
+ targetVersion;
1289
+ };
1217
1290
  var migrationRegistry = [];
1218
1291
  function registerMigrationStep(step) {
1219
1292
  const existing = migrationRegistry.find(
@@ -1235,6 +1308,9 @@ registerMigrationStep({
1235
1308
  description: "Legacy v1 schemas to canonical 1.0.0-alpha format",
1236
1309
  transform(artifact) {
1237
1310
  const migrated = { ...artifact };
1311
+ if (migrated.lineage) {
1312
+ migrated.lineage = { ...migrated.lineage };
1313
+ }
1238
1314
  if (typeof migrated.schema === "string" && migrated.schema.endsWith(".v1")) {
1239
1315
  if (migrated.schema !== "hardkas.workflow.v1") {
1240
1316
  migrated.schema = migrated.schema.replace(/\.v1$/, "");
@@ -1302,7 +1378,7 @@ function canMigrate(artifact, targetVersion = ARTIFACT_VERSION) {
1302
1378
  const path4 = getMigrationPath(currentVersion, targetVersion);
1303
1379
  return path4.length > 0;
1304
1380
  }
1305
- function migrateArtifactPayload(artifact, targetVersion = ARTIFACT_VERSION) {
1381
+ function migrateArtifactPayload(artifact, targetVersion = ARTIFACT_VERSION, options) {
1306
1382
  const currentVersion = detectArtifactVersion(artifact);
1307
1383
  if (currentVersion === targetVersion) {
1308
1384
  return {
@@ -1312,6 +1388,9 @@ function migrateArtifactPayload(artifact, targetVersion = ARTIFACT_VERSION) {
1312
1388
  appliedSteps: []
1313
1389
  };
1314
1390
  }
1391
+ if (options?.strictPolicy) {
1392
+ throw new MigrationRequiredError(currentVersion, targetVersion);
1393
+ }
1315
1394
  const path4 = getMigrationPath(currentVersion, targetVersion);
1316
1395
  if (path4.length === 0) {
1317
1396
  throw new Error(
@@ -1355,6 +1434,47 @@ function migrateToCanonical(v1Artifact) {
1355
1434
  const result = migrateArtifactPayload(v1Artifact, ARTIFACT_VERSION);
1356
1435
  return result.artifact;
1357
1436
  }
1437
+ function generateMigrationReceipt(oldArtifact, newArtifact, migrationId) {
1438
+ const oldHash = oldArtifact.contentHash || calculateContentHash(oldArtifact, CURRENT_HASH_VERSION);
1439
+ const newHash = newArtifact.contentHash || calculateContentHash(newArtifact, CURRENT_HASH_VERSION);
1440
+ const receipt = {
1441
+ schema: "hardkas.migrationReceipt.v1",
1442
+ hardkasVersion: HARDKAS_VERSION,
1443
+ version: ARTIFACT_VERSION,
1444
+ hashVersion: CURRENT_HASH_VERSION,
1445
+ networkId: oldArtifact.networkId || "simnet",
1446
+ mode: oldArtifact.mode || "simulated",
1447
+ createdAt: (/* @__PURE__ */ new Date()).toISOString(),
1448
+ oldHash,
1449
+ newHash,
1450
+ fromSchema: oldArtifact.schema || "unknown",
1451
+ toSchema: newArtifact.schema || "unknown",
1452
+ migrationId,
1453
+ decision: "MIGRATED_WITH_PROOF",
1454
+ lineage: {
1455
+ artifactId: "",
1456
+ // Filled after hash
1457
+ lineageId: oldArtifact.lineage?.lineageId || ("migration" + oldHash).padEnd(64, "0").slice(0, 64),
1458
+ parentArtifactId: oldHash,
1459
+ rootArtifactId: oldArtifact.lineage?.rootArtifactId || oldHash
1460
+ }
1461
+ };
1462
+ receipt.contentHash = calculateContentHash(receipt, CURRENT_HASH_VERSION);
1463
+ receipt.lineage.artifactId = receipt.contentHash;
1464
+ if (!newArtifact.lineage) {
1465
+ newArtifact.lineage = {
1466
+ artifactId: newHash,
1467
+ lineageId: receipt.lineage.lineageId,
1468
+ parentArtifactId: receipt.contentHash,
1469
+ rootArtifactId: receipt.lineage.rootArtifactId
1470
+ };
1471
+ } else {
1472
+ newArtifact.lineage.parentArtifactId = receipt.contentHash;
1473
+ }
1474
+ newArtifact.contentHash = calculateContentHash(newArtifact, CURRENT_HASH_VERSION);
1475
+ newArtifact.lineage.artifactId = newArtifact.contentHash;
1476
+ return receipt;
1477
+ }
1358
1478
 
1359
1479
  // src/io.ts
1360
1480
  import fs2 from "fs/promises";
@@ -1593,6 +1713,14 @@ function createTxPlanArtifact(options) {
1593
1713
  amountSompi: o.amountSompi.toString()
1594
1714
  })),
1595
1715
  rpcUrl: options.rpcUrl,
1716
+ lineage: {
1717
+ artifactId: "",
1718
+ lineageId: "0".repeat(64),
1719
+ // placeholder, will be replaced if empty
1720
+ parentArtifactId: "",
1721
+ rootArtifactId: "",
1722
+ sequence: 1
1723
+ },
1596
1724
  ...options.ctx.workflowId ? { workflowId: options.ctx.workflowId } : {}
1597
1725
  };
1598
1726
  if (options.plan.change) {
@@ -1604,6 +1732,18 @@ function createTxPlanArtifact(options) {
1604
1732
  const hash = calculateContentHash(artifact, CURRENT_HASH_VERSION);
1605
1733
  artifact.planId = `plan-${hash.slice(0, 16)}`;
1606
1734
  artifact.contentHash = hash;
1735
+ if (artifact.lineage) {
1736
+ artifact.lineage.lineageId = artifact.contentHash;
1737
+ artifact.lineage.artifactId = artifact.contentHash;
1738
+ artifact.lineage.parentArtifactId = artifact.contentHash;
1739
+ artifact.lineage.rootArtifactId = artifact.contentHash;
1740
+ const finalHash = calculateContentHash(artifact, CURRENT_HASH_VERSION);
1741
+ artifact.planId = `plan-${finalHash.slice(0, 16)}`;
1742
+ artifact.contentHash = finalHash;
1743
+ artifact.lineage.artifactId = finalHash;
1744
+ artifact.lineage.parentArtifactId = finalHash;
1745
+ artifact.lineage.rootArtifactId = finalHash;
1746
+ }
1607
1747
  return artifact;
1608
1748
  }
1609
1749
 
@@ -1628,11 +1768,21 @@ function createSimulatedSignedTxArtifact(plan, payload, ctx) {
1628
1768
  format: "simulated",
1629
1769
  payload
1630
1770
  },
1771
+ lineage: {
1772
+ artifactId: "",
1773
+ lineageId: plan.lineage?.lineageId || plan.contentHash || "0".repeat(64),
1774
+ parentArtifactId: plan.contentHash || "0".repeat(64),
1775
+ rootArtifactId: plan.lineage?.rootArtifactId || plan.contentHash || "0".repeat(64),
1776
+ sequence: (plan.lineage?.sequence || 0) + 1
1777
+ },
1631
1778
  ...plan.workflowId ? { workflowId: plan.workflowId } : {}
1632
1779
  };
1633
1780
  const hash = calculateContentHash(artifact, CURRENT_HASH_VERSION);
1634
1781
  artifact.signedId = `signed-${hash.slice(0, 16)}`;
1635
1782
  artifact.contentHash = hash;
1783
+ if (artifact.lineage) {
1784
+ artifact.lineage.artifactId = hash;
1785
+ }
1636
1786
  return artifact;
1637
1787
  }
1638
1788
  function createSimulatedTxReceipt(plan, txId, ctx, extra) {
@@ -1658,10 +1808,22 @@ function createSimulatedTxReceipt(plan, txId, ctx, extra) {
1658
1808
  preStateHash: extra?.preStateHash,
1659
1809
  postStateHash: extra?.postStateHash,
1660
1810
  dagContext: extra?.dagContext,
1811
+ lineage: {
1812
+ artifactId: "",
1813
+ lineageId: plan.lineage?.lineageId || plan.contentHash || "0".repeat(64),
1814
+ parentArtifactId: "0".repeat(64),
1815
+ // Will set to contentHash of signedTx later
1816
+ rootArtifactId: plan.lineage?.rootArtifactId || plan.contentHash || "0".repeat(64),
1817
+ sequence: (plan.lineage?.sequence || 1) + 1
1818
+ },
1661
1819
  ...plan.workflowId ? { workflowId: plan.workflowId } : {}
1662
1820
  };
1663
1821
  const hash = calculateContentHash(artifact, CURRENT_HASH_VERSION);
1664
1822
  artifact.contentHash = hash;
1823
+ if (artifact.lineage) {
1824
+ artifact.lineage.artifactId = hash;
1825
+ artifact.lineage.parentArtifactId = extra?.preStateHash || txId.replace("simulated-", "").replace("-tx", "").padEnd(64, "0").slice(0, 64);
1826
+ }
1665
1827
  return artifact;
1666
1828
  }
1667
1829
  function getBroadcastableSignedTransaction(artifact) {
@@ -2114,6 +2276,7 @@ export {
2114
2276
  ARTIFACT_VERSION,
2115
2277
  AccountRefSchema,
2116
2278
  ArtifactLineageSchema,
2279
+ AssumptionSchema,
2117
2280
  BaseArtifactSchema,
2118
2281
  BasicCorrelationInvariant,
2119
2282
  BasicLineageInvariant,
@@ -2124,7 +2287,11 @@ export {
2124
2287
  InvariantWatcher,
2125
2288
  LifecycleInvariant,
2126
2289
  LocalnetUtxoSchemaV2,
2290
+ MigrationReceiptSchema,
2291
+ MigrationRequiredError,
2127
2292
  NetworkInvariant,
2293
+ NetworkProfileSchema,
2294
+ PolicySchema,
2128
2295
  ReplayInvariant,
2129
2296
  RuntimeSessionSchema,
2130
2297
  SEMANTIC_EXCLUSIONS,
@@ -2169,6 +2336,7 @@ export {
2169
2336
  formatSignedTxArtifact,
2170
2337
  formatTxPlanArtifact,
2171
2338
  formatTxReceiptArtifact,
2339
+ generateMigrationReceipt,
2172
2340
  getBroadcastableSignedTransaction,
2173
2341
  getDefaultL2ReceiptsDir,
2174
2342
  getDefaultReceiptPath,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hardkas/artifacts",
3
- "version": "0.8.1-alpha",
3
+ "version": "0.8.3-alpha",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "author": "Javier Rodriguez",
@@ -24,8 +24,8 @@
24
24
  "types": "./dist/index.d.ts",
25
25
  "dependencies": {
26
26
  "zod": "^3.24.1",
27
- "@hardkas/core": "0.8.1-alpha",
28
- "@hardkas/tx-builder": "0.8.1-alpha"
27
+ "@hardkas/core": "0.8.3-alpha",
28
+ "@hardkas/tx-builder": "0.8.3-alpha"
29
29
  },
30
30
  "devDependencies": {
31
31
  "tsup": "^8.3.5",