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