@ottochain/sdk 1.5.0 → 1.7.0-beta.1

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 (92) hide show
  1. package/dist/cjs/apps/contracts/index.js +20 -19
  2. package/dist/cjs/apps/contracts/state-machines/index.js +845 -0
  3. package/dist/cjs/apps/corporate/index.js +20 -34
  4. package/dist/cjs/apps/corporate/state-machines/index.js +4445 -0
  5. package/dist/cjs/apps/governance/index.js +34 -44
  6. package/dist/cjs/apps/governance/state-machines/index.js +2938 -0
  7. package/dist/cjs/apps/identity/index.js +16 -11
  8. package/dist/{esm/apps/oracles/state-machines/oracle.json → cjs/apps/identity/state-machines/index.js} +385 -4
  9. package/dist/cjs/apps/index.js +15 -13
  10. package/dist/cjs/apps/markets/index.js +24 -14
  11. package/dist/cjs/apps/markets/state-machines/index.js +2302 -0
  12. package/dist/cjs/ottochain/index.js +4 -1
  13. package/dist/cjs/ottochain/normalize.js +17 -3
  14. package/dist/cjs/ottochain/types.js +12 -0
  15. package/dist/esm/apps/contracts/index.js +17 -15
  16. package/dist/esm/apps/contracts/state-machines/index.js +842 -0
  17. package/dist/esm/apps/corporate/index.js +15 -30
  18. package/dist/esm/apps/corporate/state-machines/index.js +4442 -0
  19. package/dist/esm/apps/governance/index.js +27 -39
  20. package/dist/esm/apps/governance/state-machines/index.js +2935 -0
  21. package/dist/esm/apps/identity/index.js +13 -7
  22. package/dist/{cjs/apps/oracles/state-machines/oracle.json → esm/apps/identity/state-machines/index.js} +382 -4
  23. package/dist/esm/apps/index.js +14 -12
  24. package/dist/esm/apps/markets/index.js +19 -10
  25. package/dist/esm/apps/markets/state-machines/index.js +2299 -0
  26. package/dist/esm/ottochain/index.js +2 -0
  27. package/dist/esm/ottochain/normalize.js +17 -3
  28. package/dist/esm/ottochain/types.js +11 -1
  29. package/dist/types/apps/contracts/index.d.ts +661 -9
  30. package/dist/types/apps/contracts/state-machines/index.d.ts +652 -0
  31. package/dist/types/apps/corporate/index.d.ts +4015 -7
  32. package/dist/types/apps/corporate/state-machines/index.d.ts +4006 -0
  33. package/dist/types/apps/governance/index.d.ts +2151 -12
  34. package/dist/types/apps/governance/state-machines/index.d.ts +2138 -0
  35. package/dist/types/apps/identity/index.d.ts +601 -4
  36. package/dist/types/apps/identity/state-machines/index.d.ts +596 -0
  37. package/dist/types/apps/index.d.ts +14 -12
  38. package/dist/types/apps/markets/index.d.ts +1690 -7
  39. package/dist/types/apps/markets/state-machines/index.d.ts +1680 -0
  40. package/dist/types/ottochain/index.d.ts +2 -1
  41. package/dist/types/ottochain/normalize.d.ts +14 -0
  42. package/dist/types/ottochain/types.d.ts +9 -0
  43. package/package.json +4 -3
  44. package/dist/cjs/apps/contracts/state-machines/contract.json +0 -352
  45. package/dist/cjs/apps/contracts/state-machines/escrow.json +0 -354
  46. package/dist/cjs/apps/corporate/state-machines/corporate-board.json +0 -1064
  47. package/dist/cjs/apps/corporate/state-machines/corporate-bylaws.json +0 -751
  48. package/dist/cjs/apps/corporate/state-machines/corporate-committee.json +0 -957
  49. package/dist/cjs/apps/corporate/state-machines/corporate-compliance.json +0 -1293
  50. package/dist/cjs/apps/corporate/state-machines/corporate-entity.json +0 -861
  51. package/dist/cjs/apps/corporate/state-machines/corporate-officers.json +0 -843
  52. package/dist/cjs/apps/corporate/state-machines/corporate-proxy.json +0 -783
  53. package/dist/cjs/apps/corporate/state-machines/corporate-resolution.json +0 -1174
  54. package/dist/cjs/apps/corporate/state-machines/corporate-securities.json +0 -1215
  55. package/dist/cjs/apps/corporate/state-machines/corporate-shareholders.json +0 -1298
  56. package/dist/cjs/apps/governance/state-machines/dao-multisig.json +0 -667
  57. package/dist/cjs/apps/governance/state-machines/dao-single.json +0 -230
  58. package/dist/cjs/apps/governance/state-machines/dao-threshold.json +0 -624
  59. package/dist/cjs/apps/governance/state-machines/dao-token.json +0 -638
  60. package/dist/cjs/apps/governance/state-machines/governance-constitution.json +0 -357
  61. package/dist/cjs/apps/governance/state-machines/governance-executive.json +0 -387
  62. package/dist/cjs/apps/governance/state-machines/governance-judiciary.json +0 -558
  63. package/dist/cjs/apps/governance/state-machines/governance-legislature.json +0 -662
  64. package/dist/cjs/apps/governance/state-machines/governance-simple.json +0 -625
  65. package/dist/cjs/apps/identity/state-machines/agent-identity.json +0 -270
  66. package/dist/cjs/apps/markets/state-machines/market-universal.json +0 -621
  67. package/dist/cjs/apps/oracles/index.js +0 -62
  68. package/dist/esm/apps/contracts/state-machines/contract.json +0 -352
  69. package/dist/esm/apps/contracts/state-machines/escrow.json +0 -354
  70. package/dist/esm/apps/corporate/state-machines/corporate-board.json +0 -1064
  71. package/dist/esm/apps/corporate/state-machines/corporate-bylaws.json +0 -751
  72. package/dist/esm/apps/corporate/state-machines/corporate-committee.json +0 -957
  73. package/dist/esm/apps/corporate/state-machines/corporate-compliance.json +0 -1293
  74. package/dist/esm/apps/corporate/state-machines/corporate-entity.json +0 -861
  75. package/dist/esm/apps/corporate/state-machines/corporate-officers.json +0 -843
  76. package/dist/esm/apps/corporate/state-machines/corporate-proxy.json +0 -783
  77. package/dist/esm/apps/corporate/state-machines/corporate-resolution.json +0 -1174
  78. package/dist/esm/apps/corporate/state-machines/corporate-securities.json +0 -1215
  79. package/dist/esm/apps/corporate/state-machines/corporate-shareholders.json +0 -1298
  80. package/dist/esm/apps/governance/state-machines/dao-multisig.json +0 -667
  81. package/dist/esm/apps/governance/state-machines/dao-single.json +0 -230
  82. package/dist/esm/apps/governance/state-machines/dao-threshold.json +0 -624
  83. package/dist/esm/apps/governance/state-machines/dao-token.json +0 -638
  84. package/dist/esm/apps/governance/state-machines/governance-constitution.json +0 -357
  85. package/dist/esm/apps/governance/state-machines/governance-executive.json +0 -387
  86. package/dist/esm/apps/governance/state-machines/governance-judiciary.json +0 -558
  87. package/dist/esm/apps/governance/state-machines/governance-legislature.json +0 -662
  88. package/dist/esm/apps/governance/state-machines/governance-simple.json +0 -625
  89. package/dist/esm/apps/identity/state-machines/agent-identity.json +0 -270
  90. package/dist/esm/apps/markets/state-machines/market-universal.json +0 -621
  91. package/dist/esm/apps/oracles/index.js +0 -42
  92. package/dist/types/apps/oracles/index.d.ts +0 -34
@@ -0,0 +1,845 @@
1
+ "use strict";
2
+ /**
3
+ * Auto-generated from JSON state machine definitions.
4
+ * DO NOT EDIT - regenerate with: npm run prebuild
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.contractUniversalDef = exports.contractEscrowDef = exports.contractAgreementDef = void 0;
8
+ exports.contractAgreementDef = {
9
+ "metadata": {
10
+ "name": "ContractAgreement",
11
+ "description": "Two-party agreement with mutual completion attestation and dispute resolution",
12
+ "version": "1.0.0",
13
+ "crossReferences": {
14
+ "proposerIdentityId": "Links to proposer's AgentIdentity fiber",
15
+ "counterpartyIdentityId": "Links to counterparty's AgentIdentity fiber",
16
+ "escrowId": "Links to Escrow if payment is escrowed",
17
+ "arbitrationPoolId": "Links to ArbitrationPool for dispute resolution"
18
+ }
19
+ },
20
+ "states": {
21
+ "PROPOSED": {
22
+ "id": "PROPOSED",
23
+ "isFinal": false,
24
+ "metadata": null
25
+ },
26
+ "ACTIVE": {
27
+ "id": "ACTIVE",
28
+ "isFinal": false,
29
+ "metadata": null
30
+ },
31
+ "COMPLETED": {
32
+ "id": "COMPLETED",
33
+ "isFinal": true,
34
+ "metadata": null
35
+ },
36
+ "DISPUTED": {
37
+ "id": "DISPUTED",
38
+ "isFinal": false,
39
+ "metadata": null
40
+ },
41
+ "REJECTED": {
42
+ "id": "REJECTED",
43
+ "isFinal": true,
44
+ "metadata": null
45
+ },
46
+ "CANCELLED": {
47
+ "id": "CANCELLED",
48
+ "isFinal": true,
49
+ "metadata": null
50
+ }
51
+ },
52
+ "initialState": "PROPOSED",
53
+ "transitions": [
54
+ {
55
+ "from": "PROPOSED",
56
+ "to": "ACTIVE",
57
+ "eventName": "accept",
58
+ "guard": {
59
+ "===": [
60
+ {
61
+ "var": "event.agent"
62
+ },
63
+ {
64
+ "var": "state.counterparty"
65
+ }
66
+ ]
67
+ },
68
+ "effect": {
69
+ "merge": [
70
+ {
71
+ "var": "state"
72
+ },
73
+ {
74
+ "status": "ACTIVE",
75
+ "acceptedAt": {
76
+ "var": "$timestamp"
77
+ }
78
+ }
79
+ ]
80
+ },
81
+ "dependencies": []
82
+ },
83
+ {
84
+ "from": "PROPOSED",
85
+ "to": "REJECTED",
86
+ "eventName": "reject",
87
+ "guard": {
88
+ "===": [
89
+ {
90
+ "var": "event.agent"
91
+ },
92
+ {
93
+ "var": "state.counterparty"
94
+ }
95
+ ]
96
+ },
97
+ "effect": {
98
+ "merge": [
99
+ {
100
+ "var": "state"
101
+ },
102
+ {
103
+ "status": "REJECTED",
104
+ "rejectedAt": {
105
+ "var": "$timestamp"
106
+ },
107
+ "rejectReason": {
108
+ "var": "event.reason"
109
+ }
110
+ }
111
+ ]
112
+ },
113
+ "dependencies": []
114
+ },
115
+ {
116
+ "from": "PROPOSED",
117
+ "to": "CANCELLED",
118
+ "eventName": "cancel",
119
+ "guard": {
120
+ "===": [
121
+ {
122
+ "var": "event.agent"
123
+ },
124
+ {
125
+ "var": "state.proposer"
126
+ }
127
+ ]
128
+ },
129
+ "effect": {
130
+ "merge": [
131
+ {
132
+ "var": "state"
133
+ },
134
+ {
135
+ "status": "CANCELLED",
136
+ "cancelledAt": {
137
+ "var": "$timestamp"
138
+ }
139
+ }
140
+ ]
141
+ },
142
+ "dependencies": []
143
+ },
144
+ {
145
+ "from": "ACTIVE",
146
+ "to": "ACTIVE",
147
+ "eventName": "submit_completion",
148
+ "guard": {
149
+ "and": [
150
+ {
151
+ "or": [
152
+ {
153
+ "===": [
154
+ {
155
+ "var": "event.agent"
156
+ },
157
+ {
158
+ "var": "state.proposer"
159
+ }
160
+ ]
161
+ },
162
+ {
163
+ "===": [
164
+ {
165
+ "var": "event.agent"
166
+ },
167
+ {
168
+ "var": "state.counterparty"
169
+ }
170
+ ]
171
+ }
172
+ ]
173
+ },
174
+ {
175
+ "!": [
176
+ {
177
+ "in": [
178
+ {
179
+ "var": "event.agent"
180
+ },
181
+ {
182
+ "map": [
183
+ {
184
+ "var": "state.completions"
185
+ },
186
+ {
187
+ "var": "agent"
188
+ }
189
+ ]
190
+ }
191
+ ]
192
+ }
193
+ ]
194
+ }
195
+ ]
196
+ },
197
+ "effect": {
198
+ "merge": [
199
+ {
200
+ "var": "state"
201
+ },
202
+ {
203
+ "completions": {
204
+ "cat": [
205
+ {
206
+ "var": "state.completions"
207
+ },
208
+ [
209
+ {
210
+ "agent": {
211
+ "var": "event.agent"
212
+ },
213
+ "proof": {
214
+ "var": "event.proof"
215
+ },
216
+ "submittedAt": {
217
+ "var": "$timestamp"
218
+ }
219
+ }
220
+ ]
221
+ ]
222
+ }
223
+ }
224
+ ]
225
+ },
226
+ "dependencies": []
227
+ },
228
+ {
229
+ "from": "ACTIVE",
230
+ "to": "COMPLETED",
231
+ "eventName": "finalize",
232
+ "guard": {
233
+ ">=": [
234
+ {
235
+ "size": {
236
+ "var": "state.completions"
237
+ }
238
+ },
239
+ 2
240
+ ]
241
+ },
242
+ "effect": {
243
+ "merge": [
244
+ {
245
+ "var": "state"
246
+ },
247
+ {
248
+ "status": "COMPLETED",
249
+ "completedAt": {
250
+ "var": "$timestamp"
251
+ }
252
+ }
253
+ ]
254
+ },
255
+ "dependencies": []
256
+ },
257
+ {
258
+ "from": "ACTIVE",
259
+ "to": "DISPUTED",
260
+ "eventName": "dispute",
261
+ "guard": {
262
+ "or": [
263
+ {
264
+ "===": [
265
+ {
266
+ "var": "event.agent"
267
+ },
268
+ {
269
+ "var": "state.proposer"
270
+ }
271
+ ]
272
+ },
273
+ {
274
+ "===": [
275
+ {
276
+ "var": "event.agent"
277
+ },
278
+ {
279
+ "var": "state.counterparty"
280
+ }
281
+ ]
282
+ }
283
+ ]
284
+ },
285
+ "effect": {
286
+ "merge": [
287
+ {
288
+ "var": "state"
289
+ },
290
+ {
291
+ "status": "DISPUTED",
292
+ "disputedAt": {
293
+ "var": "$timestamp"
294
+ },
295
+ "disputeReason": {
296
+ "var": "event.reason"
297
+ },
298
+ "disputedBy": {
299
+ "var": "event.agent"
300
+ }
301
+ }
302
+ ]
303
+ },
304
+ "dependencies": []
305
+ },
306
+ {
307
+ "from": "DISPUTED",
308
+ "to": "COMPLETED",
309
+ "eventName": "resolve",
310
+ "guard": {
311
+ "or": [
312
+ {
313
+ "var": "event.judicialRuling"
314
+ },
315
+ {
316
+ "and": [
317
+ {
318
+ "===": [
319
+ {
320
+ "var": "event.proposerApproves"
321
+ },
322
+ true
323
+ ]
324
+ },
325
+ {
326
+ "===": [
327
+ {
328
+ "var": "event.counterpartyApproves"
329
+ },
330
+ true
331
+ ]
332
+ }
333
+ ]
334
+ }
335
+ ]
336
+ },
337
+ "effect": {
338
+ "merge": [
339
+ {
340
+ "var": "state"
341
+ },
342
+ {
343
+ "status": "COMPLETED",
344
+ "resolvedAt": {
345
+ "var": "$timestamp"
346
+ },
347
+ "resolution": {
348
+ "var": "event.resolution"
349
+ },
350
+ "rulingId": {
351
+ "var": "event.rulingId"
352
+ }
353
+ }
354
+ ]
355
+ },
356
+ "dependencies": []
357
+ }
358
+ ]
359
+ };
360
+ exports.contractEscrowDef = {
361
+ "metadata": {
362
+ "name": "ContractEscrow",
363
+ "description": "Asset custody with conditional release, dispute resolution, and split payments",
364
+ "version": "1.0.0",
365
+ "crossReferences": {
366
+ "contractId": "Links to Contract SM that created this escrow",
367
+ "marketId": "Links to Market SM for market-based escrow",
368
+ "insuranceId": "Links to Insurance SM for protected escrow",
369
+ "arbitrationPoolId": "Links to ArbitrationPool for dispute resolution",
370
+ "treasuryId": "Links to Treasury for fee collection"
371
+ }
372
+ },
373
+ "states": {
374
+ "CREATED": {
375
+ "id": "CREATED",
376
+ "isFinal": false,
377
+ "metadata": null
378
+ },
379
+ "FUNDED": {
380
+ "id": "FUNDED",
381
+ "isFinal": false,
382
+ "metadata": null
383
+ },
384
+ "ACTIVE": {
385
+ "id": "ACTIVE",
386
+ "isFinal": false,
387
+ "metadata": null
388
+ },
389
+ "RELEASING": {
390
+ "id": "RELEASING",
391
+ "isFinal": false,
392
+ "metadata": null
393
+ },
394
+ "DISPUTED": {
395
+ "id": "DISPUTED",
396
+ "isFinal": false,
397
+ "metadata": null
398
+ },
399
+ "RELEASED": {
400
+ "id": "RELEASED",
401
+ "isFinal": true,
402
+ "metadata": null
403
+ },
404
+ "REFUNDED": {
405
+ "id": "REFUNDED",
406
+ "isFinal": true,
407
+ "metadata": null
408
+ },
409
+ "SPLIT": {
410
+ "id": "SPLIT",
411
+ "isFinal": true,
412
+ "metadata": null
413
+ }
414
+ },
415
+ "initialState": "CREATED",
416
+ "transitions": [
417
+ {
418
+ "from": "CREATED",
419
+ "to": "FUNDED",
420
+ "eventName": "deposit",
421
+ "guard": {
422
+ "and": [
423
+ {
424
+ "===": [
425
+ {
426
+ "var": "event.agent"
427
+ },
428
+ {
429
+ "var": "state.depositor"
430
+ }
431
+ ]
432
+ },
433
+ {
434
+ ">=": [
435
+ {
436
+ "var": "event.amount"
437
+ },
438
+ {
439
+ "var": "state.requiredAmount"
440
+ }
441
+ ]
442
+ }
443
+ ]
444
+ },
445
+ "effect": {
446
+ "merge": [
447
+ {
448
+ "var": "state"
449
+ },
450
+ {
451
+ "balance": {
452
+ "var": "event.amount"
453
+ },
454
+ "fundedAt": {
455
+ "var": "$timestamp"
456
+ }
457
+ }
458
+ ]
459
+ },
460
+ "dependencies": []
461
+ },
462
+ {
463
+ "from": "FUNDED",
464
+ "to": "ACTIVE",
465
+ "eventName": "activate",
466
+ "guard": {
467
+ "or": [
468
+ {
469
+ "===": [
470
+ {
471
+ "var": "event.agent"
472
+ },
473
+ {
474
+ "var": "state.beneficiary"
475
+ }
476
+ ]
477
+ },
478
+ {
479
+ "var": "state.autoActivate"
480
+ }
481
+ ]
482
+ },
483
+ "effect": {
484
+ "merge": [
485
+ {
486
+ "var": "state"
487
+ },
488
+ {
489
+ "activatedAt": {
490
+ "var": "$timestamp"
491
+ }
492
+ }
493
+ ]
494
+ },
495
+ "dependencies": []
496
+ },
497
+ {
498
+ "from": "ACTIVE",
499
+ "to": "RELEASING",
500
+ "eventName": "request_release",
501
+ "guard": {
502
+ "===": [
503
+ {
504
+ "var": "event.agent"
505
+ },
506
+ {
507
+ "var": "state.beneficiary"
508
+ }
509
+ ]
510
+ },
511
+ "effect": {
512
+ "merge": [
513
+ {
514
+ "var": "state"
515
+ },
516
+ {
517
+ "releaseRequest": {
518
+ "requestedBy": {
519
+ "var": "event.agent"
520
+ },
521
+ "amount": {
522
+ "var": "event.amount"
523
+ },
524
+ "reason": {
525
+ "var": "event.reason"
526
+ },
527
+ "requestedAt": {
528
+ "var": "$timestamp"
529
+ }
530
+ },
531
+ "releaseDeadline": {
532
+ "+": [
533
+ {
534
+ "var": "$timestamp"
535
+ },
536
+ {
537
+ "var": "state.releaseWindowMs"
538
+ }
539
+ ]
540
+ }
541
+ }
542
+ ]
543
+ },
544
+ "dependencies": []
545
+ },
546
+ {
547
+ "from": "RELEASING",
548
+ "to": "RELEASED",
549
+ "eventName": "approve_release",
550
+ "guard": {
551
+ "or": [
552
+ {
553
+ "===": [
554
+ {
555
+ "var": "event.agent"
556
+ },
557
+ {
558
+ "var": "state.depositor"
559
+ }
560
+ ]
561
+ },
562
+ {
563
+ ">=": [
564
+ {
565
+ "var": "$timestamp"
566
+ },
567
+ {
568
+ "var": "state.releaseDeadline"
569
+ }
570
+ ]
571
+ }
572
+ ]
573
+ },
574
+ "effect": {
575
+ "merge": [
576
+ {
577
+ "var": "state"
578
+ },
579
+ {
580
+ "releasedAt": {
581
+ "var": "$timestamp"
582
+ },
583
+ "releasedTo": {
584
+ "var": "state.beneficiary"
585
+ }
586
+ }
587
+ ]
588
+ },
589
+ "dependencies": []
590
+ },
591
+ {
592
+ "from": "RELEASING",
593
+ "to": "DISPUTED",
594
+ "eventName": "dispute",
595
+ "guard": {
596
+ "and": [
597
+ {
598
+ "===": [
599
+ {
600
+ "var": "event.agent"
601
+ },
602
+ {
603
+ "var": "state.depositor"
604
+ }
605
+ ]
606
+ },
607
+ {
608
+ "<": [
609
+ {
610
+ "var": "$timestamp"
611
+ },
612
+ {
613
+ "var": "state.releaseDeadline"
614
+ }
615
+ ]
616
+ }
617
+ ]
618
+ },
619
+ "effect": {
620
+ "merge": [
621
+ {
622
+ "var": "state"
623
+ },
624
+ {
625
+ "disputedAt": {
626
+ "var": "$timestamp"
627
+ }
628
+ }
629
+ ]
630
+ },
631
+ "spawns": {
632
+ "sm": "Judiciary",
633
+ "initialData": {
634
+ "caseType": "escrow_dispute",
635
+ "plaintiff": {
636
+ "var": "state.depositor"
637
+ },
638
+ "defendant": {
639
+ "var": "state.beneficiary"
640
+ },
641
+ "claim": {
642
+ "escrowId": {
643
+ "var": "fiberId"
644
+ },
645
+ "amount": {
646
+ "var": "state.balance"
647
+ }
648
+ }
649
+ }
650
+ },
651
+ "dependencies": []
652
+ },
653
+ {
654
+ "from": "DISPUTED",
655
+ "to": "SPLIT",
656
+ "eventName": "ruling",
657
+ "guard": {
658
+ "var": "event.judicialRuling"
659
+ },
660
+ "effect": {
661
+ "merge": [
662
+ {
663
+ "var": "state"
664
+ },
665
+ {
666
+ "splits": {
667
+ "var": "event.splits"
668
+ },
669
+ "rulingId": {
670
+ "var": "event.rulingId"
671
+ }
672
+ }
673
+ ]
674
+ },
675
+ "dependencies": []
676
+ },
677
+ {
678
+ "from": "ACTIVE",
679
+ "to": "REFUNDED",
680
+ "eventName": "refund",
681
+ "guard": {
682
+ "or": [
683
+ {
684
+ "var": "event.mutualConsent"
685
+ },
686
+ {
687
+ ">=": [
688
+ {
689
+ "var": "$timestamp"
690
+ },
691
+ {
692
+ "var": "state.expiresAt"
693
+ }
694
+ ]
695
+ }
696
+ ]
697
+ },
698
+ "effect": {
699
+ "merge": [
700
+ {
701
+ "var": "state"
702
+ },
703
+ {
704
+ "refundedAt": {
705
+ "var": "$timestamp"
706
+ }
707
+ }
708
+ ]
709
+ },
710
+ "dependencies": []
711
+ }
712
+ ]
713
+ };
714
+ exports.contractUniversalDef = {
715
+ "metadata": {
716
+ "name": "ContractUniversal",
717
+ "description": "Minimal contract state machine - extend for custom use cases",
718
+ "version": "1.0.0"
719
+ },
720
+ "states": {
721
+ "PROPOSED": {
722
+ "id": "PROPOSED",
723
+ "isFinal": false,
724
+ "metadata": null
725
+ },
726
+ "ACTIVE": {
727
+ "id": "ACTIVE",
728
+ "isFinal": false,
729
+ "metadata": null
730
+ },
731
+ "COMPLETED": {
732
+ "id": "COMPLETED",
733
+ "isFinal": true,
734
+ "metadata": null
735
+ },
736
+ "CANCELLED": {
737
+ "id": "CANCELLED",
738
+ "isFinal": true,
739
+ "metadata": null
740
+ }
741
+ },
742
+ "initialState": "PROPOSED",
743
+ "transitions": [
744
+ {
745
+ "from": "PROPOSED",
746
+ "to": "ACTIVE",
747
+ "eventName": "accept",
748
+ "guard": {
749
+ "==": [
750
+ 1,
751
+ 1
752
+ ]
753
+ },
754
+ "effect": {
755
+ "merge": [
756
+ {
757
+ "var": "state"
758
+ },
759
+ {
760
+ "status": "ACTIVE",
761
+ "acceptedAt": {
762
+ "var": "$timestamp"
763
+ }
764
+ }
765
+ ]
766
+ },
767
+ "dependencies": []
768
+ },
769
+ {
770
+ "from": "PROPOSED",
771
+ "to": "CANCELLED",
772
+ "eventName": "cancel",
773
+ "guard": {
774
+ "==": [
775
+ 1,
776
+ 1
777
+ ]
778
+ },
779
+ "effect": {
780
+ "merge": [
781
+ {
782
+ "var": "state"
783
+ },
784
+ {
785
+ "status": "CANCELLED",
786
+ "cancelledAt": {
787
+ "var": "$timestamp"
788
+ }
789
+ }
790
+ ]
791
+ },
792
+ "dependencies": []
793
+ },
794
+ {
795
+ "from": "ACTIVE",
796
+ "to": "COMPLETED",
797
+ "eventName": "complete",
798
+ "guard": {
799
+ "==": [
800
+ 1,
801
+ 1
802
+ ]
803
+ },
804
+ "effect": {
805
+ "merge": [
806
+ {
807
+ "var": "state"
808
+ },
809
+ {
810
+ "status": "COMPLETED",
811
+ "completedAt": {
812
+ "var": "$timestamp"
813
+ }
814
+ }
815
+ ]
816
+ },
817
+ "dependencies": []
818
+ },
819
+ {
820
+ "from": "ACTIVE",
821
+ "to": "CANCELLED",
822
+ "eventName": "cancel",
823
+ "guard": {
824
+ "==": [
825
+ 1,
826
+ 1
827
+ ]
828
+ },
829
+ "effect": {
830
+ "merge": [
831
+ {
832
+ "var": "state"
833
+ },
834
+ {
835
+ "status": "CANCELLED",
836
+ "cancelledAt": {
837
+ "var": "$timestamp"
838
+ }
839
+ }
840
+ ]
841
+ },
842
+ "dependencies": []
843
+ }
844
+ ]
845
+ };