@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
@@ -0,0 +1,511 @@
1
+ /**
2
+ * Asset custody with conditional release, dispute resolution, and split payments.
3
+ */
4
+ export declare const contractEscrowDef: {
5
+ metadata: {
6
+ name: string;
7
+ app: string;
8
+ type: string;
9
+ version: string;
10
+ description: string;
11
+ crossReferences: {
12
+ contractId: {
13
+ machine: string;
14
+ field: string;
15
+ description: string;
16
+ };
17
+ marketId: {
18
+ machine: string;
19
+ field: string;
20
+ description: string;
21
+ };
22
+ insuranceId: {
23
+ machine: string;
24
+ field: string;
25
+ description: string;
26
+ };
27
+ arbitrationPoolId: {
28
+ machine: string;
29
+ field: string;
30
+ description: string;
31
+ };
32
+ treasuryId: {
33
+ machine: string;
34
+ field: string;
35
+ description: string;
36
+ };
37
+ };
38
+ };
39
+ createSchema: {
40
+ required: readonly ["depositor", "beneficiary", "requiredAmount"];
41
+ properties: {
42
+ depositor: {
43
+ type: "address";
44
+ description: string;
45
+ };
46
+ beneficiary: {
47
+ type: "address";
48
+ description: string;
49
+ };
50
+ requiredAmount: {
51
+ type: "number";
52
+ minimum: number;
53
+ description: string;
54
+ };
55
+ releaseWindowMs: {
56
+ type: "integer";
57
+ description: string;
58
+ nullable: true;
59
+ };
60
+ expiresAt: {
61
+ type: "integer";
62
+ description: string;
63
+ nullable: true;
64
+ };
65
+ autoActivate: {
66
+ type: "boolean";
67
+ description: string;
68
+ nullable: true;
69
+ };
70
+ };
71
+ };
72
+ stateSchema: {
73
+ properties: {
74
+ depositor: {
75
+ type: "address";
76
+ };
77
+ beneficiary: {
78
+ type: "address";
79
+ };
80
+ requiredAmount: {
81
+ type: "number";
82
+ };
83
+ balance: {
84
+ type: "number";
85
+ };
86
+ fundedAt: {
87
+ type: "integer";
88
+ nullable: true;
89
+ };
90
+ activatedAt: {
91
+ type: "integer";
92
+ nullable: true;
93
+ };
94
+ releaseRequest: {
95
+ type: "object";
96
+ nullable: true;
97
+ };
98
+ releaseDeadline: {
99
+ type: "integer";
100
+ nullable: true;
101
+ };
102
+ releasedAt: {
103
+ type: "integer";
104
+ nullable: true;
105
+ };
106
+ releasedTo: {
107
+ type: "address";
108
+ nullable: true;
109
+ };
110
+ disputedAt: {
111
+ type: "integer";
112
+ nullable: true;
113
+ };
114
+ refundedAt: {
115
+ type: "integer";
116
+ nullable: true;
117
+ };
118
+ splits: {
119
+ type: "array";
120
+ nullable: true;
121
+ };
122
+ rulingId: {
123
+ type: "string";
124
+ nullable: true;
125
+ };
126
+ releaseWindowMs: {
127
+ type: "integer";
128
+ nullable: true;
129
+ };
130
+ expiresAt: {
131
+ type: "integer";
132
+ nullable: true;
133
+ };
134
+ autoActivate: {
135
+ type: "boolean";
136
+ nullable: true;
137
+ };
138
+ };
139
+ };
140
+ eventSchemas: {
141
+ deposit: {
142
+ properties: {
143
+ amount: {
144
+ type: "number";
145
+ };
146
+ };
147
+ };
148
+ activate: {};
149
+ request_release: {
150
+ properties: {
151
+ amount: {
152
+ type: "number";
153
+ };
154
+ reason: {
155
+ type: "string";
156
+ nullable: true;
157
+ };
158
+ };
159
+ };
160
+ approve_release: {};
161
+ dispute: {};
162
+ ruling: {
163
+ properties: {
164
+ judicialRuling: {
165
+ type: "boolean";
166
+ };
167
+ splits: {
168
+ type: "array";
169
+ };
170
+ rulingId: {
171
+ type: "string";
172
+ };
173
+ };
174
+ };
175
+ refund: {
176
+ properties: {
177
+ mutualConsent: {
178
+ type: "boolean";
179
+ nullable: true;
180
+ };
181
+ };
182
+ };
183
+ cancel: {};
184
+ };
185
+ states: {
186
+ CREATED: {
187
+ id: string;
188
+ isFinal: false;
189
+ metadata: null;
190
+ };
191
+ FUNDED: {
192
+ id: string;
193
+ isFinal: false;
194
+ metadata: null;
195
+ };
196
+ ACTIVE: {
197
+ id: string;
198
+ isFinal: false;
199
+ metadata: null;
200
+ };
201
+ RELEASING: {
202
+ id: string;
203
+ isFinal: false;
204
+ metadata: null;
205
+ };
206
+ DISPUTED: {
207
+ id: string;
208
+ isFinal: false;
209
+ metadata: null;
210
+ };
211
+ RELEASED: {
212
+ id: string;
213
+ isFinal: true;
214
+ metadata: null;
215
+ };
216
+ REFUNDED: {
217
+ id: string;
218
+ isFinal: true;
219
+ metadata: null;
220
+ };
221
+ SPLIT: {
222
+ id: string;
223
+ isFinal: true;
224
+ metadata: null;
225
+ };
226
+ };
227
+ initialState: "CREATED";
228
+ transitions: ({
229
+ from: "CREATED";
230
+ to: "FUNDED";
231
+ eventName: "deposit";
232
+ guard: {
233
+ and: ({
234
+ "===": {
235
+ var: string;
236
+ }[];
237
+ ">="?: undefined;
238
+ } | {
239
+ ">=": {
240
+ var: string;
241
+ }[];
242
+ "==="?: undefined;
243
+ })[];
244
+ or?: undefined;
245
+ "==="?: undefined;
246
+ var?: undefined;
247
+ };
248
+ effect: {
249
+ merge: ({
250
+ var: string;
251
+ balance?: undefined;
252
+ fundedAt?: undefined;
253
+ } | {
254
+ balance: {
255
+ var: string;
256
+ };
257
+ fundedAt: {
258
+ var: string;
259
+ };
260
+ var?: undefined;
261
+ })[];
262
+ };
263
+ dependencies: never[];
264
+ spawns?: undefined;
265
+ } | {
266
+ from: "FUNDED";
267
+ to: "ACTIVE";
268
+ eventName: "activate";
269
+ guard: {
270
+ or: ({
271
+ "===": {
272
+ var: string;
273
+ }[];
274
+ var?: undefined;
275
+ } | {
276
+ var: string;
277
+ "==="?: undefined;
278
+ })[];
279
+ and?: undefined;
280
+ "==="?: undefined;
281
+ var?: undefined;
282
+ };
283
+ effect: {
284
+ merge: ({
285
+ var: string;
286
+ activatedAt?: undefined;
287
+ } | {
288
+ activatedAt: {
289
+ var: string;
290
+ };
291
+ var?: undefined;
292
+ })[];
293
+ };
294
+ dependencies: never[];
295
+ spawns?: undefined;
296
+ } | {
297
+ from: "ACTIVE";
298
+ to: "RELEASING";
299
+ eventName: "request_release";
300
+ guard: {
301
+ "===": {
302
+ var: string;
303
+ }[];
304
+ and?: undefined;
305
+ or?: undefined;
306
+ var?: undefined;
307
+ };
308
+ effect: {
309
+ merge: ({
310
+ var: string;
311
+ releaseRequest?: undefined;
312
+ releaseDeadline?: undefined;
313
+ } | {
314
+ releaseRequest: {
315
+ requestedBy: {
316
+ var: string;
317
+ };
318
+ amount: {
319
+ var: string;
320
+ };
321
+ reason: {
322
+ var: string;
323
+ };
324
+ requestedAt: {
325
+ var: string;
326
+ };
327
+ };
328
+ releaseDeadline: {
329
+ "+": {
330
+ var: string;
331
+ }[];
332
+ };
333
+ var?: undefined;
334
+ })[];
335
+ };
336
+ dependencies: never[];
337
+ spawns?: undefined;
338
+ } | {
339
+ from: "RELEASING";
340
+ to: "RELEASED";
341
+ eventName: "approve_release";
342
+ guard: {
343
+ or: ({
344
+ "===": {
345
+ var: string;
346
+ }[];
347
+ ">="?: undefined;
348
+ } | {
349
+ ">=": {
350
+ var: string;
351
+ }[];
352
+ "==="?: undefined;
353
+ })[];
354
+ and?: undefined;
355
+ "==="?: undefined;
356
+ var?: undefined;
357
+ };
358
+ effect: {
359
+ merge: ({
360
+ var: string;
361
+ releasedAt?: undefined;
362
+ releasedTo?: undefined;
363
+ } | {
364
+ releasedAt: {
365
+ var: string;
366
+ };
367
+ releasedTo: {
368
+ var: string;
369
+ };
370
+ var?: undefined;
371
+ })[];
372
+ };
373
+ dependencies: never[];
374
+ spawns?: undefined;
375
+ } | {
376
+ from: "RELEASING";
377
+ to: "DISPUTED";
378
+ eventName: "dispute";
379
+ guard: {
380
+ and: ({
381
+ "===": {
382
+ var: string;
383
+ }[];
384
+ "<"?: undefined;
385
+ } | {
386
+ "<": {
387
+ var: string;
388
+ }[];
389
+ "==="?: undefined;
390
+ })[];
391
+ or?: undefined;
392
+ "==="?: undefined;
393
+ var?: undefined;
394
+ };
395
+ effect: {
396
+ merge: ({
397
+ var: string;
398
+ disputedAt?: undefined;
399
+ } | {
400
+ disputedAt: {
401
+ var: string;
402
+ };
403
+ var?: undefined;
404
+ })[];
405
+ };
406
+ spawns: {
407
+ sm: string;
408
+ initialData: {
409
+ caseType: string;
410
+ plaintiff: {
411
+ var: string;
412
+ };
413
+ defendant: {
414
+ var: string;
415
+ };
416
+ claim: {
417
+ escrowId: {
418
+ var: string;
419
+ };
420
+ amount: {
421
+ var: string;
422
+ };
423
+ };
424
+ };
425
+ };
426
+ dependencies: never[];
427
+ } | {
428
+ from: "DISPUTED";
429
+ to: "SPLIT";
430
+ eventName: "ruling";
431
+ guard: {
432
+ var: string;
433
+ and?: undefined;
434
+ or?: undefined;
435
+ "==="?: undefined;
436
+ };
437
+ effect: {
438
+ merge: ({
439
+ var: string;
440
+ splits?: undefined;
441
+ rulingId?: undefined;
442
+ } | {
443
+ splits: {
444
+ var: string;
445
+ };
446
+ rulingId: {
447
+ var: string;
448
+ };
449
+ var?: undefined;
450
+ })[];
451
+ };
452
+ dependencies: never[];
453
+ spawns?: undefined;
454
+ } | {
455
+ from: "ACTIVE";
456
+ to: "REFUNDED";
457
+ eventName: "refund";
458
+ guard: {
459
+ or: ({
460
+ var: string;
461
+ ">="?: undefined;
462
+ } | {
463
+ ">=": {
464
+ var: string;
465
+ }[];
466
+ var?: undefined;
467
+ })[];
468
+ and?: undefined;
469
+ "==="?: undefined;
470
+ var?: undefined;
471
+ };
472
+ effect: {
473
+ merge: ({
474
+ var: string;
475
+ refundedAt?: undefined;
476
+ } | {
477
+ refundedAt: {
478
+ var: string;
479
+ };
480
+ var?: undefined;
481
+ })[];
482
+ };
483
+ dependencies: never[];
484
+ spawns?: undefined;
485
+ } | {
486
+ from: "CREATED";
487
+ to: "REFUNDED";
488
+ eventName: "cancel";
489
+ guard: {
490
+ "===": {
491
+ var: string;
492
+ }[];
493
+ and?: undefined;
494
+ or?: undefined;
495
+ var?: undefined;
496
+ };
497
+ effect: {
498
+ merge: ({
499
+ var: string;
500
+ refundedAt?: undefined;
501
+ } | {
502
+ refundedAt: {
503
+ var: string;
504
+ };
505
+ var?: undefined;
506
+ })[];
507
+ };
508
+ dependencies: never[];
509
+ spawns?: undefined;
510
+ })[];
511
+ };
@@ -0,0 +1,147 @@
1
+ /**
2
+ * Minimal contract state machine - extend for custom use cases.
3
+ */
4
+ export declare const contractUniversalDef: {
5
+ metadata: {
6
+ name: string;
7
+ app: string;
8
+ type: string;
9
+ version: string;
10
+ description: string;
11
+ };
12
+ createSchema: {
13
+ properties: {};
14
+ };
15
+ stateSchema: {
16
+ properties: {
17
+ status: {
18
+ type: "string";
19
+ };
20
+ acceptedAt: {
21
+ type: "integer";
22
+ nullable: true;
23
+ };
24
+ cancelledAt: {
25
+ type: "integer";
26
+ nullable: true;
27
+ };
28
+ completedAt: {
29
+ type: "integer";
30
+ nullable: true;
31
+ };
32
+ };
33
+ };
34
+ eventSchemas: {
35
+ accept: {};
36
+ cancel: {};
37
+ complete: {};
38
+ };
39
+ states: {
40
+ PROPOSED: {
41
+ id: string;
42
+ isFinal: false;
43
+ metadata: null;
44
+ };
45
+ ACTIVE: {
46
+ id: string;
47
+ isFinal: false;
48
+ metadata: null;
49
+ };
50
+ COMPLETED: {
51
+ id: string;
52
+ isFinal: true;
53
+ metadata: null;
54
+ };
55
+ CANCELLED: {
56
+ id: string;
57
+ isFinal: true;
58
+ metadata: null;
59
+ };
60
+ };
61
+ initialState: "PROPOSED";
62
+ transitions: ({
63
+ from: "PROPOSED";
64
+ to: "ACTIVE";
65
+ eventName: "accept";
66
+ guard: {
67
+ "==": number[];
68
+ };
69
+ effect: {
70
+ merge: ({
71
+ var: string;
72
+ status?: undefined;
73
+ acceptedAt?: undefined;
74
+ } | {
75
+ status: string;
76
+ acceptedAt: {
77
+ var: string;
78
+ };
79
+ var?: undefined;
80
+ })[];
81
+ };
82
+ dependencies: never[];
83
+ } | {
84
+ from: "PROPOSED";
85
+ to: "CANCELLED";
86
+ eventName: "cancel";
87
+ guard: {
88
+ "==": number[];
89
+ };
90
+ effect: {
91
+ merge: ({
92
+ var: string;
93
+ status?: undefined;
94
+ cancelledAt?: undefined;
95
+ } | {
96
+ status: string;
97
+ cancelledAt: {
98
+ var: string;
99
+ };
100
+ var?: undefined;
101
+ })[];
102
+ };
103
+ dependencies: never[];
104
+ } | {
105
+ from: "ACTIVE";
106
+ to: "COMPLETED";
107
+ eventName: "complete";
108
+ guard: {
109
+ "==": number[];
110
+ };
111
+ effect: {
112
+ merge: ({
113
+ var: string;
114
+ status?: undefined;
115
+ completedAt?: undefined;
116
+ } | {
117
+ status: string;
118
+ completedAt: {
119
+ var: string;
120
+ };
121
+ var?: undefined;
122
+ })[];
123
+ };
124
+ dependencies: never[];
125
+ } | {
126
+ from: "ACTIVE";
127
+ to: "CANCELLED";
128
+ eventName: "cancel";
129
+ guard: {
130
+ "==": number[];
131
+ };
132
+ effect: {
133
+ merge: ({
134
+ var: string;
135
+ status?: undefined;
136
+ cancelledAt?: undefined;
137
+ } | {
138
+ status: string;
139
+ cancelledAt: {
140
+ var: string;
141
+ };
142
+ var?: undefined;
143
+ })[];
144
+ };
145
+ dependencies: never[];
146
+ })[];
147
+ };