@ottochain/sdk 1.5.0 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/dist/cjs/apps/contracts/index.js +6 -10
  2. package/dist/cjs/apps/{governance/state-machines/governance-legislature.json → contracts/state-machines/index.js} +381 -330
  3. package/dist/cjs/apps/corporate/index.js +12 -24
  4. package/dist/cjs/apps/corporate/state-machines/index.js +10246 -0
  5. package/dist/cjs/apps/governance/index.js +11 -22
  6. package/dist/cjs/apps/governance/state-machines/index.js +4755 -0
  7. package/dist/cjs/apps/identity/index.js +3 -6
  8. package/dist/{esm/apps/identity/state-machines/agent-identity.json → cjs/apps/identity/state-machines/index.js} +9 -2
  9. package/dist/cjs/apps/markets/index.js +2 -5
  10. package/dist/{esm/apps/markets/state-machines/market-universal.json → cjs/apps/markets/state-machines/index.js} +9 -2
  11. package/dist/cjs/apps/oracles/index.js +2 -5
  12. package/dist/{esm/apps/oracles/state-machines/oracle.json → cjs/apps/oracles/state-machines/index.js} +9 -2
  13. package/dist/cjs/ottochain/index.js +4 -1
  14. package/dist/cjs/ottochain/normalize.js +17 -3
  15. package/dist/cjs/ottochain/types.js +12 -0
  16. package/dist/esm/apps/contracts/index.js +2 -3
  17. package/dist/esm/apps/{governance/state-machines/governance-legislature.json → contracts/state-machines/index.js} +378 -330
  18. package/dist/esm/apps/corporate/index.js +2 -11
  19. package/dist/esm/apps/corporate/state-machines/index.js +10243 -0
  20. package/dist/esm/apps/governance/index.js +2 -10
  21. package/dist/esm/apps/governance/state-machines/index.js +4752 -0
  22. package/dist/esm/apps/identity/index.js +2 -2
  23. package/dist/{cjs/apps/identity/state-machines/agent-identity.json → esm/apps/identity/state-machines/index.js} +6 -2
  24. package/dist/esm/apps/markets/index.js +1 -1
  25. package/dist/{cjs/apps/markets/state-machines/market-universal.json → esm/apps/markets/state-machines/index.js} +6 -2
  26. package/dist/esm/apps/oracles/index.js +1 -1
  27. package/dist/{cjs/apps/oracles/state-machines/oracle.json → esm/apps/oracles/state-machines/index.js} +6 -2
  28. package/dist/esm/ottochain/index.js +2 -0
  29. package/dist/esm/ottochain/normalize.js +17 -3
  30. package/dist/esm/ottochain/types.js +11 -1
  31. package/dist/types/apps/contracts/state-machines/index.d.ts +549 -0
  32. package/dist/types/apps/corporate/state-machines/index.d.ts +9121 -0
  33. package/dist/types/apps/governance/state-machines/index.d.ts +3551 -0
  34. package/dist/types/apps/identity/state-machines/index.d.ts +206 -0
  35. package/dist/types/apps/markets/state-machines/index.d.ts +448 -0
  36. package/dist/types/apps/oracles/state-machines/index.d.ts +312 -0
  37. package/dist/types/ottochain/index.d.ts +2 -1
  38. package/dist/types/ottochain/normalize.d.ts +14 -0
  39. package/dist/types/ottochain/types.d.ts +9 -0
  40. package/package.json +4 -3
  41. package/dist/cjs/apps/contracts/state-machines/contract.json +0 -352
  42. package/dist/cjs/apps/contracts/state-machines/escrow.json +0 -354
  43. package/dist/cjs/apps/corporate/state-machines/corporate-board.json +0 -1064
  44. package/dist/cjs/apps/corporate/state-machines/corporate-bylaws.json +0 -751
  45. package/dist/cjs/apps/corporate/state-machines/corporate-committee.json +0 -957
  46. package/dist/cjs/apps/corporate/state-machines/corporate-compliance.json +0 -1293
  47. package/dist/cjs/apps/corporate/state-machines/corporate-entity.json +0 -861
  48. package/dist/cjs/apps/corporate/state-machines/corporate-officers.json +0 -843
  49. package/dist/cjs/apps/corporate/state-machines/corporate-proxy.json +0 -783
  50. package/dist/cjs/apps/corporate/state-machines/corporate-resolution.json +0 -1174
  51. package/dist/cjs/apps/corporate/state-machines/corporate-securities.json +0 -1215
  52. package/dist/cjs/apps/corporate/state-machines/corporate-shareholders.json +0 -1298
  53. package/dist/cjs/apps/governance/state-machines/dao-multisig.json +0 -667
  54. package/dist/cjs/apps/governance/state-machines/dao-single.json +0 -230
  55. package/dist/cjs/apps/governance/state-machines/dao-threshold.json +0 -624
  56. package/dist/cjs/apps/governance/state-machines/dao-token.json +0 -638
  57. package/dist/cjs/apps/governance/state-machines/governance-constitution.json +0 -357
  58. package/dist/cjs/apps/governance/state-machines/governance-executive.json +0 -387
  59. package/dist/cjs/apps/governance/state-machines/governance-judiciary.json +0 -558
  60. package/dist/cjs/apps/governance/state-machines/governance-simple.json +0 -625
  61. package/dist/esm/apps/contracts/state-machines/contract.json +0 -352
  62. package/dist/esm/apps/contracts/state-machines/escrow.json +0 -354
  63. package/dist/esm/apps/corporate/state-machines/corporate-board.json +0 -1064
  64. package/dist/esm/apps/corporate/state-machines/corporate-bylaws.json +0 -751
  65. package/dist/esm/apps/corporate/state-machines/corporate-committee.json +0 -957
  66. package/dist/esm/apps/corporate/state-machines/corporate-compliance.json +0 -1293
  67. package/dist/esm/apps/corporate/state-machines/corporate-entity.json +0 -861
  68. package/dist/esm/apps/corporate/state-machines/corporate-officers.json +0 -843
  69. package/dist/esm/apps/corporate/state-machines/corporate-proxy.json +0 -783
  70. package/dist/esm/apps/corporate/state-machines/corporate-resolution.json +0 -1174
  71. package/dist/esm/apps/corporate/state-machines/corporate-securities.json +0 -1215
  72. package/dist/esm/apps/corporate/state-machines/corporate-shareholders.json +0 -1298
  73. package/dist/esm/apps/governance/state-machines/dao-multisig.json +0 -667
  74. package/dist/esm/apps/governance/state-machines/dao-single.json +0 -230
  75. package/dist/esm/apps/governance/state-machines/dao-threshold.json +0 -624
  76. package/dist/esm/apps/governance/state-machines/dao-token.json +0 -638
  77. package/dist/esm/apps/governance/state-machines/governance-constitution.json +0 -357
  78. package/dist/esm/apps/governance/state-machines/governance-executive.json +0 -387
  79. package/dist/esm/apps/governance/state-machines/governance-judiciary.json +0 -558
  80. package/dist/esm/apps/governance/state-machines/governance-simple.json +0 -625
@@ -0,0 +1,4752 @@
1
+ /**
2
+ * Auto-generated from JSON state machine definitions.
3
+ * DO NOT EDIT - regenerate with: npm run prebuild
4
+ */
5
+ export const daoMultisigDef = {
6
+ "metadata": {
7
+ "name": "MultisigDAO",
8
+ "description": "N-of-M multisig governance. Requires threshold signatures for actions.",
9
+ "version": "1.0.0",
10
+ "category": "governance/dao"
11
+ },
12
+ "states": {
13
+ "ACTIVE": {
14
+ "id": "ACTIVE",
15
+ "isFinal": false,
16
+ "metadata": null
17
+ },
18
+ "PENDING": {
19
+ "id": "PENDING",
20
+ "isFinal": false,
21
+ "metadata": null
22
+ },
23
+ "DISSOLVED": {
24
+ "id": "DISSOLVED",
25
+ "isFinal": true,
26
+ "metadata": null
27
+ }
28
+ },
29
+ "initialState": "ACTIVE",
30
+ "transitions": [
31
+ {
32
+ "from": "ACTIVE",
33
+ "to": "PENDING",
34
+ "eventName": "propose",
35
+ "guard": {
36
+ "in": [
37
+ {
38
+ "var": "event.agent"
39
+ },
40
+ {
41
+ "var": "state.signers"
42
+ }
43
+ ]
44
+ },
45
+ "effect": {
46
+ "merge": [
47
+ {
48
+ "var": "state"
49
+ },
50
+ {
51
+ "proposal": {
52
+ "id": {
53
+ "var": "event.proposalId"
54
+ },
55
+ "actionType": {
56
+ "var": "event.actionType"
57
+ },
58
+ "payload": {
59
+ "var": "event.payload"
60
+ },
61
+ "proposer": {
62
+ "var": "event.agent"
63
+ },
64
+ "proposedAt": {
65
+ "var": "$timestamp"
66
+ },
67
+ "expiresAt": {
68
+ "+": [
69
+ {
70
+ "var": "$timestamp"
71
+ },
72
+ {
73
+ "var": "state.proposalTTLMs"
74
+ }
75
+ ]
76
+ }
77
+ },
78
+ "signatures": {
79
+ "setKey": [
80
+ {},
81
+ {
82
+ "var": "event.agent"
83
+ },
84
+ {
85
+ "var": "$timestamp"
86
+ }
87
+ ]
88
+ }
89
+ }
90
+ ]
91
+ },
92
+ "dependencies": []
93
+ },
94
+ {
95
+ "from": "PENDING",
96
+ "to": "PENDING",
97
+ "eventName": "sign",
98
+ "guard": {
99
+ "and": [
100
+ {
101
+ "in": [
102
+ {
103
+ "var": "event.agent"
104
+ },
105
+ {
106
+ "var": "state.signers"
107
+ }
108
+ ]
109
+ },
110
+ {
111
+ "!": [
112
+ {
113
+ "getKey": [
114
+ {
115
+ "var": "state.signatures"
116
+ },
117
+ {
118
+ "var": "event.agent"
119
+ }
120
+ ]
121
+ }
122
+ ]
123
+ },
124
+ {
125
+ "<": [
126
+ {
127
+ "size": {
128
+ "var": "state.signatures"
129
+ }
130
+ },
131
+ {
132
+ "var": "state.threshold"
133
+ }
134
+ ]
135
+ }
136
+ ]
137
+ },
138
+ "effect": {
139
+ "merge": [
140
+ {
141
+ "var": "state"
142
+ },
143
+ {
144
+ "signatures": {
145
+ "setKey": [
146
+ {
147
+ "var": "state.signatures"
148
+ },
149
+ {
150
+ "var": "event.agent"
151
+ },
152
+ {
153
+ "var": "$timestamp"
154
+ }
155
+ ]
156
+ }
157
+ }
158
+ ]
159
+ },
160
+ "dependencies": []
161
+ },
162
+ {
163
+ "from": "PENDING",
164
+ "to": "ACTIVE",
165
+ "eventName": "execute",
166
+ "guard": {
167
+ ">=": [
168
+ {
169
+ "size": {
170
+ "var": "state.signatures"
171
+ }
172
+ },
173
+ {
174
+ "var": "state.threshold"
175
+ }
176
+ ]
177
+ },
178
+ "effect": {
179
+ "merge": [
180
+ {
181
+ "var": "state"
182
+ },
183
+ {
184
+ "actions": {
185
+ "cat": [
186
+ {
187
+ "var": "state.actions"
188
+ },
189
+ [
190
+ {
191
+ "id": {
192
+ "var": "state.proposal.id"
193
+ },
194
+ "type": {
195
+ "var": "state.proposal.actionType"
196
+ },
197
+ "payload": {
198
+ "var": "state.proposal.payload"
199
+ },
200
+ "signatures": {
201
+ "var": "state.signatures"
202
+ },
203
+ "executedAt": {
204
+ "var": "$timestamp"
205
+ }
206
+ }
207
+ ]
208
+ ]
209
+ },
210
+ "proposal": null,
211
+ "signatures": {}
212
+ }
213
+ ]
214
+ },
215
+ "emits": [
216
+ {
217
+ "event": "multisig_executed",
218
+ "to": "external"
219
+ }
220
+ ],
221
+ "dependencies": []
222
+ },
223
+ {
224
+ "from": "PENDING",
225
+ "to": "ACTIVE",
226
+ "eventName": "cancel",
227
+ "guard": {
228
+ "or": [
229
+ {
230
+ ">": [
231
+ {
232
+ "var": "$timestamp"
233
+ },
234
+ {
235
+ "var": "state.proposal.expiresAt"
236
+ }
237
+ ]
238
+ },
239
+ {
240
+ "===": [
241
+ {
242
+ "var": "event.agent"
243
+ },
244
+ {
245
+ "var": "state.proposal.proposer"
246
+ }
247
+ ]
248
+ }
249
+ ]
250
+ },
251
+ "effect": {
252
+ "merge": [
253
+ {
254
+ "var": "state"
255
+ },
256
+ {
257
+ "cancelledProposals": {
258
+ "cat": [
259
+ {
260
+ "var": "state.cancelledProposals"
261
+ },
262
+ [
263
+ {
264
+ "merge": [
265
+ {
266
+ "var": "state.proposal"
267
+ },
268
+ {
269
+ "cancelledAt": {
270
+ "var": "$timestamp"
271
+ }
272
+ }
273
+ ]
274
+ }
275
+ ]
276
+ ]
277
+ },
278
+ "proposal": null,
279
+ "signatures": {}
280
+ }
281
+ ]
282
+ },
283
+ "dependencies": []
284
+ },
285
+ {
286
+ "from": "ACTIVE",
287
+ "to": "PENDING",
288
+ "eventName": "propose_add_signer",
289
+ "guard": {
290
+ "in": [
291
+ {
292
+ "var": "event.agent"
293
+ },
294
+ {
295
+ "var": "state.signers"
296
+ }
297
+ ]
298
+ },
299
+ "effect": {
300
+ "merge": [
301
+ {
302
+ "var": "state"
303
+ },
304
+ {
305
+ "proposal": {
306
+ "id": {
307
+ "var": "event.proposalId"
308
+ },
309
+ "actionType": "add_signer",
310
+ "payload": {
311
+ "newSigner": {
312
+ "var": "event.newSigner"
313
+ }
314
+ },
315
+ "proposer": {
316
+ "var": "event.agent"
317
+ },
318
+ "proposedAt": {
319
+ "var": "$timestamp"
320
+ },
321
+ "expiresAt": {
322
+ "+": [
323
+ {
324
+ "var": "$timestamp"
325
+ },
326
+ {
327
+ "var": "state.proposalTTLMs"
328
+ }
329
+ ]
330
+ }
331
+ },
332
+ "signatures": {
333
+ "setKey": [
334
+ {},
335
+ {
336
+ "var": "event.agent"
337
+ },
338
+ {
339
+ "var": "$timestamp"
340
+ }
341
+ ]
342
+ }
343
+ }
344
+ ]
345
+ },
346
+ "dependencies": []
347
+ },
348
+ {
349
+ "from": "ACTIVE",
350
+ "to": "PENDING",
351
+ "eventName": "propose_remove_signer",
352
+ "guard": {
353
+ "and": [
354
+ {
355
+ "in": [
356
+ {
357
+ "var": "event.agent"
358
+ },
359
+ {
360
+ "var": "state.signers"
361
+ }
362
+ ]
363
+ },
364
+ {
365
+ ">": [
366
+ {
367
+ "size": {
368
+ "var": "state.signers"
369
+ }
370
+ },
371
+ {
372
+ "var": "state.threshold"
373
+ }
374
+ ]
375
+ }
376
+ ]
377
+ },
378
+ "effect": {
379
+ "merge": [
380
+ {
381
+ "var": "state"
382
+ },
383
+ {
384
+ "proposal": {
385
+ "id": {
386
+ "var": "event.proposalId"
387
+ },
388
+ "actionType": "remove_signer",
389
+ "payload": {
390
+ "removeSigner": {
391
+ "var": "event.removeSigner"
392
+ }
393
+ },
394
+ "proposer": {
395
+ "var": "event.agent"
396
+ },
397
+ "proposedAt": {
398
+ "var": "$timestamp"
399
+ },
400
+ "expiresAt": {
401
+ "+": [
402
+ {
403
+ "var": "$timestamp"
404
+ },
405
+ {
406
+ "var": "state.proposalTTLMs"
407
+ }
408
+ ]
409
+ }
410
+ },
411
+ "signatures": {
412
+ "setKey": [
413
+ {},
414
+ {
415
+ "var": "event.agent"
416
+ },
417
+ {
418
+ "var": "$timestamp"
419
+ }
420
+ ]
421
+ }
422
+ }
423
+ ]
424
+ },
425
+ "dependencies": []
426
+ },
427
+ {
428
+ "from": "ACTIVE",
429
+ "to": "PENDING",
430
+ "eventName": "propose_change_threshold",
431
+ "guard": {
432
+ "and": [
433
+ {
434
+ "in": [
435
+ {
436
+ "var": "event.agent"
437
+ },
438
+ {
439
+ "var": "state.signers"
440
+ }
441
+ ]
442
+ },
443
+ {
444
+ ">=": [
445
+ {
446
+ "var": "event.newThreshold"
447
+ },
448
+ 1
449
+ ]
450
+ },
451
+ {
452
+ "<=": [
453
+ {
454
+ "var": "event.newThreshold"
455
+ },
456
+ {
457
+ "size": {
458
+ "var": "state.signers"
459
+ }
460
+ }
461
+ ]
462
+ }
463
+ ]
464
+ },
465
+ "effect": {
466
+ "merge": [
467
+ {
468
+ "var": "state"
469
+ },
470
+ {
471
+ "proposal": {
472
+ "id": {
473
+ "var": "event.proposalId"
474
+ },
475
+ "actionType": "change_threshold",
476
+ "payload": {
477
+ "newThreshold": {
478
+ "var": "event.newThreshold"
479
+ }
480
+ },
481
+ "proposer": {
482
+ "var": "event.agent"
483
+ },
484
+ "proposedAt": {
485
+ "var": "$timestamp"
486
+ },
487
+ "expiresAt": {
488
+ "+": [
489
+ {
490
+ "var": "$timestamp"
491
+ },
492
+ {
493
+ "var": "state.proposalTTLMs"
494
+ }
495
+ ]
496
+ }
497
+ },
498
+ "signatures": {
499
+ "setKey": [
500
+ {},
501
+ {
502
+ "var": "event.agent"
503
+ },
504
+ {
505
+ "var": "$timestamp"
506
+ }
507
+ ]
508
+ }
509
+ }
510
+ ]
511
+ },
512
+ "dependencies": []
513
+ },
514
+ {
515
+ "from": "PENDING",
516
+ "to": "ACTIVE",
517
+ "eventName": "apply_signer_change",
518
+ "guard": {
519
+ "and": [
520
+ {
521
+ ">=": [
522
+ {
523
+ "size": {
524
+ "var": "state.signatures"
525
+ }
526
+ },
527
+ {
528
+ "var": "state.threshold"
529
+ }
530
+ ]
531
+ },
532
+ {
533
+ "in": [
534
+ {
535
+ "var": "state.proposal.actionType"
536
+ },
537
+ [
538
+ "add_signer",
539
+ "remove_signer",
540
+ "change_threshold"
541
+ ]
542
+ ]
543
+ }
544
+ ]
545
+ },
546
+ "effect": {
547
+ "if": [
548
+ {
549
+ "===": [
550
+ {
551
+ "var": "state.proposal.actionType"
552
+ },
553
+ "add_signer"
554
+ ]
555
+ },
556
+ {
557
+ "merge": [
558
+ {
559
+ "var": "state"
560
+ },
561
+ {
562
+ "signers": {
563
+ "cat": [
564
+ {
565
+ "var": "state.signers"
566
+ },
567
+ [
568
+ {
569
+ "var": "state.proposal.payload.newSigner"
570
+ }
571
+ ]
572
+ ]
573
+ },
574
+ "proposal": null,
575
+ "signatures": {}
576
+ }
577
+ ]
578
+ },
579
+ {
580
+ "===": [
581
+ {
582
+ "var": "state.proposal.actionType"
583
+ },
584
+ "remove_signer"
585
+ ]
586
+ },
587
+ {
588
+ "merge": [
589
+ {
590
+ "var": "state"
591
+ },
592
+ {
593
+ "signers": {
594
+ "filter": [
595
+ {
596
+ "var": "state.signers"
597
+ },
598
+ {
599
+ "!==": [
600
+ {
601
+ "var": ""
602
+ },
603
+ {
604
+ "var": "state.proposal.payload.removeSigner"
605
+ }
606
+ ]
607
+ }
608
+ ]
609
+ },
610
+ "proposal": null,
611
+ "signatures": {}
612
+ }
613
+ ]
614
+ },
615
+ {
616
+ "merge": [
617
+ {
618
+ "var": "state"
619
+ },
620
+ {
621
+ "threshold": {
622
+ "var": "state.proposal.payload.newThreshold"
623
+ },
624
+ "proposal": null,
625
+ "signatures": {}
626
+ }
627
+ ]
628
+ }
629
+ ]
630
+ },
631
+ "dependencies": []
632
+ },
633
+ {
634
+ "from": "ACTIVE",
635
+ "to": "DISSOLVED",
636
+ "eventName": "dissolve",
637
+ "guard": {
638
+ "===": [
639
+ {
640
+ "var": "event.signatureCount"
641
+ },
642
+ {
643
+ "size": {
644
+ "var": "state.signers"
645
+ }
646
+ }
647
+ ]
648
+ },
649
+ "effect": {
650
+ "merge": [
651
+ {
652
+ "var": "state"
653
+ },
654
+ {
655
+ "dissolvedAt": {
656
+ "var": "$timestamp"
657
+ },
658
+ "status": "DISSOLVED"
659
+ }
660
+ ]
661
+ },
662
+ "dependencies": []
663
+ }
664
+ ],
665
+ "crossReferences": {
666
+ "Identity": "signer verification",
667
+ "Contract": "action execution targets",
668
+ "Treasury": "fund management",
669
+ "Escrow": "controlled release"
670
+ }
671
+ };
672
+ export const daoSingleDef = {
673
+ "metadata": {
674
+ "name": "SingleOwnerDAO",
675
+ "description": "Single owner controls all actions. Simplest governance model.",
676
+ "version": "1.0.0",
677
+ "category": "governance/dao"
678
+ },
679
+ "states": {
680
+ "ACTIVE": {
681
+ "id": "ACTIVE",
682
+ "isFinal": false,
683
+ "metadata": null
684
+ },
685
+ "TRANSFERRING": {
686
+ "id": "TRANSFERRING",
687
+ "isFinal": false,
688
+ "metadata": null
689
+ },
690
+ "DISSOLVED": {
691
+ "id": "DISSOLVED",
692
+ "isFinal": true,
693
+ "metadata": null
694
+ }
695
+ },
696
+ "initialState": "ACTIVE",
697
+ "transitions": [
698
+ {
699
+ "from": "ACTIVE",
700
+ "to": "ACTIVE",
701
+ "eventName": "execute",
702
+ "guard": {
703
+ "===": [
704
+ {
705
+ "var": "event.agent"
706
+ },
707
+ {
708
+ "var": "state.owner"
709
+ }
710
+ ]
711
+ },
712
+ "effect": {
713
+ "merge": [
714
+ {
715
+ "var": "state"
716
+ },
717
+ {
718
+ "actions": {
719
+ "cat": [
720
+ {
721
+ "var": "state.actions"
722
+ },
723
+ [
724
+ {
725
+ "id": {
726
+ "var": "event.actionId"
727
+ },
728
+ "type": {
729
+ "var": "event.actionType"
730
+ },
731
+ "payload": {
732
+ "var": "event.payload"
733
+ },
734
+ "executedAt": {
735
+ "var": "$timestamp"
736
+ }
737
+ }
738
+ ]
739
+ ]
740
+ }
741
+ }
742
+ ]
743
+ },
744
+ "emits": [
745
+ {
746
+ "event": "action_executed",
747
+ "to": "external"
748
+ }
749
+ ],
750
+ "dependencies": []
751
+ },
752
+ {
753
+ "from": "ACTIVE",
754
+ "to": "TRANSFERRING",
755
+ "eventName": "transfer_ownership",
756
+ "guard": {
757
+ "===": [
758
+ {
759
+ "var": "event.agent"
760
+ },
761
+ {
762
+ "var": "state.owner"
763
+ }
764
+ ]
765
+ },
766
+ "effect": {
767
+ "merge": [
768
+ {
769
+ "var": "state"
770
+ },
771
+ {
772
+ "pendingOwner": {
773
+ "var": "event.newOwner"
774
+ },
775
+ "transferInitiatedAt": {
776
+ "var": "$timestamp"
777
+ }
778
+ }
779
+ ]
780
+ },
781
+ "dependencies": []
782
+ },
783
+ {
784
+ "from": "TRANSFERRING",
785
+ "to": "ACTIVE",
786
+ "eventName": "accept_ownership",
787
+ "guard": {
788
+ "===": [
789
+ {
790
+ "var": "event.agent"
791
+ },
792
+ {
793
+ "var": "state.pendingOwner"
794
+ }
795
+ ]
796
+ },
797
+ "effect": {
798
+ "merge": [
799
+ {
800
+ "var": "state"
801
+ },
802
+ {
803
+ "owner": {
804
+ "var": "state.pendingOwner"
805
+ },
806
+ "pendingOwner": null,
807
+ "transferInitiatedAt": null,
808
+ "ownershipHistory": {
809
+ "cat": [
810
+ {
811
+ "var": "state.ownershipHistory"
812
+ },
813
+ [
814
+ {
815
+ "from": {
816
+ "var": "state.owner"
817
+ },
818
+ "to": {
819
+ "var": "state.pendingOwner"
820
+ },
821
+ "at": {
822
+ "var": "$timestamp"
823
+ }
824
+ }
825
+ ]
826
+ ]
827
+ }
828
+ }
829
+ ]
830
+ },
831
+ "emits": [
832
+ {
833
+ "event": "ownership_transferred",
834
+ "to": "Identity"
835
+ }
836
+ ],
837
+ "dependencies": []
838
+ },
839
+ {
840
+ "from": "TRANSFERRING",
841
+ "to": "ACTIVE",
842
+ "eventName": "cancel_transfer",
843
+ "guard": {
844
+ "===": [
845
+ {
846
+ "var": "event.agent"
847
+ },
848
+ {
849
+ "var": "state.owner"
850
+ }
851
+ ]
852
+ },
853
+ "effect": {
854
+ "merge": [
855
+ {
856
+ "var": "state"
857
+ },
858
+ {
859
+ "pendingOwner": null,
860
+ "transferInitiatedAt": null
861
+ }
862
+ ]
863
+ },
864
+ "dependencies": []
865
+ },
866
+ {
867
+ "from": "ACTIVE",
868
+ "to": "DISSOLVED",
869
+ "eventName": "dissolve",
870
+ "guard": {
871
+ "===": [
872
+ {
873
+ "var": "event.agent"
874
+ },
875
+ {
876
+ "var": "state.owner"
877
+ }
878
+ ]
879
+ },
880
+ "effect": {
881
+ "merge": [
882
+ {
883
+ "var": "state"
884
+ },
885
+ {
886
+ "dissolvedAt": {
887
+ "var": "$timestamp"
888
+ },
889
+ "status": "DISSOLVED"
890
+ }
891
+ ]
892
+ },
893
+ "dependencies": []
894
+ }
895
+ ],
896
+ "crossReferences": {
897
+ "Identity": "owner registration",
898
+ "Contract": "action execution targets",
899
+ "Treasury": "fund management"
900
+ }
901
+ };
902
+ export const daoThresholdDef = {
903
+ "metadata": {
904
+ "name": "ThresholdDAO",
905
+ "description": "Reputation-threshold governance. Minimum reputation required for participation.",
906
+ "version": "1.0.0",
907
+ "category": "governance/dao"
908
+ },
909
+ "states": {
910
+ "ACTIVE": {
911
+ "id": "ACTIVE",
912
+ "isFinal": false,
913
+ "metadata": null
914
+ },
915
+ "VOTING": {
916
+ "id": "VOTING",
917
+ "isFinal": false,
918
+ "metadata": null
919
+ },
920
+ "DISSOLVED": {
921
+ "id": "DISSOLVED",
922
+ "isFinal": true,
923
+ "metadata": null
924
+ }
925
+ },
926
+ "initialState": "ACTIVE",
927
+ "transitions": [
928
+ {
929
+ "from": "ACTIVE",
930
+ "to": "VOTING",
931
+ "eventName": "propose",
932
+ "guard": {
933
+ ">=": [
934
+ {
935
+ "var": "event.agentReputation"
936
+ },
937
+ {
938
+ "var": "state.proposeThreshold"
939
+ }
940
+ ]
941
+ },
942
+ "effect": {
943
+ "merge": [
944
+ {
945
+ "var": "state"
946
+ },
947
+ {
948
+ "proposal": {
949
+ "id": {
950
+ "var": "event.proposalId"
951
+ },
952
+ "title": {
953
+ "var": "event.title"
954
+ },
955
+ "description": {
956
+ "var": "event.description"
957
+ },
958
+ "actionType": {
959
+ "var": "event.actionType"
960
+ },
961
+ "payload": {
962
+ "var": "event.payload"
963
+ },
964
+ "proposer": {
965
+ "var": "event.agent"
966
+ },
967
+ "proposedAt": {
968
+ "var": "$timestamp"
969
+ },
970
+ "deadline": {
971
+ "+": [
972
+ {
973
+ "var": "$timestamp"
974
+ },
975
+ {
976
+ "var": "state.votingPeriodMs"
977
+ }
978
+ ]
979
+ }
980
+ },
981
+ "votes": {
982
+ "for": [],
983
+ "against": [],
984
+ "abstain": []
985
+ }
986
+ }
987
+ ]
988
+ },
989
+ "dependencies": []
990
+ },
991
+ {
992
+ "from": "VOTING",
993
+ "to": "VOTING",
994
+ "eventName": "vote",
995
+ "guard": {
996
+ "and": [
997
+ {
998
+ ">=": [
999
+ {
1000
+ "var": "event.agentReputation"
1001
+ },
1002
+ {
1003
+ "var": "state.voteThreshold"
1004
+ }
1005
+ ]
1006
+ },
1007
+ {
1008
+ "!": [
1009
+ {
1010
+ "in": [
1011
+ {
1012
+ "var": "event.agent"
1013
+ },
1014
+ {
1015
+ "var": "state.votes.for"
1016
+ }
1017
+ ]
1018
+ }
1019
+ ]
1020
+ },
1021
+ {
1022
+ "!": [
1023
+ {
1024
+ "in": [
1025
+ {
1026
+ "var": "event.agent"
1027
+ },
1028
+ {
1029
+ "var": "state.votes.against"
1030
+ }
1031
+ ]
1032
+ }
1033
+ ]
1034
+ },
1035
+ {
1036
+ "!": [
1037
+ {
1038
+ "in": [
1039
+ {
1040
+ "var": "event.agent"
1041
+ },
1042
+ {
1043
+ "var": "state.votes.abstain"
1044
+ }
1045
+ ]
1046
+ }
1047
+ ]
1048
+ },
1049
+ {
1050
+ "<=": [
1051
+ {
1052
+ "var": "$timestamp"
1053
+ },
1054
+ {
1055
+ "var": "state.proposal.deadline"
1056
+ }
1057
+ ]
1058
+ }
1059
+ ]
1060
+ },
1061
+ "effect": {
1062
+ "merge": [
1063
+ {
1064
+ "var": "state"
1065
+ },
1066
+ {
1067
+ "votes": {
1068
+ "if": [
1069
+ {
1070
+ "===": [
1071
+ {
1072
+ "var": "event.vote"
1073
+ },
1074
+ "for"
1075
+ ]
1076
+ },
1077
+ {
1078
+ "merge": [
1079
+ {
1080
+ "var": "state.votes"
1081
+ },
1082
+ {
1083
+ "for": {
1084
+ "cat": [
1085
+ {
1086
+ "var": "state.votes.for"
1087
+ },
1088
+ [
1089
+ {
1090
+ "var": "event.agent"
1091
+ }
1092
+ ]
1093
+ ]
1094
+ }
1095
+ }
1096
+ ]
1097
+ },
1098
+ {
1099
+ "===": [
1100
+ {
1101
+ "var": "event.vote"
1102
+ },
1103
+ "against"
1104
+ ]
1105
+ },
1106
+ {
1107
+ "merge": [
1108
+ {
1109
+ "var": "state.votes"
1110
+ },
1111
+ {
1112
+ "against": {
1113
+ "cat": [
1114
+ {
1115
+ "var": "state.votes.against"
1116
+ },
1117
+ [
1118
+ {
1119
+ "var": "event.agent"
1120
+ }
1121
+ ]
1122
+ ]
1123
+ }
1124
+ }
1125
+ ]
1126
+ },
1127
+ {
1128
+ "merge": [
1129
+ {
1130
+ "var": "state.votes"
1131
+ },
1132
+ {
1133
+ "abstain": {
1134
+ "cat": [
1135
+ {
1136
+ "var": "state.votes.abstain"
1137
+ },
1138
+ [
1139
+ {
1140
+ "var": "event.agent"
1141
+ }
1142
+ ]
1143
+ ]
1144
+ }
1145
+ }
1146
+ ]
1147
+ }
1148
+ ]
1149
+ }
1150
+ }
1151
+ ]
1152
+ },
1153
+ "dependencies": []
1154
+ },
1155
+ {
1156
+ "from": "VOTING",
1157
+ "to": "ACTIVE",
1158
+ "eventName": "execute",
1159
+ "guard": {
1160
+ "and": [
1161
+ {
1162
+ ">": [
1163
+ {
1164
+ "var": "$timestamp"
1165
+ },
1166
+ {
1167
+ "var": "state.proposal.deadline"
1168
+ }
1169
+ ]
1170
+ },
1171
+ {
1172
+ ">": [
1173
+ {
1174
+ "size": {
1175
+ "var": "state.votes.for"
1176
+ }
1177
+ },
1178
+ {
1179
+ "size": {
1180
+ "var": "state.votes.against"
1181
+ }
1182
+ }
1183
+ ]
1184
+ },
1185
+ {
1186
+ ">=": [
1187
+ {
1188
+ "+": [
1189
+ {
1190
+ "size": {
1191
+ "var": "state.votes.for"
1192
+ }
1193
+ },
1194
+ {
1195
+ "size": {
1196
+ "var": "state.votes.against"
1197
+ }
1198
+ }
1199
+ ]
1200
+ },
1201
+ {
1202
+ "var": "state.quorum"
1203
+ }
1204
+ ]
1205
+ }
1206
+ ]
1207
+ },
1208
+ "effect": {
1209
+ "merge": [
1210
+ {
1211
+ "var": "state"
1212
+ },
1213
+ {
1214
+ "history": {
1215
+ "cat": [
1216
+ {
1217
+ "var": "state.history"
1218
+ },
1219
+ [
1220
+ {
1221
+ "type": "executed",
1222
+ "proposal": {
1223
+ "var": "state.proposal"
1224
+ },
1225
+ "votes": {
1226
+ "var": "state.votes"
1227
+ },
1228
+ "at": {
1229
+ "var": "$timestamp"
1230
+ }
1231
+ }
1232
+ ]
1233
+ ]
1234
+ },
1235
+ "proposal": null,
1236
+ "votes": null
1237
+ }
1238
+ ]
1239
+ },
1240
+ "emits": [
1241
+ {
1242
+ "event": "proposal_executed",
1243
+ "to": "Reputation",
1244
+ "payload": {
1245
+ "action": "increase",
1246
+ "agents": {
1247
+ "var": "state.votes.for"
1248
+ }
1249
+ }
1250
+ }
1251
+ ],
1252
+ "dependencies": []
1253
+ },
1254
+ {
1255
+ "from": "VOTING",
1256
+ "to": "ACTIVE",
1257
+ "eventName": "reject",
1258
+ "guard": {
1259
+ "and": [
1260
+ {
1261
+ ">": [
1262
+ {
1263
+ "var": "$timestamp"
1264
+ },
1265
+ {
1266
+ "var": "state.proposal.deadline"
1267
+ }
1268
+ ]
1269
+ },
1270
+ {
1271
+ "or": [
1272
+ {
1273
+ "<=": [
1274
+ {
1275
+ "size": {
1276
+ "var": "state.votes.for"
1277
+ }
1278
+ },
1279
+ {
1280
+ "size": {
1281
+ "var": "state.votes.against"
1282
+ }
1283
+ }
1284
+ ]
1285
+ },
1286
+ {
1287
+ "<": [
1288
+ {
1289
+ "+": [
1290
+ {
1291
+ "size": {
1292
+ "var": "state.votes.for"
1293
+ }
1294
+ },
1295
+ {
1296
+ "size": {
1297
+ "var": "state.votes.against"
1298
+ }
1299
+ }
1300
+ ]
1301
+ },
1302
+ {
1303
+ "var": "state.quorum"
1304
+ }
1305
+ ]
1306
+ }
1307
+ ]
1308
+ }
1309
+ ]
1310
+ },
1311
+ "effect": {
1312
+ "merge": [
1313
+ {
1314
+ "var": "state"
1315
+ },
1316
+ {
1317
+ "history": {
1318
+ "cat": [
1319
+ {
1320
+ "var": "state.history"
1321
+ },
1322
+ [
1323
+ {
1324
+ "type": "rejected",
1325
+ "proposal": {
1326
+ "var": "state.proposal"
1327
+ },
1328
+ "votes": {
1329
+ "var": "state.votes"
1330
+ },
1331
+ "at": {
1332
+ "var": "$timestamp"
1333
+ }
1334
+ }
1335
+ ]
1336
+ ]
1337
+ },
1338
+ "proposal": null,
1339
+ "votes": null
1340
+ }
1341
+ ]
1342
+ },
1343
+ "dependencies": []
1344
+ },
1345
+ {
1346
+ "from": "ACTIVE",
1347
+ "to": "ACTIVE",
1348
+ "eventName": "join",
1349
+ "guard": {
1350
+ "and": [
1351
+ {
1352
+ ">=": [
1353
+ {
1354
+ "var": "event.agentReputation"
1355
+ },
1356
+ {
1357
+ "var": "state.memberThreshold"
1358
+ }
1359
+ ]
1360
+ },
1361
+ {
1362
+ "!": [
1363
+ {
1364
+ "in": [
1365
+ {
1366
+ "var": "event.agent"
1367
+ },
1368
+ {
1369
+ "var": "state.members"
1370
+ }
1371
+ ]
1372
+ }
1373
+ ]
1374
+ }
1375
+ ]
1376
+ },
1377
+ "effect": {
1378
+ "merge": [
1379
+ {
1380
+ "var": "state"
1381
+ },
1382
+ {
1383
+ "members": {
1384
+ "cat": [
1385
+ {
1386
+ "var": "state.members"
1387
+ },
1388
+ [
1389
+ {
1390
+ "var": "event.agent"
1391
+ }
1392
+ ]
1393
+ ]
1394
+ },
1395
+ "memberJoinedAt": {
1396
+ "setKey": [
1397
+ {
1398
+ "var": "state.memberJoinedAt"
1399
+ },
1400
+ {
1401
+ "var": "event.agent"
1402
+ },
1403
+ {
1404
+ "var": "$timestamp"
1405
+ }
1406
+ ]
1407
+ }
1408
+ }
1409
+ ]
1410
+ },
1411
+ "dependencies": []
1412
+ },
1413
+ {
1414
+ "from": "ACTIVE",
1415
+ "to": "ACTIVE",
1416
+ "eventName": "leave",
1417
+ "guard": {
1418
+ "in": [
1419
+ {
1420
+ "var": "event.agent"
1421
+ },
1422
+ {
1423
+ "var": "state.members"
1424
+ }
1425
+ ]
1426
+ },
1427
+ "effect": {
1428
+ "merge": [
1429
+ {
1430
+ "var": "state"
1431
+ },
1432
+ {
1433
+ "members": {
1434
+ "filter": [
1435
+ {
1436
+ "var": "state.members"
1437
+ },
1438
+ {
1439
+ "!==": [
1440
+ {
1441
+ "var": ""
1442
+ },
1443
+ {
1444
+ "var": "event.agent"
1445
+ }
1446
+ ]
1447
+ }
1448
+ ]
1449
+ }
1450
+ }
1451
+ ]
1452
+ },
1453
+ "dependencies": []
1454
+ },
1455
+ {
1456
+ "from": "ACTIVE",
1457
+ "to": "VOTING",
1458
+ "eventName": "propose_threshold_change",
1459
+ "guard": {
1460
+ ">=": [
1461
+ {
1462
+ "var": "event.agentReputation"
1463
+ },
1464
+ {
1465
+ "var": "state.proposeThreshold"
1466
+ }
1467
+ ]
1468
+ },
1469
+ "effect": {
1470
+ "merge": [
1471
+ {
1472
+ "var": "state"
1473
+ },
1474
+ {
1475
+ "proposal": {
1476
+ "id": {
1477
+ "var": "event.proposalId"
1478
+ },
1479
+ "title": "Threshold Change",
1480
+ "actionType": "threshold_change",
1481
+ "payload": {
1482
+ "memberThreshold": {
1483
+ "var": "event.memberThreshold"
1484
+ },
1485
+ "voteThreshold": {
1486
+ "var": "event.voteThreshold"
1487
+ },
1488
+ "proposeThreshold": {
1489
+ "var": "event.proposeThreshold"
1490
+ }
1491
+ },
1492
+ "proposer": {
1493
+ "var": "event.agent"
1494
+ },
1495
+ "proposedAt": {
1496
+ "var": "$timestamp"
1497
+ },
1498
+ "deadline": {
1499
+ "+": [
1500
+ {
1501
+ "var": "$timestamp"
1502
+ },
1503
+ {
1504
+ "var": "state.votingPeriodMs"
1505
+ }
1506
+ ]
1507
+ }
1508
+ },
1509
+ "votes": {
1510
+ "for": [],
1511
+ "against": [],
1512
+ "abstain": []
1513
+ }
1514
+ }
1515
+ ]
1516
+ },
1517
+ "dependencies": []
1518
+ }
1519
+ ],
1520
+ "crossReferences": {
1521
+ "Identity": "member verification",
1522
+ "Reputation": "threshold checks",
1523
+ "Contract": "action execution"
1524
+ }
1525
+ };
1526
+ export const daoTokenDef = {
1527
+ "metadata": {
1528
+ "name": "TokenDAO",
1529
+ "description": "Token-weighted voting. Voting power proportional to token holdings.",
1530
+ "version": "1.0.0",
1531
+ "category": "governance/dao"
1532
+ },
1533
+ "states": {
1534
+ "ACTIVE": {
1535
+ "id": "ACTIVE",
1536
+ "isFinal": false,
1537
+ "metadata": null
1538
+ },
1539
+ "VOTING": {
1540
+ "id": "VOTING",
1541
+ "isFinal": false,
1542
+ "metadata": null
1543
+ },
1544
+ "QUEUED": {
1545
+ "id": "QUEUED",
1546
+ "isFinal": false,
1547
+ "metadata": null
1548
+ },
1549
+ "DISSOLVED": {
1550
+ "id": "DISSOLVED",
1551
+ "isFinal": true,
1552
+ "metadata": null
1553
+ }
1554
+ },
1555
+ "initialState": "ACTIVE",
1556
+ "transitions": [
1557
+ {
1558
+ "from": "ACTIVE",
1559
+ "to": "VOTING",
1560
+ "eventName": "propose",
1561
+ "guard": {
1562
+ ">=": [
1563
+ {
1564
+ "getKey": [
1565
+ {
1566
+ "var": "state.balances"
1567
+ },
1568
+ {
1569
+ "var": "event.agent"
1570
+ }
1571
+ ]
1572
+ },
1573
+ {
1574
+ "var": "state.proposalThreshold"
1575
+ }
1576
+ ]
1577
+ },
1578
+ "effect": {
1579
+ "merge": [
1580
+ {
1581
+ "var": "state"
1582
+ },
1583
+ {
1584
+ "proposal": {
1585
+ "id": {
1586
+ "var": "event.proposalId"
1587
+ },
1588
+ "title": {
1589
+ "var": "event.title"
1590
+ },
1591
+ "description": {
1592
+ "var": "event.description"
1593
+ },
1594
+ "actionType": {
1595
+ "var": "event.actionType"
1596
+ },
1597
+ "payload": {
1598
+ "var": "event.payload"
1599
+ },
1600
+ "proposer": {
1601
+ "var": "event.agent"
1602
+ },
1603
+ "proposedAt": {
1604
+ "var": "$timestamp"
1605
+ },
1606
+ "votingEndsAt": {
1607
+ "+": [
1608
+ {
1609
+ "var": "$timestamp"
1610
+ },
1611
+ {
1612
+ "var": "state.votingPeriodMs"
1613
+ }
1614
+ ]
1615
+ },
1616
+ "snapshotBlock": {
1617
+ "var": "event.snapshotBlock"
1618
+ }
1619
+ },
1620
+ "votes": {
1621
+ "for": 0,
1622
+ "against": 0,
1623
+ "abstain": 0,
1624
+ "voters": {}
1625
+ }
1626
+ }
1627
+ ]
1628
+ },
1629
+ "dependencies": []
1630
+ },
1631
+ {
1632
+ "from": "VOTING",
1633
+ "to": "VOTING",
1634
+ "eventName": "vote",
1635
+ "guard": {
1636
+ "and": [
1637
+ {
1638
+ ">": [
1639
+ {
1640
+ "getKey": [
1641
+ {
1642
+ "var": "state.balances"
1643
+ },
1644
+ {
1645
+ "var": "event.agent"
1646
+ }
1647
+ ]
1648
+ },
1649
+ 0
1650
+ ]
1651
+ },
1652
+ {
1653
+ "!": [
1654
+ {
1655
+ "getKey": [
1656
+ {
1657
+ "var": "state.votes.voters"
1658
+ },
1659
+ {
1660
+ "var": "event.agent"
1661
+ }
1662
+ ]
1663
+ }
1664
+ ]
1665
+ },
1666
+ {
1667
+ "<=": [
1668
+ {
1669
+ "var": "$timestamp"
1670
+ },
1671
+ {
1672
+ "var": "state.proposal.votingEndsAt"
1673
+ }
1674
+ ]
1675
+ }
1676
+ ]
1677
+ },
1678
+ "effect": {
1679
+ "merge": [
1680
+ {
1681
+ "var": "state"
1682
+ },
1683
+ {
1684
+ "votes": {
1685
+ "merge": [
1686
+ {
1687
+ "var": "state.votes"
1688
+ },
1689
+ {
1690
+ "if": [
1691
+ {
1692
+ "===": [
1693
+ {
1694
+ "var": "event.vote"
1695
+ },
1696
+ "for"
1697
+ ]
1698
+ },
1699
+ {
1700
+ "for": {
1701
+ "+": [
1702
+ {
1703
+ "var": "state.votes.for"
1704
+ },
1705
+ {
1706
+ "getKey": [
1707
+ {
1708
+ "var": "state.balances"
1709
+ },
1710
+ {
1711
+ "var": "event.agent"
1712
+ }
1713
+ ]
1714
+ }
1715
+ ]
1716
+ }
1717
+ },
1718
+ {
1719
+ "===": [
1720
+ {
1721
+ "var": "event.vote"
1722
+ },
1723
+ "against"
1724
+ ]
1725
+ },
1726
+ {
1727
+ "against": {
1728
+ "+": [
1729
+ {
1730
+ "var": "state.votes.against"
1731
+ },
1732
+ {
1733
+ "getKey": [
1734
+ {
1735
+ "var": "state.balances"
1736
+ },
1737
+ {
1738
+ "var": "event.agent"
1739
+ }
1740
+ ]
1741
+ }
1742
+ ]
1743
+ }
1744
+ },
1745
+ {
1746
+ "abstain": {
1747
+ "+": [
1748
+ {
1749
+ "var": "state.votes.abstain"
1750
+ },
1751
+ {
1752
+ "getKey": [
1753
+ {
1754
+ "var": "state.balances"
1755
+ },
1756
+ {
1757
+ "var": "event.agent"
1758
+ }
1759
+ ]
1760
+ }
1761
+ ]
1762
+ }
1763
+ }
1764
+ ]
1765
+ },
1766
+ {
1767
+ "voters": {
1768
+ "setKey": [
1769
+ {
1770
+ "var": "state.votes.voters"
1771
+ },
1772
+ {
1773
+ "var": "event.agent"
1774
+ },
1775
+ {
1776
+ "vote": {
1777
+ "var": "event.vote"
1778
+ },
1779
+ "weight": {
1780
+ "getKey": [
1781
+ {
1782
+ "var": "state.balances"
1783
+ },
1784
+ {
1785
+ "var": "event.agent"
1786
+ }
1787
+ ]
1788
+ },
1789
+ "votedAt": {
1790
+ "var": "$timestamp"
1791
+ }
1792
+ }
1793
+ ]
1794
+ }
1795
+ }
1796
+ ]
1797
+ }
1798
+ }
1799
+ ]
1800
+ },
1801
+ "dependencies": []
1802
+ },
1803
+ {
1804
+ "from": "VOTING",
1805
+ "to": "QUEUED",
1806
+ "eventName": "queue",
1807
+ "guard": {
1808
+ "and": [
1809
+ {
1810
+ ">": [
1811
+ {
1812
+ "var": "$timestamp"
1813
+ },
1814
+ {
1815
+ "var": "state.proposal.votingEndsAt"
1816
+ }
1817
+ ]
1818
+ },
1819
+ {
1820
+ ">": [
1821
+ {
1822
+ "var": "state.votes.for"
1823
+ },
1824
+ {
1825
+ "var": "state.votes.against"
1826
+ }
1827
+ ]
1828
+ },
1829
+ {
1830
+ ">=": [
1831
+ {
1832
+ "+": [
1833
+ {
1834
+ "var": "state.votes.for"
1835
+ },
1836
+ {
1837
+ "var": "state.votes.against"
1838
+ },
1839
+ {
1840
+ "var": "state.votes.abstain"
1841
+ }
1842
+ ]
1843
+ },
1844
+ {
1845
+ "var": "state.quorum"
1846
+ }
1847
+ ]
1848
+ }
1849
+ ]
1850
+ },
1851
+ "effect": {
1852
+ "merge": [
1853
+ {
1854
+ "var": "state"
1855
+ },
1856
+ {
1857
+ "proposal": {
1858
+ "merge": [
1859
+ {
1860
+ "var": "state.proposal"
1861
+ },
1862
+ {
1863
+ "queuedAt": {
1864
+ "var": "$timestamp"
1865
+ },
1866
+ "executableAt": {
1867
+ "+": [
1868
+ {
1869
+ "var": "$timestamp"
1870
+ },
1871
+ {
1872
+ "var": "state.timelockMs"
1873
+ }
1874
+ ]
1875
+ }
1876
+ }
1877
+ ]
1878
+ }
1879
+ }
1880
+ ]
1881
+ },
1882
+ "dependencies": []
1883
+ },
1884
+ {
1885
+ "from": "QUEUED",
1886
+ "to": "ACTIVE",
1887
+ "eventName": "execute",
1888
+ "guard": {
1889
+ ">=": [
1890
+ {
1891
+ "var": "$timestamp"
1892
+ },
1893
+ {
1894
+ "var": "state.proposal.executableAt"
1895
+ }
1896
+ ]
1897
+ },
1898
+ "effect": {
1899
+ "merge": [
1900
+ {
1901
+ "var": "state"
1902
+ },
1903
+ {
1904
+ "executedProposals": {
1905
+ "cat": [
1906
+ {
1907
+ "var": "state.executedProposals"
1908
+ },
1909
+ [
1910
+ {
1911
+ "merge": [
1912
+ {
1913
+ "var": "state.proposal"
1914
+ },
1915
+ {
1916
+ "votes": {
1917
+ "var": "state.votes"
1918
+ },
1919
+ "executedAt": {
1920
+ "var": "$timestamp"
1921
+ }
1922
+ }
1923
+ ]
1924
+ }
1925
+ ]
1926
+ ]
1927
+ },
1928
+ "proposal": null,
1929
+ "votes": null
1930
+ }
1931
+ ]
1932
+ },
1933
+ "emits": [
1934
+ {
1935
+ "event": "proposal_executed",
1936
+ "to": "external"
1937
+ }
1938
+ ],
1939
+ "dependencies": []
1940
+ },
1941
+ {
1942
+ "from": "VOTING",
1943
+ "to": "ACTIVE",
1944
+ "eventName": "reject",
1945
+ "guard": {
1946
+ "and": [
1947
+ {
1948
+ ">": [
1949
+ {
1950
+ "var": "$timestamp"
1951
+ },
1952
+ {
1953
+ "var": "state.proposal.votingEndsAt"
1954
+ }
1955
+ ]
1956
+ },
1957
+ {
1958
+ "or": [
1959
+ {
1960
+ "<=": [
1961
+ {
1962
+ "var": "state.votes.for"
1963
+ },
1964
+ {
1965
+ "var": "state.votes.against"
1966
+ }
1967
+ ]
1968
+ },
1969
+ {
1970
+ "<": [
1971
+ {
1972
+ "+": [
1973
+ {
1974
+ "var": "state.votes.for"
1975
+ },
1976
+ {
1977
+ "var": "state.votes.against"
1978
+ },
1979
+ {
1980
+ "var": "state.votes.abstain"
1981
+ }
1982
+ ]
1983
+ },
1984
+ {
1985
+ "var": "state.quorum"
1986
+ }
1987
+ ]
1988
+ }
1989
+ ]
1990
+ }
1991
+ ]
1992
+ },
1993
+ "effect": {
1994
+ "merge": [
1995
+ {
1996
+ "var": "state"
1997
+ },
1998
+ {
1999
+ "rejectedProposals": {
2000
+ "cat": [
2001
+ {
2002
+ "var": "state.rejectedProposals"
2003
+ },
2004
+ [
2005
+ {
2006
+ "merge": [
2007
+ {
2008
+ "var": "state.proposal"
2009
+ },
2010
+ {
2011
+ "votes": {
2012
+ "var": "state.votes"
2013
+ },
2014
+ "rejectedAt": {
2015
+ "var": "$timestamp"
2016
+ }
2017
+ }
2018
+ ]
2019
+ }
2020
+ ]
2021
+ ]
2022
+ },
2023
+ "proposal": null,
2024
+ "votes": null
2025
+ }
2026
+ ]
2027
+ },
2028
+ "dependencies": []
2029
+ },
2030
+ {
2031
+ "from": "QUEUED",
2032
+ "to": "ACTIVE",
2033
+ "eventName": "cancel",
2034
+ "guard": {
2035
+ "===": [
2036
+ {
2037
+ "var": "event.agent"
2038
+ },
2039
+ {
2040
+ "var": "state.proposal.proposer"
2041
+ }
2042
+ ]
2043
+ },
2044
+ "effect": {
2045
+ "merge": [
2046
+ {
2047
+ "var": "state"
2048
+ },
2049
+ {
2050
+ "cancelledProposals": {
2051
+ "cat": [
2052
+ {
2053
+ "var": "state.cancelledProposals"
2054
+ },
2055
+ [
2056
+ {
2057
+ "merge": [
2058
+ {
2059
+ "var": "state.proposal"
2060
+ },
2061
+ {
2062
+ "cancelledAt": {
2063
+ "var": "$timestamp"
2064
+ }
2065
+ }
2066
+ ]
2067
+ }
2068
+ ]
2069
+ ]
2070
+ },
2071
+ "proposal": null,
2072
+ "votes": null
2073
+ }
2074
+ ]
2075
+ },
2076
+ "dependencies": []
2077
+ },
2078
+ {
2079
+ "from": "ACTIVE",
2080
+ "to": "ACTIVE",
2081
+ "eventName": "delegate",
2082
+ "guard": {
2083
+ ">": [
2084
+ {
2085
+ "getKey": [
2086
+ {
2087
+ "var": "state.balances"
2088
+ },
2089
+ {
2090
+ "var": "event.agent"
2091
+ }
2092
+ ]
2093
+ },
2094
+ 0
2095
+ ]
2096
+ },
2097
+ "effect": {
2098
+ "merge": [
2099
+ {
2100
+ "var": "state"
2101
+ },
2102
+ {
2103
+ "delegations": {
2104
+ "setKey": [
2105
+ {
2106
+ "var": "state.delegations"
2107
+ },
2108
+ {
2109
+ "var": "event.agent"
2110
+ },
2111
+ {
2112
+ "var": "event.delegateTo"
2113
+ }
2114
+ ]
2115
+ }
2116
+ }
2117
+ ]
2118
+ },
2119
+ "dependencies": []
2120
+ },
2121
+ {
2122
+ "from": "ACTIVE",
2123
+ "to": "ACTIVE",
2124
+ "eventName": "undelegate",
2125
+ "guard": {
2126
+ "getKey": [
2127
+ {
2128
+ "var": "state.delegations"
2129
+ },
2130
+ {
2131
+ "var": "event.agent"
2132
+ }
2133
+ ]
2134
+ },
2135
+ "effect": {
2136
+ "merge": [
2137
+ {
2138
+ "var": "state"
2139
+ },
2140
+ {
2141
+ "delegations": {
2142
+ "deleteKey": [
2143
+ {
2144
+ "var": "state.delegations"
2145
+ },
2146
+ {
2147
+ "var": "event.agent"
2148
+ }
2149
+ ]
2150
+ }
2151
+ }
2152
+ ]
2153
+ },
2154
+ "dependencies": []
2155
+ }
2156
+ ],
2157
+ "crossReferences": {
2158
+ "Identity": "voter verification",
2159
+ "Token": "balance snapshots",
2160
+ "Contract": "action execution",
2161
+ "Treasury": "fund management"
2162
+ }
2163
+ };
2164
+ export const govConstitutionDef = {
2165
+ "metadata": {
2166
+ "name": "Constitution",
2167
+ "description": "Foundational charter that defines governance structure, branch powers, and amendment rules",
2168
+ "version": "1.0.0"
2169
+ },
2170
+ "states": {
2171
+ "DRAFT": {
2172
+ "id": "DRAFT",
2173
+ "isFinal": false,
2174
+ "metadata": null
2175
+ },
2176
+ "RATIFIED": {
2177
+ "id": "RATIFIED",
2178
+ "isFinal": false,
2179
+ "metadata": null
2180
+ },
2181
+ "AMENDING": {
2182
+ "id": "AMENDING",
2183
+ "isFinal": false,
2184
+ "metadata": null
2185
+ },
2186
+ "SUSPENDED": {
2187
+ "id": "SUSPENDED",
2188
+ "isFinal": false,
2189
+ "metadata": null
2190
+ },
2191
+ "DISSOLVED": {
2192
+ "id": "DISSOLVED",
2193
+ "isFinal": true,
2194
+ "metadata": null
2195
+ }
2196
+ },
2197
+ "initialState": "DRAFT",
2198
+ "transitions": [
2199
+ {
2200
+ "from": "DRAFT",
2201
+ "to": "RATIFIED",
2202
+ "eventName": "ratify",
2203
+ "guard": {
2204
+ ">=": [
2205
+ {
2206
+ "size": {
2207
+ "var": "state.ratifications"
2208
+ }
2209
+ },
2210
+ {
2211
+ "var": "state.ratificationThreshold"
2212
+ }
2213
+ ]
2214
+ },
2215
+ "effect": {
2216
+ "merge": [
2217
+ {
2218
+ "var": "state"
2219
+ },
2220
+ {
2221
+ "status": "RATIFIED",
2222
+ "ratifiedAt": {
2223
+ "var": "$timestamp"
2224
+ }
2225
+ }
2226
+ ]
2227
+ },
2228
+ "dependencies": []
2229
+ },
2230
+ {
2231
+ "from": "DRAFT",
2232
+ "to": "DRAFT",
2233
+ "eventName": "sign",
2234
+ "guard": {
2235
+ "and": [
2236
+ {
2237
+ "in": [
2238
+ {
2239
+ "var": "event.agent"
2240
+ },
2241
+ {
2242
+ "var": "state.founders"
2243
+ }
2244
+ ]
2245
+ },
2246
+ {
2247
+ "!": [
2248
+ {
2249
+ "in": [
2250
+ {
2251
+ "var": "event.agent"
2252
+ },
2253
+ {
2254
+ "var": "state.ratifications"
2255
+ }
2256
+ ]
2257
+ }
2258
+ ]
2259
+ }
2260
+ ]
2261
+ },
2262
+ "effect": {
2263
+ "merge": [
2264
+ {
2265
+ "var": "state"
2266
+ },
2267
+ {
2268
+ "ratifications": {
2269
+ "cat": [
2270
+ {
2271
+ "var": "state.ratifications"
2272
+ },
2273
+ [
2274
+ {
2275
+ "var": "event.agent"
2276
+ }
2277
+ ]
2278
+ ]
2279
+ }
2280
+ }
2281
+ ]
2282
+ },
2283
+ "dependencies": []
2284
+ },
2285
+ {
2286
+ "from": "RATIFIED",
2287
+ "to": "AMENDING",
2288
+ "eventName": "propose_amendment",
2289
+ "guard": {
2290
+ "or": [
2291
+ {
2292
+ "in": [
2293
+ {
2294
+ "var": "event.agent"
2295
+ },
2296
+ {
2297
+ "var": "state.branches.legislature.members"
2298
+ }
2299
+ ]
2300
+ },
2301
+ {
2302
+ ">=": [
2303
+ {
2304
+ "var": "event.petitionSignatures"
2305
+ },
2306
+ {
2307
+ "var": "state.amendmentPetitionThreshold"
2308
+ }
2309
+ ]
2310
+ }
2311
+ ]
2312
+ },
2313
+ "effect": {
2314
+ "merge": [
2315
+ {
2316
+ "var": "state"
2317
+ },
2318
+ {
2319
+ "status": "AMENDING",
2320
+ "pendingAmendment": {
2321
+ "id": {
2322
+ "var": "event.amendmentId"
2323
+ },
2324
+ "proposer": {
2325
+ "var": "event.agent"
2326
+ },
2327
+ "changes": {
2328
+ "var": "event.changes"
2329
+ },
2330
+ "proposedAt": {
2331
+ "var": "$timestamp"
2332
+ },
2333
+ "votes": {}
2334
+ }
2335
+ }
2336
+ ]
2337
+ },
2338
+ "dependencies": []
2339
+ },
2340
+ {
2341
+ "from": "AMENDING",
2342
+ "to": "RATIFIED",
2343
+ "eventName": "ratify_amendment",
2344
+ "guard": {
2345
+ ">=": [
2346
+ {
2347
+ "var": "state.pendingAmendment.approvalCount"
2348
+ },
2349
+ {
2350
+ "var": "state.amendmentThreshold"
2351
+ }
2352
+ ]
2353
+ },
2354
+ "effect": {
2355
+ "merge": [
2356
+ {
2357
+ "var": "state"
2358
+ },
2359
+ {
2360
+ "status": "RATIFIED",
2361
+ "amendments": {
2362
+ "cat": [
2363
+ {
2364
+ "var": "state.amendments"
2365
+ },
2366
+ [
2367
+ {
2368
+ "id": {
2369
+ "var": "state.pendingAmendment.id"
2370
+ },
2371
+ "changes": {
2372
+ "var": "state.pendingAmendment.changes"
2373
+ },
2374
+ "ratifiedAt": {
2375
+ "var": "$timestamp"
2376
+ }
2377
+ }
2378
+ ]
2379
+ ]
2380
+ },
2381
+ "pendingAmendment": null
2382
+ }
2383
+ ]
2384
+ },
2385
+ "dependencies": []
2386
+ },
2387
+ {
2388
+ "from": "AMENDING",
2389
+ "to": "RATIFIED",
2390
+ "eventName": "reject_amendment",
2391
+ "guard": {
2392
+ "var": "state.pendingAmendment.rejected"
2393
+ },
2394
+ "effect": {
2395
+ "merge": [
2396
+ {
2397
+ "var": "state"
2398
+ },
2399
+ {
2400
+ "status": "RATIFIED",
2401
+ "failedAmendments": {
2402
+ "cat": [
2403
+ {
2404
+ "var": "state.failedAmendments"
2405
+ },
2406
+ [
2407
+ {
2408
+ "var": "state.pendingAmendment"
2409
+ }
2410
+ ]
2411
+ ]
2412
+ },
2413
+ "pendingAmendment": null
2414
+ }
2415
+ ]
2416
+ },
2417
+ "dependencies": []
2418
+ },
2419
+ {
2420
+ "from": "RATIFIED",
2421
+ "to": "SUSPENDED",
2422
+ "eventName": "suspend",
2423
+ "guard": {
2424
+ "and": [
2425
+ {
2426
+ "in": [
2427
+ {
2428
+ "var": "event.agent"
2429
+ },
2430
+ {
2431
+ "var": "state.emergencyCouncil"
2432
+ }
2433
+ ]
2434
+ },
2435
+ {
2436
+ "var": "event.reason"
2437
+ }
2438
+ ]
2439
+ },
2440
+ "effect": {
2441
+ "merge": [
2442
+ {
2443
+ "var": "state"
2444
+ },
2445
+ {
2446
+ "status": "SUSPENDED",
2447
+ "suspendedBy": {
2448
+ "var": "event.agent"
2449
+ },
2450
+ "suspensionReason": {
2451
+ "var": "event.reason"
2452
+ },
2453
+ "suspendedAt": {
2454
+ "var": "$timestamp"
2455
+ }
2456
+ }
2457
+ ]
2458
+ },
2459
+ "dependencies": []
2460
+ },
2461
+ {
2462
+ "from": "SUSPENDED",
2463
+ "to": "RATIFIED",
2464
+ "eventName": "restore",
2465
+ "guard": {
2466
+ ">=": [
2467
+ {
2468
+ "var": "event.restorationVotes"
2469
+ },
2470
+ {
2471
+ "var": "state.restorationThreshold"
2472
+ }
2473
+ ]
2474
+ },
2475
+ "effect": {
2476
+ "merge": [
2477
+ {
2478
+ "var": "state"
2479
+ },
2480
+ {
2481
+ "status": "RATIFIED",
2482
+ "restoredAt": {
2483
+ "var": "$timestamp"
2484
+ }
2485
+ }
2486
+ ]
2487
+ },
2488
+ "dependencies": []
2489
+ },
2490
+ {
2491
+ "from": "RATIFIED",
2492
+ "to": "DISSOLVED",
2493
+ "eventName": "dissolve",
2494
+ "guard": {
2495
+ ">=": [
2496
+ {
2497
+ "var": "event.dissolutionVotes"
2498
+ },
2499
+ {
2500
+ "var": "state.dissolutionThreshold"
2501
+ }
2502
+ ]
2503
+ },
2504
+ "effect": {
2505
+ "merge": [
2506
+ {
2507
+ "var": "state"
2508
+ },
2509
+ {
2510
+ "status": "DISSOLVED",
2511
+ "dissolvedAt": {
2512
+ "var": "$timestamp"
2513
+ }
2514
+ }
2515
+ ]
2516
+ },
2517
+ "dependencies": []
2518
+ }
2519
+ ]
2520
+ };
2521
+ export const govExecutiveDef = {
2522
+ "metadata": {
2523
+ "name": "Executive",
2524
+ "description": "Execution branch - implements mandates, manages operations, reports outcomes",
2525
+ "version": "1.0.0"
2526
+ },
2527
+ "states": {
2528
+ "RECEIVED": {
2529
+ "id": "RECEIVED",
2530
+ "isFinal": false,
2531
+ "metadata": null
2532
+ },
2533
+ "PLANNING": {
2534
+ "id": "PLANNING",
2535
+ "isFinal": false,
2536
+ "metadata": null
2537
+ },
2538
+ "EXECUTING": {
2539
+ "id": "EXECUTING",
2540
+ "isFinal": false,
2541
+ "metadata": null
2542
+ },
2543
+ "PAUSED": {
2544
+ "id": "PAUSED",
2545
+ "isFinal": false,
2546
+ "metadata": null
2547
+ },
2548
+ "COMPLETED": {
2549
+ "id": "COMPLETED",
2550
+ "isFinal": true,
2551
+ "metadata": null
2552
+ },
2553
+ "FAILED": {
2554
+ "id": "FAILED",
2555
+ "isFinal": true,
2556
+ "metadata": null
2557
+ },
2558
+ "BLOCKED": {
2559
+ "id": "BLOCKED",
2560
+ "isFinal": true,
2561
+ "metadata": null
2562
+ },
2563
+ "VETOED": {
2564
+ "id": "VETOED",
2565
+ "isFinal": true,
2566
+ "metadata": null
2567
+ }
2568
+ },
2569
+ "initialState": "RECEIVED",
2570
+ "transitions": [
2571
+ {
2572
+ "from": "RECEIVED",
2573
+ "to": "PLANNING",
2574
+ "eventName": "accept",
2575
+ "guard": {
2576
+ "in": [
2577
+ {
2578
+ "var": "event.agent"
2579
+ },
2580
+ {
2581
+ "var": "state.executors"
2582
+ }
2583
+ ]
2584
+ },
2585
+ "effect": {
2586
+ "merge": [
2587
+ {
2588
+ "var": "state"
2589
+ },
2590
+ {
2591
+ "status": "PLANNING",
2592
+ "acceptedBy": {
2593
+ "var": "event.agent"
2594
+ },
2595
+ "acceptedAt": {
2596
+ "var": "$timestamp"
2597
+ },
2598
+ "plan": {
2599
+ "var": "event.plan"
2600
+ }
2601
+ }
2602
+ ]
2603
+ },
2604
+ "dependencies": []
2605
+ },
2606
+ {
2607
+ "from": "RECEIVED",
2608
+ "to": "VETOED",
2609
+ "eventName": "veto",
2610
+ "guard": {
2611
+ "and": [
2612
+ {
2613
+ "var": "state.config.executiveVeto"
2614
+ },
2615
+ {
2616
+ "===": [
2617
+ {
2618
+ "var": "event.agent"
2619
+ },
2620
+ {
2621
+ "var": "state.executiveHead"
2622
+ }
2623
+ ]
2624
+ }
2625
+ ]
2626
+ },
2627
+ "effect": {
2628
+ "merge": [
2629
+ {
2630
+ "var": "state"
2631
+ },
2632
+ {
2633
+ "status": "VETOED",
2634
+ "vetoedBy": {
2635
+ "var": "event.agent"
2636
+ },
2637
+ "vetoReason": {
2638
+ "var": "event.reason"
2639
+ },
2640
+ "vetoedAt": {
2641
+ "var": "$timestamp"
2642
+ }
2643
+ }
2644
+ ]
2645
+ },
2646
+ "dependencies": []
2647
+ },
2648
+ {
2649
+ "from": "PLANNING",
2650
+ "to": "EXECUTING",
2651
+ "eventName": "begin",
2652
+ "guard": {
2653
+ "in": [
2654
+ {
2655
+ "var": "event.agent"
2656
+ },
2657
+ {
2658
+ "var": "state.executors"
2659
+ }
2660
+ ]
2661
+ },
2662
+ "effect": {
2663
+ "merge": [
2664
+ {
2665
+ "var": "state"
2666
+ },
2667
+ {
2668
+ "status": "EXECUTING",
2669
+ "executionStartedAt": {
2670
+ "var": "$timestamp"
2671
+ },
2672
+ "milestones": []
2673
+ }
2674
+ ]
2675
+ },
2676
+ "dependencies": []
2677
+ },
2678
+ {
2679
+ "from": "EXECUTING",
2680
+ "to": "EXECUTING",
2681
+ "eventName": "report_progress",
2682
+ "guard": {
2683
+ "in": [
2684
+ {
2685
+ "var": "event.agent"
2686
+ },
2687
+ {
2688
+ "var": "state.executors"
2689
+ }
2690
+ ]
2691
+ },
2692
+ "effect": {
2693
+ "merge": [
2694
+ {
2695
+ "var": "state"
2696
+ },
2697
+ {
2698
+ "milestones": {
2699
+ "cat": [
2700
+ {
2701
+ "var": "state.milestones"
2702
+ },
2703
+ [
2704
+ {
2705
+ "description": {
2706
+ "var": "event.description"
2707
+ },
2708
+ "completedAt": {
2709
+ "var": "$timestamp"
2710
+ },
2711
+ "evidence": {
2712
+ "var": "event.evidence"
2713
+ }
2714
+ }
2715
+ ]
2716
+ ]
2717
+ },
2718
+ "lastProgressAt": {
2719
+ "var": "$timestamp"
2720
+ }
2721
+ }
2722
+ ]
2723
+ },
2724
+ "dependencies": []
2725
+ },
2726
+ {
2727
+ "from": "EXECUTING",
2728
+ "to": "PAUSED",
2729
+ "eventName": "pause",
2730
+ "guard": {
2731
+ "or": [
2732
+ {
2733
+ "in": [
2734
+ {
2735
+ "var": "event.agent"
2736
+ },
2737
+ {
2738
+ "var": "state.executors"
2739
+ }
2740
+ ]
2741
+ },
2742
+ {
2743
+ "var": "event.judicialOrder"
2744
+ }
2745
+ ]
2746
+ },
2747
+ "effect": {
2748
+ "merge": [
2749
+ {
2750
+ "var": "state"
2751
+ },
2752
+ {
2753
+ "status": "PAUSED",
2754
+ "pausedBy": {
2755
+ "var": "event.agent"
2756
+ },
2757
+ "pauseReason": {
2758
+ "var": "event.reason"
2759
+ },
2760
+ "pausedAt": {
2761
+ "var": "$timestamp"
2762
+ },
2763
+ "judicialHold": {
2764
+ "var": "event.judicialOrder"
2765
+ }
2766
+ }
2767
+ ]
2768
+ },
2769
+ "dependencies": []
2770
+ },
2771
+ {
2772
+ "from": "PAUSED",
2773
+ "to": "EXECUTING",
2774
+ "eventName": "resume",
2775
+ "guard": {
2776
+ "and": [
2777
+ {
2778
+ "in": [
2779
+ {
2780
+ "var": "event.agent"
2781
+ },
2782
+ {
2783
+ "var": "state.executors"
2784
+ }
2785
+ ]
2786
+ },
2787
+ {
2788
+ "!": [
2789
+ {
2790
+ "var": "state.judicialHold"
2791
+ }
2792
+ ]
2793
+ }
2794
+ ]
2795
+ },
2796
+ "effect": {
2797
+ "merge": [
2798
+ {
2799
+ "var": "state"
2800
+ },
2801
+ {
2802
+ "status": "EXECUTING",
2803
+ "resumedAt": {
2804
+ "var": "$timestamp"
2805
+ }
2806
+ }
2807
+ ]
2808
+ },
2809
+ "dependencies": []
2810
+ },
2811
+ {
2812
+ "from": "PAUSED",
2813
+ "to": "BLOCKED",
2814
+ "eventName": "block",
2815
+ "guard": {
2816
+ "var": "event.judicialRuling"
2817
+ },
2818
+ "effect": {
2819
+ "merge": [
2820
+ {
2821
+ "var": "state"
2822
+ },
2823
+ {
2824
+ "status": "BLOCKED",
2825
+ "blockedBy": {
2826
+ "var": "event.agent"
2827
+ },
2828
+ "rulingId": {
2829
+ "var": "event.rulingId"
2830
+ },
2831
+ "blockedAt": {
2832
+ "var": "$timestamp"
2833
+ }
2834
+ }
2835
+ ]
2836
+ },
2837
+ "dependencies": []
2838
+ },
2839
+ {
2840
+ "from": "EXECUTING",
2841
+ "to": "COMPLETED",
2842
+ "eventName": "complete",
2843
+ "guard": {
2844
+ "in": [
2845
+ {
2846
+ "var": "event.agent"
2847
+ },
2848
+ {
2849
+ "var": "state.executors"
2850
+ }
2851
+ ]
2852
+ },
2853
+ "effect": {
2854
+ "merge": [
2855
+ {
2856
+ "var": "state"
2857
+ },
2858
+ {
2859
+ "status": "COMPLETED",
2860
+ "completedAt": {
2861
+ "var": "$timestamp"
2862
+ },
2863
+ "outcome": {
2864
+ "var": "event.outcome"
2865
+ },
2866
+ "finalReport": {
2867
+ "var": "event.report"
2868
+ }
2869
+ }
2870
+ ]
2871
+ },
2872
+ "dependencies": []
2873
+ },
2874
+ {
2875
+ "from": "EXECUTING",
2876
+ "to": "FAILED",
2877
+ "eventName": "fail",
2878
+ "guard": {
2879
+ "in": [
2880
+ {
2881
+ "var": "event.agent"
2882
+ },
2883
+ {
2884
+ "var": "state.executors"
2885
+ }
2886
+ ]
2887
+ },
2888
+ "effect": {
2889
+ "merge": [
2890
+ {
2891
+ "var": "state"
2892
+ },
2893
+ {
2894
+ "status": "FAILED",
2895
+ "failedAt": {
2896
+ "var": "$timestamp"
2897
+ },
2898
+ "failureReason": {
2899
+ "var": "event.reason"
2900
+ }
2901
+ }
2902
+ ]
2903
+ },
2904
+ "dependencies": []
2905
+ }
2906
+ ]
2907
+ };
2908
+ export const govJudiciaryDef = {
2909
+ "metadata": {
2910
+ "name": "Judiciary",
2911
+ "description": "Judicial branch - interprets rules, reviews actions, resolves disputes, issues rulings",
2912
+ "version": "1.0.0"
2913
+ },
2914
+ "states": {
2915
+ "FILED": {
2916
+ "id": "FILED",
2917
+ "isFinal": false,
2918
+ "metadata": null
2919
+ },
2920
+ "REVIEW": {
2921
+ "id": "REVIEW",
2922
+ "isFinal": false,
2923
+ "metadata": null
2924
+ },
2925
+ "HEARING": {
2926
+ "id": "HEARING",
2927
+ "isFinal": false,
2928
+ "metadata": null
2929
+ },
2930
+ "DELIBERATION": {
2931
+ "id": "DELIBERATION",
2932
+ "isFinal": false,
2933
+ "metadata": null
2934
+ },
2935
+ "RULING": {
2936
+ "id": "RULING",
2937
+ "isFinal": false,
2938
+ "metadata": null
2939
+ },
2940
+ "ENFORCING": {
2941
+ "id": "ENFORCING",
2942
+ "isFinal": false,
2943
+ "metadata": null
2944
+ },
2945
+ "CLOSED": {
2946
+ "id": "CLOSED",
2947
+ "isFinal": true,
2948
+ "metadata": null
2949
+ },
2950
+ "DISMISSED": {
2951
+ "id": "DISMISSED",
2952
+ "isFinal": true,
2953
+ "metadata": null
2954
+ },
2955
+ "APPEALED": {
2956
+ "id": "APPEALED",
2957
+ "isFinal": false,
2958
+ "metadata": null
2959
+ }
2960
+ },
2961
+ "initialState": "FILED",
2962
+ "transitions": [
2963
+ {
2964
+ "from": "FILED",
2965
+ "to": "REVIEW",
2966
+ "eventName": "accept",
2967
+ "guard": {
2968
+ "in": [
2969
+ {
2970
+ "var": "event.agent"
2971
+ },
2972
+ {
2973
+ "var": "state.judges"
2974
+ }
2975
+ ]
2976
+ },
2977
+ "effect": {
2978
+ "merge": [
2979
+ {
2980
+ "var": "state"
2981
+ },
2982
+ {
2983
+ "status": "REVIEW",
2984
+ "acceptedBy": {
2985
+ "var": "event.agent"
2986
+ },
2987
+ "acceptedAt": {
2988
+ "var": "$timestamp"
2989
+ },
2990
+ "assignedJudges": {
2991
+ "var": "event.panel"
2992
+ }
2993
+ }
2994
+ ]
2995
+ },
2996
+ "dependencies": []
2997
+ },
2998
+ {
2999
+ "from": "FILED",
3000
+ "to": "DISMISSED",
3001
+ "eventName": "dismiss",
3002
+ "guard": {
3003
+ "in": [
3004
+ {
3005
+ "var": "event.agent"
3006
+ },
3007
+ {
3008
+ "var": "state.judges"
3009
+ }
3010
+ ]
3011
+ },
3012
+ "effect": {
3013
+ "merge": [
3014
+ {
3015
+ "var": "state"
3016
+ },
3017
+ {
3018
+ "status": "DISMISSED",
3019
+ "dismissedBy": {
3020
+ "var": "event.agent"
3021
+ },
3022
+ "dismissReason": {
3023
+ "var": "event.reason"
3024
+ },
3025
+ "dismissedAt": {
3026
+ "var": "$timestamp"
3027
+ }
3028
+ }
3029
+ ]
3030
+ },
3031
+ "dependencies": []
3032
+ },
3033
+ {
3034
+ "from": "REVIEW",
3035
+ "to": "REVIEW",
3036
+ "eventName": "issue_stay",
3037
+ "guard": {
3038
+ "in": [
3039
+ {
3040
+ "var": "event.agent"
3041
+ },
3042
+ {
3043
+ "var": "state.assignedJudges"
3044
+ }
3045
+ ]
3046
+ },
3047
+ "effect": {
3048
+ "merge": [
3049
+ {
3050
+ "var": "state"
3051
+ },
3052
+ {
3053
+ "emergencyStay": {
3054
+ "issuedBy": {
3055
+ "var": "event.agent"
3056
+ },
3057
+ "issuedAt": {
3058
+ "var": "$timestamp"
3059
+ },
3060
+ "targetFiberId": {
3061
+ "var": "event.targetFiberId"
3062
+ },
3063
+ "reason": {
3064
+ "var": "event.reason"
3065
+ },
3066
+ "expiresAt": {
3067
+ "var": "event.expiresAt"
3068
+ }
3069
+ }
3070
+ }
3071
+ ]
3072
+ },
3073
+ "dependencies": []
3074
+ },
3075
+ {
3076
+ "from": "REVIEW",
3077
+ "to": "HEARING",
3078
+ "eventName": "schedule_hearing",
3079
+ "guard": {
3080
+ "in": [
3081
+ {
3082
+ "var": "event.agent"
3083
+ },
3084
+ {
3085
+ "var": "state.assignedJudges"
3086
+ }
3087
+ ]
3088
+ },
3089
+ "effect": {
3090
+ "merge": [
3091
+ {
3092
+ "var": "state"
3093
+ },
3094
+ {
3095
+ "status": "HEARING",
3096
+ "hearingScheduledAt": {
3097
+ "var": "event.hearingDate"
3098
+ },
3099
+ "submissions": []
3100
+ }
3101
+ ]
3102
+ },
3103
+ "dependencies": []
3104
+ },
3105
+ {
3106
+ "from": "HEARING",
3107
+ "to": "HEARING",
3108
+ "eventName": "submit_evidence",
3109
+ "guard": {
3110
+ "or": [
3111
+ {
3112
+ "===": [
3113
+ {
3114
+ "var": "event.agent"
3115
+ },
3116
+ {
3117
+ "var": "state.plaintiff"
3118
+ }
3119
+ ]
3120
+ },
3121
+ {
3122
+ "===": [
3123
+ {
3124
+ "var": "event.agent"
3125
+ },
3126
+ {
3127
+ "var": "state.defendant"
3128
+ }
3129
+ ]
3130
+ },
3131
+ {
3132
+ "in": [
3133
+ {
3134
+ "var": "event.agent"
3135
+ },
3136
+ {
3137
+ "var": "state.interestedParties"
3138
+ }
3139
+ ]
3140
+ }
3141
+ ]
3142
+ },
3143
+ "effect": {
3144
+ "merge": [
3145
+ {
3146
+ "var": "state"
3147
+ },
3148
+ {
3149
+ "submissions": {
3150
+ "cat": [
3151
+ {
3152
+ "var": "state.submissions"
3153
+ },
3154
+ [
3155
+ {
3156
+ "party": {
3157
+ "var": "event.agent"
3158
+ },
3159
+ "type": {
3160
+ "var": "event.type"
3161
+ },
3162
+ "content": {
3163
+ "var": "event.content"
3164
+ },
3165
+ "submittedAt": {
3166
+ "var": "$timestamp"
3167
+ }
3168
+ }
3169
+ ]
3170
+ ]
3171
+ }
3172
+ }
3173
+ ]
3174
+ },
3175
+ "dependencies": []
3176
+ },
3177
+ {
3178
+ "from": "HEARING",
3179
+ "to": "DELIBERATION",
3180
+ "eventName": "close_hearing",
3181
+ "guard": {
3182
+ "in": [
3183
+ {
3184
+ "var": "event.agent"
3185
+ },
3186
+ {
3187
+ "var": "state.assignedJudges"
3188
+ }
3189
+ ]
3190
+ },
3191
+ "effect": {
3192
+ "merge": [
3193
+ {
3194
+ "var": "state"
3195
+ },
3196
+ {
3197
+ "status": "DELIBERATION",
3198
+ "hearingClosedAt": {
3199
+ "var": "$timestamp"
3200
+ },
3201
+ "votes": {}
3202
+ }
3203
+ ]
3204
+ },
3205
+ "dependencies": []
3206
+ },
3207
+ {
3208
+ "from": "DELIBERATION",
3209
+ "to": "DELIBERATION",
3210
+ "eventName": "vote",
3211
+ "guard": {
3212
+ "and": [
3213
+ {
3214
+ "in": [
3215
+ {
3216
+ "var": "event.agent"
3217
+ },
3218
+ {
3219
+ "var": "state.assignedJudges"
3220
+ }
3221
+ ]
3222
+ },
3223
+ {
3224
+ "!": [
3225
+ {
3226
+ "getKey": [
3227
+ {
3228
+ "var": "state.votes"
3229
+ },
3230
+ {
3231
+ "var": "event.agent"
3232
+ }
3233
+ ]
3234
+ }
3235
+ ]
3236
+ }
3237
+ ]
3238
+ },
3239
+ "effect": {
3240
+ "merge": [
3241
+ {
3242
+ "var": "state"
3243
+ },
3244
+ {
3245
+ "votes": {
3246
+ "setKey": [
3247
+ {
3248
+ "var": "state.votes"
3249
+ },
3250
+ {
3251
+ "var": "event.agent"
3252
+ },
3253
+ {
3254
+ "position": {
3255
+ "var": "event.position"
3256
+ },
3257
+ "opinion": {
3258
+ "var": "event.opinion"
3259
+ },
3260
+ "votedAt": {
3261
+ "var": "$timestamp"
3262
+ }
3263
+ }
3264
+ ]
3265
+ }
3266
+ }
3267
+ ]
3268
+ },
3269
+ "dependencies": []
3270
+ },
3271
+ {
3272
+ "from": "DELIBERATION",
3273
+ "to": "RULING",
3274
+ "eventName": "issue_ruling",
3275
+ "guard": {
3276
+ ">=": [
3277
+ {
3278
+ "size": {
3279
+ "var": "state.votes"
3280
+ }
3281
+ },
3282
+ {
3283
+ "var": "state.quorum"
3284
+ }
3285
+ ]
3286
+ },
3287
+ "effect": {
3288
+ "merge": [
3289
+ {
3290
+ "var": "state"
3291
+ },
3292
+ {
3293
+ "status": "RULING",
3294
+ "ruling": {
3295
+ "decision": {
3296
+ "var": "event.decision"
3297
+ },
3298
+ "majority": {
3299
+ "var": "event.majority"
3300
+ },
3301
+ "dissent": {
3302
+ "var": "event.dissent"
3303
+ },
3304
+ "remedy": {
3305
+ "var": "event.remedy"
3306
+ },
3307
+ "issuedAt": {
3308
+ "var": "$timestamp"
3309
+ }
3310
+ }
3311
+ }
3312
+ ]
3313
+ },
3314
+ "dependencies": []
3315
+ },
3316
+ {
3317
+ "from": "RULING",
3318
+ "to": "ENFORCING",
3319
+ "eventName": "begin_enforcement",
3320
+ "guard": {
3321
+ "var": "state.ruling.remedy"
3322
+ },
3323
+ "effect": {
3324
+ "merge": [
3325
+ {
3326
+ "var": "state"
3327
+ },
3328
+ {
3329
+ "status": "ENFORCING",
3330
+ "enforcementStartedAt": {
3331
+ "var": "$timestamp"
3332
+ }
3333
+ }
3334
+ ]
3335
+ },
3336
+ "dependencies": []
3337
+ },
3338
+ {
3339
+ "from": "RULING",
3340
+ "to": "CLOSED",
3341
+ "eventName": "close",
3342
+ "guard": {
3343
+ "!": [
3344
+ {
3345
+ "var": "state.ruling.remedy"
3346
+ }
3347
+ ]
3348
+ },
3349
+ "effect": {
3350
+ "merge": [
3351
+ {
3352
+ "var": "state"
3353
+ },
3354
+ {
3355
+ "status": "CLOSED",
3356
+ "closedAt": {
3357
+ "var": "$timestamp"
3358
+ }
3359
+ }
3360
+ ]
3361
+ },
3362
+ "dependencies": []
3363
+ },
3364
+ {
3365
+ "from": "ENFORCING",
3366
+ "to": "CLOSED",
3367
+ "eventName": "enforcement_complete",
3368
+ "guard": {
3369
+ "var": "event.evidence"
3370
+ },
3371
+ "effect": {
3372
+ "merge": [
3373
+ {
3374
+ "var": "state"
3375
+ },
3376
+ {
3377
+ "status": "CLOSED",
3378
+ "enforcementCompletedAt": {
3379
+ "var": "$timestamp"
3380
+ },
3381
+ "enforcementEvidence": {
3382
+ "var": "event.evidence"
3383
+ }
3384
+ }
3385
+ ]
3386
+ },
3387
+ "dependencies": []
3388
+ },
3389
+ {
3390
+ "from": "RULING",
3391
+ "to": "APPEALED",
3392
+ "eventName": "appeal",
3393
+ "guard": {
3394
+ "and": [
3395
+ {
3396
+ "var": "state.config.allowAppeals"
3397
+ },
3398
+ {
3399
+ "or": [
3400
+ {
3401
+ "===": [
3402
+ {
3403
+ "var": "event.agent"
3404
+ },
3405
+ {
3406
+ "var": "state.plaintiff"
3407
+ }
3408
+ ]
3409
+ },
3410
+ {
3411
+ "===": [
3412
+ {
3413
+ "var": "event.agent"
3414
+ },
3415
+ {
3416
+ "var": "state.defendant"
3417
+ }
3418
+ ]
3419
+ }
3420
+ ]
3421
+ },
3422
+ {
3423
+ "<=": [
3424
+ {
3425
+ "-": [
3426
+ {
3427
+ "var": "$timestamp"
3428
+ },
3429
+ {
3430
+ "var": "state.ruling.issuedAt"
3431
+ }
3432
+ ]
3433
+ },
3434
+ {
3435
+ "var": "state.config.appealWindowMs"
3436
+ }
3437
+ ]
3438
+ }
3439
+ ]
3440
+ },
3441
+ "effect": {
3442
+ "merge": [
3443
+ {
3444
+ "var": "state"
3445
+ },
3446
+ {
3447
+ "status": "APPEALED",
3448
+ "appeal": {
3449
+ "filedBy": {
3450
+ "var": "event.agent"
3451
+ },
3452
+ "grounds": {
3453
+ "var": "event.grounds"
3454
+ },
3455
+ "filedAt": {
3456
+ "var": "$timestamp"
3457
+ }
3458
+ }
3459
+ }
3460
+ ]
3461
+ },
3462
+ "dependencies": []
3463
+ }
3464
+ ]
3465
+ };
3466
+ export const govLegislatureDef = {
3467
+ "metadata": {
3468
+ "name": "Governance",
3469
+ "description": "Flexible governance for proposals, voting, delegation, and execution across relationship types",
3470
+ "version": "1.0.0"
3471
+ },
3472
+ "states": {
3473
+ "DRAFT": {
3474
+ "id": "DRAFT",
3475
+ "isFinal": false,
3476
+ "metadata": null
3477
+ },
3478
+ "ACTIVE": {
3479
+ "id": "ACTIVE",
3480
+ "isFinal": false,
3481
+ "metadata": null
3482
+ },
3483
+ "PENDING": {
3484
+ "id": "PENDING",
3485
+ "isFinal": false,
3486
+ "metadata": null
3487
+ },
3488
+ "EXECUTING": {
3489
+ "id": "EXECUTING",
3490
+ "isFinal": false,
3491
+ "metadata": null
3492
+ },
3493
+ "EXECUTED": {
3494
+ "id": "EXECUTED",
3495
+ "isFinal": true,
3496
+ "metadata": null
3497
+ },
3498
+ "VETOED": {
3499
+ "id": "VETOED",
3500
+ "isFinal": true,
3501
+ "metadata": null
3502
+ },
3503
+ "DEFEATED": {
3504
+ "id": "DEFEATED",
3505
+ "isFinal": true,
3506
+ "metadata": null
3507
+ },
3508
+ "EXPIRED": {
3509
+ "id": "EXPIRED",
3510
+ "isFinal": true,
3511
+ "metadata": null
3512
+ },
3513
+ "CANCELLED": {
3514
+ "id": "CANCELLED",
3515
+ "isFinal": true,
3516
+ "metadata": null
3517
+ }
3518
+ },
3519
+ "initialState": "DRAFT",
3520
+ "transitions": [
3521
+ {
3522
+ "from": "DRAFT",
3523
+ "to": "ACTIVE",
3524
+ "eventName": "submit",
3525
+ "guard": {
3526
+ "and": [
3527
+ {
3528
+ "in": [
3529
+ {
3530
+ "var": "event.agent"
3531
+ },
3532
+ {
3533
+ "var": "state.proposers"
3534
+ }
3535
+ ]
3536
+ },
3537
+ {
3538
+ "var": "state.proposal.title"
3539
+ },
3540
+ {
3541
+ "var": "state.proposal.actions"
3542
+ }
3543
+ ]
3544
+ },
3545
+ "effect": {
3546
+ "merge": [
3547
+ {
3548
+ "var": "state"
3549
+ },
3550
+ {
3551
+ "status": "ACTIVE",
3552
+ "submittedAt": {
3553
+ "var": "$timestamp"
3554
+ },
3555
+ "votingEndsAt": {
3556
+ "+": [
3557
+ {
3558
+ "var": "$timestamp"
3559
+ },
3560
+ {
3561
+ "var": "state.config.votingPeriodMs"
3562
+ }
3563
+ ]
3564
+ }
3565
+ }
3566
+ ]
3567
+ },
3568
+ "dependencies": []
3569
+ },
3570
+ {
3571
+ "from": "ACTIVE",
3572
+ "to": "ACTIVE",
3573
+ "eventName": "vote",
3574
+ "guard": {
3575
+ "and": [
3576
+ {
3577
+ "<=": [
3578
+ {
3579
+ "var": "$timestamp"
3580
+ },
3581
+ {
3582
+ "var": "state.votingEndsAt"
3583
+ }
3584
+ ]
3585
+ },
3586
+ {
3587
+ "!": [
3588
+ {
3589
+ "getKey": [
3590
+ {
3591
+ "var": "state.votes"
3592
+ },
3593
+ {
3594
+ "var": "event.agent"
3595
+ }
3596
+ ]
3597
+ }
3598
+ ]
3599
+ },
3600
+ {
3601
+ "or": [
3602
+ {
3603
+ "in": [
3604
+ {
3605
+ "var": "event.agent"
3606
+ },
3607
+ {
3608
+ "var": "state.voters"
3609
+ }
3610
+ ]
3611
+ },
3612
+ {
3613
+ "===": [
3614
+ {
3615
+ "var": "state.config.openVoting"
3616
+ },
3617
+ true
3618
+ ]
3619
+ }
3620
+ ]
3621
+ }
3622
+ ]
3623
+ },
3624
+ "effect": {
3625
+ "merge": [
3626
+ {
3627
+ "var": "state"
3628
+ },
3629
+ {
3630
+ "votes": {
3631
+ "setKey": [
3632
+ {
3633
+ "var": "state.votes"
3634
+ },
3635
+ {
3636
+ "var": "event.agent"
3637
+ },
3638
+ {
3639
+ "choice": {
3640
+ "var": "event.choice"
3641
+ },
3642
+ "weight": {
3643
+ "var": "event.weight"
3644
+ },
3645
+ "conviction": {
3646
+ "var": "event.conviction"
3647
+ },
3648
+ "delegatedFrom": {
3649
+ "var": "event.delegatedFrom"
3650
+ },
3651
+ "votedAt": {
3652
+ "var": "$timestamp"
3653
+ }
3654
+ }
3655
+ ]
3656
+ }
3657
+ }
3658
+ ]
3659
+ },
3660
+ "dependencies": []
3661
+ },
3662
+ {
3663
+ "from": "ACTIVE",
3664
+ "to": "ACTIVE",
3665
+ "eventName": "delegate",
3666
+ "guard": {
3667
+ "and": [
3668
+ {
3669
+ "var": "state.config.allowDelegation"
3670
+ },
3671
+ {
3672
+ "!==": [
3673
+ {
3674
+ "var": "event.agent"
3675
+ },
3676
+ {
3677
+ "var": "event.delegateTo"
3678
+ }
3679
+ ]
3680
+ },
3681
+ {
3682
+ "!": [
3683
+ {
3684
+ "getKey": [
3685
+ {
3686
+ "var": "state.votes"
3687
+ },
3688
+ {
3689
+ "var": "event.agent"
3690
+ }
3691
+ ]
3692
+ }
3693
+ ]
3694
+ }
3695
+ ]
3696
+ },
3697
+ "effect": {
3698
+ "merge": [
3699
+ {
3700
+ "var": "state"
3701
+ },
3702
+ {
3703
+ "delegations": {
3704
+ "setKey": [
3705
+ {
3706
+ "var": "state.delegations"
3707
+ },
3708
+ {
3709
+ "var": "event.agent"
3710
+ },
3711
+ {
3712
+ "delegateTo": {
3713
+ "var": "event.delegateTo"
3714
+ },
3715
+ "weight": {
3716
+ "var": "event.weight"
3717
+ },
3718
+ "delegatedAt": {
3719
+ "var": "$timestamp"
3720
+ }
3721
+ }
3722
+ ]
3723
+ }
3724
+ }
3725
+ ]
3726
+ },
3727
+ "dependencies": []
3728
+ },
3729
+ {
3730
+ "from": "ACTIVE",
3731
+ "to": "PENDING",
3732
+ "eventName": "finalize_voting",
3733
+ "guard": {
3734
+ "and": [
3735
+ {
3736
+ ">=": [
3737
+ {
3738
+ "var": "$timestamp"
3739
+ },
3740
+ {
3741
+ "var": "state.votingEndsAt"
3742
+ }
3743
+ ]
3744
+ },
3745
+ {
3746
+ "var": "state.tally.passed"
3747
+ }
3748
+ ]
3749
+ },
3750
+ "effect": {
3751
+ "merge": [
3752
+ {
3753
+ "var": "state"
3754
+ },
3755
+ {
3756
+ "status": "PENDING",
3757
+ "finalizedAt": {
3758
+ "var": "$timestamp"
3759
+ },
3760
+ "vetoEndsAt": {
3761
+ "+": [
3762
+ {
3763
+ "var": "$timestamp"
3764
+ },
3765
+ {
3766
+ "var": "state.config.vetoPeriodMs"
3767
+ }
3768
+ ]
3769
+ }
3770
+ }
3771
+ ]
3772
+ },
3773
+ "dependencies": []
3774
+ },
3775
+ {
3776
+ "from": "ACTIVE",
3777
+ "to": "DEFEATED",
3778
+ "eventName": "finalize_voting",
3779
+ "guard": {
3780
+ "and": [
3781
+ {
3782
+ ">=": [
3783
+ {
3784
+ "var": "$timestamp"
3785
+ },
3786
+ {
3787
+ "var": "state.votingEndsAt"
3788
+ }
3789
+ ]
3790
+ },
3791
+ {
3792
+ "!": [
3793
+ {
3794
+ "var": "state.tally.passed"
3795
+ }
3796
+ ]
3797
+ }
3798
+ ]
3799
+ },
3800
+ "effect": {
3801
+ "merge": [
3802
+ {
3803
+ "var": "state"
3804
+ },
3805
+ {
3806
+ "status": "DEFEATED",
3807
+ "finalizedAt": {
3808
+ "var": "$timestamp"
3809
+ },
3810
+ "defeatReason": {
3811
+ "var": "state.tally.reason"
3812
+ }
3813
+ }
3814
+ ]
3815
+ },
3816
+ "dependencies": []
3817
+ },
3818
+ {
3819
+ "from": "PENDING",
3820
+ "to": "VETOED",
3821
+ "eventName": "veto",
3822
+ "guard": {
3823
+ "and": [
3824
+ {
3825
+ "<=": [
3826
+ {
3827
+ "var": "$timestamp"
3828
+ },
3829
+ {
3830
+ "var": "state.vetoEndsAt"
3831
+ }
3832
+ ]
3833
+ },
3834
+ {
3835
+ "in": [
3836
+ {
3837
+ "var": "event.agent"
3838
+ },
3839
+ {
3840
+ "var": "state.vetoers"
3841
+ }
3842
+ ]
3843
+ }
3844
+ ]
3845
+ },
3846
+ "effect": {
3847
+ "merge": [
3848
+ {
3849
+ "var": "state"
3850
+ },
3851
+ {
3852
+ "status": "VETOED",
3853
+ "vetoedBy": {
3854
+ "var": "event.agent"
3855
+ },
3856
+ "vetoReason": {
3857
+ "var": "event.reason"
3858
+ },
3859
+ "vetoedAt": {
3860
+ "var": "$timestamp"
3861
+ }
3862
+ }
3863
+ ]
3864
+ },
3865
+ "dependencies": []
3866
+ },
3867
+ {
3868
+ "from": "PENDING",
3869
+ "to": "EXECUTING",
3870
+ "eventName": "execute",
3871
+ "guard": {
3872
+ "and": [
3873
+ {
3874
+ ">=": [
3875
+ {
3876
+ "var": "$timestamp"
3877
+ },
3878
+ {
3879
+ "var": "state.vetoEndsAt"
3880
+ }
3881
+ ]
3882
+ },
3883
+ {
3884
+ "in": [
3885
+ {
3886
+ "var": "event.agent"
3887
+ },
3888
+ {
3889
+ "var": "state.executors"
3890
+ }
3891
+ ]
3892
+ }
3893
+ ]
3894
+ },
3895
+ "effect": {
3896
+ "merge": [
3897
+ {
3898
+ "var": "state"
3899
+ },
3900
+ {
3901
+ "status": "EXECUTING",
3902
+ "executedBy": {
3903
+ "var": "event.agent"
3904
+ },
3905
+ "executionStartedAt": {
3906
+ "var": "$timestamp"
3907
+ }
3908
+ }
3909
+ ]
3910
+ },
3911
+ "dependencies": []
3912
+ },
3913
+ {
3914
+ "from": "EXECUTING",
3915
+ "to": "EXECUTED",
3916
+ "eventName": "complete",
3917
+ "guard": {
3918
+ "in": [
3919
+ {
3920
+ "var": "event.agent"
3921
+ },
3922
+ {
3923
+ "var": "state.executors"
3924
+ }
3925
+ ]
3926
+ },
3927
+ "effect": {
3928
+ "merge": [
3929
+ {
3930
+ "var": "state"
3931
+ },
3932
+ {
3933
+ "status": "EXECUTED",
3934
+ "completedAt": {
3935
+ "var": "$timestamp"
3936
+ },
3937
+ "executionProof": {
3938
+ "var": "event.proof"
3939
+ }
3940
+ }
3941
+ ]
3942
+ },
3943
+ "dependencies": []
3944
+ },
3945
+ {
3946
+ "from": "DRAFT",
3947
+ "to": "CANCELLED",
3948
+ "eventName": "cancel",
3949
+ "guard": {
3950
+ "===": [
3951
+ {
3952
+ "var": "event.agent"
3953
+ },
3954
+ {
3955
+ "var": "state.proposer"
3956
+ }
3957
+ ]
3958
+ },
3959
+ "effect": {
3960
+ "merge": [
3961
+ {
3962
+ "var": "state"
3963
+ },
3964
+ {
3965
+ "status": "CANCELLED",
3966
+ "cancelledAt": {
3967
+ "var": "$timestamp"
3968
+ }
3969
+ }
3970
+ ]
3971
+ },
3972
+ "dependencies": []
3973
+ },
3974
+ {
3975
+ "from": "ACTIVE",
3976
+ "to": "CANCELLED",
3977
+ "eventName": "cancel",
3978
+ "guard": {
3979
+ "or": [
3980
+ {
3981
+ "===": [
3982
+ {
3983
+ "var": "event.agent"
3984
+ },
3985
+ {
3986
+ "var": "state.proposer"
3987
+ }
3988
+ ]
3989
+ },
3990
+ {
3991
+ "in": [
3992
+ {
3993
+ "var": "event.agent"
3994
+ },
3995
+ {
3996
+ "var": "state.admins"
3997
+ }
3998
+ ]
3999
+ }
4000
+ ]
4001
+ },
4002
+ "effect": {
4003
+ "merge": [
4004
+ {
4005
+ "var": "state"
4006
+ },
4007
+ {
4008
+ "status": "CANCELLED",
4009
+ "cancelledBy": {
4010
+ "var": "event.agent"
4011
+ },
4012
+ "cancelledAt": {
4013
+ "var": "$timestamp"
4014
+ }
4015
+ }
4016
+ ]
4017
+ },
4018
+ "dependencies": []
4019
+ },
4020
+ {
4021
+ "from": "ACTIVE",
4022
+ "to": "EXPIRED",
4023
+ "eventName": "expire",
4024
+ "guard": {
4025
+ ">": [
4026
+ {
4027
+ "var": "$timestamp"
4028
+ },
4029
+ {
4030
+ "+": [
4031
+ {
4032
+ "var": "state.votingEndsAt"
4033
+ },
4034
+ {
4035
+ "var": "state.config.gracePeriodMs"
4036
+ }
4037
+ ]
4038
+ }
4039
+ ]
4040
+ },
4041
+ "effect": {
4042
+ "merge": [
4043
+ {
4044
+ "var": "state"
4045
+ },
4046
+ {
4047
+ "status": "EXPIRED",
4048
+ "expiredAt": {
4049
+ "var": "$timestamp"
4050
+ }
4051
+ }
4052
+ ]
4053
+ },
4054
+ "dependencies": []
4055
+ }
4056
+ ],
4057
+ "presets": {
4058
+ "_comment": "Common governance configurations",
4059
+ "bilateral": {
4060
+ "description": "Two-party mutual consent (like a contract)",
4061
+ "config": {
4062
+ "votingMechanism": "simple",
4063
+ "quorumType": "absolute",
4064
+ "quorumValue": 2,
4065
+ "passingThreshold": 1,
4066
+ "allowDelegation": false,
4067
+ "openVoting": false
4068
+ }
4069
+ },
4070
+ "multisig": {
4071
+ "description": "N-of-M threshold signing",
4072
+ "config": {
4073
+ "votingMechanism": "simple",
4074
+ "quorumType": "absolute",
4075
+ "passingThreshold": 0.6,
4076
+ "vetoPeriodMs": 0,
4077
+ "allowDelegation": false
4078
+ }
4079
+ },
4080
+ "council": {
4081
+ "description": "Small elected/appointed body",
4082
+ "config": {
4083
+ "votingMechanism": "simple",
4084
+ "quorumType": "percentage",
4085
+ "quorumValue": 0.5,
4086
+ "passingThreshold": 0.5,
4087
+ "openVoting": false,
4088
+ "allowDelegation": true
4089
+ }
4090
+ },
4091
+ "liquid_democracy": {
4092
+ "description": "Delegatable voting power",
4093
+ "config": {
4094
+ "votingMechanism": "simple",
4095
+ "allowDelegation": true,
4096
+ "openVoting": true,
4097
+ "onePersonOneVote": true
4098
+ }
4099
+ },
4100
+ "conviction": {
4101
+ "description": "Time-weighted conviction voting",
4102
+ "config": {
4103
+ "votingMechanism": "conviction",
4104
+ "allowDelegation": true,
4105
+ "convictionHalfLifeMs": 604800000
4106
+ }
4107
+ },
4108
+ "quadratic": {
4109
+ "description": "Quadratic voting to reduce whale power",
4110
+ "config": {
4111
+ "votingMechanism": "quadratic",
4112
+ "onePersonOneVote": false
4113
+ }
4114
+ },
4115
+ "dictator": {
4116
+ "description": "Single admin with full control",
4117
+ "config": {
4118
+ "votingMechanism": "simple",
4119
+ "quorumType": "absolute",
4120
+ "quorumValue": 1,
4121
+ "passingThreshold": 1,
4122
+ "vetoPeriodMs": 0,
4123
+ "allowDelegation": false
4124
+ }
4125
+ }
4126
+ }
4127
+ };
4128
+ export const govSimpleDef = {
4129
+ "metadata": {
4130
+ "name": "Governance",
4131
+ "description": "Simple org governance: manage members, update rules, resolve disputes",
4132
+ "version": "1.0.0"
4133
+ },
4134
+ "states": {
4135
+ "ACTIVE": {
4136
+ "id": "ACTIVE",
4137
+ "isFinal": false,
4138
+ "metadata": null
4139
+ },
4140
+ "VOTING": {
4141
+ "id": "VOTING",
4142
+ "isFinal": false,
4143
+ "metadata": null
4144
+ },
4145
+ "DISPUTE": {
4146
+ "id": "DISPUTE",
4147
+ "isFinal": false,
4148
+ "metadata": null
4149
+ },
4150
+ "DISSOLVED": {
4151
+ "id": "DISSOLVED",
4152
+ "isFinal": true,
4153
+ "metadata": null
4154
+ }
4155
+ },
4156
+ "initialState": "ACTIVE",
4157
+ "transitions": [
4158
+ {
4159
+ "from": "ACTIVE",
4160
+ "to": "ACTIVE",
4161
+ "eventName": "add_member",
4162
+ "guard": {
4163
+ "in": [
4164
+ {
4165
+ "var": "event.agent"
4166
+ },
4167
+ {
4168
+ "var": "state.admins"
4169
+ }
4170
+ ]
4171
+ },
4172
+ "effect": {
4173
+ "merge": [
4174
+ {
4175
+ "var": "state"
4176
+ },
4177
+ {
4178
+ "members": {
4179
+ "setKey": [
4180
+ {
4181
+ "var": "state.members"
4182
+ },
4183
+ {
4184
+ "var": "event.member"
4185
+ },
4186
+ {
4187
+ "role": {
4188
+ "var": "event.role"
4189
+ },
4190
+ "addedAt": {
4191
+ "var": "$timestamp"
4192
+ }
4193
+ }
4194
+ ]
4195
+ }
4196
+ }
4197
+ ]
4198
+ },
4199
+ "dependencies": []
4200
+ },
4201
+ {
4202
+ "from": "ACTIVE",
4203
+ "to": "ACTIVE",
4204
+ "eventName": "remove_member",
4205
+ "guard": {
4206
+ "in": [
4207
+ {
4208
+ "var": "event.agent"
4209
+ },
4210
+ {
4211
+ "var": "state.admins"
4212
+ }
4213
+ ]
4214
+ },
4215
+ "effect": {
4216
+ "merge": [
4217
+ {
4218
+ "var": "state"
4219
+ },
4220
+ {
4221
+ "members": {
4222
+ "deleteKey": [
4223
+ {
4224
+ "var": "state.members"
4225
+ },
4226
+ {
4227
+ "var": "event.member"
4228
+ }
4229
+ ]
4230
+ }
4231
+ }
4232
+ ]
4233
+ },
4234
+ "dependencies": []
4235
+ },
4236
+ {
4237
+ "from": "ACTIVE",
4238
+ "to": "VOTING",
4239
+ "eventName": "propose",
4240
+ "guard": {
4241
+ "getKey": [
4242
+ {
4243
+ "var": "state.members"
4244
+ },
4245
+ {
4246
+ "var": "event.agent"
4247
+ }
4248
+ ]
4249
+ },
4250
+ "effect": {
4251
+ "merge": [
4252
+ {
4253
+ "var": "state"
4254
+ },
4255
+ {
4256
+ "proposal": {
4257
+ "id": {
4258
+ "var": "event.proposalId"
4259
+ },
4260
+ "type": {
4261
+ "var": "event.type"
4262
+ },
4263
+ "changes": {
4264
+ "var": "event.changes"
4265
+ },
4266
+ "proposer": {
4267
+ "var": "event.agent"
4268
+ },
4269
+ "proposedAt": {
4270
+ "var": "$timestamp"
4271
+ },
4272
+ "deadline": {
4273
+ "+": [
4274
+ {
4275
+ "var": "$timestamp"
4276
+ },
4277
+ {
4278
+ "var": "state.votingPeriodMs"
4279
+ }
4280
+ ]
4281
+ }
4282
+ },
4283
+ "votes": {}
4284
+ }
4285
+ ]
4286
+ },
4287
+ "dependencies": []
4288
+ },
4289
+ {
4290
+ "from": "VOTING",
4291
+ "to": "VOTING",
4292
+ "eventName": "vote",
4293
+ "guard": {
4294
+ "and": [
4295
+ {
4296
+ "getKey": [
4297
+ {
4298
+ "var": "state.members"
4299
+ },
4300
+ {
4301
+ "var": "event.agent"
4302
+ }
4303
+ ]
4304
+ },
4305
+ {
4306
+ "!": [
4307
+ {
4308
+ "getKey": [
4309
+ {
4310
+ "var": "state.votes"
4311
+ },
4312
+ {
4313
+ "var": "event.agent"
4314
+ }
4315
+ ]
4316
+ }
4317
+ ]
4318
+ }
4319
+ ]
4320
+ },
4321
+ "effect": {
4322
+ "merge": [
4323
+ {
4324
+ "var": "state"
4325
+ },
4326
+ {
4327
+ "votes": {
4328
+ "setKey": [
4329
+ {
4330
+ "var": "state.votes"
4331
+ },
4332
+ {
4333
+ "var": "event.agent"
4334
+ },
4335
+ {
4336
+ "vote": {
4337
+ "var": "event.vote"
4338
+ },
4339
+ "votedAt": {
4340
+ "var": "$timestamp"
4341
+ }
4342
+ }
4343
+ ]
4344
+ }
4345
+ }
4346
+ ]
4347
+ },
4348
+ "dependencies": []
4349
+ },
4350
+ {
4351
+ "from": "VOTING",
4352
+ "to": "ACTIVE",
4353
+ "eventName": "finalize",
4354
+ "guard": {
4355
+ ">=": [
4356
+ {
4357
+ "var": "event.forCount"
4358
+ },
4359
+ {
4360
+ "*": [
4361
+ {
4362
+ "size": {
4363
+ "var": "state.members"
4364
+ }
4365
+ },
4366
+ {
4367
+ "var": "state.passingThreshold"
4368
+ }
4369
+ ]
4370
+ }
4371
+ ]
4372
+ },
4373
+ "effect": {
4374
+ "merge": [
4375
+ {
4376
+ "var": "state"
4377
+ },
4378
+ {
4379
+ "rules": {
4380
+ "merge": [
4381
+ {
4382
+ "var": "state.rules"
4383
+ },
4384
+ {
4385
+ "var": "state.proposal.changes"
4386
+ }
4387
+ ]
4388
+ },
4389
+ "history": {
4390
+ "cat": [
4391
+ {
4392
+ "var": "state.history"
4393
+ },
4394
+ [
4395
+ {
4396
+ "type": "rule_change",
4397
+ "proposal": {
4398
+ "var": "state.proposal"
4399
+ },
4400
+ "outcome": "passed",
4401
+ "finalizedAt": {
4402
+ "var": "$timestamp"
4403
+ }
4404
+ }
4405
+ ]
4406
+ ]
4407
+ },
4408
+ "proposal": null,
4409
+ "votes": {}
4410
+ }
4411
+ ]
4412
+ },
4413
+ "dependencies": []
4414
+ },
4415
+ {
4416
+ "from": "VOTING",
4417
+ "to": "ACTIVE",
4418
+ "eventName": "finalize",
4419
+ "guard": {
4420
+ "<": [
4421
+ {
4422
+ "var": "event.forCount"
4423
+ },
4424
+ {
4425
+ "*": [
4426
+ {
4427
+ "size": {
4428
+ "var": "state.members"
4429
+ }
4430
+ },
4431
+ {
4432
+ "var": "state.passingThreshold"
4433
+ }
4434
+ ]
4435
+ }
4436
+ ]
4437
+ },
4438
+ "effect": {
4439
+ "merge": [
4440
+ {
4441
+ "var": "state"
4442
+ },
4443
+ {
4444
+ "history": {
4445
+ "cat": [
4446
+ {
4447
+ "var": "state.history"
4448
+ },
4449
+ [
4450
+ {
4451
+ "type": "rule_change",
4452
+ "proposal": {
4453
+ "var": "state.proposal"
4454
+ },
4455
+ "outcome": "failed",
4456
+ "finalizedAt": {
4457
+ "var": "$timestamp"
4458
+ }
4459
+ }
4460
+ ]
4461
+ ]
4462
+ },
4463
+ "proposal": null,
4464
+ "votes": {}
4465
+ }
4466
+ ]
4467
+ },
4468
+ "dependencies": []
4469
+ },
4470
+ {
4471
+ "from": "ACTIVE",
4472
+ "to": "DISPUTE",
4473
+ "eventName": "file_dispute",
4474
+ "guard": {
4475
+ "getKey": [
4476
+ {
4477
+ "var": "state.members"
4478
+ },
4479
+ {
4480
+ "var": "event.agent"
4481
+ }
4482
+ ]
4483
+ },
4484
+ "effect": {
4485
+ "merge": [
4486
+ {
4487
+ "var": "state"
4488
+ },
4489
+ {
4490
+ "dispute": {
4491
+ "id": {
4492
+ "var": "event.disputeId"
4493
+ },
4494
+ "plaintiff": {
4495
+ "var": "event.agent"
4496
+ },
4497
+ "defendant": {
4498
+ "var": "event.defendant"
4499
+ },
4500
+ "claim": {
4501
+ "var": "event.claim"
4502
+ },
4503
+ "filedAt": {
4504
+ "var": "$timestamp"
4505
+ },
4506
+ "evidence": []
4507
+ },
4508
+ "votes": {}
4509
+ }
4510
+ ]
4511
+ },
4512
+ "dependencies": []
4513
+ },
4514
+ {
4515
+ "from": "DISPUTE",
4516
+ "to": "DISPUTE",
4517
+ "eventName": "submit_evidence",
4518
+ "guard": {
4519
+ "or": [
4520
+ {
4521
+ "===": [
4522
+ {
4523
+ "var": "event.agent"
4524
+ },
4525
+ {
4526
+ "var": "state.dispute.plaintiff"
4527
+ }
4528
+ ]
4529
+ },
4530
+ {
4531
+ "===": [
4532
+ {
4533
+ "var": "event.agent"
4534
+ },
4535
+ {
4536
+ "var": "state.dispute.defendant"
4537
+ }
4538
+ ]
4539
+ }
4540
+ ]
4541
+ },
4542
+ "effect": {
4543
+ "merge": [
4544
+ {
4545
+ "var": "state"
4546
+ },
4547
+ {
4548
+ "dispute": {
4549
+ "merge": [
4550
+ {
4551
+ "var": "state.dispute"
4552
+ },
4553
+ {
4554
+ "evidence": {
4555
+ "cat": [
4556
+ {
4557
+ "var": "state.dispute.evidence"
4558
+ },
4559
+ [
4560
+ {
4561
+ "from": {
4562
+ "var": "event.agent"
4563
+ },
4564
+ "content": {
4565
+ "var": "event.content"
4566
+ },
4567
+ "at": {
4568
+ "var": "$timestamp"
4569
+ }
4570
+ }
4571
+ ]
4572
+ ]
4573
+ }
4574
+ }
4575
+ ]
4576
+ }
4577
+ }
4578
+ ]
4579
+ },
4580
+ "dependencies": []
4581
+ },
4582
+ {
4583
+ "from": "DISPUTE",
4584
+ "to": "DISPUTE",
4585
+ "eventName": "vote",
4586
+ "guard": {
4587
+ "and": [
4588
+ {
4589
+ "getKey": [
4590
+ {
4591
+ "var": "state.members"
4592
+ },
4593
+ {
4594
+ "var": "event.agent"
4595
+ }
4596
+ ]
4597
+ },
4598
+ {
4599
+ "!==": [
4600
+ {
4601
+ "var": "event.agent"
4602
+ },
4603
+ {
4604
+ "var": "state.dispute.plaintiff"
4605
+ }
4606
+ ]
4607
+ },
4608
+ {
4609
+ "!==": [
4610
+ {
4611
+ "var": "event.agent"
4612
+ },
4613
+ {
4614
+ "var": "state.dispute.defendant"
4615
+ }
4616
+ ]
4617
+ },
4618
+ {
4619
+ "!": [
4620
+ {
4621
+ "getKey": [
4622
+ {
4623
+ "var": "state.votes"
4624
+ },
4625
+ {
4626
+ "var": "event.agent"
4627
+ }
4628
+ ]
4629
+ }
4630
+ ]
4631
+ }
4632
+ ]
4633
+ },
4634
+ "effect": {
4635
+ "merge": [
4636
+ {
4637
+ "var": "state"
4638
+ },
4639
+ {
4640
+ "votes": {
4641
+ "setKey": [
4642
+ {
4643
+ "var": "state.votes"
4644
+ },
4645
+ {
4646
+ "var": "event.agent"
4647
+ },
4648
+ {
4649
+ "ruling": {
4650
+ "var": "event.ruling"
4651
+ },
4652
+ "votedAt": {
4653
+ "var": "$timestamp"
4654
+ }
4655
+ }
4656
+ ]
4657
+ }
4658
+ }
4659
+ ]
4660
+ },
4661
+ "dependencies": []
4662
+ },
4663
+ {
4664
+ "from": "DISPUTE",
4665
+ "to": "ACTIVE",
4666
+ "eventName": "resolve",
4667
+ "guard": {
4668
+ ">=": [
4669
+ {
4670
+ "size": {
4671
+ "var": "state.votes"
4672
+ }
4673
+ },
4674
+ {
4675
+ "var": "state.disputeQuorum"
4676
+ }
4677
+ ]
4678
+ },
4679
+ "effect": {
4680
+ "merge": [
4681
+ {
4682
+ "var": "state"
4683
+ },
4684
+ {
4685
+ "history": {
4686
+ "cat": [
4687
+ {
4688
+ "var": "state.history"
4689
+ },
4690
+ [
4691
+ {
4692
+ "type": "dispute",
4693
+ "dispute": {
4694
+ "var": "state.dispute"
4695
+ },
4696
+ "ruling": {
4697
+ "var": "event.ruling"
4698
+ },
4699
+ "remedy": {
4700
+ "var": "event.remedy"
4701
+ },
4702
+ "resolvedAt": {
4703
+ "var": "$timestamp"
4704
+ }
4705
+ }
4706
+ ]
4707
+ ]
4708
+ },
4709
+ "dispute": null,
4710
+ "votes": {}
4711
+ }
4712
+ ]
4713
+ },
4714
+ "dependencies": []
4715
+ },
4716
+ {
4717
+ "from": "ACTIVE",
4718
+ "to": "DISSOLVED",
4719
+ "eventName": "dissolve",
4720
+ "guard": {
4721
+ ">=": [
4722
+ {
4723
+ "var": "event.approvalCount"
4724
+ },
4725
+ {
4726
+ "*": [
4727
+ {
4728
+ "size": {
4729
+ "var": "state.members"
4730
+ }
4731
+ },
4732
+ 0.9
4733
+ ]
4734
+ }
4735
+ ]
4736
+ },
4737
+ "effect": {
4738
+ "merge": [
4739
+ {
4740
+ "var": "state"
4741
+ },
4742
+ {
4743
+ "dissolvedAt": {
4744
+ "var": "$timestamp"
4745
+ }
4746
+ }
4747
+ ]
4748
+ },
4749
+ "dependencies": []
4750
+ }
4751
+ ]
4752
+ };