@ottochain/sdk 1.7.0-beta.2 → 2.1.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 (113) hide show
  1. package/dist/cjs/apps/contracts/index.js +1 -1
  2. package/dist/cjs/apps/contracts/state-machines/contract-agreement.js +272 -0
  3. package/dist/cjs/apps/contracts/state-machines/contract-escrow.js +284 -0
  4. package/dist/cjs/apps/contracts/state-machines/contract-universal.js +93 -0
  5. package/dist/cjs/apps/contracts/state-machines/index.js +177 -1
  6. package/dist/cjs/apps/corporate/state-machines/corp-board.js +1022 -0
  7. package/dist/cjs/apps/corporate/state-machines/corp-entity.js +671 -0
  8. package/dist/cjs/apps/corporate/state-machines/corp-securities.js +998 -0
  9. package/dist/cjs/apps/corporate/state-machines/corp-shareholders.js +1102 -0
  10. package/dist/cjs/apps/corporate/state-machines/index.js +20 -4440
  11. package/dist/cjs/apps/governance/index.js +7 -7
  12. package/dist/cjs/apps/governance/state-machines/dao-multisig.js +467 -0
  13. package/dist/cjs/apps/governance/state-machines/dao-reputation.js +458 -0
  14. package/dist/cjs/apps/governance/state-machines/dao-single.js +199 -0
  15. package/dist/cjs/apps/governance/state-machines/dao-token.js +503 -0
  16. package/dist/cjs/apps/governance/state-machines/governance-simple.js +482 -0
  17. package/dist/cjs/apps/governance/state-machines/governance-universal.js +138 -0
  18. package/dist/cjs/apps/governance/state-machines/index.js +16 -2934
  19. package/dist/cjs/apps/identity/constants.js +20 -20
  20. package/dist/cjs/apps/identity/index.js +13 -21
  21. package/dist/cjs/apps/identity/state-machines/identity-agent.js +256 -0
  22. package/dist/cjs/apps/identity/state-machines/identity-oracle.js +321 -0
  23. package/dist/cjs/apps/identity/state-machines/identity-universal.js +106 -0
  24. package/dist/cjs/apps/identity/state-machines/index.js +15 -784
  25. package/dist/cjs/apps/markets/index.js +1 -1
  26. package/dist/cjs/apps/markets/state-machines/index.js +14 -2298
  27. package/dist/cjs/apps/markets/state-machines/market-auction.js +283 -0
  28. package/dist/cjs/apps/markets/state-machines/market-crowdfund.js +312 -0
  29. package/dist/cjs/apps/markets/state-machines/market-group-buy.js +407 -0
  30. package/dist/cjs/apps/markets/state-machines/market-prediction.js +485 -0
  31. package/dist/cjs/apps/markets/state-machines/market-universal.js +129 -0
  32. package/dist/cjs/apps/oracles/index.js +36 -0
  33. package/dist/cjs/generated/index.js +14 -7
  34. package/dist/cjs/generated/ottochain/apps/identity/v1/identity.js +197 -198
  35. package/dist/cjs/schema/fiber-app.js +55 -0
  36. package/dist/cjs/schema/index.js +20 -0
  37. package/dist/esm/apps/contracts/index.js +3 -3
  38. package/dist/esm/apps/contracts/state-machines/contract-agreement.js +269 -0
  39. package/dist/esm/apps/contracts/state-machines/contract-escrow.js +281 -0
  40. package/dist/esm/apps/contracts/state-machines/contract-universal.js +90 -0
  41. package/dist/esm/apps/contracts/state-machines/index.js +177 -1
  42. package/dist/esm/apps/corporate/index.js +3 -3
  43. package/dist/esm/apps/corporate/state-machines/corp-board.js +1019 -0
  44. package/dist/esm/apps/corporate/state-machines/corp-entity.js +668 -0
  45. package/dist/esm/apps/corporate/state-machines/corp-securities.js +995 -0
  46. package/dist/esm/apps/corporate/state-machines/corp-shareholders.js +1099 -0
  47. package/dist/esm/apps/corporate/state-machines/index.js +15 -4439
  48. package/dist/esm/apps/governance/index.js +9 -9
  49. package/dist/esm/apps/governance/state-machines/dao-multisig.js +464 -0
  50. package/dist/esm/apps/governance/state-machines/dao-reputation.js +455 -0
  51. package/dist/esm/apps/governance/state-machines/dao-single.js +196 -0
  52. package/dist/esm/apps/governance/state-machines/dao-token.js +500 -0
  53. package/dist/esm/apps/governance/state-machines/governance-simple.js +479 -0
  54. package/dist/esm/apps/governance/state-machines/governance-universal.js +135 -0
  55. package/dist/esm/apps/governance/state-machines/index.js +9 -2933
  56. package/dist/esm/apps/identity/constants.js +21 -21
  57. package/dist/esm/apps/identity/index.js +13 -22
  58. package/dist/esm/apps/identity/state-machines/identity-agent.js +253 -0
  59. package/dist/esm/apps/identity/state-machines/identity-oracle.js +318 -0
  60. package/dist/esm/apps/identity/state-machines/identity-universal.js +103 -0
  61. package/dist/esm/apps/identity/state-machines/index.js +11 -783
  62. package/dist/esm/apps/index.js +5 -5
  63. package/dist/esm/apps/markets/index.js +3 -3
  64. package/dist/esm/apps/markets/state-machines/index.js +8 -2297
  65. package/dist/esm/apps/markets/state-machines/market-auction.js +280 -0
  66. package/dist/esm/apps/markets/state-machines/market-crowdfund.js +309 -0
  67. package/dist/esm/apps/markets/state-machines/market-group-buy.js +404 -0
  68. package/dist/esm/apps/markets/state-machines/market-prediction.js +482 -0
  69. package/dist/esm/apps/markets/state-machines/market-universal.js +126 -0
  70. package/dist/esm/apps/oracles/index.js +21 -0
  71. package/dist/esm/generated/index.js +8 -3
  72. package/dist/esm/generated/ottochain/apps/identity/v1/identity.js +196 -197
  73. package/dist/esm/schema/fiber-app.js +47 -0
  74. package/dist/esm/schema/index.js +4 -0
  75. package/dist/types/apps/contracts/index.d.ts +151 -2
  76. package/dist/types/apps/contracts/state-machines/contract-agreement.d.ts +462 -0
  77. package/dist/types/apps/contracts/state-machines/contract-escrow.d.ts +511 -0
  78. package/dist/types/apps/contracts/state-machines/contract-universal.d.ts +147 -0
  79. package/dist/types/apps/contracts/state-machines/index.d.ts +149 -0
  80. package/dist/types/apps/corporate/index.d.ts +5263 -3825
  81. package/dist/types/apps/corporate/state-machines/corp-board.d.ts +1479 -0
  82. package/dist/types/apps/corporate/state-machines/corp-entity.d.ts +970 -0
  83. package/dist/types/apps/corporate/state-machines/corp-securities.d.ts +1381 -0
  84. package/dist/types/apps/corporate/state-machines/corp-shareholders.d.ts +1631 -0
  85. package/dist/types/apps/corporate/state-machines/index.d.ts +5245 -3802
  86. package/dist/types/apps/governance/index.d.ts +875 -37
  87. package/dist/types/apps/governance/state-machines/dao-multisig.d.ts +644 -0
  88. package/dist/types/apps/governance/state-machines/dao-reputation.d.ts +610 -0
  89. package/dist/types/apps/governance/state-machines/dao-single.d.ts +276 -0
  90. package/dist/types/apps/governance/state-machines/dao-token.d.ts +601 -0
  91. package/dist/types/apps/governance/state-machines/governance-simple.d.ts +652 -0
  92. package/dist/types/apps/governance/state-machines/governance-universal.d.ts +181 -0
  93. package/dist/types/apps/governance/state-machines/index.d.ts +9 -2136
  94. package/dist/types/apps/identity/constants.d.ts +4 -7
  95. package/dist/types/apps/identity/index.d.ts +1082 -592
  96. package/dist/types/apps/identity/state-machines/identity-agent.d.ts +401 -0
  97. package/dist/types/apps/identity/state-machines/identity-oracle.d.ts +550 -0
  98. package/dist/types/apps/identity/state-machines/identity-universal.d.ts +151 -0
  99. package/dist/types/apps/identity/state-machines/index.d.ts +1069 -567
  100. package/dist/types/apps/index.d.ts +5 -5
  101. package/dist/types/apps/markets/index.d.ts +535 -7
  102. package/dist/types/apps/markets/state-machines/index.d.ts +8 -1678
  103. package/dist/types/apps/markets/state-machines/market-auction.d.ts +392 -0
  104. package/dist/types/apps/markets/state-machines/market-crowdfund.d.ts +443 -0
  105. package/dist/types/apps/markets/state-machines/market-group-buy.d.ts +539 -0
  106. package/dist/types/apps/markets/state-machines/market-prediction.d.ts +651 -0
  107. package/dist/types/apps/markets/state-machines/market-universal.d.ts +191 -0
  108. package/dist/types/apps/oracles/index.d.ts +18 -0
  109. package/dist/types/generated/index.d.ts +3 -1
  110. package/dist/types/generated/ottochain/apps/identity/v1/identity.d.ts +43 -64
  111. package/dist/types/schema/fiber-app.d.ts +139 -0
  112. package/dist/types/schema/index.d.ts +4 -0
  113. package/package.json +1 -1
@@ -1,2299 +1,10 @@
1
1
  /**
2
- * Auto-generated from JSON state machine definitions.
3
- * DO NOT EDIT - regenerate with: npm run prebuild
2
+ * Markets State Machine Definitions
3
+ *
4
+ * TypeScript-first definitions using defineFiberApp() - no JSON, no code generation.
4
5
  */
5
- export const marketAuctionDef = {
6
- "metadata": {
7
- "name": "MarketAuction",
8
- "description": "Auction market supporting English, Dutch, and sealed-bid variants",
9
- "version": "1.0.0",
10
- "crossReferences": {
11
- "sellerIdentityId": "Links to seller's IdentityAgent",
12
- "escrowId": "Links to ContractEscrow for asset custody"
13
- }
14
- },
15
- "states": {
16
- "PROPOSED": {
17
- "id": "PROPOSED",
18
- "isFinal": false,
19
- "metadata": {
20
- "description": "Auction created but not yet open"
21
- }
22
- },
23
- "OPEN": {
24
- "id": "OPEN",
25
- "isFinal": false,
26
- "metadata": {
27
- "description": "Accepting bids"
28
- }
29
- },
30
- "CLOSING": {
31
- "id": "CLOSING",
32
- "isFinal": false,
33
- "metadata": {
34
- "description": "Bid period ended, determining winner"
35
- }
36
- },
37
- "SETTLED": {
38
- "id": "SETTLED",
39
- "isFinal": true,
40
- "metadata": {
41
- "description": "Winner determined, transfer complete"
42
- }
43
- },
44
- "NO_SALE": {
45
- "id": "NO_SALE",
46
- "isFinal": true,
47
- "metadata": {
48
- "description": "Reserve not met or no valid bids"
49
- }
50
- },
51
- "CANCELLED": {
52
- "id": "CANCELLED",
53
- "isFinal": true,
54
- "metadata": {
55
- "description": "Auction cancelled by seller"
56
- }
57
- }
58
- },
59
- "initialState": "PROPOSED",
60
- "transitions": [
61
- {
62
- "from": "PROPOSED",
63
- "to": "OPEN",
64
- "eventName": "open",
65
- "guard": {
66
- "===": [
67
- {
68
- "var": "event.agent"
69
- },
70
- {
71
- "var": "state.seller"
72
- }
73
- ]
74
- },
75
- "effect": {
76
- "merge": [
77
- {
78
- "var": "state"
79
- },
80
- {
81
- "status": "OPEN",
82
- "openedAt": {
83
- "var": "$timestamp"
84
- },
85
- "bids": [],
86
- "highBid": null,
87
- "highBidder": null
88
- }
89
- ]
90
- },
91
- "dependencies": []
92
- },
93
- {
94
- "from": "PROPOSED",
95
- "to": "CANCELLED",
96
- "eventName": "cancel",
97
- "guard": {
98
- "===": [
99
- {
100
- "var": "event.agent"
101
- },
102
- {
103
- "var": "state.seller"
104
- }
105
- ]
106
- },
107
- "effect": {
108
- "merge": [
109
- {
110
- "var": "state"
111
- },
112
- {
113
- "status": "CANCELLED",
114
- "cancelledAt": {
115
- "var": "$timestamp"
116
- }
117
- }
118
- ]
119
- },
120
- "dependencies": []
121
- },
122
- {
123
- "from": "OPEN",
124
- "to": "OPEN",
125
- "eventName": "bid",
126
- "guard": {
127
- "and": [
128
- {
129
- "!==": [
130
- {
131
- "var": "event.agent"
132
- },
133
- {
134
- "var": "state.seller"
135
- }
136
- ]
137
- },
138
- {
139
- ">=": [
140
- {
141
- "var": "event.amount"
142
- },
143
- {
144
- "var": "state.minBid"
145
- }
146
- ]
147
- },
148
- {
149
- "or": [
150
- {
151
- "!": [
152
- {
153
- "var": "state.highBid"
154
- }
155
- ]
156
- },
157
- {
158
- ">=": [
159
- {
160
- "var": "event.amount"
161
- },
162
- {
163
- "+": [
164
- {
165
- "var": "state.highBid"
166
- },
167
- {
168
- "var": "state.bidIncrement"
169
- }
170
- ]
171
- }
172
- ]
173
- }
174
- ]
175
- },
176
- {
177
- "or": [
178
- {
179
- "!": [
180
- {
181
- "var": "state.deadline"
182
- }
183
- ]
184
- },
185
- {
186
- "<=": [
187
- {
188
- "var": "$timestamp"
189
- },
190
- {
191
- "var": "state.deadline"
192
- }
193
- ]
194
- }
195
- ]
196
- }
197
- ]
198
- },
199
- "effect": {
200
- "merge": [
201
- {
202
- "var": "state"
203
- },
204
- {
205
- "bids": {
206
- "cat": [
207
- {
208
- "var": "state.bids"
209
- },
210
- [
211
- {
212
- "bidder": {
213
- "var": "event.agent"
214
- },
215
- "amount": {
216
- "var": "event.amount"
217
- },
218
- "bidAt": {
219
- "var": "$timestamp"
220
- }
221
- }
222
- ]
223
- ]
224
- },
225
- "highBid": {
226
- "var": "event.amount"
227
- },
228
- "highBidder": {
229
- "var": "event.agent"
230
- },
231
- "lastBidAt": {
232
- "var": "$timestamp"
233
- }
234
- }
235
- ]
236
- },
237
- "dependencies": []
238
- },
239
- {
240
- "from": "OPEN",
241
- "to": "CLOSING",
242
- "eventName": "close",
243
- "guard": {
244
- "or": [
245
- {
246
- "===": [
247
- {
248
- "var": "event.agent"
249
- },
250
- {
251
- "var": "state.seller"
252
- }
253
- ]
254
- },
255
- {
256
- "and": [
257
- {
258
- "var": "state.deadline"
259
- },
260
- {
261
- ">=": [
262
- {
263
- "var": "$timestamp"
264
- },
265
- {
266
- "var": "state.deadline"
267
- }
268
- ]
269
- }
270
- ]
271
- }
272
- ]
273
- },
274
- "effect": {
275
- "merge": [
276
- {
277
- "var": "state"
278
- },
279
- {
280
- "status": "CLOSING",
281
- "closedAt": {
282
- "var": "$timestamp"
283
- }
284
- }
285
- ]
286
- },
287
- "dependencies": []
288
- },
289
- {
290
- "from": "CLOSING",
291
- "to": "SETTLED",
292
- "eventName": "settle",
293
- "guard": {
294
- "and": [
295
- {
296
- "var": "state.highBidder"
297
- },
298
- {
299
- "or": [
300
- {
301
- "!": [
302
- {
303
- "var": "state.reservePrice"
304
- }
305
- ]
306
- },
307
- {
308
- ">=": [
309
- {
310
- "var": "state.highBid"
311
- },
312
- {
313
- "var": "state.reservePrice"
314
- }
315
- ]
316
- }
317
- ]
318
- }
319
- ]
320
- },
321
- "effect": {
322
- "merge": [
323
- {
324
- "var": "state"
325
- },
326
- {
327
- "status": "SETTLED",
328
- "settledAt": {
329
- "var": "$timestamp"
330
- },
331
- "winner": {
332
- "var": "state.highBidder"
333
- },
334
- "finalPrice": {
335
- "var": "state.highBid"
336
- }
337
- }
338
- ]
339
- },
340
- "dependencies": []
341
- },
342
- {
343
- "from": "CLOSING",
344
- "to": "NO_SALE",
345
- "eventName": "no_sale",
346
- "guard": {
347
- "or": [
348
- {
349
- "!": [
350
- {
351
- "var": "state.highBidder"
352
- }
353
- ]
354
- },
355
- {
356
- "and": [
357
- {
358
- "var": "state.reservePrice"
359
- },
360
- {
361
- "<": [
362
- {
363
- "var": "state.highBid"
364
- },
365
- {
366
- "var": "state.reservePrice"
367
- }
368
- ]
369
- }
370
- ]
371
- }
372
- ]
373
- },
374
- "effect": {
375
- "merge": [
376
- {
377
- "var": "state"
378
- },
379
- {
380
- "status": "NO_SALE",
381
- "closedAt": {
382
- "var": "$timestamp"
383
- },
384
- "reason": {
385
- "if": [
386
- {
387
- "!": [
388
- {
389
- "var": "state.highBidder"
390
- }
391
- ]
392
- },
393
- "no_bids",
394
- "reserve_not_met"
395
- ]
396
- }
397
- }
398
- ]
399
- },
400
- "dependencies": []
401
- }
402
- ]
403
- };
404
- export const marketCrowdfundDef = {
405
- "metadata": {
406
- "name": "MarketCrowdfund",
407
- "description": "All-or-nothing crowdfunding with threshold, deadline, and stretch goals",
408
- "version": "1.0.0",
409
- "crossReferences": {
410
- "creatorIdentityId": "Links to creator's IdentityAgent",
411
- "treasuryId": "Links to Treasury for fund custody"
412
- }
413
- },
414
- "states": {
415
- "PROPOSED": {
416
- "id": "PROPOSED",
417
- "isFinal": false,
418
- "metadata": {
419
- "description": "Campaign created but not yet open"
420
- }
421
- },
422
- "OPEN": {
423
- "id": "OPEN",
424
- "isFinal": false,
425
- "metadata": {
426
- "description": "Accepting pledges"
427
- }
428
- },
429
- "FUNDED": {
430
- "id": "FUNDED",
431
- "isFinal": true,
432
- "metadata": {
433
- "description": "Threshold met, funds released to creator"
434
- }
435
- },
436
- "REFUNDED": {
437
- "id": "REFUNDED",
438
- "isFinal": true,
439
- "metadata": {
440
- "description": "Threshold not met, all pledges refunded"
441
- }
442
- },
443
- "CANCELLED": {
444
- "id": "CANCELLED",
445
- "isFinal": true,
446
- "metadata": {
447
- "description": "Campaign cancelled by creator"
448
- }
449
- }
450
- },
451
- "initialState": "PROPOSED",
452
- "transitions": [
453
- {
454
- "from": "PROPOSED",
455
- "to": "OPEN",
456
- "eventName": "launch",
457
- "guard": {
458
- "===": [
459
- {
460
- "var": "event.agent"
461
- },
462
- {
463
- "var": "state.creator"
464
- }
465
- ]
466
- },
467
- "effect": {
468
- "merge": [
469
- {
470
- "var": "state"
471
- },
472
- {
473
- "status": "OPEN",
474
- "launchedAt": {
475
- "var": "$timestamp"
476
- },
477
- "pledges": [],
478
- "totalPledged": 0,
479
- "backerCount": 0
480
- }
481
- ]
482
- },
483
- "dependencies": []
484
- },
485
- {
486
- "from": "PROPOSED",
487
- "to": "CANCELLED",
488
- "eventName": "cancel",
489
- "guard": {
490
- "===": [
491
- {
492
- "var": "event.agent"
493
- },
494
- {
495
- "var": "state.creator"
496
- }
497
- ]
498
- },
499
- "effect": {
500
- "merge": [
501
- {
502
- "var": "state"
503
- },
504
- {
505
- "status": "CANCELLED",
506
- "cancelledAt": {
507
- "var": "$timestamp"
508
- }
509
- }
510
- ]
511
- },
512
- "dependencies": []
513
- },
514
- {
515
- "from": "OPEN",
516
- "to": "OPEN",
517
- "eventName": "pledge",
518
- "guard": {
519
- "and": [
520
- {
521
- ">": [
522
- {
523
- "var": "event.amount"
524
- },
525
- 0
526
- ]
527
- },
528
- {
529
- "!==": [
530
- {
531
- "var": "event.agent"
532
- },
533
- {
534
- "var": "state.creator"
535
- }
536
- ]
537
- },
538
- {
539
- "or": [
540
- {
541
- "!": [
542
- {
543
- "var": "state.minPledge"
544
- }
545
- ]
546
- },
547
- {
548
- ">=": [
549
- {
550
- "var": "event.amount"
551
- },
552
- {
553
- "var": "state.minPledge"
554
- }
555
- ]
556
- }
557
- ]
558
- },
559
- {
560
- "<=": [
561
- {
562
- "var": "$timestamp"
563
- },
564
- {
565
- "var": "state.deadline"
566
- }
567
- ]
568
- }
569
- ]
570
- },
571
- "effect": {
572
- "merge": [
573
- {
574
- "var": "state"
575
- },
576
- {
577
- "pledges": {
578
- "cat": [
579
- {
580
- "var": "state.pledges"
581
- },
582
- [
583
- {
584
- "backer": {
585
- "var": "event.agent"
586
- },
587
- "amount": {
588
- "var": "event.amount"
589
- },
590
- "rewardTier": {
591
- "var": "event.rewardTier"
592
- },
593
- "pledgedAt": {
594
- "var": "$timestamp"
595
- }
596
- }
597
- ]
598
- ]
599
- },
600
- "totalPledged": {
601
- "+": [
602
- {
603
- "var": "state.totalPledged"
604
- },
605
- {
606
- "var": "event.amount"
607
- }
608
- ]
609
- },
610
- "backerCount": {
611
- "+": [
612
- {
613
- "var": "state.backerCount"
614
- },
615
- 1
616
- ]
617
- }
618
- }
619
- ]
620
- },
621
- "dependencies": []
622
- },
623
- {
624
- "from": "OPEN",
625
- "to": "OPEN",
626
- "eventName": "increase_pledge",
627
- "guard": {
628
- "and": [
629
- {
630
- ">": [
631
- {
632
- "var": "event.additionalAmount"
633
- },
634
- 0
635
- ]
636
- },
637
- {
638
- "<=": [
639
- {
640
- "var": "$timestamp"
641
- },
642
- {
643
- "var": "state.deadline"
644
- }
645
- ]
646
- },
647
- {
648
- ">": [
649
- {
650
- "size": {
651
- "filter": [
652
- {
653
- "var": "state.pledges"
654
- },
655
- {
656
- "===": [
657
- {
658
- "var": "backer"
659
- },
660
- {
661
- "var": "event.agent"
662
- }
663
- ]
664
- }
665
- ]
666
- }
667
- },
668
- 0
669
- ]
670
- }
671
- ]
672
- },
673
- "effect": {
674
- "merge": [
675
- {
676
- "var": "state"
677
- },
678
- {
679
- "totalPledged": {
680
- "+": [
681
- {
682
- "var": "state.totalPledged"
683
- },
684
- {
685
- "var": "event.additionalAmount"
686
- }
687
- ]
688
- }
689
- }
690
- ]
691
- },
692
- "dependencies": []
693
- },
694
- {
695
- "from": "OPEN",
696
- "to": "FUNDED",
697
- "eventName": "finalize",
698
- "guard": {
699
- "and": [
700
- {
701
- ">=": [
702
- {
703
- "var": "state.totalPledged"
704
- },
705
- {
706
- "var": "state.threshold"
707
- }
708
- ]
709
- },
710
- {
711
- ">=": [
712
- {
713
- "var": "$timestamp"
714
- },
715
- {
716
- "var": "state.deadline"
717
- }
718
- ]
719
- }
720
- ]
721
- },
722
- "effect": {
723
- "merge": [
724
- {
725
- "var": "state"
726
- },
727
- {
728
- "status": "FUNDED",
729
- "fundedAt": {
730
- "var": "$timestamp"
731
- },
732
- "stretchGoalsReached": {
733
- "filter": [
734
- {
735
- "var": "state.stretchGoals"
736
- },
737
- {
738
- "<=": [
739
- {
740
- "var": "target"
741
- },
742
- {
743
- "var": "state.totalPledged"
744
- }
745
- ]
746
- }
747
- ]
748
- }
749
- }
750
- ]
751
- },
752
- "dependencies": []
753
- },
754
- {
755
- "from": "OPEN",
756
- "to": "REFUNDED",
757
- "eventName": "finalize",
758
- "guard": {
759
- "and": [
760
- {
761
- "<": [
762
- {
763
- "var": "state.totalPledged"
764
- },
765
- {
766
- "var": "state.threshold"
767
- }
768
- ]
769
- },
770
- {
771
- ">=": [
772
- {
773
- "var": "$timestamp"
774
- },
775
- {
776
- "var": "state.deadline"
777
- }
778
- ]
779
- }
780
- ]
781
- },
782
- "effect": {
783
- "merge": [
784
- {
785
- "var": "state"
786
- },
787
- {
788
- "status": "REFUNDED",
789
- "refundedAt": {
790
- "var": "$timestamp"
791
- },
792
- "reason": "threshold_not_met"
793
- }
794
- ]
795
- },
796
- "dependencies": []
797
- },
798
- {
799
- "from": "REFUNDED",
800
- "to": "REFUNDED",
801
- "eventName": "claim_refund",
802
- "guard": {
803
- "and": [
804
- {
805
- ">": [
806
- {
807
- "size": {
808
- "filter": [
809
- {
810
- "var": "state.pledges"
811
- },
812
- {
813
- "===": [
814
- {
815
- "var": "backer"
816
- },
817
- {
818
- "var": "event.agent"
819
- }
820
- ]
821
- }
822
- ]
823
- }
824
- },
825
- 0
826
- ]
827
- },
828
- {
829
- "!": [
830
- {
831
- "in": [
832
- {
833
- "var": "event.agent"
834
- },
835
- {
836
- "var": "state.refundsClaimed"
837
- }
838
- ]
839
- }
840
- ]
841
- }
842
- ]
843
- },
844
- "effect": {
845
- "merge": [
846
- {
847
- "var": "state"
848
- },
849
- {
850
- "refundsClaimed": {
851
- "cat": [
852
- {
853
- "var": "state.refundsClaimed"
854
- },
855
- [
856
- {
857
- "var": "event.agent"
858
- }
859
- ]
860
- ]
861
- }
862
- }
863
- ]
864
- },
865
- "dependencies": []
866
- }
867
- ]
868
- };
869
- export const marketGroupBuyDef = {
870
- "metadata": {
871
- "name": "MarketGroupBuy",
872
- "description": "Collective purchasing with quantity thresholds and tiered pricing",
873
- "version": "1.0.0",
874
- "crossReferences": {
875
- "vendorIdentityId": "Links to vendor's IdentityAgent",
876
- "escrowId": "Links to ContractEscrow for payment custody"
877
- }
878
- },
879
- "states": {
880
- "PROPOSED": {
881
- "id": "PROPOSED",
882
- "isFinal": false,
883
- "metadata": {
884
- "description": "Group buy created but not yet open"
885
- }
886
- },
887
- "OPEN": {
888
- "id": "OPEN",
889
- "isFinal": false,
890
- "metadata": {
891
- "description": "Accepting orders"
892
- }
893
- },
894
- "THRESHOLD_MET": {
895
- "id": "THRESHOLD_MET",
896
- "isFinal": false,
897
- "metadata": {
898
- "description": "Minimum quantity reached, continuing for better tier"
899
- }
900
- },
901
- "PROCESSING": {
902
- "id": "PROCESSING",
903
- "isFinal": false,
904
- "metadata": {
905
- "description": "Order placed with vendor, awaiting fulfillment"
906
- }
907
- },
908
- "FULFILLED": {
909
- "id": "FULFILLED",
910
- "isFinal": true,
911
- "metadata": {
912
- "description": "All items delivered to buyers"
913
- }
914
- },
915
- "REFUNDED": {
916
- "id": "REFUNDED",
917
- "isFinal": true,
918
- "metadata": {
919
- "description": "Threshold not met, all orders refunded"
920
- }
921
- },
922
- "CANCELLED": {
923
- "id": "CANCELLED",
924
- "isFinal": true,
925
- "metadata": {
926
- "description": "Group buy cancelled"
927
- }
928
- }
929
- },
930
- "initialState": "PROPOSED",
931
- "transitions": [
932
- {
933
- "from": "PROPOSED",
934
- "to": "OPEN",
935
- "eventName": "open",
936
- "guard": {
937
- "===": [
938
- {
939
- "var": "event.agent"
940
- },
941
- {
942
- "var": "state.organizer"
943
- }
944
- ]
945
- },
946
- "effect": {
947
- "merge": [
948
- {
949
- "var": "state"
950
- },
951
- {
952
- "status": "OPEN",
953
- "openedAt": {
954
- "var": "$timestamp"
955
- },
956
- "orders": [],
957
- "totalQuantity": 0,
958
- "currentTier": 0
959
- }
960
- ]
961
- },
962
- "dependencies": []
963
- },
964
- {
965
- "from": "PROPOSED",
966
- "to": "CANCELLED",
967
- "eventName": "cancel",
968
- "guard": {
969
- "===": [
970
- {
971
- "var": "event.agent"
972
- },
973
- {
974
- "var": "state.organizer"
975
- }
976
- ]
977
- },
978
- "effect": {
979
- "merge": [
980
- {
981
- "var": "state"
982
- },
983
- {
984
- "status": "CANCELLED",
985
- "cancelledAt": {
986
- "var": "$timestamp"
987
- }
988
- }
989
- ]
990
- },
991
- "dependencies": []
992
- },
993
- {
994
- "from": "OPEN",
995
- "to": "OPEN",
996
- "eventName": "order",
997
- "guard": {
998
- "and": [
999
- {
1000
- ">": [
1001
- {
1002
- "var": "event.quantity"
1003
- },
1004
- 0
1005
- ]
1006
- },
1007
- {
1008
- "or": [
1009
- {
1010
- "!": [
1011
- {
1012
- "var": "state.maxPerBuyer"
1013
- }
1014
- ]
1015
- },
1016
- {
1017
- "<=": [
1018
- {
1019
- "var": "event.quantity"
1020
- },
1021
- {
1022
- "var": "state.maxPerBuyer"
1023
- }
1024
- ]
1025
- }
1026
- ]
1027
- },
1028
- {
1029
- "<=": [
1030
- {
1031
- "var": "$timestamp"
1032
- },
1033
- {
1034
- "var": "state.deadline"
1035
- }
1036
- ]
1037
- }
1038
- ]
1039
- },
1040
- "effect": {
1041
- "merge": [
1042
- {
1043
- "var": "state"
1044
- },
1045
- {
1046
- "orders": {
1047
- "cat": [
1048
- {
1049
- "var": "state.orders"
1050
- },
1051
- [
1052
- {
1053
- "buyer": {
1054
- "var": "event.agent"
1055
- },
1056
- "quantity": {
1057
- "var": "event.quantity"
1058
- },
1059
- "shippingInfo": {
1060
- "var": "event.shippingInfo"
1061
- },
1062
- "orderedAt": {
1063
- "var": "$timestamp"
1064
- }
1065
- }
1066
- ]
1067
- ]
1068
- },
1069
- "totalQuantity": {
1070
- "+": [
1071
- {
1072
- "var": "state.totalQuantity"
1073
- },
1074
- {
1075
- "var": "event.quantity"
1076
- }
1077
- ]
1078
- }
1079
- }
1080
- ]
1081
- },
1082
- "dependencies": []
1083
- },
1084
- {
1085
- "from": "OPEN",
1086
- "to": "THRESHOLD_MET",
1087
- "eventName": "check_threshold",
1088
- "guard": {
1089
- ">=": [
1090
- {
1091
- "var": "state.totalQuantity"
1092
- },
1093
- {
1094
- "var": "state.minQuantity"
1095
- }
1096
- ]
1097
- },
1098
- "effect": {
1099
- "merge": [
1100
- {
1101
- "var": "state"
1102
- },
1103
- {
1104
- "status": "THRESHOLD_MET",
1105
- "thresholdMetAt": {
1106
- "var": "$timestamp"
1107
- },
1108
- "currentTier": {
1109
- "reduce": [
1110
- {
1111
- "var": "state.priceTiers"
1112
- },
1113
- {
1114
- "if": [
1115
- {
1116
- "<=": [
1117
- {
1118
- "var": "current.minQuantity"
1119
- },
1120
- {
1121
- "var": "state.totalQuantity"
1122
- }
1123
- ]
1124
- },
1125
- {
1126
- "var": "current.tier"
1127
- },
1128
- {
1129
- "var": "accumulator"
1130
- }
1131
- ]
1132
- },
1133
- 0
1134
- ]
1135
- }
1136
- }
1137
- ]
1138
- },
1139
- "dependencies": []
1140
- },
1141
- {
1142
- "from": "THRESHOLD_MET",
1143
- "to": "THRESHOLD_MET",
1144
- "eventName": "order",
1145
- "guard": {
1146
- "and": [
1147
- {
1148
- ">": [
1149
- {
1150
- "var": "event.quantity"
1151
- },
1152
- 0
1153
- ]
1154
- },
1155
- {
1156
- "<=": [
1157
- {
1158
- "var": "$timestamp"
1159
- },
1160
- {
1161
- "var": "state.deadline"
1162
- }
1163
- ]
1164
- }
1165
- ]
1166
- },
1167
- "effect": {
1168
- "merge": [
1169
- {
1170
- "var": "state"
1171
- },
1172
- {
1173
- "orders": {
1174
- "cat": [
1175
- {
1176
- "var": "state.orders"
1177
- },
1178
- [
1179
- {
1180
- "buyer": {
1181
- "var": "event.agent"
1182
- },
1183
- "quantity": {
1184
- "var": "event.quantity"
1185
- },
1186
- "shippingInfo": {
1187
- "var": "event.shippingInfo"
1188
- },
1189
- "orderedAt": {
1190
- "var": "$timestamp"
1191
- }
1192
- }
1193
- ]
1194
- ]
1195
- },
1196
- "totalQuantity": {
1197
- "+": [
1198
- {
1199
- "var": "state.totalQuantity"
1200
- },
1201
- {
1202
- "var": "event.quantity"
1203
- }
1204
- ]
1205
- },
1206
- "currentTier": {
1207
- "reduce": [
1208
- {
1209
- "var": "state.priceTiers"
1210
- },
1211
- {
1212
- "if": [
1213
- {
1214
- "<=": [
1215
- {
1216
- "var": "current.minQuantity"
1217
- },
1218
- {
1219
- "+": [
1220
- {
1221
- "var": "state.totalQuantity"
1222
- },
1223
- {
1224
- "var": "event.quantity"
1225
- }
1226
- ]
1227
- }
1228
- ]
1229
- },
1230
- {
1231
- "var": "current.tier"
1232
- },
1233
- {
1234
- "var": "accumulator"
1235
- }
1236
- ]
1237
- },
1238
- {
1239
- "var": "state.currentTier"
1240
- }
1241
- ]
1242
- }
1243
- }
1244
- ]
1245
- },
1246
- "dependencies": []
1247
- },
1248
- {
1249
- "from": "THRESHOLD_MET",
1250
- "to": "PROCESSING",
1251
- "eventName": "finalize",
1252
- "guard": {
1253
- ">=": [
1254
- {
1255
- "var": "$timestamp"
1256
- },
1257
- {
1258
- "var": "state.deadline"
1259
- }
1260
- ]
1261
- },
1262
- "effect": {
1263
- "merge": [
1264
- {
1265
- "var": "state"
1266
- },
1267
- {
1268
- "status": "PROCESSING",
1269
- "finalizedAt": {
1270
- "var": "$timestamp"
1271
- },
1272
- "finalTier": {
1273
- "var": "state.currentTier"
1274
- },
1275
- "finalPricePerUnit": {
1276
- "var": {
1277
- "cat": [
1278
- "state.priceTiers.",
1279
- {
1280
- "var": "state.currentTier"
1281
- },
1282
- ".pricePerUnit"
1283
- ]
1284
- }
1285
- }
1286
- }
1287
- ]
1288
- },
1289
- "dependencies": []
1290
- },
1291
- {
1292
- "from": "PROCESSING",
1293
- "to": "FULFILLED",
1294
- "eventName": "fulfill",
1295
- "guard": {
1296
- "or": [
1297
- {
1298
- "===": [
1299
- {
1300
- "var": "event.agent"
1301
- },
1302
- {
1303
- "var": "state.vendor"
1304
- }
1305
- ]
1306
- },
1307
- {
1308
- "===": [
1309
- {
1310
- "var": "event.agent"
1311
- },
1312
- {
1313
- "var": "state.organizer"
1314
- }
1315
- ]
1316
- }
1317
- ]
1318
- },
1319
- "effect": {
1320
- "merge": [
1321
- {
1322
- "var": "state"
1323
- },
1324
- {
1325
- "status": "FULFILLED",
1326
- "fulfilledAt": {
1327
- "var": "$timestamp"
1328
- },
1329
- "trackingInfo": {
1330
- "var": "event.trackingInfo"
1331
- }
1332
- }
1333
- ]
1334
- },
1335
- "dependencies": []
1336
- },
1337
- {
1338
- "from": "OPEN",
1339
- "to": "REFUNDED",
1340
- "eventName": "finalize",
1341
- "guard": {
1342
- "and": [
1343
- {
1344
- "<": [
1345
- {
1346
- "var": "state.totalQuantity"
1347
- },
1348
- {
1349
- "var": "state.minQuantity"
1350
- }
1351
- ]
1352
- },
1353
- {
1354
- ">=": [
1355
- {
1356
- "var": "$timestamp"
1357
- },
1358
- {
1359
- "var": "state.deadline"
1360
- }
1361
- ]
1362
- }
1363
- ]
1364
- },
1365
- "effect": {
1366
- "merge": [
1367
- {
1368
- "var": "state"
1369
- },
1370
- {
1371
- "status": "REFUNDED",
1372
- "refundedAt": {
1373
- "var": "$timestamp"
1374
- },
1375
- "reason": "threshold_not_met"
1376
- }
1377
- ]
1378
- },
1379
- "dependencies": []
1380
- },
1381
- {
1382
- "from": "REFUNDED",
1383
- "to": "REFUNDED",
1384
- "eventName": "claim_refund",
1385
- "guard": {
1386
- "and": [
1387
- {
1388
- ">": [
1389
- {
1390
- "size": {
1391
- "filter": [
1392
- {
1393
- "var": "state.orders"
1394
- },
1395
- {
1396
- "===": [
1397
- {
1398
- "var": "buyer"
1399
- },
1400
- {
1401
- "var": "event.agent"
1402
- }
1403
- ]
1404
- }
1405
- ]
1406
- }
1407
- },
1408
- 0
1409
- ]
1410
- },
1411
- {
1412
- "!": [
1413
- {
1414
- "in": [
1415
- {
1416
- "var": "event.agent"
1417
- },
1418
- {
1419
- "var": "state.refundsClaimed"
1420
- }
1421
- ]
1422
- }
1423
- ]
1424
- }
1425
- ]
1426
- },
1427
- "effect": {
1428
- "merge": [
1429
- {
1430
- "var": "state"
1431
- },
1432
- {
1433
- "refundsClaimed": {
1434
- "cat": [
1435
- {
1436
- "var": "state.refundsClaimed"
1437
- },
1438
- [
1439
- {
1440
- "var": "event.agent"
1441
- }
1442
- ]
1443
- ]
1444
- }
1445
- }
1446
- ]
1447
- },
1448
- "dependencies": []
1449
- }
1450
- ]
1451
- };
1452
- export const marketPredictionDef = {
1453
- "metadata": {
1454
- "name": "MarketPrediction",
1455
- "description": "Binary or multi-outcome prediction market with oracle resolution and position staking",
1456
- "version": "1.0.0",
1457
- "crossReferences": {
1458
- "oracleId": "Links to IdentityOracle that resolves the outcome",
1459
- "creatorIdentityId": "Links to creator's IdentityAgent"
1460
- }
1461
- },
1462
- "states": {
1463
- "PROPOSED": {
1464
- "id": "PROPOSED",
1465
- "isFinal": false,
1466
- "metadata": {
1467
- "description": "Market created but not yet open for trading"
1468
- }
1469
- },
1470
- "OPEN": {
1471
- "id": "OPEN",
1472
- "isFinal": false,
1473
- "metadata": {
1474
- "description": "Accepting positions on outcomes"
1475
- }
1476
- },
1477
- "CLOSED": {
1478
- "id": "CLOSED",
1479
- "isFinal": false,
1480
- "metadata": {
1481
- "description": "No more positions, awaiting resolution"
1482
- }
1483
- },
1484
- "RESOLVING": {
1485
- "id": "RESOLVING",
1486
- "isFinal": false,
1487
- "metadata": {
1488
- "description": "Oracle(s) submitting resolution"
1489
- }
1490
- },
1491
- "DISPUTED": {
1492
- "id": "DISPUTED",
1493
- "isFinal": false,
1494
- "metadata": {
1495
- "description": "Resolution challenged, awaiting arbitration"
1496
- }
1497
- },
1498
- "SETTLED": {
1499
- "id": "SETTLED",
1500
- "isFinal": true,
1501
- "metadata": {
1502
- "description": "Outcome finalized, payouts available"
1503
- }
1504
- },
1505
- "REFUNDED": {
1506
- "id": "REFUNDED",
1507
- "isFinal": true,
1508
- "metadata": {
1509
- "description": "Market invalidated, all positions refunded"
1510
- }
1511
- },
1512
- "CANCELLED": {
1513
- "id": "CANCELLED",
1514
- "isFinal": true,
1515
- "metadata": {
1516
- "description": "Market cancelled before opening"
1517
- }
1518
- }
1519
- },
1520
- "initialState": "PROPOSED",
1521
- "transitions": [
1522
- {
1523
- "from": "PROPOSED",
1524
- "to": "OPEN",
1525
- "eventName": "open",
1526
- "guard": {
1527
- "===": [
1528
- {
1529
- "var": "event.agent"
1530
- },
1531
- {
1532
- "var": "state.creator"
1533
- }
1534
- ]
1535
- },
1536
- "effect": {
1537
- "merge": [
1538
- {
1539
- "var": "state"
1540
- },
1541
- {
1542
- "status": "OPEN",
1543
- "openedAt": {
1544
- "var": "$timestamp"
1545
- },
1546
- "positions": {},
1547
- "totalPool": 0
1548
- }
1549
- ]
1550
- },
1551
- "dependencies": []
1552
- },
1553
- {
1554
- "from": "PROPOSED",
1555
- "to": "CANCELLED",
1556
- "eventName": "cancel",
1557
- "guard": {
1558
- "===": [
1559
- {
1560
- "var": "event.agent"
1561
- },
1562
- {
1563
- "var": "state.creator"
1564
- }
1565
- ]
1566
- },
1567
- "effect": {
1568
- "merge": [
1569
- {
1570
- "var": "state"
1571
- },
1572
- {
1573
- "status": "CANCELLED",
1574
- "cancelledAt": {
1575
- "var": "$timestamp"
1576
- },
1577
- "reason": {
1578
- "var": "event.reason"
1579
- }
1580
- }
1581
- ]
1582
- },
1583
- "dependencies": []
1584
- },
1585
- {
1586
- "from": "OPEN",
1587
- "to": "OPEN",
1588
- "eventName": "take_position",
1589
- "guard": {
1590
- "and": [
1591
- {
1592
- ">": [
1593
- {
1594
- "var": "event.amount"
1595
- },
1596
- 0
1597
- ]
1598
- },
1599
- {
1600
- "in": [
1601
- {
1602
- "var": "event.outcome"
1603
- },
1604
- {
1605
- "var": "state.outcomes"
1606
- }
1607
- ]
1608
- },
1609
- {
1610
- "or": [
1611
- {
1612
- "!": [
1613
- {
1614
- "var": "state.deadline"
1615
- }
1616
- ]
1617
- },
1618
- {
1619
- "<=": [
1620
- {
1621
- "var": "$timestamp"
1622
- },
1623
- {
1624
- "var": "state.deadline"
1625
- }
1626
- ]
1627
- }
1628
- ]
1629
- }
1630
- ]
1631
- },
1632
- "effect": {
1633
- "merge": [
1634
- {
1635
- "var": "state"
1636
- },
1637
- {
1638
- "positions": {
1639
- "merge": [
1640
- {
1641
- "var": "state.positions"
1642
- },
1643
- {
1644
- "__computed": {
1645
- "cat": [
1646
- {
1647
- "var": "event.agent"
1648
- },
1649
- "_",
1650
- {
1651
- "var": "event.outcome"
1652
- }
1653
- ]
1654
- }
1655
- }
1656
- ]
1657
- },
1658
- "totalPool": {
1659
- "+": [
1660
- {
1661
- "var": "state.totalPool"
1662
- },
1663
- {
1664
- "var": "event.amount"
1665
- }
1666
- ]
1667
- }
1668
- }
1669
- ]
1670
- },
1671
- "dependencies": []
1672
- },
1673
- {
1674
- "from": "OPEN",
1675
- "to": "CLOSED",
1676
- "eventName": "close",
1677
- "guard": {
1678
- "or": [
1679
- {
1680
- "===": [
1681
- {
1682
- "var": "event.agent"
1683
- },
1684
- {
1685
- "var": "state.creator"
1686
- }
1687
- ]
1688
- },
1689
- {
1690
- "and": [
1691
- {
1692
- "var": "state.deadline"
1693
- },
1694
- {
1695
- ">=": [
1696
- {
1697
- "var": "$timestamp"
1698
- },
1699
- {
1700
- "var": "state.deadline"
1701
- }
1702
- ]
1703
- }
1704
- ]
1705
- }
1706
- ]
1707
- },
1708
- "effect": {
1709
- "merge": [
1710
- {
1711
- "var": "state"
1712
- },
1713
- {
1714
- "status": "CLOSED",
1715
- "closedAt": {
1716
- "var": "$timestamp"
1717
- }
1718
- }
1719
- ]
1720
- },
1721
- "dependencies": []
1722
- },
1723
- {
1724
- "from": "CLOSED",
1725
- "to": "RESOLVING",
1726
- "eventName": "submit_resolution",
1727
- "guard": {
1728
- "in": [
1729
- {
1730
- "var": "event.agent"
1731
- },
1732
- {
1733
- "var": "state.oracles"
1734
- }
1735
- ]
1736
- },
1737
- "effect": {
1738
- "merge": [
1739
- {
1740
- "var": "state"
1741
- },
1742
- {
1743
- "status": "RESOLVING",
1744
- "resolutions": [
1745
- {
1746
- "oracle": {
1747
- "var": "event.agent"
1748
- },
1749
- "outcome": {
1750
- "var": "event.outcome"
1751
- },
1752
- "proof": {
1753
- "var": "event.proof"
1754
- },
1755
- "submittedAt": {
1756
- "var": "$timestamp"
1757
- }
1758
- }
1759
- ]
1760
- }
1761
- ]
1762
- },
1763
- "dependencies": []
1764
- },
1765
- {
1766
- "from": "RESOLVING",
1767
- "to": "RESOLVING",
1768
- "eventName": "submit_resolution",
1769
- "guard": {
1770
- "and": [
1771
- {
1772
- "in": [
1773
- {
1774
- "var": "event.agent"
1775
- },
1776
- {
1777
- "var": "state.oracles"
1778
- }
1779
- ]
1780
- },
1781
- {
1782
- "!": [
1783
- {
1784
- "in": [
1785
- {
1786
- "var": "event.agent"
1787
- },
1788
- {
1789
- "map": [
1790
- {
1791
- "var": "state.resolutions"
1792
- },
1793
- {
1794
- "var": "oracle"
1795
- }
1796
- ]
1797
- }
1798
- ]
1799
- }
1800
- ]
1801
- }
1802
- ]
1803
- },
1804
- "effect": {
1805
- "merge": [
1806
- {
1807
- "var": "state"
1808
- },
1809
- {
1810
- "resolutions": {
1811
- "cat": [
1812
- {
1813
- "var": "state.resolutions"
1814
- },
1815
- [
1816
- {
1817
- "oracle": {
1818
- "var": "event.agent"
1819
- },
1820
- "outcome": {
1821
- "var": "event.outcome"
1822
- },
1823
- "proof": {
1824
- "var": "event.proof"
1825
- },
1826
- "submittedAt": {
1827
- "var": "$timestamp"
1828
- }
1829
- }
1830
- ]
1831
- ]
1832
- }
1833
- }
1834
- ]
1835
- },
1836
- "dependencies": []
1837
- },
1838
- {
1839
- "from": "RESOLVING",
1840
- "to": "SETTLED",
1841
- "eventName": "finalize",
1842
- "guard": {
1843
- ">=": [
1844
- {
1845
- "size": {
1846
- "var": "state.resolutions"
1847
- }
1848
- },
1849
- {
1850
- "var": "state.quorum"
1851
- }
1852
- ]
1853
- },
1854
- "effect": {
1855
- "merge": [
1856
- {
1857
- "var": "state"
1858
- },
1859
- {
1860
- "status": "SETTLED",
1861
- "settledAt": {
1862
- "var": "$timestamp"
1863
- },
1864
- "finalOutcome": {
1865
- "var": "event.outcome"
1866
- },
1867
- "claims": []
1868
- }
1869
- ]
1870
- },
1871
- "dependencies": []
1872
- },
1873
- {
1874
- "from": "RESOLVING",
1875
- "to": "DISPUTED",
1876
- "eventName": "dispute",
1877
- "guard": {
1878
- "and": [
1879
- {
1880
- ">": [
1881
- {
1882
- "size": {
1883
- "filter": [
1884
- {
1885
- "var": "state.positions"
1886
- },
1887
- {
1888
- "===": [
1889
- {
1890
- "var": "agent"
1891
- },
1892
- {
1893
- "var": "event.agent"
1894
- }
1895
- ]
1896
- }
1897
- ]
1898
- }
1899
- },
1900
- 0
1901
- ]
1902
- },
1903
- {
1904
- "var": "event.stake"
1905
- }
1906
- ]
1907
- },
1908
- "effect": {
1909
- "merge": [
1910
- {
1911
- "var": "state"
1912
- },
1913
- {
1914
- "status": "DISPUTED",
1915
- "disputedAt": {
1916
- "var": "$timestamp"
1917
- },
1918
- "disputedBy": {
1919
- "var": "event.agent"
1920
- },
1921
- "disputeStake": {
1922
- "var": "event.stake"
1923
- },
1924
- "disputeReason": {
1925
- "var": "event.reason"
1926
- }
1927
- }
1928
- ]
1929
- },
1930
- "dependencies": []
1931
- },
1932
- {
1933
- "from": "DISPUTED",
1934
- "to": "SETTLED",
1935
- "eventName": "ruling",
1936
- "guard": {
1937
- "var": "event.judicialRuling"
1938
- },
1939
- "effect": {
1940
- "merge": [
1941
- {
1942
- "var": "state"
1943
- },
1944
- {
1945
- "status": "SETTLED",
1946
- "settledAt": {
1947
- "var": "$timestamp"
1948
- },
1949
- "finalOutcome": {
1950
- "var": "event.outcome"
1951
- },
1952
- "rulingId": {
1953
- "var": "event.rulingId"
1954
- },
1955
- "claims": []
1956
- }
1957
- ]
1958
- },
1959
- "dependencies": []
1960
- },
1961
- {
1962
- "from": "RESOLVING",
1963
- "to": "REFUNDED",
1964
- "eventName": "invalidate",
1965
- "guard": {
1966
- ">=": [
1967
- {
1968
- "size": {
1969
- "filter": [
1970
- {
1971
- "var": "state.resolutions"
1972
- },
1973
- {
1974
- "===": [
1975
- {
1976
- "var": "outcome"
1977
- },
1978
- "INVALID"
1979
- ]
1980
- }
1981
- ]
1982
- }
1983
- },
1984
- {
1985
- "var": "state.quorum"
1986
- }
1987
- ]
1988
- },
1989
- "effect": {
1990
- "merge": [
1991
- {
1992
- "var": "state"
1993
- },
1994
- {
1995
- "status": "REFUNDED",
1996
- "refundedAt": {
1997
- "var": "$timestamp"
1998
- },
1999
- "reason": "oracle_invalidation"
2000
- }
2001
- ]
2002
- },
2003
- "dependencies": []
2004
- },
2005
- {
2006
- "from": "SETTLED",
2007
- "to": "SETTLED",
2008
- "eventName": "claim",
2009
- "guard": {
2010
- "and": [
2011
- {
2012
- ">": [
2013
- {
2014
- "size": {
2015
- "filter": [
2016
- {
2017
- "var": "state.positions"
2018
- },
2019
- {
2020
- "and": [
2021
- {
2022
- "===": [
2023
- {
2024
- "var": "agent"
2025
- },
2026
- {
2027
- "var": "event.agent"
2028
- }
2029
- ]
2030
- },
2031
- {
2032
- "===": [
2033
- {
2034
- "var": "outcome"
2035
- },
2036
- {
2037
- "var": "state.finalOutcome"
2038
- }
2039
- ]
2040
- }
2041
- ]
2042
- }
2043
- ]
2044
- }
2045
- },
2046
- 0
2047
- ]
2048
- },
2049
- {
2050
- "!": [
2051
- {
2052
- "in": [
2053
- {
2054
- "var": "event.agent"
2055
- },
2056
- {
2057
- "map": [
2058
- {
2059
- "var": "state.claims"
2060
- },
2061
- {
2062
- "var": "agent"
2063
- }
2064
- ]
2065
- }
2066
- ]
2067
- }
2068
- ]
2069
- }
2070
- ]
2071
- },
2072
- "effect": {
2073
- "merge": [
2074
- {
2075
- "var": "state"
2076
- },
2077
- {
2078
- "claims": {
2079
- "cat": [
2080
- {
2081
- "var": "state.claims"
2082
- },
2083
- [
2084
- {
2085
- "agent": {
2086
- "var": "event.agent"
2087
- },
2088
- "amount": {
2089
- "var": "event.amount"
2090
- },
2091
- "claimedAt": {
2092
- "var": "$timestamp"
2093
- }
2094
- }
2095
- ]
2096
- ]
2097
- }
2098
- }
2099
- ]
2100
- },
2101
- "dependencies": []
2102
- }
2103
- ]
2104
- };
2105
- export const marketUniversalDef = {
2106
- "metadata": {
2107
- "name": "MarketUniversal",
2108
- "description": "Minimal market state machine - extend for custom use cases",
2109
- "version": "1.0.0"
2110
- },
2111
- "states": {
2112
- "PROPOSED": {
2113
- "id": "PROPOSED",
2114
- "isFinal": false,
2115
- "metadata": null
2116
- },
2117
- "OPEN": {
2118
- "id": "OPEN",
2119
- "isFinal": false,
2120
- "metadata": null
2121
- },
2122
- "CLOSED": {
2123
- "id": "CLOSED",
2124
- "isFinal": false,
2125
- "metadata": null
2126
- },
2127
- "SETTLED": {
2128
- "id": "SETTLED",
2129
- "isFinal": true,
2130
- "metadata": null
2131
- },
2132
- "CANCELLED": {
2133
- "id": "CANCELLED",
2134
- "isFinal": true,
2135
- "metadata": null
2136
- }
2137
- },
2138
- "initialState": "PROPOSED",
2139
- "transitions": [
2140
- {
2141
- "from": "PROPOSED",
2142
- "to": "OPEN",
2143
- "eventName": "open",
2144
- "guard": {
2145
- "==": [
2146
- 1,
2147
- 1
2148
- ]
2149
- },
2150
- "effect": {
2151
- "merge": [
2152
- {
2153
- "var": "state"
2154
- },
2155
- {
2156
- "status": "OPEN",
2157
- "openedAt": {
2158
- "var": "$timestamp"
2159
- }
2160
- }
2161
- ]
2162
- },
2163
- "dependencies": []
2164
- },
2165
- {
2166
- "from": "PROPOSED",
2167
- "to": "CANCELLED",
2168
- "eventName": "cancel",
2169
- "guard": {
2170
- "==": [
2171
- 1,
2172
- 1
2173
- ]
2174
- },
2175
- "effect": {
2176
- "merge": [
2177
- {
2178
- "var": "state"
2179
- },
2180
- {
2181
- "status": "CANCELLED",
2182
- "cancelledAt": {
2183
- "var": "$timestamp"
2184
- }
2185
- }
2186
- ]
2187
- },
2188
- "dependencies": []
2189
- },
2190
- {
2191
- "from": "OPEN",
2192
- "to": "OPEN",
2193
- "eventName": "commit",
2194
- "guard": {
2195
- ">": [
2196
- {
2197
- "var": "event.amount"
2198
- },
2199
- 0
2200
- ]
2201
- },
2202
- "effect": {
2203
- "merge": [
2204
- {
2205
- "var": "state"
2206
- },
2207
- {
2208
- "totalCommitted": {
2209
- "+": [
2210
- {
2211
- "var": "state.totalCommitted"
2212
- },
2213
- {
2214
- "var": "event.amount"
2215
- }
2216
- ]
2217
- }
2218
- }
2219
- ]
2220
- },
2221
- "dependencies": []
2222
- },
2223
- {
2224
- "from": "OPEN",
2225
- "to": "CLOSED",
2226
- "eventName": "close",
2227
- "guard": {
2228
- "==": [
2229
- 1,
2230
- 1
2231
- ]
2232
- },
2233
- "effect": {
2234
- "merge": [
2235
- {
2236
- "var": "state"
2237
- },
2238
- {
2239
- "status": "CLOSED",
2240
- "closedAt": {
2241
- "var": "$timestamp"
2242
- }
2243
- }
2244
- ]
2245
- },
2246
- "dependencies": []
2247
- },
2248
- {
2249
- "from": "CLOSED",
2250
- "to": "SETTLED",
2251
- "eventName": "settle",
2252
- "guard": {
2253
- "==": [
2254
- 1,
2255
- 1
2256
- ]
2257
- },
2258
- "effect": {
2259
- "merge": [
2260
- {
2261
- "var": "state"
2262
- },
2263
- {
2264
- "status": "SETTLED",
2265
- "settledAt": {
2266
- "var": "$timestamp"
2267
- }
2268
- }
2269
- ]
2270
- },
2271
- "dependencies": []
2272
- },
2273
- {
2274
- "from": "CLOSED",
2275
- "to": "CANCELLED",
2276
- "eventName": "cancel",
2277
- "guard": {
2278
- "==": [
2279
- 1,
2280
- 1
2281
- ]
2282
- },
2283
- "effect": {
2284
- "merge": [
2285
- {
2286
- "var": "state"
2287
- },
2288
- {
2289
- "status": "CANCELLED",
2290
- "cancelledAt": {
2291
- "var": "$timestamp"
2292
- }
2293
- }
2294
- ]
2295
- },
2296
- "dependencies": []
2297
- }
2298
- ]
2299
- };
6
+ export { marketUniversalDef } from "./market-universal.js";
7
+ export { marketPredictionDef } from "./market-prediction.js";
8
+ export { marketAuctionDef } from "./market-auction.js";
9
+ export { marketCrowdfundDef } from "./market-crowdfund.js";
10
+ export { marketGroupBuyDef } from "./market-group-buy.js";