@ottochain/sdk 1.6.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/dist/cjs/apps/contracts/index.js +18 -13
  2. package/dist/cjs/apps/contracts/state-machines/index.js +139 -7
  3. package/dist/cjs/apps/corporate/index.js +18 -20
  4. package/dist/cjs/apps/corporate/state-machines/index.js +535 -6336
  5. package/dist/cjs/apps/governance/index.js +32 -31
  6. package/dist/cjs/apps/governance/state-machines/index.js +498 -2315
  7. package/dist/cjs/apps/identity/index.js +15 -7
  8. package/dist/cjs/apps/identity/state-machines/index.js +516 -4
  9. package/dist/cjs/apps/index.js +15 -13
  10. package/dist/cjs/apps/markets/index.js +23 -10
  11. package/dist/cjs/apps/markets/state-machines/index.js +1904 -230
  12. package/dist/esm/apps/contracts/index.js +16 -13
  13. package/dist/esm/apps/contracts/state-machines/index.js +138 -6
  14. package/dist/esm/apps/corporate/index.js +14 -20
  15. package/dist/esm/apps/corporate/state-machines/index.js +534 -6335
  16. package/dist/esm/apps/governance/index.js +26 -30
  17. package/dist/esm/apps/governance/state-machines/index.js +497 -2314
  18. package/dist/esm/apps/identity/index.js +13 -7
  19. package/dist/esm/apps/identity/state-machines/index.js +515 -3
  20. package/dist/esm/apps/index.js +14 -12
  21. package/dist/esm/apps/markets/index.js +19 -10
  22. package/dist/esm/apps/markets/state-machines/index.js +1903 -229
  23. package/dist/types/apps/contracts/index.d.ts +661 -9
  24. package/dist/types/apps/contracts/state-machines/index.d.ts +109 -6
  25. package/dist/types/apps/corporate/index.d.ts +4015 -7
  26. package/dist/types/apps/corporate/state-machines/index.d.ts +472 -5587
  27. package/dist/types/apps/governance/index.d.ts +2151 -12
  28. package/dist/types/apps/governance/state-machines/index.d.ts +462 -1875
  29. package/dist/types/apps/identity/index.d.ts +601 -4
  30. package/dist/types/apps/identity/state-machines/index.d.ts +393 -3
  31. package/dist/types/apps/index.d.ts +14 -12
  32. package/dist/types/apps/markets/index.d.ts +1690 -7
  33. package/dist/types/apps/markets/state-machines/index.d.ts +1416 -184
  34. package/package.json +1 -1
  35. package/dist/cjs/apps/oracles/index.js +0 -59
  36. package/dist/cjs/apps/oracles/state-machines/index.js +0 -415
  37. package/dist/esm/apps/oracles/index.js +0 -42
  38. package/dist/esm/apps/oracles/state-machines/index.js +0 -412
  39. package/dist/types/apps/oracles/index.d.ts +0 -34
  40. package/dist/types/apps/oracles/state-machines/index.d.ts +0 -312
@@ -2,47 +2,58 @@
2
2
  * Auto-generated from JSON state machine definitions.
3
3
  * DO NOT EDIT - regenerate with: npm run prebuild
4
4
  */
5
- export declare const marketUniversalDef: {
5
+ export declare const marketAuctionDef: {
6
6
  readonly metadata: {
7
- readonly name: "Market";
8
- readonly description: "Universal market state machine: predictions, auctions, crowdfunding, group buys";
9
- readonly version: "1.1.0";
7
+ readonly name: "MarketAuction";
8
+ readonly description: "Auction market supporting English, Dutch, and sealed-bid variants";
9
+ readonly version: "1.0.0";
10
+ readonly crossReferences: {
11
+ readonly sellerIdentityId: "Links to seller's IdentityAgent";
12
+ readonly escrowId: "Links to ContractEscrow for asset custody";
13
+ };
10
14
  };
11
15
  readonly states: {
12
16
  readonly PROPOSED: {
13
17
  readonly id: "PROPOSED";
14
18
  readonly isFinal: false;
15
- readonly metadata: null;
19
+ readonly metadata: {
20
+ readonly description: "Auction created but not yet open";
21
+ };
16
22
  };
17
23
  readonly OPEN: {
18
24
  readonly id: "OPEN";
19
25
  readonly isFinal: false;
20
- readonly metadata: null;
21
- };
22
- readonly CLOSED: {
23
- readonly id: "CLOSED";
24
- readonly isFinal: false;
25
- readonly metadata: null;
26
+ readonly metadata: {
27
+ readonly description: "Accepting bids";
28
+ };
26
29
  };
27
- readonly RESOLVING: {
28
- readonly id: "RESOLVING";
30
+ readonly CLOSING: {
31
+ readonly id: "CLOSING";
29
32
  readonly isFinal: false;
30
- readonly metadata: null;
33
+ readonly metadata: {
34
+ readonly description: "Bid period ended, determining winner";
35
+ };
31
36
  };
32
37
  readonly SETTLED: {
33
38
  readonly id: "SETTLED";
34
39
  readonly isFinal: true;
35
- readonly metadata: null;
40
+ readonly metadata: {
41
+ readonly description: "Winner determined, transfer complete";
42
+ };
36
43
  };
37
- readonly REFUNDED: {
38
- readonly id: "REFUNDED";
44
+ readonly NO_SALE: {
45
+ readonly id: "NO_SALE";
39
46
  readonly isFinal: true;
40
- readonly metadata: null;
47
+ readonly metadata: {
48
+ readonly description: "Reserve not met or no valid bids";
49
+ };
41
50
  };
42
51
  readonly CANCELLED: {
43
52
  readonly id: "CANCELLED";
44
53
  readonly isFinal: true;
45
- readonly metadata: null;
54
+ readonly metadata: {
55
+ readonly description: "Auction cancelled by seller";
56
+ };
46
57
  };
47
58
  };
48
59
  readonly initialState: "PROPOSED";
@@ -54,7 +65,7 @@ export declare const marketUniversalDef: {
54
65
  readonly "===": readonly [{
55
66
  readonly var: "event.agent";
56
67
  }, {
57
- readonly var: "state.creator";
68
+ readonly var: "state.seller";
58
69
  }];
59
70
  };
60
71
  readonly effect: {
@@ -63,8 +74,11 @@ export declare const marketUniversalDef: {
63
74
  }, {
64
75
  readonly status: "OPEN";
65
76
  readonly openedAt: {
66
- readonly var: "$epochProgress";
77
+ readonly var: "$timestamp";
67
78
  };
79
+ readonly bids: readonly [];
80
+ readonly highBid: null;
81
+ readonly highBidder: null;
68
82
  }];
69
83
  };
70
84
  readonly dependencies: readonly [];
@@ -76,7 +90,7 @@ export declare const marketUniversalDef: {
76
90
  readonly "===": readonly [{
77
91
  readonly var: "event.agent";
78
92
  }, {
79
- readonly var: "state.creator";
93
+ readonly var: "state.seller";
80
94
  }];
81
95
  };
82
96
  readonly effect: {
@@ -85,10 +99,7 @@ export declare const marketUniversalDef: {
85
99
  }, {
86
100
  readonly status: "CANCELLED";
87
101
  readonly cancelledAt: {
88
- readonly var: "$epochProgress";
89
- };
90
- readonly reason: {
91
- readonly var: "event.reason";
102
+ readonly var: "$timestamp";
92
103
  };
93
104
  }];
94
105
  };
@@ -96,12 +107,36 @@ export declare const marketUniversalDef: {
96
107
  }, {
97
108
  readonly from: "OPEN";
98
109
  readonly to: "OPEN";
99
- readonly eventName: "commit";
110
+ readonly eventName: "bid";
100
111
  readonly guard: {
101
112
  readonly and: readonly [{
102
- readonly ">": readonly [{
113
+ readonly "!==": readonly [{
114
+ readonly var: "event.agent";
115
+ }, {
116
+ readonly var: "state.seller";
117
+ }];
118
+ }, {
119
+ readonly ">=": readonly [{
103
120
  readonly var: "event.amount";
104
- }, 0];
121
+ }, {
122
+ readonly var: "state.minBid";
123
+ }];
124
+ }, {
125
+ readonly or: readonly [{
126
+ readonly "!": readonly [{
127
+ readonly var: "state.highBid";
128
+ }];
129
+ }, {
130
+ readonly ">=": readonly [{
131
+ readonly var: "event.amount";
132
+ }, {
133
+ readonly "+": readonly [{
134
+ readonly var: "state.highBid";
135
+ }, {
136
+ readonly var: "state.bidIncrement";
137
+ }];
138
+ }];
139
+ }];
105
140
  }, {
106
141
  readonly or: readonly [{
107
142
  readonly "!": readonly [{
@@ -109,7 +144,7 @@ export declare const marketUniversalDef: {
109
144
  }];
110
145
  }, {
111
146
  readonly "<=": readonly [{
112
- readonly var: "$epochProgress";
147
+ readonly var: "$timestamp";
113
148
  }, {
114
149
  readonly var: "state.deadline";
115
150
  }];
@@ -120,51 +155,50 @@ export declare const marketUniversalDef: {
120
155
  readonly merge: readonly [{
121
156
  readonly var: "state";
122
157
  }, {
123
- readonly commitments: {
124
- readonly merge: readonly [{
125
- readonly var: "state.commitments";
158
+ readonly bids: {
159
+ readonly cat: readonly [{
160
+ readonly var: "state.bids";
126
161
  }, readonly [{
127
- readonly agent: {
162
+ readonly bidder: {
128
163
  readonly var: "event.agent";
129
164
  };
130
165
  readonly amount: {
131
166
  readonly var: "event.amount";
132
167
  };
133
- readonly data: {
134
- readonly var: "event.data";
135
- };
136
- readonly committedAt: {
137
- readonly var: "$epochProgress";
168
+ readonly bidAt: {
169
+ readonly var: "$timestamp";
138
170
  };
139
171
  }]];
140
172
  };
141
- readonly totalCommitted: {
142
- readonly "+": readonly [{
143
- readonly var: "state.totalCommitted";
144
- }, {
145
- readonly var: "event.amount";
146
- }];
173
+ readonly highBid: {
174
+ readonly var: "event.amount";
175
+ };
176
+ readonly highBidder: {
177
+ readonly var: "event.agent";
178
+ };
179
+ readonly lastBidAt: {
180
+ readonly var: "$timestamp";
147
181
  };
148
182
  }];
149
183
  };
150
184
  readonly dependencies: readonly [];
151
185
  }, {
152
186
  readonly from: "OPEN";
153
- readonly to: "CLOSED";
187
+ readonly to: "CLOSING";
154
188
  readonly eventName: "close";
155
189
  readonly guard: {
156
190
  readonly or: readonly [{
157
191
  readonly "===": readonly [{
158
192
  readonly var: "event.agent";
159
193
  }, {
160
- readonly var: "state.creator";
194
+ readonly var: "state.seller";
161
195
  }];
162
196
  }, {
163
197
  readonly and: readonly [{
164
198
  readonly var: "state.deadline";
165
199
  }, {
166
200
  readonly ">=": readonly [{
167
- readonly var: "$epochProgress";
201
+ readonly var: "$timestamp";
168
202
  }, {
169
203
  readonly var: "state.deadline";
170
204
  }];
@@ -175,29 +209,31 @@ export declare const marketUniversalDef: {
175
209
  readonly merge: readonly [{
176
210
  readonly var: "state";
177
211
  }, {
178
- readonly status: "CLOSED";
212
+ readonly status: "CLOSING";
179
213
  readonly closedAt: {
180
- readonly var: "$epochProgress";
214
+ readonly var: "$timestamp";
181
215
  };
182
216
  }];
183
217
  };
184
218
  readonly dependencies: readonly [];
185
219
  }, {
186
- readonly from: "CLOSED";
187
- readonly to: "RESOLVING";
188
- readonly eventName: "submit_resolution";
220
+ readonly from: "CLOSING";
221
+ readonly to: "SETTLED";
222
+ readonly eventName: "settle";
189
223
  readonly guard: {
190
- readonly or: readonly [{
191
- readonly in: readonly [{
192
- readonly var: "event.agent";
193
- }, {
194
- readonly var: "state.oracles";
195
- }];
224
+ readonly and: readonly [{
225
+ readonly var: "state.highBidder";
196
226
  }, {
197
- readonly "===": readonly [{
198
- readonly var: "event.agent";
227
+ readonly or: readonly [{
228
+ readonly "!": readonly [{
229
+ readonly var: "state.reservePrice";
230
+ }];
199
231
  }, {
200
- readonly var: "state.creator";
232
+ readonly ">=": readonly [{
233
+ readonly var: "state.highBid";
234
+ }, {
235
+ readonly var: "state.reservePrice";
236
+ }];
201
237
  }];
202
238
  }];
203
239
  };
@@ -205,49 +241,36 @@ export declare const marketUniversalDef: {
205
241
  readonly merge: readonly [{
206
242
  readonly var: "state";
207
243
  }, {
208
- readonly status: "RESOLVING";
209
- readonly resolutions: {
210
- readonly merge: readonly [{
211
- readonly var: "state.resolutions";
212
- }, readonly [{
213
- readonly oracle: {
214
- readonly var: "event.agent";
215
- };
216
- readonly outcome: {
217
- readonly var: "event.outcome";
218
- };
219
- readonly proof: {
220
- readonly var: "event.proof";
221
- };
222
- readonly submittedAt: {
223
- readonly var: "$epochProgress";
224
- };
225
- }]];
244
+ readonly status: "SETTLED";
245
+ readonly settledAt: {
246
+ readonly var: "$timestamp";
247
+ };
248
+ readonly winner: {
249
+ readonly var: "state.highBidder";
250
+ };
251
+ readonly finalPrice: {
252
+ readonly var: "state.highBid";
226
253
  };
227
254
  }];
228
255
  };
229
256
  readonly dependencies: readonly [];
230
257
  }, {
231
- readonly from: "RESOLVING";
232
- readonly to: "RESOLVING";
233
- readonly eventName: "submit_resolution";
258
+ readonly from: "CLOSING";
259
+ readonly to: "NO_SALE";
260
+ readonly eventName: "no_sale";
234
261
  readonly guard: {
235
- readonly and: readonly [{
236
- readonly in: readonly [{
237
- readonly var: "event.agent";
238
- }, {
239
- readonly var: "state.oracles";
262
+ readonly or: readonly [{
263
+ readonly "!": readonly [{
264
+ readonly var: "state.highBidder";
240
265
  }];
241
266
  }, {
242
- readonly "!": readonly [{
243
- readonly in: readonly [{
244
- readonly var: "event.agent";
267
+ readonly and: readonly [{
268
+ readonly var: "state.reservePrice";
269
+ }, {
270
+ readonly "<": readonly [{
271
+ readonly var: "state.highBid";
245
272
  }, {
246
- readonly map: readonly [{
247
- readonly var: "state.resolutions";
248
- }, {
249
- readonly var: "oracle";
250
- }];
273
+ readonly var: "state.reservePrice";
251
274
  }];
252
275
  }];
253
276
  }];
@@ -256,122 +279,149 @@ export declare const marketUniversalDef: {
256
279
  readonly merge: readonly [{
257
280
  readonly var: "state";
258
281
  }, {
259
- readonly resolutions: {
260
- readonly merge: readonly [{
261
- readonly var: "state.resolutions";
262
- }, readonly [{
263
- readonly oracle: {
264
- readonly var: "event.agent";
265
- };
266
- readonly outcome: {
267
- readonly var: "event.outcome";
268
- };
269
- readonly proof: {
270
- readonly var: "event.proof";
271
- };
272
- readonly submittedAt: {
273
- readonly var: "$epochProgress";
274
- };
275
- }]];
282
+ readonly status: "NO_SALE";
283
+ readonly closedAt: {
284
+ readonly var: "$timestamp";
285
+ };
286
+ readonly reason: {
287
+ readonly if: readonly [{
288
+ readonly "!": readonly [{
289
+ readonly var: "state.highBidder";
290
+ }];
291
+ }, "no_bids", "reserve_not_met"];
276
292
  };
277
293
  }];
278
294
  };
279
295
  readonly dependencies: readonly [];
280
- }, {
281
- readonly from: "RESOLVING";
282
- readonly to: "SETTLED";
283
- readonly eventName: "finalize";
296
+ }];
297
+ };
298
+ export declare const marketCrowdfundDef: {
299
+ readonly metadata: {
300
+ readonly name: "MarketCrowdfund";
301
+ readonly description: "All-or-nothing crowdfunding with threshold, deadline, and stretch goals";
302
+ readonly version: "1.0.0";
303
+ readonly crossReferences: {
304
+ readonly creatorIdentityId: "Links to creator's IdentityAgent";
305
+ readonly treasuryId: "Links to Treasury for fund custody";
306
+ };
307
+ };
308
+ readonly states: {
309
+ readonly PROPOSED: {
310
+ readonly id: "PROPOSED";
311
+ readonly isFinal: false;
312
+ readonly metadata: {
313
+ readonly description: "Campaign created but not yet open";
314
+ };
315
+ };
316
+ readonly OPEN: {
317
+ readonly id: "OPEN";
318
+ readonly isFinal: false;
319
+ readonly metadata: {
320
+ readonly description: "Accepting pledges";
321
+ };
322
+ };
323
+ readonly FUNDED: {
324
+ readonly id: "FUNDED";
325
+ readonly isFinal: true;
326
+ readonly metadata: {
327
+ readonly description: "Threshold met, funds released to creator";
328
+ };
329
+ };
330
+ readonly REFUNDED: {
331
+ readonly id: "REFUNDED";
332
+ readonly isFinal: true;
333
+ readonly metadata: {
334
+ readonly description: "Threshold not met, all pledges refunded";
335
+ };
336
+ };
337
+ readonly CANCELLED: {
338
+ readonly id: "CANCELLED";
339
+ readonly isFinal: true;
340
+ readonly metadata: {
341
+ readonly description: "Campaign cancelled by creator";
342
+ };
343
+ };
344
+ };
345
+ readonly initialState: "PROPOSED";
346
+ readonly transitions: readonly [{
347
+ readonly from: "PROPOSED";
348
+ readonly to: "OPEN";
349
+ readonly eventName: "launch";
284
350
  readonly guard: {
285
- readonly or: readonly [{
286
- readonly ">=": readonly [{
287
- readonly size: {
288
- readonly var: "state.resolutions";
289
- };
290
- }, {
291
- readonly var: "state.quorum";
292
- }];
293
- }, {
294
- readonly "===": readonly [{
295
- readonly var: "state.marketType";
296
- }, "crowdfund"];
297
- }, {
298
- readonly "===": readonly [{
299
- readonly var: "state.marketType";
300
- }, "group_buy"];
351
+ readonly "===": readonly [{
352
+ readonly var: "event.agent";
301
353
  }, {
302
- readonly "===": readonly [{
303
- readonly var: "state.marketType";
304
- }, "auction"];
354
+ readonly var: "state.creator";
305
355
  }];
306
356
  };
307
357
  readonly effect: {
308
358
  readonly merge: readonly [{
309
359
  readonly var: "state";
310
360
  }, {
311
- readonly status: "SETTLED";
312
- readonly settledAt: {
313
- readonly var: "$epochProgress";
314
- };
315
- readonly finalOutcome: {
316
- readonly var: "event.outcome";
317
- };
318
- readonly settlement: {
319
- readonly var: "event.settlement";
361
+ readonly status: "OPEN";
362
+ readonly launchedAt: {
363
+ readonly var: "$timestamp";
320
364
  };
365
+ readonly pledges: readonly [];
366
+ readonly totalPledged: 0;
367
+ readonly backerCount: 0;
321
368
  }];
322
369
  };
323
370
  readonly dependencies: readonly [];
324
371
  }, {
325
- readonly from: "CLOSED";
326
- readonly to: "REFUNDED";
327
- readonly eventName: "refund";
372
+ readonly from: "PROPOSED";
373
+ readonly to: "CANCELLED";
374
+ readonly eventName: "cancel";
328
375
  readonly guard: {
329
- readonly and: readonly [{
330
- readonly var: "state.threshold";
376
+ readonly "===": readonly [{
377
+ readonly var: "event.agent";
331
378
  }, {
332
- readonly "<": readonly [{
333
- readonly var: "state.totalCommitted";
334
- }, {
335
- readonly var: "state.threshold";
336
- }];
379
+ readonly var: "state.creator";
337
380
  }];
338
381
  };
339
382
  readonly effect: {
340
383
  readonly merge: readonly [{
341
384
  readonly var: "state";
342
385
  }, {
343
- readonly status: "REFUNDED";
344
- readonly refundedAt: {
345
- readonly var: "$epochProgress";
386
+ readonly status: "CANCELLED";
387
+ readonly cancelledAt: {
388
+ readonly var: "$timestamp";
346
389
  };
347
- readonly reason: "threshold_not_met";
348
390
  }];
349
391
  };
350
392
  readonly dependencies: readonly [];
351
393
  }, {
352
- readonly from: "RESOLVING";
353
- readonly to: "REFUNDED";
354
- readonly eventName: "refund";
394
+ readonly from: "OPEN";
395
+ readonly to: "OPEN";
396
+ readonly eventName: "pledge";
355
397
  readonly guard: {
356
- readonly or: readonly [{
357
- readonly "===": readonly [{
398
+ readonly and: readonly [{
399
+ readonly ">": readonly [{
400
+ readonly var: "event.amount";
401
+ }, 0];
402
+ }, {
403
+ readonly "!==": readonly [{
358
404
  readonly var: "event.agent";
359
405
  }, {
360
406
  readonly var: "state.creator";
361
407
  }];
362
408
  }, {
363
- readonly ">=": readonly [{
364
- readonly size: {
365
- readonly filter: readonly [{
366
- readonly var: "state.resolutions";
367
- }, {
368
- readonly "===": readonly [{
369
- readonly var: "outcome";
370
- }, "INVALID"];
371
- }];
372
- };
409
+ readonly or: readonly [{
410
+ readonly "!": readonly [{
411
+ readonly var: "state.minPledge";
412
+ }];
413
+ }, {
414
+ readonly ">=": readonly [{
415
+ readonly var: "event.amount";
416
+ }, {
417
+ readonly var: "state.minPledge";
418
+ }];
419
+ }];
420
+ }, {
421
+ readonly "<=": readonly [{
422
+ readonly var: "$timestamp";
373
423
  }, {
374
- readonly var: "state.quorum";
424
+ readonly var: "state.deadline";
375
425
  }];
376
426
  }];
377
427
  };
@@ -379,26 +429,952 @@ export declare const marketUniversalDef: {
379
429
  readonly merge: readonly [{
380
430
  readonly var: "state";
381
431
  }, {
382
- readonly status: "REFUNDED";
383
- readonly refundedAt: {
384
- readonly var: "$epochProgress";
432
+ readonly pledges: {
433
+ readonly cat: readonly [{
434
+ readonly var: "state.pledges";
435
+ }, readonly [{
436
+ readonly backer: {
437
+ readonly var: "event.agent";
438
+ };
439
+ readonly amount: {
440
+ readonly var: "event.amount";
441
+ };
442
+ readonly rewardTier: {
443
+ readonly var: "event.rewardTier";
444
+ };
445
+ readonly pledgedAt: {
446
+ readonly var: "$timestamp";
447
+ };
448
+ }]];
385
449
  };
386
- readonly reason: {
450
+ readonly totalPledged: {
451
+ readonly "+": readonly [{
452
+ readonly var: "state.totalPledged";
453
+ }, {
454
+ readonly var: "event.amount";
455
+ }];
456
+ };
457
+ readonly backerCount: {
458
+ readonly "+": readonly [{
459
+ readonly var: "state.backerCount";
460
+ }, 1];
461
+ };
462
+ }];
463
+ };
464
+ readonly dependencies: readonly [];
465
+ }, {
466
+ readonly from: "OPEN";
467
+ readonly to: "OPEN";
468
+ readonly eventName: "increase_pledge";
469
+ readonly guard: {
470
+ readonly and: readonly [{
471
+ readonly ">": readonly [{
472
+ readonly var: "event.additionalAmount";
473
+ }, 0];
474
+ }, {
475
+ readonly "<=": readonly [{
476
+ readonly var: "$timestamp";
477
+ }, {
478
+ readonly var: "state.deadline";
479
+ }];
480
+ }, {
481
+ readonly ">": readonly [{
482
+ readonly size: {
483
+ readonly filter: readonly [{
484
+ readonly var: "state.pledges";
485
+ }, {
486
+ readonly "===": readonly [{
487
+ readonly var: "backer";
488
+ }, {
489
+ readonly var: "event.agent";
490
+ }];
491
+ }];
492
+ };
493
+ }, 0];
494
+ }];
495
+ };
496
+ readonly effect: {
497
+ readonly merge: readonly [{
498
+ readonly var: "state";
499
+ }, {
500
+ readonly totalPledged: {
501
+ readonly "+": readonly [{
502
+ readonly var: "state.totalPledged";
503
+ }, {
504
+ readonly var: "event.additionalAmount";
505
+ }];
506
+ };
507
+ }];
508
+ };
509
+ readonly dependencies: readonly [];
510
+ }, {
511
+ readonly from: "OPEN";
512
+ readonly to: "FUNDED";
513
+ readonly eventName: "finalize";
514
+ readonly guard: {
515
+ readonly and: readonly [{
516
+ readonly ">=": readonly [{
517
+ readonly var: "state.totalPledged";
518
+ }, {
519
+ readonly var: "state.threshold";
520
+ }];
521
+ }, {
522
+ readonly ">=": readonly [{
523
+ readonly var: "$timestamp";
524
+ }, {
525
+ readonly var: "state.deadline";
526
+ }];
527
+ }];
528
+ };
529
+ readonly effect: {
530
+ readonly merge: readonly [{
531
+ readonly var: "state";
532
+ }, {
533
+ readonly status: "FUNDED";
534
+ readonly fundedAt: {
535
+ readonly var: "$timestamp";
536
+ };
537
+ readonly stretchGoalsReached: {
538
+ readonly filter: readonly [{
539
+ readonly var: "state.stretchGoals";
540
+ }, {
541
+ readonly "<=": readonly [{
542
+ readonly var: "target";
543
+ }, {
544
+ readonly var: "state.totalPledged";
545
+ }];
546
+ }];
547
+ };
548
+ }];
549
+ };
550
+ readonly dependencies: readonly [];
551
+ }, {
552
+ readonly from: "OPEN";
553
+ readonly to: "REFUNDED";
554
+ readonly eventName: "finalize";
555
+ readonly guard: {
556
+ readonly and: readonly [{
557
+ readonly "<": readonly [{
558
+ readonly var: "state.totalPledged";
559
+ }, {
560
+ readonly var: "state.threshold";
561
+ }];
562
+ }, {
563
+ readonly ">=": readonly [{
564
+ readonly var: "$timestamp";
565
+ }, {
566
+ readonly var: "state.deadline";
567
+ }];
568
+ }];
569
+ };
570
+ readonly effect: {
571
+ readonly merge: readonly [{
572
+ readonly var: "state";
573
+ }, {
574
+ readonly status: "REFUNDED";
575
+ readonly refundedAt: {
576
+ readonly var: "$timestamp";
577
+ };
578
+ readonly reason: "threshold_not_met";
579
+ }];
580
+ };
581
+ readonly dependencies: readonly [];
582
+ }, {
583
+ readonly from: "REFUNDED";
584
+ readonly to: "REFUNDED";
585
+ readonly eventName: "claim_refund";
586
+ readonly guard: {
587
+ readonly and: readonly [{
588
+ readonly ">": readonly [{
589
+ readonly size: {
590
+ readonly filter: readonly [{
591
+ readonly var: "state.pledges";
592
+ }, {
593
+ readonly "===": readonly [{
594
+ readonly var: "backer";
595
+ }, {
596
+ readonly var: "event.agent";
597
+ }];
598
+ }];
599
+ };
600
+ }, 0];
601
+ }, {
602
+ readonly "!": readonly [{
603
+ readonly in: readonly [{
604
+ readonly var: "event.agent";
605
+ }, {
606
+ readonly var: "state.refundsClaimed";
607
+ }];
608
+ }];
609
+ }];
610
+ };
611
+ readonly effect: {
612
+ readonly merge: readonly [{
613
+ readonly var: "state";
614
+ }, {
615
+ readonly refundsClaimed: {
616
+ readonly cat: readonly [{
617
+ readonly var: "state.refundsClaimed";
618
+ }, readonly [{
619
+ readonly var: "event.agent";
620
+ }]];
621
+ };
622
+ }];
623
+ };
624
+ readonly dependencies: readonly [];
625
+ }];
626
+ };
627
+ export declare const marketGroupBuyDef: {
628
+ readonly metadata: {
629
+ readonly name: "MarketGroupBuy";
630
+ readonly description: "Collective purchasing with quantity thresholds and tiered pricing";
631
+ readonly version: "1.0.0";
632
+ readonly crossReferences: {
633
+ readonly vendorIdentityId: "Links to vendor's IdentityAgent";
634
+ readonly escrowId: "Links to ContractEscrow for payment custody";
635
+ };
636
+ };
637
+ readonly states: {
638
+ readonly PROPOSED: {
639
+ readonly id: "PROPOSED";
640
+ readonly isFinal: false;
641
+ readonly metadata: {
642
+ readonly description: "Group buy created but not yet open";
643
+ };
644
+ };
645
+ readonly OPEN: {
646
+ readonly id: "OPEN";
647
+ readonly isFinal: false;
648
+ readonly metadata: {
649
+ readonly description: "Accepting orders";
650
+ };
651
+ };
652
+ readonly THRESHOLD_MET: {
653
+ readonly id: "THRESHOLD_MET";
654
+ readonly isFinal: false;
655
+ readonly metadata: {
656
+ readonly description: "Minimum quantity reached, continuing for better tier";
657
+ };
658
+ };
659
+ readonly PROCESSING: {
660
+ readonly id: "PROCESSING";
661
+ readonly isFinal: false;
662
+ readonly metadata: {
663
+ readonly description: "Order placed with vendor, awaiting fulfillment";
664
+ };
665
+ };
666
+ readonly FULFILLED: {
667
+ readonly id: "FULFILLED";
668
+ readonly isFinal: true;
669
+ readonly metadata: {
670
+ readonly description: "All items delivered to buyers";
671
+ };
672
+ };
673
+ readonly REFUNDED: {
674
+ readonly id: "REFUNDED";
675
+ readonly isFinal: true;
676
+ readonly metadata: {
677
+ readonly description: "Threshold not met, all orders refunded";
678
+ };
679
+ };
680
+ readonly CANCELLED: {
681
+ readonly id: "CANCELLED";
682
+ readonly isFinal: true;
683
+ readonly metadata: {
684
+ readonly description: "Group buy cancelled";
685
+ };
686
+ };
687
+ };
688
+ readonly initialState: "PROPOSED";
689
+ readonly transitions: readonly [{
690
+ readonly from: "PROPOSED";
691
+ readonly to: "OPEN";
692
+ readonly eventName: "open";
693
+ readonly guard: {
694
+ readonly "===": readonly [{
695
+ readonly var: "event.agent";
696
+ }, {
697
+ readonly var: "state.organizer";
698
+ }];
699
+ };
700
+ readonly effect: {
701
+ readonly merge: readonly [{
702
+ readonly var: "state";
703
+ }, {
704
+ readonly status: "OPEN";
705
+ readonly openedAt: {
706
+ readonly var: "$timestamp";
707
+ };
708
+ readonly orders: readonly [];
709
+ readonly totalQuantity: 0;
710
+ readonly currentTier: 0;
711
+ }];
712
+ };
713
+ readonly dependencies: readonly [];
714
+ }, {
715
+ readonly from: "PROPOSED";
716
+ readonly to: "CANCELLED";
717
+ readonly eventName: "cancel";
718
+ readonly guard: {
719
+ readonly "===": readonly [{
720
+ readonly var: "event.agent";
721
+ }, {
722
+ readonly var: "state.organizer";
723
+ }];
724
+ };
725
+ readonly effect: {
726
+ readonly merge: readonly [{
727
+ readonly var: "state";
728
+ }, {
729
+ readonly status: "CANCELLED";
730
+ readonly cancelledAt: {
731
+ readonly var: "$timestamp";
732
+ };
733
+ }];
734
+ };
735
+ readonly dependencies: readonly [];
736
+ }, {
737
+ readonly from: "OPEN";
738
+ readonly to: "OPEN";
739
+ readonly eventName: "order";
740
+ readonly guard: {
741
+ readonly and: readonly [{
742
+ readonly ">": readonly [{
743
+ readonly var: "event.quantity";
744
+ }, 0];
745
+ }, {
746
+ readonly or: readonly [{
747
+ readonly "!": readonly [{
748
+ readonly var: "state.maxPerBuyer";
749
+ }];
750
+ }, {
751
+ readonly "<=": readonly [{
752
+ readonly var: "event.quantity";
753
+ }, {
754
+ readonly var: "state.maxPerBuyer";
755
+ }];
756
+ }];
757
+ }, {
758
+ readonly "<=": readonly [{
759
+ readonly var: "$timestamp";
760
+ }, {
761
+ readonly var: "state.deadline";
762
+ }];
763
+ }];
764
+ };
765
+ readonly effect: {
766
+ readonly merge: readonly [{
767
+ readonly var: "state";
768
+ }, {
769
+ readonly orders: {
770
+ readonly cat: readonly [{
771
+ readonly var: "state.orders";
772
+ }, readonly [{
773
+ readonly buyer: {
774
+ readonly var: "event.agent";
775
+ };
776
+ readonly quantity: {
777
+ readonly var: "event.quantity";
778
+ };
779
+ readonly shippingInfo: {
780
+ readonly var: "event.shippingInfo";
781
+ };
782
+ readonly orderedAt: {
783
+ readonly var: "$timestamp";
784
+ };
785
+ }]];
786
+ };
787
+ readonly totalQuantity: {
788
+ readonly "+": readonly [{
789
+ readonly var: "state.totalQuantity";
790
+ }, {
791
+ readonly var: "event.quantity";
792
+ }];
793
+ };
794
+ }];
795
+ };
796
+ readonly dependencies: readonly [];
797
+ }, {
798
+ readonly from: "OPEN";
799
+ readonly to: "THRESHOLD_MET";
800
+ readonly eventName: "check_threshold";
801
+ readonly guard: {
802
+ readonly ">=": readonly [{
803
+ readonly var: "state.totalQuantity";
804
+ }, {
805
+ readonly var: "state.minQuantity";
806
+ }];
807
+ };
808
+ readonly effect: {
809
+ readonly merge: readonly [{
810
+ readonly var: "state";
811
+ }, {
812
+ readonly status: "THRESHOLD_MET";
813
+ readonly thresholdMetAt: {
814
+ readonly var: "$timestamp";
815
+ };
816
+ readonly currentTier: {
817
+ readonly reduce: readonly [{
818
+ readonly var: "state.priceTiers";
819
+ }, {
820
+ readonly if: readonly [{
821
+ readonly "<=": readonly [{
822
+ readonly var: "current.minQuantity";
823
+ }, {
824
+ readonly var: "state.totalQuantity";
825
+ }];
826
+ }, {
827
+ readonly var: "current.tier";
828
+ }, {
829
+ readonly var: "accumulator";
830
+ }];
831
+ }, 0];
832
+ };
833
+ }];
834
+ };
835
+ readonly dependencies: readonly [];
836
+ }, {
837
+ readonly from: "THRESHOLD_MET";
838
+ readonly to: "THRESHOLD_MET";
839
+ readonly eventName: "order";
840
+ readonly guard: {
841
+ readonly and: readonly [{
842
+ readonly ">": readonly [{
843
+ readonly var: "event.quantity";
844
+ }, 0];
845
+ }, {
846
+ readonly "<=": readonly [{
847
+ readonly var: "$timestamp";
848
+ }, {
849
+ readonly var: "state.deadline";
850
+ }];
851
+ }];
852
+ };
853
+ readonly effect: {
854
+ readonly merge: readonly [{
855
+ readonly var: "state";
856
+ }, {
857
+ readonly orders: {
858
+ readonly cat: readonly [{
859
+ readonly var: "state.orders";
860
+ }, readonly [{
861
+ readonly buyer: {
862
+ readonly var: "event.agent";
863
+ };
864
+ readonly quantity: {
865
+ readonly var: "event.quantity";
866
+ };
867
+ readonly shippingInfo: {
868
+ readonly var: "event.shippingInfo";
869
+ };
870
+ readonly orderedAt: {
871
+ readonly var: "$timestamp";
872
+ };
873
+ }]];
874
+ };
875
+ readonly totalQuantity: {
876
+ readonly "+": readonly [{
877
+ readonly var: "state.totalQuantity";
878
+ }, {
879
+ readonly var: "event.quantity";
880
+ }];
881
+ };
882
+ readonly currentTier: {
883
+ readonly reduce: readonly [{
884
+ readonly var: "state.priceTiers";
885
+ }, {
886
+ readonly if: readonly [{
887
+ readonly "<=": readonly [{
888
+ readonly var: "current.minQuantity";
889
+ }, {
890
+ readonly "+": readonly [{
891
+ readonly var: "state.totalQuantity";
892
+ }, {
893
+ readonly var: "event.quantity";
894
+ }];
895
+ }];
896
+ }, {
897
+ readonly var: "current.tier";
898
+ }, {
899
+ readonly var: "accumulator";
900
+ }];
901
+ }, {
902
+ readonly var: "state.currentTier";
903
+ }];
904
+ };
905
+ }];
906
+ };
907
+ readonly dependencies: readonly [];
908
+ }, {
909
+ readonly from: "THRESHOLD_MET";
910
+ readonly to: "PROCESSING";
911
+ readonly eventName: "finalize";
912
+ readonly guard: {
913
+ readonly ">=": readonly [{
914
+ readonly var: "$timestamp";
915
+ }, {
916
+ readonly var: "state.deadline";
917
+ }];
918
+ };
919
+ readonly effect: {
920
+ readonly merge: readonly [{
921
+ readonly var: "state";
922
+ }, {
923
+ readonly status: "PROCESSING";
924
+ readonly finalizedAt: {
925
+ readonly var: "$timestamp";
926
+ };
927
+ readonly finalTier: {
928
+ readonly var: "state.currentTier";
929
+ };
930
+ readonly finalPricePerUnit: {
931
+ readonly var: {
932
+ readonly cat: readonly ["state.priceTiers.", {
933
+ readonly var: "state.currentTier";
934
+ }, ".pricePerUnit"];
935
+ };
936
+ };
937
+ }];
938
+ };
939
+ readonly dependencies: readonly [];
940
+ }, {
941
+ readonly from: "PROCESSING";
942
+ readonly to: "FULFILLED";
943
+ readonly eventName: "fulfill";
944
+ readonly guard: {
945
+ readonly or: readonly [{
946
+ readonly "===": readonly [{
947
+ readonly var: "event.agent";
948
+ }, {
949
+ readonly var: "state.vendor";
950
+ }];
951
+ }, {
952
+ readonly "===": readonly [{
953
+ readonly var: "event.agent";
954
+ }, {
955
+ readonly var: "state.organizer";
956
+ }];
957
+ }];
958
+ };
959
+ readonly effect: {
960
+ readonly merge: readonly [{
961
+ readonly var: "state";
962
+ }, {
963
+ readonly status: "FULFILLED";
964
+ readonly fulfilledAt: {
965
+ readonly var: "$timestamp";
966
+ };
967
+ readonly trackingInfo: {
968
+ readonly var: "event.trackingInfo";
969
+ };
970
+ }];
971
+ };
972
+ readonly dependencies: readonly [];
973
+ }, {
974
+ readonly from: "OPEN";
975
+ readonly to: "REFUNDED";
976
+ readonly eventName: "finalize";
977
+ readonly guard: {
978
+ readonly and: readonly [{
979
+ readonly "<": readonly [{
980
+ readonly var: "state.totalQuantity";
981
+ }, {
982
+ readonly var: "state.minQuantity";
983
+ }];
984
+ }, {
985
+ readonly ">=": readonly [{
986
+ readonly var: "$timestamp";
987
+ }, {
988
+ readonly var: "state.deadline";
989
+ }];
990
+ }];
991
+ };
992
+ readonly effect: {
993
+ readonly merge: readonly [{
994
+ readonly var: "state";
995
+ }, {
996
+ readonly status: "REFUNDED";
997
+ readonly refundedAt: {
998
+ readonly var: "$timestamp";
999
+ };
1000
+ readonly reason: "threshold_not_met";
1001
+ }];
1002
+ };
1003
+ readonly dependencies: readonly [];
1004
+ }, {
1005
+ readonly from: "REFUNDED";
1006
+ readonly to: "REFUNDED";
1007
+ readonly eventName: "claim_refund";
1008
+ readonly guard: {
1009
+ readonly and: readonly [{
1010
+ readonly ">": readonly [{
1011
+ readonly size: {
1012
+ readonly filter: readonly [{
1013
+ readonly var: "state.orders";
1014
+ }, {
1015
+ readonly "===": readonly [{
1016
+ readonly var: "buyer";
1017
+ }, {
1018
+ readonly var: "event.agent";
1019
+ }];
1020
+ }];
1021
+ };
1022
+ }, 0];
1023
+ }, {
1024
+ readonly "!": readonly [{
1025
+ readonly in: readonly [{
1026
+ readonly var: "event.agent";
1027
+ }, {
1028
+ readonly var: "state.refundsClaimed";
1029
+ }];
1030
+ }];
1031
+ }];
1032
+ };
1033
+ readonly effect: {
1034
+ readonly merge: readonly [{
1035
+ readonly var: "state";
1036
+ }, {
1037
+ readonly refundsClaimed: {
1038
+ readonly cat: readonly [{
1039
+ readonly var: "state.refundsClaimed";
1040
+ }, readonly [{
1041
+ readonly var: "event.agent";
1042
+ }]];
1043
+ };
1044
+ }];
1045
+ };
1046
+ readonly dependencies: readonly [];
1047
+ }];
1048
+ };
1049
+ export declare const marketPredictionDef: {
1050
+ readonly metadata: {
1051
+ readonly name: "MarketPrediction";
1052
+ readonly description: "Binary or multi-outcome prediction market with oracle resolution and position staking";
1053
+ readonly version: "1.0.0";
1054
+ readonly crossReferences: {
1055
+ readonly oracleId: "Links to IdentityOracle that resolves the outcome";
1056
+ readonly creatorIdentityId: "Links to creator's IdentityAgent";
1057
+ };
1058
+ };
1059
+ readonly states: {
1060
+ readonly PROPOSED: {
1061
+ readonly id: "PROPOSED";
1062
+ readonly isFinal: false;
1063
+ readonly metadata: {
1064
+ readonly description: "Market created but not yet open for trading";
1065
+ };
1066
+ };
1067
+ readonly OPEN: {
1068
+ readonly id: "OPEN";
1069
+ readonly isFinal: false;
1070
+ readonly metadata: {
1071
+ readonly description: "Accepting positions on outcomes";
1072
+ };
1073
+ };
1074
+ readonly CLOSED: {
1075
+ readonly id: "CLOSED";
1076
+ readonly isFinal: false;
1077
+ readonly metadata: {
1078
+ readonly description: "No more positions, awaiting resolution";
1079
+ };
1080
+ };
1081
+ readonly RESOLVING: {
1082
+ readonly id: "RESOLVING";
1083
+ readonly isFinal: false;
1084
+ readonly metadata: {
1085
+ readonly description: "Oracle(s) submitting resolution";
1086
+ };
1087
+ };
1088
+ readonly DISPUTED: {
1089
+ readonly id: "DISPUTED";
1090
+ readonly isFinal: false;
1091
+ readonly metadata: {
1092
+ readonly description: "Resolution challenged, awaiting arbitration";
1093
+ };
1094
+ };
1095
+ readonly SETTLED: {
1096
+ readonly id: "SETTLED";
1097
+ readonly isFinal: true;
1098
+ readonly metadata: {
1099
+ readonly description: "Outcome finalized, payouts available";
1100
+ };
1101
+ };
1102
+ readonly REFUNDED: {
1103
+ readonly id: "REFUNDED";
1104
+ readonly isFinal: true;
1105
+ readonly metadata: {
1106
+ readonly description: "Market invalidated, all positions refunded";
1107
+ };
1108
+ };
1109
+ readonly CANCELLED: {
1110
+ readonly id: "CANCELLED";
1111
+ readonly isFinal: true;
1112
+ readonly metadata: {
1113
+ readonly description: "Market cancelled before opening";
1114
+ };
1115
+ };
1116
+ };
1117
+ readonly initialState: "PROPOSED";
1118
+ readonly transitions: readonly [{
1119
+ readonly from: "PROPOSED";
1120
+ readonly to: "OPEN";
1121
+ readonly eventName: "open";
1122
+ readonly guard: {
1123
+ readonly "===": readonly [{
1124
+ readonly var: "event.agent";
1125
+ }, {
1126
+ readonly var: "state.creator";
1127
+ }];
1128
+ };
1129
+ readonly effect: {
1130
+ readonly merge: readonly [{
1131
+ readonly var: "state";
1132
+ }, {
1133
+ readonly status: "OPEN";
1134
+ readonly openedAt: {
1135
+ readonly var: "$timestamp";
1136
+ };
1137
+ readonly positions: {};
1138
+ readonly totalPool: 0;
1139
+ }];
1140
+ };
1141
+ readonly dependencies: readonly [];
1142
+ }, {
1143
+ readonly from: "PROPOSED";
1144
+ readonly to: "CANCELLED";
1145
+ readonly eventName: "cancel";
1146
+ readonly guard: {
1147
+ readonly "===": readonly [{
1148
+ readonly var: "event.agent";
1149
+ }, {
1150
+ readonly var: "state.creator";
1151
+ }];
1152
+ };
1153
+ readonly effect: {
1154
+ readonly merge: readonly [{
1155
+ readonly var: "state";
1156
+ }, {
1157
+ readonly status: "CANCELLED";
1158
+ readonly cancelledAt: {
1159
+ readonly var: "$timestamp";
1160
+ };
1161
+ readonly reason: {
387
1162
  readonly var: "event.reason";
388
1163
  };
389
1164
  }];
390
1165
  };
391
1166
  readonly dependencies: readonly [];
392
1167
  }, {
393
- readonly from: "SETTLED";
1168
+ readonly from: "OPEN";
1169
+ readonly to: "OPEN";
1170
+ readonly eventName: "take_position";
1171
+ readonly guard: {
1172
+ readonly and: readonly [{
1173
+ readonly ">": readonly [{
1174
+ readonly var: "event.amount";
1175
+ }, 0];
1176
+ }, {
1177
+ readonly in: readonly [{
1178
+ readonly var: "event.outcome";
1179
+ }, {
1180
+ readonly var: "state.outcomes";
1181
+ }];
1182
+ }, {
1183
+ readonly or: readonly [{
1184
+ readonly "!": readonly [{
1185
+ readonly var: "state.deadline";
1186
+ }];
1187
+ }, {
1188
+ readonly "<=": readonly [{
1189
+ readonly var: "$timestamp";
1190
+ }, {
1191
+ readonly var: "state.deadline";
1192
+ }];
1193
+ }];
1194
+ }];
1195
+ };
1196
+ readonly effect: {
1197
+ readonly merge: readonly [{
1198
+ readonly var: "state";
1199
+ }, {
1200
+ readonly positions: {
1201
+ readonly merge: readonly [{
1202
+ readonly var: "state.positions";
1203
+ }, {
1204
+ readonly __computed: {
1205
+ readonly cat: readonly [{
1206
+ readonly var: "event.agent";
1207
+ }, "_", {
1208
+ readonly var: "event.outcome";
1209
+ }];
1210
+ };
1211
+ }];
1212
+ };
1213
+ readonly totalPool: {
1214
+ readonly "+": readonly [{
1215
+ readonly var: "state.totalPool";
1216
+ }, {
1217
+ readonly var: "event.amount";
1218
+ }];
1219
+ };
1220
+ }];
1221
+ };
1222
+ readonly dependencies: readonly [];
1223
+ }, {
1224
+ readonly from: "OPEN";
1225
+ readonly to: "CLOSED";
1226
+ readonly eventName: "close";
1227
+ readonly guard: {
1228
+ readonly or: readonly [{
1229
+ readonly "===": readonly [{
1230
+ readonly var: "event.agent";
1231
+ }, {
1232
+ readonly var: "state.creator";
1233
+ }];
1234
+ }, {
1235
+ readonly and: readonly [{
1236
+ readonly var: "state.deadline";
1237
+ }, {
1238
+ readonly ">=": readonly [{
1239
+ readonly var: "$timestamp";
1240
+ }, {
1241
+ readonly var: "state.deadline";
1242
+ }];
1243
+ }];
1244
+ }];
1245
+ };
1246
+ readonly effect: {
1247
+ readonly merge: readonly [{
1248
+ readonly var: "state";
1249
+ }, {
1250
+ readonly status: "CLOSED";
1251
+ readonly closedAt: {
1252
+ readonly var: "$timestamp";
1253
+ };
1254
+ }];
1255
+ };
1256
+ readonly dependencies: readonly [];
1257
+ }, {
1258
+ readonly from: "CLOSED";
1259
+ readonly to: "RESOLVING";
1260
+ readonly eventName: "submit_resolution";
1261
+ readonly guard: {
1262
+ readonly in: readonly [{
1263
+ readonly var: "event.agent";
1264
+ }, {
1265
+ readonly var: "state.oracles";
1266
+ }];
1267
+ };
1268
+ readonly effect: {
1269
+ readonly merge: readonly [{
1270
+ readonly var: "state";
1271
+ }, {
1272
+ readonly status: "RESOLVING";
1273
+ readonly resolutions: readonly [{
1274
+ readonly oracle: {
1275
+ readonly var: "event.agent";
1276
+ };
1277
+ readonly outcome: {
1278
+ readonly var: "event.outcome";
1279
+ };
1280
+ readonly proof: {
1281
+ readonly var: "event.proof";
1282
+ };
1283
+ readonly submittedAt: {
1284
+ readonly var: "$timestamp";
1285
+ };
1286
+ }];
1287
+ }];
1288
+ };
1289
+ readonly dependencies: readonly [];
1290
+ }, {
1291
+ readonly from: "RESOLVING";
1292
+ readonly to: "RESOLVING";
1293
+ readonly eventName: "submit_resolution";
1294
+ readonly guard: {
1295
+ readonly and: readonly [{
1296
+ readonly in: readonly [{
1297
+ readonly var: "event.agent";
1298
+ }, {
1299
+ readonly var: "state.oracles";
1300
+ }];
1301
+ }, {
1302
+ readonly "!": readonly [{
1303
+ readonly in: readonly [{
1304
+ readonly var: "event.agent";
1305
+ }, {
1306
+ readonly map: readonly [{
1307
+ readonly var: "state.resolutions";
1308
+ }, {
1309
+ readonly var: "oracle";
1310
+ }];
1311
+ }];
1312
+ }];
1313
+ }];
1314
+ };
1315
+ readonly effect: {
1316
+ readonly merge: readonly [{
1317
+ readonly var: "state";
1318
+ }, {
1319
+ readonly resolutions: {
1320
+ readonly cat: readonly [{
1321
+ readonly var: "state.resolutions";
1322
+ }, readonly [{
1323
+ readonly oracle: {
1324
+ readonly var: "event.agent";
1325
+ };
1326
+ readonly outcome: {
1327
+ readonly var: "event.outcome";
1328
+ };
1329
+ readonly proof: {
1330
+ readonly var: "event.proof";
1331
+ };
1332
+ readonly submittedAt: {
1333
+ readonly var: "$timestamp";
1334
+ };
1335
+ }]];
1336
+ };
1337
+ }];
1338
+ };
1339
+ readonly dependencies: readonly [];
1340
+ }, {
1341
+ readonly from: "RESOLVING";
394
1342
  readonly to: "SETTLED";
395
- readonly eventName: "claim";
1343
+ readonly eventName: "finalize";
1344
+ readonly guard: {
1345
+ readonly ">=": readonly [{
1346
+ readonly size: {
1347
+ readonly var: "state.resolutions";
1348
+ };
1349
+ }, {
1350
+ readonly var: "state.quorum";
1351
+ }];
1352
+ };
1353
+ readonly effect: {
1354
+ readonly merge: readonly [{
1355
+ readonly var: "state";
1356
+ }, {
1357
+ readonly status: "SETTLED";
1358
+ readonly settledAt: {
1359
+ readonly var: "$timestamp";
1360
+ };
1361
+ readonly finalOutcome: {
1362
+ readonly var: "event.outcome";
1363
+ };
1364
+ readonly claims: readonly [];
1365
+ }];
1366
+ };
1367
+ readonly dependencies: readonly [];
1368
+ }, {
1369
+ readonly from: "RESOLVING";
1370
+ readonly to: "DISPUTED";
1371
+ readonly eventName: "dispute";
396
1372
  readonly guard: {
397
1373
  readonly and: readonly [{
398
1374
  readonly ">": readonly [{
399
1375
  readonly size: {
400
1376
  readonly filter: readonly [{
401
- readonly var: "state.commitments";
1377
+ readonly var: "state.positions";
402
1378
  }, {
403
1379
  readonly "===": readonly [{
404
1380
  readonly var: "agent";
@@ -408,6 +1384,113 @@ export declare const marketUniversalDef: {
408
1384
  }];
409
1385
  };
410
1386
  }, 0];
1387
+ }, {
1388
+ readonly var: "event.stake";
1389
+ }];
1390
+ };
1391
+ readonly effect: {
1392
+ readonly merge: readonly [{
1393
+ readonly var: "state";
1394
+ }, {
1395
+ readonly status: "DISPUTED";
1396
+ readonly disputedAt: {
1397
+ readonly var: "$timestamp";
1398
+ };
1399
+ readonly disputedBy: {
1400
+ readonly var: "event.agent";
1401
+ };
1402
+ readonly disputeStake: {
1403
+ readonly var: "event.stake";
1404
+ };
1405
+ readonly disputeReason: {
1406
+ readonly var: "event.reason";
1407
+ };
1408
+ }];
1409
+ };
1410
+ readonly dependencies: readonly [];
1411
+ }, {
1412
+ readonly from: "DISPUTED";
1413
+ readonly to: "SETTLED";
1414
+ readonly eventName: "ruling";
1415
+ readonly guard: {
1416
+ readonly var: "event.judicialRuling";
1417
+ };
1418
+ readonly effect: {
1419
+ readonly merge: readonly [{
1420
+ readonly var: "state";
1421
+ }, {
1422
+ readonly status: "SETTLED";
1423
+ readonly settledAt: {
1424
+ readonly var: "$timestamp";
1425
+ };
1426
+ readonly finalOutcome: {
1427
+ readonly var: "event.outcome";
1428
+ };
1429
+ readonly rulingId: {
1430
+ readonly var: "event.rulingId";
1431
+ };
1432
+ readonly claims: readonly [];
1433
+ }];
1434
+ };
1435
+ readonly dependencies: readonly [];
1436
+ }, {
1437
+ readonly from: "RESOLVING";
1438
+ readonly to: "REFUNDED";
1439
+ readonly eventName: "invalidate";
1440
+ readonly guard: {
1441
+ readonly ">=": readonly [{
1442
+ readonly size: {
1443
+ readonly filter: readonly [{
1444
+ readonly var: "state.resolutions";
1445
+ }, {
1446
+ readonly "===": readonly [{
1447
+ readonly var: "outcome";
1448
+ }, "INVALID"];
1449
+ }];
1450
+ };
1451
+ }, {
1452
+ readonly var: "state.quorum";
1453
+ }];
1454
+ };
1455
+ readonly effect: {
1456
+ readonly merge: readonly [{
1457
+ readonly var: "state";
1458
+ }, {
1459
+ readonly status: "REFUNDED";
1460
+ readonly refundedAt: {
1461
+ readonly var: "$timestamp";
1462
+ };
1463
+ readonly reason: "oracle_invalidation";
1464
+ }];
1465
+ };
1466
+ readonly dependencies: readonly [];
1467
+ }, {
1468
+ readonly from: "SETTLED";
1469
+ readonly to: "SETTLED";
1470
+ readonly eventName: "claim";
1471
+ readonly guard: {
1472
+ readonly and: readonly [{
1473
+ readonly ">": readonly [{
1474
+ readonly size: {
1475
+ readonly filter: readonly [{
1476
+ readonly var: "state.positions";
1477
+ }, {
1478
+ readonly and: readonly [{
1479
+ readonly "===": readonly [{
1480
+ readonly var: "agent";
1481
+ }, {
1482
+ readonly var: "event.agent";
1483
+ }];
1484
+ }, {
1485
+ readonly "===": readonly [{
1486
+ readonly var: "outcome";
1487
+ }, {
1488
+ readonly var: "state.finalOutcome";
1489
+ }];
1490
+ }];
1491
+ }];
1492
+ };
1493
+ }, 0];
411
1494
  }, {
412
1495
  readonly "!": readonly [{
413
1496
  readonly in: readonly [{
@@ -427,7 +1510,7 @@ export declare const marketUniversalDef: {
427
1510
  readonly var: "state";
428
1511
  }, {
429
1512
  readonly claims: {
430
- readonly merge: readonly [{
1513
+ readonly cat: readonly [{
431
1514
  readonly var: "state.claims";
432
1515
  }, readonly [{
433
1516
  readonly agent: {
@@ -437,7 +1520,7 @@ export declare const marketUniversalDef: {
437
1520
  readonly var: "event.amount";
438
1521
  };
439
1522
  readonly claimedAt: {
440
- readonly var: "$epochProgress";
1523
+ readonly var: "$timestamp";
441
1524
  };
442
1525
  }]];
443
1526
  };
@@ -446,3 +1529,152 @@ export declare const marketUniversalDef: {
446
1529
  readonly dependencies: readonly [];
447
1530
  }];
448
1531
  };
1532
+ export declare const marketUniversalDef: {
1533
+ readonly metadata: {
1534
+ readonly name: "MarketUniversal";
1535
+ readonly description: "Minimal market state machine - extend for custom use cases";
1536
+ readonly version: "1.0.0";
1537
+ };
1538
+ readonly states: {
1539
+ readonly PROPOSED: {
1540
+ readonly id: "PROPOSED";
1541
+ readonly isFinal: false;
1542
+ readonly metadata: null;
1543
+ };
1544
+ readonly OPEN: {
1545
+ readonly id: "OPEN";
1546
+ readonly isFinal: false;
1547
+ readonly metadata: null;
1548
+ };
1549
+ readonly CLOSED: {
1550
+ readonly id: "CLOSED";
1551
+ readonly isFinal: false;
1552
+ readonly metadata: null;
1553
+ };
1554
+ readonly SETTLED: {
1555
+ readonly id: "SETTLED";
1556
+ readonly isFinal: true;
1557
+ readonly metadata: null;
1558
+ };
1559
+ readonly CANCELLED: {
1560
+ readonly id: "CANCELLED";
1561
+ readonly isFinal: true;
1562
+ readonly metadata: null;
1563
+ };
1564
+ };
1565
+ readonly initialState: "PROPOSED";
1566
+ readonly transitions: readonly [{
1567
+ readonly from: "PROPOSED";
1568
+ readonly to: "OPEN";
1569
+ readonly eventName: "open";
1570
+ readonly guard: {
1571
+ readonly "==": readonly [1, 1];
1572
+ };
1573
+ readonly effect: {
1574
+ readonly merge: readonly [{
1575
+ readonly var: "state";
1576
+ }, {
1577
+ readonly status: "OPEN";
1578
+ readonly openedAt: {
1579
+ readonly var: "$timestamp";
1580
+ };
1581
+ }];
1582
+ };
1583
+ readonly dependencies: readonly [];
1584
+ }, {
1585
+ readonly from: "PROPOSED";
1586
+ readonly to: "CANCELLED";
1587
+ readonly eventName: "cancel";
1588
+ readonly guard: {
1589
+ readonly "==": readonly [1, 1];
1590
+ };
1591
+ readonly effect: {
1592
+ readonly merge: readonly [{
1593
+ readonly var: "state";
1594
+ }, {
1595
+ readonly status: "CANCELLED";
1596
+ readonly cancelledAt: {
1597
+ readonly var: "$timestamp";
1598
+ };
1599
+ }];
1600
+ };
1601
+ readonly dependencies: readonly [];
1602
+ }, {
1603
+ readonly from: "OPEN";
1604
+ readonly to: "OPEN";
1605
+ readonly eventName: "commit";
1606
+ readonly guard: {
1607
+ readonly ">": readonly [{
1608
+ readonly var: "event.amount";
1609
+ }, 0];
1610
+ };
1611
+ readonly effect: {
1612
+ readonly merge: readonly [{
1613
+ readonly var: "state";
1614
+ }, {
1615
+ readonly totalCommitted: {
1616
+ readonly "+": readonly [{
1617
+ readonly var: "state.totalCommitted";
1618
+ }, {
1619
+ readonly var: "event.amount";
1620
+ }];
1621
+ };
1622
+ }];
1623
+ };
1624
+ readonly dependencies: readonly [];
1625
+ }, {
1626
+ readonly from: "OPEN";
1627
+ readonly to: "CLOSED";
1628
+ readonly eventName: "close";
1629
+ readonly guard: {
1630
+ readonly "==": readonly [1, 1];
1631
+ };
1632
+ readonly effect: {
1633
+ readonly merge: readonly [{
1634
+ readonly var: "state";
1635
+ }, {
1636
+ readonly status: "CLOSED";
1637
+ readonly closedAt: {
1638
+ readonly var: "$timestamp";
1639
+ };
1640
+ }];
1641
+ };
1642
+ readonly dependencies: readonly [];
1643
+ }, {
1644
+ readonly from: "CLOSED";
1645
+ readonly to: "SETTLED";
1646
+ readonly eventName: "settle";
1647
+ readonly guard: {
1648
+ readonly "==": readonly [1, 1];
1649
+ };
1650
+ readonly effect: {
1651
+ readonly merge: readonly [{
1652
+ readonly var: "state";
1653
+ }, {
1654
+ readonly status: "SETTLED";
1655
+ readonly settledAt: {
1656
+ readonly var: "$timestamp";
1657
+ };
1658
+ }];
1659
+ };
1660
+ readonly dependencies: readonly [];
1661
+ }, {
1662
+ readonly from: "CLOSED";
1663
+ readonly to: "CANCELLED";
1664
+ readonly eventName: "cancel";
1665
+ readonly guard: {
1666
+ readonly "==": readonly [1, 1];
1667
+ };
1668
+ readonly effect: {
1669
+ readonly merge: readonly [{
1670
+ readonly var: "state";
1671
+ }, {
1672
+ readonly status: "CANCELLED";
1673
+ readonly cancelledAt: {
1674
+ readonly var: "$timestamp";
1675
+ };
1676
+ }];
1677
+ };
1678
+ readonly dependencies: readonly [];
1679
+ }];
1680
+ };