@ottochain/sdk 1.6.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/dist/cjs/apps/contracts/index.js +18 -13
  2. package/dist/cjs/apps/contracts/state-machines/index.js +139 -7
  3. package/dist/cjs/apps/corporate/index.js +18 -20
  4. package/dist/cjs/apps/corporate/state-machines/index.js +535 -6336
  5. package/dist/cjs/apps/governance/index.js +32 -31
  6. package/dist/cjs/apps/governance/state-machines/index.js +498 -2315
  7. package/dist/cjs/apps/identity/index.js +15 -7
  8. package/dist/cjs/apps/identity/state-machines/index.js +516 -4
  9. package/dist/cjs/apps/index.js +15 -13
  10. package/dist/cjs/apps/markets/index.js +23 -10
  11. package/dist/cjs/apps/markets/state-machines/index.js +1904 -230
  12. package/dist/esm/apps/contracts/index.js +16 -13
  13. package/dist/esm/apps/contracts/state-machines/index.js +138 -6
  14. package/dist/esm/apps/corporate/index.js +14 -20
  15. package/dist/esm/apps/corporate/state-machines/index.js +534 -6335
  16. package/dist/esm/apps/governance/index.js +26 -30
  17. package/dist/esm/apps/governance/state-machines/index.js +497 -2314
  18. package/dist/esm/apps/identity/index.js +13 -7
  19. package/dist/esm/apps/identity/state-machines/index.js +515 -3
  20. package/dist/esm/apps/index.js +14 -12
  21. package/dist/esm/apps/markets/index.js +19 -10
  22. package/dist/esm/apps/markets/state-machines/index.js +1903 -229
  23. package/dist/types/apps/contracts/index.d.ts +661 -9
  24. package/dist/types/apps/contracts/state-machines/index.d.ts +109 -6
  25. package/dist/types/apps/corporate/index.d.ts +4015 -7
  26. package/dist/types/apps/corporate/state-machines/index.d.ts +472 -5587
  27. package/dist/types/apps/governance/index.d.ts +2151 -12
  28. package/dist/types/apps/governance/state-machines/index.d.ts +462 -1875
  29. package/dist/types/apps/identity/index.d.ts +601 -4
  30. package/dist/types/apps/identity/state-machines/index.d.ts +393 -3
  31. package/dist/types/apps/index.d.ts +14 -12
  32. package/dist/types/apps/markets/index.d.ts +1690 -7
  33. package/dist/types/apps/markets/state-machines/index.d.ts +1416 -184
  34. package/package.json +1 -1
  35. package/dist/cjs/apps/oracles/index.js +0 -59
  36. package/dist/cjs/apps/oracles/state-machines/index.js +0 -415
  37. package/dist/esm/apps/oracles/index.js +0 -42
  38. package/dist/esm/apps/oracles/state-machines/index.js +0 -412
  39. package/dist/types/apps/oracles/index.d.ts +0 -34
  40. package/dist/types/apps/oracles/state-machines/index.d.ts +0 -312
@@ -4,7 +4,7 @@
4
4
  * DO NOT EDIT - regenerate with: npm run prebuild
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.govSimpleDef = exports.govLegislatureDef = exports.govJudiciaryDef = exports.govExecutiveDef = exports.govConstitutionDef = exports.daoTokenDef = exports.daoThresholdDef = exports.daoSingleDef = exports.daoMultisigDef = void 0;
7
+ exports.govUniversalDef = exports.govSimpleDef = exports.daoTokenDef = exports.daoSingleDef = exports.daoReputationDef = exports.daoMultisigDef = void 0;
8
8
  exports.daoMultisigDef = {
9
9
  "metadata": {
10
10
  "name": "MultisigDAO",
@@ -672,240 +672,10 @@ exports.daoMultisigDef = {
672
672
  "Escrow": "controlled release"
673
673
  }
674
674
  };
675
- exports.daoSingleDef = {
676
- "metadata": {
677
- "name": "SingleOwnerDAO",
678
- "description": "Single owner controls all actions. Simplest governance model.",
679
- "version": "1.0.0",
680
- "category": "governance/dao"
681
- },
682
- "states": {
683
- "ACTIVE": {
684
- "id": "ACTIVE",
685
- "isFinal": false,
686
- "metadata": null
687
- },
688
- "TRANSFERRING": {
689
- "id": "TRANSFERRING",
690
- "isFinal": false,
691
- "metadata": null
692
- },
693
- "DISSOLVED": {
694
- "id": "DISSOLVED",
695
- "isFinal": true,
696
- "metadata": null
697
- }
698
- },
699
- "initialState": "ACTIVE",
700
- "transitions": [
701
- {
702
- "from": "ACTIVE",
703
- "to": "ACTIVE",
704
- "eventName": "execute",
705
- "guard": {
706
- "===": [
707
- {
708
- "var": "event.agent"
709
- },
710
- {
711
- "var": "state.owner"
712
- }
713
- ]
714
- },
715
- "effect": {
716
- "merge": [
717
- {
718
- "var": "state"
719
- },
720
- {
721
- "actions": {
722
- "cat": [
723
- {
724
- "var": "state.actions"
725
- },
726
- [
727
- {
728
- "id": {
729
- "var": "event.actionId"
730
- },
731
- "type": {
732
- "var": "event.actionType"
733
- },
734
- "payload": {
735
- "var": "event.payload"
736
- },
737
- "executedAt": {
738
- "var": "$timestamp"
739
- }
740
- }
741
- ]
742
- ]
743
- }
744
- }
745
- ]
746
- },
747
- "emits": [
748
- {
749
- "event": "action_executed",
750
- "to": "external"
751
- }
752
- ],
753
- "dependencies": []
754
- },
755
- {
756
- "from": "ACTIVE",
757
- "to": "TRANSFERRING",
758
- "eventName": "transfer_ownership",
759
- "guard": {
760
- "===": [
761
- {
762
- "var": "event.agent"
763
- },
764
- {
765
- "var": "state.owner"
766
- }
767
- ]
768
- },
769
- "effect": {
770
- "merge": [
771
- {
772
- "var": "state"
773
- },
774
- {
775
- "pendingOwner": {
776
- "var": "event.newOwner"
777
- },
778
- "transferInitiatedAt": {
779
- "var": "$timestamp"
780
- }
781
- }
782
- ]
783
- },
784
- "dependencies": []
785
- },
786
- {
787
- "from": "TRANSFERRING",
788
- "to": "ACTIVE",
789
- "eventName": "accept_ownership",
790
- "guard": {
791
- "===": [
792
- {
793
- "var": "event.agent"
794
- },
795
- {
796
- "var": "state.pendingOwner"
797
- }
798
- ]
799
- },
800
- "effect": {
801
- "merge": [
802
- {
803
- "var": "state"
804
- },
805
- {
806
- "owner": {
807
- "var": "state.pendingOwner"
808
- },
809
- "pendingOwner": null,
810
- "transferInitiatedAt": null,
811
- "ownershipHistory": {
812
- "cat": [
813
- {
814
- "var": "state.ownershipHistory"
815
- },
816
- [
817
- {
818
- "from": {
819
- "var": "state.owner"
820
- },
821
- "to": {
822
- "var": "state.pendingOwner"
823
- },
824
- "at": {
825
- "var": "$timestamp"
826
- }
827
- }
828
- ]
829
- ]
830
- }
831
- }
832
- ]
833
- },
834
- "emits": [
835
- {
836
- "event": "ownership_transferred",
837
- "to": "Identity"
838
- }
839
- ],
840
- "dependencies": []
841
- },
842
- {
843
- "from": "TRANSFERRING",
844
- "to": "ACTIVE",
845
- "eventName": "cancel_transfer",
846
- "guard": {
847
- "===": [
848
- {
849
- "var": "event.agent"
850
- },
851
- {
852
- "var": "state.owner"
853
- }
854
- ]
855
- },
856
- "effect": {
857
- "merge": [
858
- {
859
- "var": "state"
860
- },
861
- {
862
- "pendingOwner": null,
863
- "transferInitiatedAt": null
864
- }
865
- ]
866
- },
867
- "dependencies": []
868
- },
869
- {
870
- "from": "ACTIVE",
871
- "to": "DISSOLVED",
872
- "eventName": "dissolve",
873
- "guard": {
874
- "===": [
875
- {
876
- "var": "event.agent"
877
- },
878
- {
879
- "var": "state.owner"
880
- }
881
- ]
882
- },
883
- "effect": {
884
- "merge": [
885
- {
886
- "var": "state"
887
- },
888
- {
889
- "dissolvedAt": {
890
- "var": "$timestamp"
891
- },
892
- "status": "DISSOLVED"
893
- }
894
- ]
895
- },
896
- "dependencies": []
897
- }
898
- ],
899
- "crossReferences": {
900
- "Identity": "owner registration",
901
- "Contract": "action execution targets",
902
- "Treasury": "fund management"
903
- }
904
- };
905
- exports.daoThresholdDef = {
675
+ exports.daoReputationDef = {
906
676
  "metadata": {
907
- "name": "ThresholdDAO",
908
- "description": "Reputation-threshold governance. Minimum reputation required for participation.",
677
+ "name": "DAOReputation",
678
+ "description": "Reputation-based governance. Minimum reputation required for participation.",
909
679
  "version": "1.0.0",
910
680
  "category": "governance/dao"
911
681
  },
@@ -1526,10 +1296,10 @@ exports.daoThresholdDef = {
1526
1296
  "Contract": "action execution"
1527
1297
  }
1528
1298
  };
1529
- exports.daoTokenDef = {
1299
+ exports.daoSingleDef = {
1530
1300
  "metadata": {
1531
- "name": "TokenDAO",
1532
- "description": "Token-weighted voting. Voting power proportional to token holdings.",
1301
+ "name": "SingleOwnerDAO",
1302
+ "description": "Single owner controls all actions. Simplest governance model.",
1533
1303
  "version": "1.0.0",
1534
1304
  "category": "governance/dao"
1535
1305
  },
@@ -1539,13 +1309,8 @@ exports.daoTokenDef = {
1539
1309
  "isFinal": false,
1540
1310
  "metadata": null
1541
1311
  },
1542
- "VOTING": {
1543
- "id": "VOTING",
1544
- "isFinal": false,
1545
- "metadata": null
1546
- },
1547
- "QUEUED": {
1548
- "id": "QUEUED",
1312
+ "TRANSFERRING": {
1313
+ "id": "TRANSFERRING",
1549
1314
  "isFinal": false,
1550
1315
  "metadata": null
1551
1316
  },
@@ -1559,16 +1324,251 @@ exports.daoTokenDef = {
1559
1324
  "transitions": [
1560
1325
  {
1561
1326
  "from": "ACTIVE",
1562
- "to": "VOTING",
1563
- "eventName": "propose",
1327
+ "to": "ACTIVE",
1328
+ "eventName": "execute",
1564
1329
  "guard": {
1565
- ">=": [
1330
+ "===": [
1566
1331
  {
1567
- "getKey": [
1568
- {
1569
- "var": "state.balances"
1570
- },
1571
- {
1332
+ "var": "event.agent"
1333
+ },
1334
+ {
1335
+ "var": "state.owner"
1336
+ }
1337
+ ]
1338
+ },
1339
+ "effect": {
1340
+ "merge": [
1341
+ {
1342
+ "var": "state"
1343
+ },
1344
+ {
1345
+ "actions": {
1346
+ "cat": [
1347
+ {
1348
+ "var": "state.actions"
1349
+ },
1350
+ [
1351
+ {
1352
+ "id": {
1353
+ "var": "event.actionId"
1354
+ },
1355
+ "type": {
1356
+ "var": "event.actionType"
1357
+ },
1358
+ "payload": {
1359
+ "var": "event.payload"
1360
+ },
1361
+ "executedAt": {
1362
+ "var": "$timestamp"
1363
+ }
1364
+ }
1365
+ ]
1366
+ ]
1367
+ }
1368
+ }
1369
+ ]
1370
+ },
1371
+ "emits": [
1372
+ {
1373
+ "event": "action_executed",
1374
+ "to": "external"
1375
+ }
1376
+ ],
1377
+ "dependencies": []
1378
+ },
1379
+ {
1380
+ "from": "ACTIVE",
1381
+ "to": "TRANSFERRING",
1382
+ "eventName": "transfer_ownership",
1383
+ "guard": {
1384
+ "===": [
1385
+ {
1386
+ "var": "event.agent"
1387
+ },
1388
+ {
1389
+ "var": "state.owner"
1390
+ }
1391
+ ]
1392
+ },
1393
+ "effect": {
1394
+ "merge": [
1395
+ {
1396
+ "var": "state"
1397
+ },
1398
+ {
1399
+ "pendingOwner": {
1400
+ "var": "event.newOwner"
1401
+ },
1402
+ "transferInitiatedAt": {
1403
+ "var": "$timestamp"
1404
+ }
1405
+ }
1406
+ ]
1407
+ },
1408
+ "dependencies": []
1409
+ },
1410
+ {
1411
+ "from": "TRANSFERRING",
1412
+ "to": "ACTIVE",
1413
+ "eventName": "accept_ownership",
1414
+ "guard": {
1415
+ "===": [
1416
+ {
1417
+ "var": "event.agent"
1418
+ },
1419
+ {
1420
+ "var": "state.pendingOwner"
1421
+ }
1422
+ ]
1423
+ },
1424
+ "effect": {
1425
+ "merge": [
1426
+ {
1427
+ "var": "state"
1428
+ },
1429
+ {
1430
+ "owner": {
1431
+ "var": "state.pendingOwner"
1432
+ },
1433
+ "pendingOwner": null,
1434
+ "transferInitiatedAt": null,
1435
+ "ownershipHistory": {
1436
+ "cat": [
1437
+ {
1438
+ "var": "state.ownershipHistory"
1439
+ },
1440
+ [
1441
+ {
1442
+ "from": {
1443
+ "var": "state.owner"
1444
+ },
1445
+ "to": {
1446
+ "var": "state.pendingOwner"
1447
+ },
1448
+ "at": {
1449
+ "var": "$timestamp"
1450
+ }
1451
+ }
1452
+ ]
1453
+ ]
1454
+ }
1455
+ }
1456
+ ]
1457
+ },
1458
+ "emits": [
1459
+ {
1460
+ "event": "ownership_transferred",
1461
+ "to": "Identity"
1462
+ }
1463
+ ],
1464
+ "dependencies": []
1465
+ },
1466
+ {
1467
+ "from": "TRANSFERRING",
1468
+ "to": "ACTIVE",
1469
+ "eventName": "cancel_transfer",
1470
+ "guard": {
1471
+ "===": [
1472
+ {
1473
+ "var": "event.agent"
1474
+ },
1475
+ {
1476
+ "var": "state.owner"
1477
+ }
1478
+ ]
1479
+ },
1480
+ "effect": {
1481
+ "merge": [
1482
+ {
1483
+ "var": "state"
1484
+ },
1485
+ {
1486
+ "pendingOwner": null,
1487
+ "transferInitiatedAt": null
1488
+ }
1489
+ ]
1490
+ },
1491
+ "dependencies": []
1492
+ },
1493
+ {
1494
+ "from": "ACTIVE",
1495
+ "to": "DISSOLVED",
1496
+ "eventName": "dissolve",
1497
+ "guard": {
1498
+ "===": [
1499
+ {
1500
+ "var": "event.agent"
1501
+ },
1502
+ {
1503
+ "var": "state.owner"
1504
+ }
1505
+ ]
1506
+ },
1507
+ "effect": {
1508
+ "merge": [
1509
+ {
1510
+ "var": "state"
1511
+ },
1512
+ {
1513
+ "dissolvedAt": {
1514
+ "var": "$timestamp"
1515
+ },
1516
+ "status": "DISSOLVED"
1517
+ }
1518
+ ]
1519
+ },
1520
+ "dependencies": []
1521
+ }
1522
+ ],
1523
+ "crossReferences": {
1524
+ "Identity": "owner registration",
1525
+ "Contract": "action execution targets",
1526
+ "Treasury": "fund management"
1527
+ }
1528
+ };
1529
+ exports.daoTokenDef = {
1530
+ "metadata": {
1531
+ "name": "TokenDAO",
1532
+ "description": "Token-weighted voting. Voting power proportional to token holdings.",
1533
+ "version": "1.0.0",
1534
+ "category": "governance/dao"
1535
+ },
1536
+ "states": {
1537
+ "ACTIVE": {
1538
+ "id": "ACTIVE",
1539
+ "isFinal": false,
1540
+ "metadata": null
1541
+ },
1542
+ "VOTING": {
1543
+ "id": "VOTING",
1544
+ "isFinal": false,
1545
+ "metadata": null
1546
+ },
1547
+ "QUEUED": {
1548
+ "id": "QUEUED",
1549
+ "isFinal": false,
1550
+ "metadata": null
1551
+ },
1552
+ "DISSOLVED": {
1553
+ "id": "DISSOLVED",
1554
+ "isFinal": true,
1555
+ "metadata": null
1556
+ }
1557
+ },
1558
+ "initialState": "ACTIVE",
1559
+ "transitions": [
1560
+ {
1561
+ "from": "ACTIVE",
1562
+ "to": "VOTING",
1563
+ "eventName": "propose",
1564
+ "guard": {
1565
+ ">=": [
1566
+ {
1567
+ "getKey": [
1568
+ {
1569
+ "var": "state.balances"
1570
+ },
1571
+ {
1572
1572
  "var": "event.agent"
1573
1573
  }
1574
1574
  ]
@@ -1980,1950 +1980,16 @@ exports.daoTokenDef = {
1980
1980
  "var": "state.votes.against"
1981
1981
  },
1982
1982
  {
1983
- "var": "state.votes.abstain"
1984
- }
1985
- ]
1986
- },
1987
- {
1988
- "var": "state.quorum"
1989
- }
1990
- ]
1991
- }
1992
- ]
1993
- }
1994
- ]
1995
- },
1996
- "effect": {
1997
- "merge": [
1998
- {
1999
- "var": "state"
2000
- },
2001
- {
2002
- "rejectedProposals": {
2003
- "cat": [
2004
- {
2005
- "var": "state.rejectedProposals"
2006
- },
2007
- [
2008
- {
2009
- "merge": [
2010
- {
2011
- "var": "state.proposal"
2012
- },
2013
- {
2014
- "votes": {
2015
- "var": "state.votes"
2016
- },
2017
- "rejectedAt": {
2018
- "var": "$timestamp"
2019
- }
2020
- }
2021
- ]
2022
- }
2023
- ]
2024
- ]
2025
- },
2026
- "proposal": null,
2027
- "votes": null
2028
- }
2029
- ]
2030
- },
2031
- "dependencies": []
2032
- },
2033
- {
2034
- "from": "QUEUED",
2035
- "to": "ACTIVE",
2036
- "eventName": "cancel",
2037
- "guard": {
2038
- "===": [
2039
- {
2040
- "var": "event.agent"
2041
- },
2042
- {
2043
- "var": "state.proposal.proposer"
2044
- }
2045
- ]
2046
- },
2047
- "effect": {
2048
- "merge": [
2049
- {
2050
- "var": "state"
2051
- },
2052
- {
2053
- "cancelledProposals": {
2054
- "cat": [
2055
- {
2056
- "var": "state.cancelledProposals"
2057
- },
2058
- [
2059
- {
2060
- "merge": [
2061
- {
2062
- "var": "state.proposal"
2063
- },
2064
- {
2065
- "cancelledAt": {
2066
- "var": "$timestamp"
2067
- }
2068
- }
2069
- ]
2070
- }
2071
- ]
2072
- ]
2073
- },
2074
- "proposal": null,
2075
- "votes": null
2076
- }
2077
- ]
2078
- },
2079
- "dependencies": []
2080
- },
2081
- {
2082
- "from": "ACTIVE",
2083
- "to": "ACTIVE",
2084
- "eventName": "delegate",
2085
- "guard": {
2086
- ">": [
2087
- {
2088
- "getKey": [
2089
- {
2090
- "var": "state.balances"
2091
- },
2092
- {
2093
- "var": "event.agent"
2094
- }
2095
- ]
2096
- },
2097
- 0
2098
- ]
2099
- },
2100
- "effect": {
2101
- "merge": [
2102
- {
2103
- "var": "state"
2104
- },
2105
- {
2106
- "delegations": {
2107
- "setKey": [
2108
- {
2109
- "var": "state.delegations"
2110
- },
2111
- {
2112
- "var": "event.agent"
2113
- },
2114
- {
2115
- "var": "event.delegateTo"
2116
- }
2117
- ]
2118
- }
2119
- }
2120
- ]
2121
- },
2122
- "dependencies": []
2123
- },
2124
- {
2125
- "from": "ACTIVE",
2126
- "to": "ACTIVE",
2127
- "eventName": "undelegate",
2128
- "guard": {
2129
- "getKey": [
2130
- {
2131
- "var": "state.delegations"
2132
- },
2133
- {
2134
- "var": "event.agent"
2135
- }
2136
- ]
2137
- },
2138
- "effect": {
2139
- "merge": [
2140
- {
2141
- "var": "state"
2142
- },
2143
- {
2144
- "delegations": {
2145
- "deleteKey": [
2146
- {
2147
- "var": "state.delegations"
2148
- },
2149
- {
2150
- "var": "event.agent"
2151
- }
2152
- ]
2153
- }
2154
- }
2155
- ]
2156
- },
2157
- "dependencies": []
2158
- }
2159
- ],
2160
- "crossReferences": {
2161
- "Identity": "voter verification",
2162
- "Token": "balance snapshots",
2163
- "Contract": "action execution",
2164
- "Treasury": "fund management"
2165
- }
2166
- };
2167
- exports.govConstitutionDef = {
2168
- "metadata": {
2169
- "name": "Constitution",
2170
- "description": "Foundational charter that defines governance structure, branch powers, and amendment rules",
2171
- "version": "1.0.0"
2172
- },
2173
- "states": {
2174
- "DRAFT": {
2175
- "id": "DRAFT",
2176
- "isFinal": false,
2177
- "metadata": null
2178
- },
2179
- "RATIFIED": {
2180
- "id": "RATIFIED",
2181
- "isFinal": false,
2182
- "metadata": null
2183
- },
2184
- "AMENDING": {
2185
- "id": "AMENDING",
2186
- "isFinal": false,
2187
- "metadata": null
2188
- },
2189
- "SUSPENDED": {
2190
- "id": "SUSPENDED",
2191
- "isFinal": false,
2192
- "metadata": null
2193
- },
2194
- "DISSOLVED": {
2195
- "id": "DISSOLVED",
2196
- "isFinal": true,
2197
- "metadata": null
2198
- }
2199
- },
2200
- "initialState": "DRAFT",
2201
- "transitions": [
2202
- {
2203
- "from": "DRAFT",
2204
- "to": "RATIFIED",
2205
- "eventName": "ratify",
2206
- "guard": {
2207
- ">=": [
2208
- {
2209
- "size": {
2210
- "var": "state.ratifications"
2211
- }
2212
- },
2213
- {
2214
- "var": "state.ratificationThreshold"
2215
- }
2216
- ]
2217
- },
2218
- "effect": {
2219
- "merge": [
2220
- {
2221
- "var": "state"
2222
- },
2223
- {
2224
- "status": "RATIFIED",
2225
- "ratifiedAt": {
2226
- "var": "$timestamp"
2227
- }
2228
- }
2229
- ]
2230
- },
2231
- "dependencies": []
2232
- },
2233
- {
2234
- "from": "DRAFT",
2235
- "to": "DRAFT",
2236
- "eventName": "sign",
2237
- "guard": {
2238
- "and": [
2239
- {
2240
- "in": [
2241
- {
2242
- "var": "event.agent"
2243
- },
2244
- {
2245
- "var": "state.founders"
2246
- }
2247
- ]
2248
- },
2249
- {
2250
- "!": [
2251
- {
2252
- "in": [
2253
- {
2254
- "var": "event.agent"
2255
- },
2256
- {
2257
- "var": "state.ratifications"
2258
- }
2259
- ]
2260
- }
2261
- ]
2262
- }
2263
- ]
2264
- },
2265
- "effect": {
2266
- "merge": [
2267
- {
2268
- "var": "state"
2269
- },
2270
- {
2271
- "ratifications": {
2272
- "cat": [
2273
- {
2274
- "var": "state.ratifications"
2275
- },
2276
- [
2277
- {
2278
- "var": "event.agent"
2279
- }
2280
- ]
2281
- ]
2282
- }
2283
- }
2284
- ]
2285
- },
2286
- "dependencies": []
2287
- },
2288
- {
2289
- "from": "RATIFIED",
2290
- "to": "AMENDING",
2291
- "eventName": "propose_amendment",
2292
- "guard": {
2293
- "or": [
2294
- {
2295
- "in": [
2296
- {
2297
- "var": "event.agent"
2298
- },
2299
- {
2300
- "var": "state.branches.legislature.members"
2301
- }
2302
- ]
2303
- },
2304
- {
2305
- ">=": [
2306
- {
2307
- "var": "event.petitionSignatures"
2308
- },
2309
- {
2310
- "var": "state.amendmentPetitionThreshold"
2311
- }
2312
- ]
2313
- }
2314
- ]
2315
- },
2316
- "effect": {
2317
- "merge": [
2318
- {
2319
- "var": "state"
2320
- },
2321
- {
2322
- "status": "AMENDING",
2323
- "pendingAmendment": {
2324
- "id": {
2325
- "var": "event.amendmentId"
2326
- },
2327
- "proposer": {
2328
- "var": "event.agent"
2329
- },
2330
- "changes": {
2331
- "var": "event.changes"
2332
- },
2333
- "proposedAt": {
2334
- "var": "$timestamp"
2335
- },
2336
- "votes": {}
2337
- }
2338
- }
2339
- ]
2340
- },
2341
- "dependencies": []
2342
- },
2343
- {
2344
- "from": "AMENDING",
2345
- "to": "RATIFIED",
2346
- "eventName": "ratify_amendment",
2347
- "guard": {
2348
- ">=": [
2349
- {
2350
- "var": "state.pendingAmendment.approvalCount"
2351
- },
2352
- {
2353
- "var": "state.amendmentThreshold"
2354
- }
2355
- ]
2356
- },
2357
- "effect": {
2358
- "merge": [
2359
- {
2360
- "var": "state"
2361
- },
2362
- {
2363
- "status": "RATIFIED",
2364
- "amendments": {
2365
- "cat": [
2366
- {
2367
- "var": "state.amendments"
2368
- },
2369
- [
2370
- {
2371
- "id": {
2372
- "var": "state.pendingAmendment.id"
2373
- },
2374
- "changes": {
2375
- "var": "state.pendingAmendment.changes"
2376
- },
2377
- "ratifiedAt": {
2378
- "var": "$timestamp"
2379
- }
2380
- }
2381
- ]
2382
- ]
2383
- },
2384
- "pendingAmendment": null
2385
- }
2386
- ]
2387
- },
2388
- "dependencies": []
2389
- },
2390
- {
2391
- "from": "AMENDING",
2392
- "to": "RATIFIED",
2393
- "eventName": "reject_amendment",
2394
- "guard": {
2395
- "var": "state.pendingAmendment.rejected"
2396
- },
2397
- "effect": {
2398
- "merge": [
2399
- {
2400
- "var": "state"
2401
- },
2402
- {
2403
- "status": "RATIFIED",
2404
- "failedAmendments": {
2405
- "cat": [
2406
- {
2407
- "var": "state.failedAmendments"
2408
- },
2409
- [
2410
- {
2411
- "var": "state.pendingAmendment"
2412
- }
2413
- ]
2414
- ]
2415
- },
2416
- "pendingAmendment": null
2417
- }
2418
- ]
2419
- },
2420
- "dependencies": []
2421
- },
2422
- {
2423
- "from": "RATIFIED",
2424
- "to": "SUSPENDED",
2425
- "eventName": "suspend",
2426
- "guard": {
2427
- "and": [
2428
- {
2429
- "in": [
2430
- {
2431
- "var": "event.agent"
2432
- },
2433
- {
2434
- "var": "state.emergencyCouncil"
2435
- }
2436
- ]
2437
- },
2438
- {
2439
- "var": "event.reason"
2440
- }
2441
- ]
2442
- },
2443
- "effect": {
2444
- "merge": [
2445
- {
2446
- "var": "state"
2447
- },
2448
- {
2449
- "status": "SUSPENDED",
2450
- "suspendedBy": {
2451
- "var": "event.agent"
2452
- },
2453
- "suspensionReason": {
2454
- "var": "event.reason"
2455
- },
2456
- "suspendedAt": {
2457
- "var": "$timestamp"
2458
- }
2459
- }
2460
- ]
2461
- },
2462
- "dependencies": []
2463
- },
2464
- {
2465
- "from": "SUSPENDED",
2466
- "to": "RATIFIED",
2467
- "eventName": "restore",
2468
- "guard": {
2469
- ">=": [
2470
- {
2471
- "var": "event.restorationVotes"
2472
- },
2473
- {
2474
- "var": "state.restorationThreshold"
2475
- }
2476
- ]
2477
- },
2478
- "effect": {
2479
- "merge": [
2480
- {
2481
- "var": "state"
2482
- },
2483
- {
2484
- "status": "RATIFIED",
2485
- "restoredAt": {
2486
- "var": "$timestamp"
2487
- }
2488
- }
2489
- ]
2490
- },
2491
- "dependencies": []
2492
- },
2493
- {
2494
- "from": "RATIFIED",
2495
- "to": "DISSOLVED",
2496
- "eventName": "dissolve",
2497
- "guard": {
2498
- ">=": [
2499
- {
2500
- "var": "event.dissolutionVotes"
2501
- },
2502
- {
2503
- "var": "state.dissolutionThreshold"
2504
- }
2505
- ]
2506
- },
2507
- "effect": {
2508
- "merge": [
2509
- {
2510
- "var": "state"
2511
- },
2512
- {
2513
- "status": "DISSOLVED",
2514
- "dissolvedAt": {
2515
- "var": "$timestamp"
2516
- }
2517
- }
2518
- ]
2519
- },
2520
- "dependencies": []
2521
- }
2522
- ]
2523
- };
2524
- exports.govExecutiveDef = {
2525
- "metadata": {
2526
- "name": "Executive",
2527
- "description": "Execution branch - implements mandates, manages operations, reports outcomes",
2528
- "version": "1.0.0"
2529
- },
2530
- "states": {
2531
- "RECEIVED": {
2532
- "id": "RECEIVED",
2533
- "isFinal": false,
2534
- "metadata": null
2535
- },
2536
- "PLANNING": {
2537
- "id": "PLANNING",
2538
- "isFinal": false,
2539
- "metadata": null
2540
- },
2541
- "EXECUTING": {
2542
- "id": "EXECUTING",
2543
- "isFinal": false,
2544
- "metadata": null
2545
- },
2546
- "PAUSED": {
2547
- "id": "PAUSED",
2548
- "isFinal": false,
2549
- "metadata": null
2550
- },
2551
- "COMPLETED": {
2552
- "id": "COMPLETED",
2553
- "isFinal": true,
2554
- "metadata": null
2555
- },
2556
- "FAILED": {
2557
- "id": "FAILED",
2558
- "isFinal": true,
2559
- "metadata": null
2560
- },
2561
- "BLOCKED": {
2562
- "id": "BLOCKED",
2563
- "isFinal": true,
2564
- "metadata": null
2565
- },
2566
- "VETOED": {
2567
- "id": "VETOED",
2568
- "isFinal": true,
2569
- "metadata": null
2570
- }
2571
- },
2572
- "initialState": "RECEIVED",
2573
- "transitions": [
2574
- {
2575
- "from": "RECEIVED",
2576
- "to": "PLANNING",
2577
- "eventName": "accept",
2578
- "guard": {
2579
- "in": [
2580
- {
2581
- "var": "event.agent"
2582
- },
2583
- {
2584
- "var": "state.executors"
2585
- }
2586
- ]
2587
- },
2588
- "effect": {
2589
- "merge": [
2590
- {
2591
- "var": "state"
2592
- },
2593
- {
2594
- "status": "PLANNING",
2595
- "acceptedBy": {
2596
- "var": "event.agent"
2597
- },
2598
- "acceptedAt": {
2599
- "var": "$timestamp"
2600
- },
2601
- "plan": {
2602
- "var": "event.plan"
2603
- }
2604
- }
2605
- ]
2606
- },
2607
- "dependencies": []
2608
- },
2609
- {
2610
- "from": "RECEIVED",
2611
- "to": "VETOED",
2612
- "eventName": "veto",
2613
- "guard": {
2614
- "and": [
2615
- {
2616
- "var": "state.config.executiveVeto"
2617
- },
2618
- {
2619
- "===": [
2620
- {
2621
- "var": "event.agent"
2622
- },
2623
- {
2624
- "var": "state.executiveHead"
2625
- }
2626
- ]
2627
- }
2628
- ]
2629
- },
2630
- "effect": {
2631
- "merge": [
2632
- {
2633
- "var": "state"
2634
- },
2635
- {
2636
- "status": "VETOED",
2637
- "vetoedBy": {
2638
- "var": "event.agent"
2639
- },
2640
- "vetoReason": {
2641
- "var": "event.reason"
2642
- },
2643
- "vetoedAt": {
2644
- "var": "$timestamp"
2645
- }
2646
- }
2647
- ]
2648
- },
2649
- "dependencies": []
2650
- },
2651
- {
2652
- "from": "PLANNING",
2653
- "to": "EXECUTING",
2654
- "eventName": "begin",
2655
- "guard": {
2656
- "in": [
2657
- {
2658
- "var": "event.agent"
2659
- },
2660
- {
2661
- "var": "state.executors"
2662
- }
2663
- ]
2664
- },
2665
- "effect": {
2666
- "merge": [
2667
- {
2668
- "var": "state"
2669
- },
2670
- {
2671
- "status": "EXECUTING",
2672
- "executionStartedAt": {
2673
- "var": "$timestamp"
2674
- },
2675
- "milestones": []
2676
- }
2677
- ]
2678
- },
2679
- "dependencies": []
2680
- },
2681
- {
2682
- "from": "EXECUTING",
2683
- "to": "EXECUTING",
2684
- "eventName": "report_progress",
2685
- "guard": {
2686
- "in": [
2687
- {
2688
- "var": "event.agent"
2689
- },
2690
- {
2691
- "var": "state.executors"
2692
- }
2693
- ]
2694
- },
2695
- "effect": {
2696
- "merge": [
2697
- {
2698
- "var": "state"
2699
- },
2700
- {
2701
- "milestones": {
2702
- "cat": [
2703
- {
2704
- "var": "state.milestones"
2705
- },
2706
- [
2707
- {
2708
- "description": {
2709
- "var": "event.description"
2710
- },
2711
- "completedAt": {
2712
- "var": "$timestamp"
2713
- },
2714
- "evidence": {
2715
- "var": "event.evidence"
2716
- }
2717
- }
2718
- ]
2719
- ]
2720
- },
2721
- "lastProgressAt": {
2722
- "var": "$timestamp"
2723
- }
2724
- }
2725
- ]
2726
- },
2727
- "dependencies": []
2728
- },
2729
- {
2730
- "from": "EXECUTING",
2731
- "to": "PAUSED",
2732
- "eventName": "pause",
2733
- "guard": {
2734
- "or": [
2735
- {
2736
- "in": [
2737
- {
2738
- "var": "event.agent"
2739
- },
2740
- {
2741
- "var": "state.executors"
2742
- }
2743
- ]
2744
- },
2745
- {
2746
- "var": "event.judicialOrder"
2747
- }
2748
- ]
2749
- },
2750
- "effect": {
2751
- "merge": [
2752
- {
2753
- "var": "state"
2754
- },
2755
- {
2756
- "status": "PAUSED",
2757
- "pausedBy": {
2758
- "var": "event.agent"
2759
- },
2760
- "pauseReason": {
2761
- "var": "event.reason"
2762
- },
2763
- "pausedAt": {
2764
- "var": "$timestamp"
2765
- },
2766
- "judicialHold": {
2767
- "var": "event.judicialOrder"
2768
- }
2769
- }
2770
- ]
2771
- },
2772
- "dependencies": []
2773
- },
2774
- {
2775
- "from": "PAUSED",
2776
- "to": "EXECUTING",
2777
- "eventName": "resume",
2778
- "guard": {
2779
- "and": [
2780
- {
2781
- "in": [
2782
- {
2783
- "var": "event.agent"
2784
- },
2785
- {
2786
- "var": "state.executors"
2787
- }
2788
- ]
2789
- },
2790
- {
2791
- "!": [
2792
- {
2793
- "var": "state.judicialHold"
2794
- }
2795
- ]
2796
- }
2797
- ]
2798
- },
2799
- "effect": {
2800
- "merge": [
2801
- {
2802
- "var": "state"
2803
- },
2804
- {
2805
- "status": "EXECUTING",
2806
- "resumedAt": {
2807
- "var": "$timestamp"
2808
- }
2809
- }
2810
- ]
2811
- },
2812
- "dependencies": []
2813
- },
2814
- {
2815
- "from": "PAUSED",
2816
- "to": "BLOCKED",
2817
- "eventName": "block",
2818
- "guard": {
2819
- "var": "event.judicialRuling"
2820
- },
2821
- "effect": {
2822
- "merge": [
2823
- {
2824
- "var": "state"
2825
- },
2826
- {
2827
- "status": "BLOCKED",
2828
- "blockedBy": {
2829
- "var": "event.agent"
2830
- },
2831
- "rulingId": {
2832
- "var": "event.rulingId"
2833
- },
2834
- "blockedAt": {
2835
- "var": "$timestamp"
2836
- }
2837
- }
2838
- ]
2839
- },
2840
- "dependencies": []
2841
- },
2842
- {
2843
- "from": "EXECUTING",
2844
- "to": "COMPLETED",
2845
- "eventName": "complete",
2846
- "guard": {
2847
- "in": [
2848
- {
2849
- "var": "event.agent"
2850
- },
2851
- {
2852
- "var": "state.executors"
2853
- }
2854
- ]
2855
- },
2856
- "effect": {
2857
- "merge": [
2858
- {
2859
- "var": "state"
2860
- },
2861
- {
2862
- "status": "COMPLETED",
2863
- "completedAt": {
2864
- "var": "$timestamp"
2865
- },
2866
- "outcome": {
2867
- "var": "event.outcome"
2868
- },
2869
- "finalReport": {
2870
- "var": "event.report"
2871
- }
2872
- }
2873
- ]
2874
- },
2875
- "dependencies": []
2876
- },
2877
- {
2878
- "from": "EXECUTING",
2879
- "to": "FAILED",
2880
- "eventName": "fail",
2881
- "guard": {
2882
- "in": [
2883
- {
2884
- "var": "event.agent"
2885
- },
2886
- {
2887
- "var": "state.executors"
2888
- }
2889
- ]
2890
- },
2891
- "effect": {
2892
- "merge": [
2893
- {
2894
- "var": "state"
2895
- },
2896
- {
2897
- "status": "FAILED",
2898
- "failedAt": {
2899
- "var": "$timestamp"
2900
- },
2901
- "failureReason": {
2902
- "var": "event.reason"
2903
- }
2904
- }
2905
- ]
2906
- },
2907
- "dependencies": []
2908
- }
2909
- ]
2910
- };
2911
- exports.govJudiciaryDef = {
2912
- "metadata": {
2913
- "name": "Judiciary",
2914
- "description": "Judicial branch - interprets rules, reviews actions, resolves disputes, issues rulings",
2915
- "version": "1.0.0"
2916
- },
2917
- "states": {
2918
- "FILED": {
2919
- "id": "FILED",
2920
- "isFinal": false,
2921
- "metadata": null
2922
- },
2923
- "REVIEW": {
2924
- "id": "REVIEW",
2925
- "isFinal": false,
2926
- "metadata": null
2927
- },
2928
- "HEARING": {
2929
- "id": "HEARING",
2930
- "isFinal": false,
2931
- "metadata": null
2932
- },
2933
- "DELIBERATION": {
2934
- "id": "DELIBERATION",
2935
- "isFinal": false,
2936
- "metadata": null
2937
- },
2938
- "RULING": {
2939
- "id": "RULING",
2940
- "isFinal": false,
2941
- "metadata": null
2942
- },
2943
- "ENFORCING": {
2944
- "id": "ENFORCING",
2945
- "isFinal": false,
2946
- "metadata": null
2947
- },
2948
- "CLOSED": {
2949
- "id": "CLOSED",
2950
- "isFinal": true,
2951
- "metadata": null
2952
- },
2953
- "DISMISSED": {
2954
- "id": "DISMISSED",
2955
- "isFinal": true,
2956
- "metadata": null
2957
- },
2958
- "APPEALED": {
2959
- "id": "APPEALED",
2960
- "isFinal": false,
2961
- "metadata": null
2962
- }
2963
- },
2964
- "initialState": "FILED",
2965
- "transitions": [
2966
- {
2967
- "from": "FILED",
2968
- "to": "REVIEW",
2969
- "eventName": "accept",
2970
- "guard": {
2971
- "in": [
2972
- {
2973
- "var": "event.agent"
2974
- },
2975
- {
2976
- "var": "state.judges"
2977
- }
2978
- ]
2979
- },
2980
- "effect": {
2981
- "merge": [
2982
- {
2983
- "var": "state"
2984
- },
2985
- {
2986
- "status": "REVIEW",
2987
- "acceptedBy": {
2988
- "var": "event.agent"
2989
- },
2990
- "acceptedAt": {
2991
- "var": "$timestamp"
2992
- },
2993
- "assignedJudges": {
2994
- "var": "event.panel"
2995
- }
2996
- }
2997
- ]
2998
- },
2999
- "dependencies": []
3000
- },
3001
- {
3002
- "from": "FILED",
3003
- "to": "DISMISSED",
3004
- "eventName": "dismiss",
3005
- "guard": {
3006
- "in": [
3007
- {
3008
- "var": "event.agent"
3009
- },
3010
- {
3011
- "var": "state.judges"
3012
- }
3013
- ]
3014
- },
3015
- "effect": {
3016
- "merge": [
3017
- {
3018
- "var": "state"
3019
- },
3020
- {
3021
- "status": "DISMISSED",
3022
- "dismissedBy": {
3023
- "var": "event.agent"
3024
- },
3025
- "dismissReason": {
3026
- "var": "event.reason"
3027
- },
3028
- "dismissedAt": {
3029
- "var": "$timestamp"
3030
- }
3031
- }
3032
- ]
3033
- },
3034
- "dependencies": []
3035
- },
3036
- {
3037
- "from": "REVIEW",
3038
- "to": "REVIEW",
3039
- "eventName": "issue_stay",
3040
- "guard": {
3041
- "in": [
3042
- {
3043
- "var": "event.agent"
3044
- },
3045
- {
3046
- "var": "state.assignedJudges"
3047
- }
3048
- ]
3049
- },
3050
- "effect": {
3051
- "merge": [
3052
- {
3053
- "var": "state"
3054
- },
3055
- {
3056
- "emergencyStay": {
3057
- "issuedBy": {
3058
- "var": "event.agent"
3059
- },
3060
- "issuedAt": {
3061
- "var": "$timestamp"
3062
- },
3063
- "targetFiberId": {
3064
- "var": "event.targetFiberId"
3065
- },
3066
- "reason": {
3067
- "var": "event.reason"
3068
- },
3069
- "expiresAt": {
3070
- "var": "event.expiresAt"
3071
- }
3072
- }
3073
- }
3074
- ]
3075
- },
3076
- "dependencies": []
3077
- },
3078
- {
3079
- "from": "REVIEW",
3080
- "to": "HEARING",
3081
- "eventName": "schedule_hearing",
3082
- "guard": {
3083
- "in": [
3084
- {
3085
- "var": "event.agent"
3086
- },
3087
- {
3088
- "var": "state.assignedJudges"
3089
- }
3090
- ]
3091
- },
3092
- "effect": {
3093
- "merge": [
3094
- {
3095
- "var": "state"
3096
- },
3097
- {
3098
- "status": "HEARING",
3099
- "hearingScheduledAt": {
3100
- "var": "event.hearingDate"
3101
- },
3102
- "submissions": []
3103
- }
3104
- ]
3105
- },
3106
- "dependencies": []
3107
- },
3108
- {
3109
- "from": "HEARING",
3110
- "to": "HEARING",
3111
- "eventName": "submit_evidence",
3112
- "guard": {
3113
- "or": [
3114
- {
3115
- "===": [
3116
- {
3117
- "var": "event.agent"
3118
- },
3119
- {
3120
- "var": "state.plaintiff"
3121
- }
3122
- ]
3123
- },
3124
- {
3125
- "===": [
3126
- {
3127
- "var": "event.agent"
3128
- },
3129
- {
3130
- "var": "state.defendant"
3131
- }
3132
- ]
3133
- },
3134
- {
3135
- "in": [
3136
- {
3137
- "var": "event.agent"
3138
- },
3139
- {
3140
- "var": "state.interestedParties"
3141
- }
3142
- ]
3143
- }
3144
- ]
3145
- },
3146
- "effect": {
3147
- "merge": [
3148
- {
3149
- "var": "state"
3150
- },
3151
- {
3152
- "submissions": {
3153
- "cat": [
3154
- {
3155
- "var": "state.submissions"
3156
- },
3157
- [
3158
- {
3159
- "party": {
3160
- "var": "event.agent"
3161
- },
3162
- "type": {
3163
- "var": "event.type"
3164
- },
3165
- "content": {
3166
- "var": "event.content"
3167
- },
3168
- "submittedAt": {
3169
- "var": "$timestamp"
3170
- }
3171
- }
3172
- ]
3173
- ]
3174
- }
3175
- }
3176
- ]
3177
- },
3178
- "dependencies": []
3179
- },
3180
- {
3181
- "from": "HEARING",
3182
- "to": "DELIBERATION",
3183
- "eventName": "close_hearing",
3184
- "guard": {
3185
- "in": [
3186
- {
3187
- "var": "event.agent"
3188
- },
3189
- {
3190
- "var": "state.assignedJudges"
3191
- }
3192
- ]
3193
- },
3194
- "effect": {
3195
- "merge": [
3196
- {
3197
- "var": "state"
3198
- },
3199
- {
3200
- "status": "DELIBERATION",
3201
- "hearingClosedAt": {
3202
- "var": "$timestamp"
3203
- },
3204
- "votes": {}
3205
- }
3206
- ]
3207
- },
3208
- "dependencies": []
3209
- },
3210
- {
3211
- "from": "DELIBERATION",
3212
- "to": "DELIBERATION",
3213
- "eventName": "vote",
3214
- "guard": {
3215
- "and": [
3216
- {
3217
- "in": [
3218
- {
3219
- "var": "event.agent"
3220
- },
3221
- {
3222
- "var": "state.assignedJudges"
3223
- }
3224
- ]
3225
- },
3226
- {
3227
- "!": [
3228
- {
3229
- "getKey": [
3230
- {
3231
- "var": "state.votes"
3232
- },
3233
- {
3234
- "var": "event.agent"
3235
- }
3236
- ]
3237
- }
3238
- ]
3239
- }
3240
- ]
3241
- },
3242
- "effect": {
3243
- "merge": [
3244
- {
3245
- "var": "state"
3246
- },
3247
- {
3248
- "votes": {
3249
- "setKey": [
3250
- {
3251
- "var": "state.votes"
3252
- },
3253
- {
3254
- "var": "event.agent"
3255
- },
3256
- {
3257
- "position": {
3258
- "var": "event.position"
3259
- },
3260
- "opinion": {
3261
- "var": "event.opinion"
3262
- },
3263
- "votedAt": {
3264
- "var": "$timestamp"
3265
- }
3266
- }
3267
- ]
3268
- }
3269
- }
3270
- ]
3271
- },
3272
- "dependencies": []
3273
- },
3274
- {
3275
- "from": "DELIBERATION",
3276
- "to": "RULING",
3277
- "eventName": "issue_ruling",
3278
- "guard": {
3279
- ">=": [
3280
- {
3281
- "size": {
3282
- "var": "state.votes"
3283
- }
3284
- },
3285
- {
3286
- "var": "state.quorum"
3287
- }
3288
- ]
3289
- },
3290
- "effect": {
3291
- "merge": [
3292
- {
3293
- "var": "state"
3294
- },
3295
- {
3296
- "status": "RULING",
3297
- "ruling": {
3298
- "decision": {
3299
- "var": "event.decision"
3300
- },
3301
- "majority": {
3302
- "var": "event.majority"
3303
- },
3304
- "dissent": {
3305
- "var": "event.dissent"
3306
- },
3307
- "remedy": {
3308
- "var": "event.remedy"
3309
- },
3310
- "issuedAt": {
3311
- "var": "$timestamp"
3312
- }
3313
- }
3314
- }
3315
- ]
3316
- },
3317
- "dependencies": []
3318
- },
3319
- {
3320
- "from": "RULING",
3321
- "to": "ENFORCING",
3322
- "eventName": "begin_enforcement",
3323
- "guard": {
3324
- "var": "state.ruling.remedy"
3325
- },
3326
- "effect": {
3327
- "merge": [
3328
- {
3329
- "var": "state"
3330
- },
3331
- {
3332
- "status": "ENFORCING",
3333
- "enforcementStartedAt": {
3334
- "var": "$timestamp"
3335
- }
3336
- }
3337
- ]
3338
- },
3339
- "dependencies": []
3340
- },
3341
- {
3342
- "from": "RULING",
3343
- "to": "CLOSED",
3344
- "eventName": "close",
3345
- "guard": {
3346
- "!": [
3347
- {
3348
- "var": "state.ruling.remedy"
3349
- }
3350
- ]
3351
- },
3352
- "effect": {
3353
- "merge": [
3354
- {
3355
- "var": "state"
3356
- },
3357
- {
3358
- "status": "CLOSED",
3359
- "closedAt": {
3360
- "var": "$timestamp"
3361
- }
3362
- }
3363
- ]
3364
- },
3365
- "dependencies": []
3366
- },
3367
- {
3368
- "from": "ENFORCING",
3369
- "to": "CLOSED",
3370
- "eventName": "enforcement_complete",
3371
- "guard": {
3372
- "var": "event.evidence"
3373
- },
3374
- "effect": {
3375
- "merge": [
3376
- {
3377
- "var": "state"
3378
- },
3379
- {
3380
- "status": "CLOSED",
3381
- "enforcementCompletedAt": {
3382
- "var": "$timestamp"
3383
- },
3384
- "enforcementEvidence": {
3385
- "var": "event.evidence"
3386
- }
3387
- }
3388
- ]
3389
- },
3390
- "dependencies": []
3391
- },
3392
- {
3393
- "from": "RULING",
3394
- "to": "APPEALED",
3395
- "eventName": "appeal",
3396
- "guard": {
3397
- "and": [
3398
- {
3399
- "var": "state.config.allowAppeals"
3400
- },
3401
- {
3402
- "or": [
3403
- {
3404
- "===": [
3405
- {
3406
- "var": "event.agent"
3407
- },
3408
- {
3409
- "var": "state.plaintiff"
3410
- }
3411
- ]
3412
- },
3413
- {
3414
- "===": [
3415
- {
3416
- "var": "event.agent"
3417
- },
3418
- {
3419
- "var": "state.defendant"
3420
- }
3421
- ]
3422
- }
3423
- ]
3424
- },
3425
- {
3426
- "<=": [
3427
- {
3428
- "-": [
3429
- {
3430
- "var": "$timestamp"
3431
- },
3432
- {
3433
- "var": "state.ruling.issuedAt"
3434
- }
3435
- ]
3436
- },
3437
- {
3438
- "var": "state.config.appealWindowMs"
3439
- }
3440
- ]
3441
- }
3442
- ]
3443
- },
3444
- "effect": {
3445
- "merge": [
3446
- {
3447
- "var": "state"
3448
- },
3449
- {
3450
- "status": "APPEALED",
3451
- "appeal": {
3452
- "filedBy": {
3453
- "var": "event.agent"
3454
- },
3455
- "grounds": {
3456
- "var": "event.grounds"
3457
- },
3458
- "filedAt": {
3459
- "var": "$timestamp"
3460
- }
3461
- }
3462
- }
3463
- ]
3464
- },
3465
- "dependencies": []
3466
- }
3467
- ]
3468
- };
3469
- exports.govLegislatureDef = {
3470
- "metadata": {
3471
- "name": "Governance",
3472
- "description": "Flexible governance for proposals, voting, delegation, and execution across relationship types",
3473
- "version": "1.0.0"
3474
- },
3475
- "states": {
3476
- "DRAFT": {
3477
- "id": "DRAFT",
3478
- "isFinal": false,
3479
- "metadata": null
3480
- },
3481
- "ACTIVE": {
3482
- "id": "ACTIVE",
3483
- "isFinal": false,
3484
- "metadata": null
3485
- },
3486
- "PENDING": {
3487
- "id": "PENDING",
3488
- "isFinal": false,
3489
- "metadata": null
3490
- },
3491
- "EXECUTING": {
3492
- "id": "EXECUTING",
3493
- "isFinal": false,
3494
- "metadata": null
3495
- },
3496
- "EXECUTED": {
3497
- "id": "EXECUTED",
3498
- "isFinal": true,
3499
- "metadata": null
3500
- },
3501
- "VETOED": {
3502
- "id": "VETOED",
3503
- "isFinal": true,
3504
- "metadata": null
3505
- },
3506
- "DEFEATED": {
3507
- "id": "DEFEATED",
3508
- "isFinal": true,
3509
- "metadata": null
3510
- },
3511
- "EXPIRED": {
3512
- "id": "EXPIRED",
3513
- "isFinal": true,
3514
- "metadata": null
3515
- },
3516
- "CANCELLED": {
3517
- "id": "CANCELLED",
3518
- "isFinal": true,
3519
- "metadata": null
3520
- }
3521
- },
3522
- "initialState": "DRAFT",
3523
- "transitions": [
3524
- {
3525
- "from": "DRAFT",
3526
- "to": "ACTIVE",
3527
- "eventName": "submit",
3528
- "guard": {
3529
- "and": [
3530
- {
3531
- "in": [
3532
- {
3533
- "var": "event.agent"
3534
- },
3535
- {
3536
- "var": "state.proposers"
3537
- }
3538
- ]
3539
- },
3540
- {
3541
- "var": "state.proposal.title"
3542
- },
3543
- {
3544
- "var": "state.proposal.actions"
3545
- }
3546
- ]
3547
- },
3548
- "effect": {
3549
- "merge": [
3550
- {
3551
- "var": "state"
3552
- },
3553
- {
3554
- "status": "ACTIVE",
3555
- "submittedAt": {
3556
- "var": "$timestamp"
3557
- },
3558
- "votingEndsAt": {
3559
- "+": [
3560
- {
3561
- "var": "$timestamp"
3562
- },
3563
- {
3564
- "var": "state.config.votingPeriodMs"
3565
- }
3566
- ]
3567
- }
3568
- }
3569
- ]
3570
- },
3571
- "dependencies": []
3572
- },
3573
- {
3574
- "from": "ACTIVE",
3575
- "to": "ACTIVE",
3576
- "eventName": "vote",
3577
- "guard": {
3578
- "and": [
3579
- {
3580
- "<=": [
3581
- {
3582
- "var": "$timestamp"
3583
- },
3584
- {
3585
- "var": "state.votingEndsAt"
3586
- }
3587
- ]
3588
- },
3589
- {
3590
- "!": [
3591
- {
3592
- "getKey": [
3593
- {
3594
- "var": "state.votes"
3595
- },
3596
- {
3597
- "var": "event.agent"
3598
- }
3599
- ]
3600
- }
3601
- ]
3602
- },
3603
- {
3604
- "or": [
3605
- {
3606
- "in": [
3607
- {
3608
- "var": "event.agent"
3609
- },
3610
- {
3611
- "var": "state.voters"
3612
- }
3613
- ]
3614
- },
3615
- {
3616
- "===": [
3617
- {
3618
- "var": "state.config.openVoting"
3619
- },
3620
- true
3621
- ]
3622
- }
3623
- ]
3624
- }
3625
- ]
3626
- },
3627
- "effect": {
3628
- "merge": [
3629
- {
3630
- "var": "state"
3631
- },
3632
- {
3633
- "votes": {
3634
- "setKey": [
3635
- {
3636
- "var": "state.votes"
3637
- },
3638
- {
3639
- "var": "event.agent"
3640
- },
3641
- {
3642
- "choice": {
3643
- "var": "event.choice"
3644
- },
3645
- "weight": {
3646
- "var": "event.weight"
3647
- },
3648
- "conviction": {
3649
- "var": "event.conviction"
3650
- },
3651
- "delegatedFrom": {
3652
- "var": "event.delegatedFrom"
3653
- },
3654
- "votedAt": {
3655
- "var": "$timestamp"
3656
- }
3657
- }
3658
- ]
3659
- }
3660
- }
3661
- ]
3662
- },
3663
- "dependencies": []
3664
- },
3665
- {
3666
- "from": "ACTIVE",
3667
- "to": "ACTIVE",
3668
- "eventName": "delegate",
3669
- "guard": {
3670
- "and": [
3671
- {
3672
- "var": "state.config.allowDelegation"
3673
- },
3674
- {
3675
- "!==": [
3676
- {
3677
- "var": "event.agent"
3678
- },
3679
- {
3680
- "var": "event.delegateTo"
3681
- }
3682
- ]
3683
- },
3684
- {
3685
- "!": [
3686
- {
3687
- "getKey": [
3688
- {
3689
- "var": "state.votes"
3690
- },
3691
- {
3692
- "var": "event.agent"
3693
- }
3694
- ]
3695
- }
3696
- ]
3697
- }
3698
- ]
3699
- },
3700
- "effect": {
3701
- "merge": [
3702
- {
3703
- "var": "state"
3704
- },
3705
- {
3706
- "delegations": {
3707
- "setKey": [
3708
- {
3709
- "var": "state.delegations"
3710
- },
3711
- {
3712
- "var": "event.agent"
3713
- },
3714
- {
3715
- "delegateTo": {
3716
- "var": "event.delegateTo"
3717
- },
3718
- "weight": {
3719
- "var": "event.weight"
3720
- },
3721
- "delegatedAt": {
3722
- "var": "$timestamp"
3723
- }
3724
- }
3725
- ]
3726
- }
3727
- }
3728
- ]
3729
- },
3730
- "dependencies": []
3731
- },
3732
- {
3733
- "from": "ACTIVE",
3734
- "to": "PENDING",
3735
- "eventName": "finalize_voting",
3736
- "guard": {
3737
- "and": [
3738
- {
3739
- ">=": [
3740
- {
3741
- "var": "$timestamp"
3742
- },
3743
- {
3744
- "var": "state.votingEndsAt"
3745
- }
3746
- ]
3747
- },
3748
- {
3749
- "var": "state.tally.passed"
3750
- }
3751
- ]
3752
- },
3753
- "effect": {
3754
- "merge": [
3755
- {
3756
- "var": "state"
3757
- },
3758
- {
3759
- "status": "PENDING",
3760
- "finalizedAt": {
3761
- "var": "$timestamp"
3762
- },
3763
- "vetoEndsAt": {
3764
- "+": [
3765
- {
3766
- "var": "$timestamp"
3767
- },
3768
- {
3769
- "var": "state.config.vetoPeriodMs"
3770
- }
3771
- ]
3772
- }
3773
- }
3774
- ]
3775
- },
3776
- "dependencies": []
3777
- },
3778
- {
3779
- "from": "ACTIVE",
3780
- "to": "DEFEATED",
3781
- "eventName": "finalize_voting",
3782
- "guard": {
3783
- "and": [
3784
- {
3785
- ">=": [
3786
- {
3787
- "var": "$timestamp"
3788
- },
3789
- {
3790
- "var": "state.votingEndsAt"
3791
- }
3792
- ]
3793
- },
3794
- {
3795
- "!": [
3796
- {
3797
- "var": "state.tally.passed"
3798
- }
3799
- ]
3800
- }
3801
- ]
3802
- },
3803
- "effect": {
3804
- "merge": [
3805
- {
3806
- "var": "state"
3807
- },
3808
- {
3809
- "status": "DEFEATED",
3810
- "finalizedAt": {
3811
- "var": "$timestamp"
3812
- },
3813
- "defeatReason": {
3814
- "var": "state.tally.reason"
3815
- }
3816
- }
3817
- ]
3818
- },
3819
- "dependencies": []
3820
- },
3821
- {
3822
- "from": "PENDING",
3823
- "to": "VETOED",
3824
- "eventName": "veto",
3825
- "guard": {
3826
- "and": [
3827
- {
3828
- "<=": [
3829
- {
3830
- "var": "$timestamp"
3831
- },
3832
- {
3833
- "var": "state.vetoEndsAt"
3834
- }
3835
- ]
3836
- },
3837
- {
3838
- "in": [
3839
- {
3840
- "var": "event.agent"
3841
- },
3842
- {
3843
- "var": "state.vetoers"
3844
- }
3845
- ]
3846
- }
3847
- ]
3848
- },
3849
- "effect": {
3850
- "merge": [
3851
- {
3852
- "var": "state"
3853
- },
3854
- {
3855
- "status": "VETOED",
3856
- "vetoedBy": {
3857
- "var": "event.agent"
3858
- },
3859
- "vetoReason": {
3860
- "var": "event.reason"
3861
- },
3862
- "vetoedAt": {
3863
- "var": "$timestamp"
3864
- }
3865
- }
3866
- ]
3867
- },
3868
- "dependencies": []
3869
- },
3870
- {
3871
- "from": "PENDING",
3872
- "to": "EXECUTING",
3873
- "eventName": "execute",
3874
- "guard": {
3875
- "and": [
3876
- {
3877
- ">=": [
3878
- {
3879
- "var": "$timestamp"
3880
- },
3881
- {
3882
- "var": "state.vetoEndsAt"
3883
- }
3884
- ]
3885
- },
3886
- {
3887
- "in": [
3888
- {
3889
- "var": "event.agent"
3890
- },
3891
- {
3892
- "var": "state.executors"
3893
- }
3894
- ]
3895
- }
3896
- ]
3897
- },
3898
- "effect": {
3899
- "merge": [
3900
- {
3901
- "var": "state"
3902
- },
3903
- {
3904
- "status": "EXECUTING",
3905
- "executedBy": {
3906
- "var": "event.agent"
3907
- },
3908
- "executionStartedAt": {
3909
- "var": "$timestamp"
3910
- }
3911
- }
3912
- ]
3913
- },
3914
- "dependencies": []
3915
- },
3916
- {
3917
- "from": "EXECUTING",
3918
- "to": "EXECUTED",
3919
- "eventName": "complete",
3920
- "guard": {
3921
- "in": [
3922
- {
3923
- "var": "event.agent"
3924
- },
3925
- {
3926
- "var": "state.executors"
1983
+ "var": "state.votes.abstain"
1984
+ }
1985
+ ]
1986
+ },
1987
+ {
1988
+ "var": "state.quorum"
1989
+ }
1990
+ ]
1991
+ }
1992
+ ]
3927
1993
  }
3928
1994
  ]
3929
1995
  },
@@ -3933,21 +1999,40 @@ exports.govLegislatureDef = {
3933
1999
  "var": "state"
3934
2000
  },
3935
2001
  {
3936
- "status": "EXECUTED",
3937
- "completedAt": {
3938
- "var": "$timestamp"
2002
+ "rejectedProposals": {
2003
+ "cat": [
2004
+ {
2005
+ "var": "state.rejectedProposals"
2006
+ },
2007
+ [
2008
+ {
2009
+ "merge": [
2010
+ {
2011
+ "var": "state.proposal"
2012
+ },
2013
+ {
2014
+ "votes": {
2015
+ "var": "state.votes"
2016
+ },
2017
+ "rejectedAt": {
2018
+ "var": "$timestamp"
2019
+ }
2020
+ }
2021
+ ]
2022
+ }
2023
+ ]
2024
+ ]
3939
2025
  },
3940
- "executionProof": {
3941
- "var": "event.proof"
3942
- }
2026
+ "proposal": null,
2027
+ "votes": null
3943
2028
  }
3944
2029
  ]
3945
2030
  },
3946
2031
  "dependencies": []
3947
2032
  },
3948
2033
  {
3949
- "from": "DRAFT",
3950
- "to": "CANCELLED",
2034
+ "from": "QUEUED",
2035
+ "to": "ACTIVE",
3951
2036
  "eventName": "cancel",
3952
2037
  "guard": {
3953
2038
  "===": [
@@ -3955,7 +2040,7 @@ exports.govLegislatureDef = {
3955
2040
  "var": "event.agent"
3956
2041
  },
3957
2042
  {
3958
- "var": "state.proposer"
2043
+ "var": "state.proposal.proposer"
3959
2044
  }
3960
2045
  ]
3961
2046
  },
@@ -3965,10 +2050,29 @@ exports.govLegislatureDef = {
3965
2050
  "var": "state"
3966
2051
  },
3967
2052
  {
3968
- "status": "CANCELLED",
3969
- "cancelledAt": {
3970
- "var": "$timestamp"
3971
- }
2053
+ "cancelledProposals": {
2054
+ "cat": [
2055
+ {
2056
+ "var": "state.cancelledProposals"
2057
+ },
2058
+ [
2059
+ {
2060
+ "merge": [
2061
+ {
2062
+ "var": "state.proposal"
2063
+ },
2064
+ {
2065
+ "cancelledAt": {
2066
+ "var": "$timestamp"
2067
+ }
2068
+ }
2069
+ ]
2070
+ }
2071
+ ]
2072
+ ]
2073
+ },
2074
+ "proposal": null,
2075
+ "votes": null
3972
2076
  }
3973
2077
  ]
3974
2078
  },
@@ -3976,30 +2080,21 @@ exports.govLegislatureDef = {
3976
2080
  },
3977
2081
  {
3978
2082
  "from": "ACTIVE",
3979
- "to": "CANCELLED",
3980
- "eventName": "cancel",
2083
+ "to": "ACTIVE",
2084
+ "eventName": "delegate",
3981
2085
  "guard": {
3982
- "or": [
2086
+ ">": [
3983
2087
  {
3984
- "===": [
2088
+ "getKey": [
3985
2089
  {
3986
- "var": "event.agent"
2090
+ "var": "state.balances"
3987
2091
  },
3988
- {
3989
- "var": "state.proposer"
3990
- }
3991
- ]
3992
- },
3993
- {
3994
- "in": [
3995
2092
  {
3996
2093
  "var": "event.agent"
3997
- },
3998
- {
3999
- "var": "state.admins"
4000
2094
  }
4001
2095
  ]
4002
- }
2096
+ },
2097
+ 0
4003
2098
  ]
4004
2099
  },
4005
2100
  "effect": {
@@ -4008,12 +2103,18 @@ exports.govLegislatureDef = {
4008
2103
  "var": "state"
4009
2104
  },
4010
2105
  {
4011
- "status": "CANCELLED",
4012
- "cancelledBy": {
4013
- "var": "event.agent"
4014
- },
4015
- "cancelledAt": {
4016
- "var": "$timestamp"
2106
+ "delegations": {
2107
+ "setKey": [
2108
+ {
2109
+ "var": "state.delegations"
2110
+ },
2111
+ {
2112
+ "var": "event.agent"
2113
+ },
2114
+ {
2115
+ "var": "event.delegateTo"
2116
+ }
2117
+ ]
4017
2118
  }
4018
2119
  }
4019
2120
  ]
@@ -4022,22 +2123,15 @@ exports.govLegislatureDef = {
4022
2123
  },
4023
2124
  {
4024
2125
  "from": "ACTIVE",
4025
- "to": "EXPIRED",
4026
- "eventName": "expire",
2126
+ "to": "ACTIVE",
2127
+ "eventName": "undelegate",
4027
2128
  "guard": {
4028
- ">": [
2129
+ "getKey": [
4029
2130
  {
4030
- "var": "$timestamp"
2131
+ "var": "state.delegations"
4031
2132
  },
4032
2133
  {
4033
- "+": [
4034
- {
4035
- "var": "state.votingEndsAt"
4036
- },
4037
- {
4038
- "var": "state.config.gracePeriodMs"
4039
- }
4040
- ]
2134
+ "var": "event.agent"
4041
2135
  }
4042
2136
  ]
4043
2137
  },
@@ -4047,9 +2141,15 @@ exports.govLegislatureDef = {
4047
2141
  "var": "state"
4048
2142
  },
4049
2143
  {
4050
- "status": "EXPIRED",
4051
- "expiredAt": {
4052
- "var": "$timestamp"
2144
+ "delegations": {
2145
+ "deleteKey": [
2146
+ {
2147
+ "var": "state.delegations"
2148
+ },
2149
+ {
2150
+ "var": "event.agent"
2151
+ }
2152
+ ]
4053
2153
  }
4054
2154
  }
4055
2155
  ]
@@ -4057,75 +2157,11 @@ exports.govLegislatureDef = {
4057
2157
  "dependencies": []
4058
2158
  }
4059
2159
  ],
4060
- "presets": {
4061
- "_comment": "Common governance configurations",
4062
- "bilateral": {
4063
- "description": "Two-party mutual consent (like a contract)",
4064
- "config": {
4065
- "votingMechanism": "simple",
4066
- "quorumType": "absolute",
4067
- "quorumValue": 2,
4068
- "passingThreshold": 1,
4069
- "allowDelegation": false,
4070
- "openVoting": false
4071
- }
4072
- },
4073
- "multisig": {
4074
- "description": "N-of-M threshold signing",
4075
- "config": {
4076
- "votingMechanism": "simple",
4077
- "quorumType": "absolute",
4078
- "passingThreshold": 0.6,
4079
- "vetoPeriodMs": 0,
4080
- "allowDelegation": false
4081
- }
4082
- },
4083
- "council": {
4084
- "description": "Small elected/appointed body",
4085
- "config": {
4086
- "votingMechanism": "simple",
4087
- "quorumType": "percentage",
4088
- "quorumValue": 0.5,
4089
- "passingThreshold": 0.5,
4090
- "openVoting": false,
4091
- "allowDelegation": true
4092
- }
4093
- },
4094
- "liquid_democracy": {
4095
- "description": "Delegatable voting power",
4096
- "config": {
4097
- "votingMechanism": "simple",
4098
- "allowDelegation": true,
4099
- "openVoting": true,
4100
- "onePersonOneVote": true
4101
- }
4102
- },
4103
- "conviction": {
4104
- "description": "Time-weighted conviction voting",
4105
- "config": {
4106
- "votingMechanism": "conviction",
4107
- "allowDelegation": true,
4108
- "convictionHalfLifeMs": 604800000
4109
- }
4110
- },
4111
- "quadratic": {
4112
- "description": "Quadratic voting to reduce whale power",
4113
- "config": {
4114
- "votingMechanism": "quadratic",
4115
- "onePersonOneVote": false
4116
- }
4117
- },
4118
- "dictator": {
4119
- "description": "Single admin with full control",
4120
- "config": {
4121
- "votingMechanism": "simple",
4122
- "quorumType": "absolute",
4123
- "quorumValue": 1,
4124
- "passingThreshold": 1,
4125
- "vetoPeriodMs": 0,
4126
- "allowDelegation": false
4127
- }
4128
- }
2160
+ "crossReferences": {
2161
+ "Identity": "voter verification",
2162
+ "Token": "balance snapshots",
2163
+ "Contract": "action execution",
2164
+ "Treasury": "fund management"
4129
2165
  }
4130
2166
  };
4131
2167
  exports.govSimpleDef = {
@@ -4753,3 +2789,150 @@ exports.govSimpleDef = {
4753
2789
  }
4754
2790
  ]
4755
2791
  };
2792
+ exports.govUniversalDef = {
2793
+ "metadata": {
2794
+ "name": "GovernanceUniversal",
2795
+ "description": "Minimal governance state machine - extend for custom use cases",
2796
+ "version": "1.0.0"
2797
+ },
2798
+ "states": {
2799
+ "ACTIVE": {
2800
+ "id": "ACTIVE",
2801
+ "isFinal": false,
2802
+ "metadata": null
2803
+ },
2804
+ "VOTING": {
2805
+ "id": "VOTING",
2806
+ "isFinal": false,
2807
+ "metadata": null
2808
+ },
2809
+ "DISSOLVED": {
2810
+ "id": "DISSOLVED",
2811
+ "isFinal": true,
2812
+ "metadata": null
2813
+ }
2814
+ },
2815
+ "initialState": "ACTIVE",
2816
+ "transitions": [
2817
+ {
2818
+ "from": "ACTIVE",
2819
+ "to": "VOTING",
2820
+ "eventName": "propose",
2821
+ "guard": {
2822
+ "==": [
2823
+ 1,
2824
+ 1
2825
+ ]
2826
+ },
2827
+ "effect": {
2828
+ "merge": [
2829
+ {
2830
+ "var": "state"
2831
+ },
2832
+ {
2833
+ "status": "VOTING",
2834
+ "proposal": {
2835
+ "var": "event.proposal"
2836
+ },
2837
+ "proposedAt": {
2838
+ "var": "$timestamp"
2839
+ },
2840
+ "votes": {}
2841
+ }
2842
+ ]
2843
+ },
2844
+ "dependencies": []
2845
+ },
2846
+ {
2847
+ "from": "VOTING",
2848
+ "to": "VOTING",
2849
+ "eventName": "vote",
2850
+ "guard": {
2851
+ "==": [
2852
+ 1,
2853
+ 1
2854
+ ]
2855
+ },
2856
+ "effect": {
2857
+ "merge": [
2858
+ {
2859
+ "var": "state"
2860
+ },
2861
+ {
2862
+ "votes": {
2863
+ "merge": [
2864
+ {
2865
+ "var": "state.votes"
2866
+ },
2867
+ {
2868
+ "__key": {
2869
+ "var": "event.agent"
2870
+ },
2871
+ "__value": {
2872
+ "var": "event.vote"
2873
+ }
2874
+ }
2875
+ ]
2876
+ }
2877
+ }
2878
+ ]
2879
+ },
2880
+ "dependencies": []
2881
+ },
2882
+ {
2883
+ "from": "VOTING",
2884
+ "to": "ACTIVE",
2885
+ "eventName": "finalize",
2886
+ "guard": {
2887
+ "==": [
2888
+ 1,
2889
+ 1
2890
+ ]
2891
+ },
2892
+ "effect": {
2893
+ "merge": [
2894
+ {
2895
+ "var": "state"
2896
+ },
2897
+ {
2898
+ "status": "ACTIVE",
2899
+ "lastProposal": {
2900
+ "var": "state.proposal"
2901
+ },
2902
+ "lastResult": {
2903
+ "var": "event.result"
2904
+ },
2905
+ "proposal": null,
2906
+ "votes": null
2907
+ }
2908
+ ]
2909
+ },
2910
+ "dependencies": []
2911
+ },
2912
+ {
2913
+ "from": "ACTIVE",
2914
+ "to": "DISSOLVED",
2915
+ "eventName": "dissolve",
2916
+ "guard": {
2917
+ "==": [
2918
+ 1,
2919
+ 1
2920
+ ]
2921
+ },
2922
+ "effect": {
2923
+ "merge": [
2924
+ {
2925
+ "var": "state"
2926
+ },
2927
+ {
2928
+ "status": "DISSOLVED",
2929
+ "dissolvedAt": {
2930
+ "var": "$timestamp"
2931
+ }
2932
+ }
2933
+ ]
2934
+ },
2935
+ "dependencies": []
2936
+ }
2937
+ ]
2938
+ };