@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,550 @@
1
+ /**
2
+ * Oracle identity with staking, attestations, reputation, and slashing mechanics.
3
+ */
4
+ export declare const identityOracleDef: {
5
+ metadata: {
6
+ name: string;
7
+ app: string;
8
+ type: string;
9
+ version: string;
10
+ description: string;
11
+ };
12
+ createSchema: {
13
+ required: readonly ["owner", "stake", "domains"];
14
+ properties: {
15
+ owner: {
16
+ type: "address";
17
+ description: string;
18
+ immutable: true;
19
+ };
20
+ stake: {
21
+ type: "integer";
22
+ minimum: number;
23
+ description: string;
24
+ };
25
+ domains: {
26
+ type: "array";
27
+ items: {
28
+ type: "string";
29
+ };
30
+ description: string;
31
+ };
32
+ minStake: {
33
+ type: "integer";
34
+ default: number;
35
+ description: string;
36
+ };
37
+ };
38
+ };
39
+ stateSchema: {
40
+ properties: {
41
+ owner: {
42
+ type: "address";
43
+ immutable: true;
44
+ };
45
+ address: {
46
+ type: "address";
47
+ computed: true;
48
+ };
49
+ stake: {
50
+ type: "integer";
51
+ computed: true;
52
+ };
53
+ minStake: {
54
+ type: "integer";
55
+ };
56
+ domains: {
57
+ type: "array";
58
+ items: {
59
+ type: "string";
60
+ };
61
+ };
62
+ status: {
63
+ type: "string";
64
+ enum: readonly ["UNREGISTERED", "REGISTERED", "ACTIVE", "SLASHED", "WITHDRAWN"];
65
+ computed: true;
66
+ };
67
+ reputation: {
68
+ type: "object";
69
+ properties: {
70
+ accuracy: {
71
+ type: "integer";
72
+ };
73
+ totalResolutions: {
74
+ type: "integer";
75
+ };
76
+ disputesWon: {
77
+ type: "integer";
78
+ };
79
+ disputesLost: {
80
+ type: "integer";
81
+ };
82
+ };
83
+ computed: true;
84
+ };
85
+ slashingHistory: {
86
+ type: "array";
87
+ computed: true;
88
+ };
89
+ registeredAt: {
90
+ type: "timestamp";
91
+ computed: true;
92
+ };
93
+ activatedAt: {
94
+ type: "timestamp";
95
+ computed: true;
96
+ };
97
+ slashedAt: {
98
+ type: "timestamp";
99
+ computed: true;
100
+ };
101
+ withdrawnAt: {
102
+ type: "timestamp";
103
+ computed: true;
104
+ };
105
+ };
106
+ };
107
+ eventSchemas: {
108
+ register: {
109
+ description: string;
110
+ required: readonly ["agent", "stake", "domains"];
111
+ properties: {
112
+ agent: {
113
+ type: "address";
114
+ };
115
+ stake: {
116
+ type: "integer";
117
+ minimum: number;
118
+ };
119
+ domains: {
120
+ type: "array";
121
+ items: {
122
+ type: "string";
123
+ };
124
+ };
125
+ };
126
+ };
127
+ activate: {
128
+ description: string;
129
+ required: readonly ["agent"];
130
+ properties: {
131
+ agent: {
132
+ type: "address";
133
+ };
134
+ adminOverride: {
135
+ type: "boolean";
136
+ default: boolean;
137
+ };
138
+ };
139
+ };
140
+ add_stake: {
141
+ description: string;
142
+ required: readonly ["agent", "amount"];
143
+ properties: {
144
+ agent: {
145
+ type: "address";
146
+ };
147
+ amount: {
148
+ type: "integer";
149
+ minimum: number;
150
+ };
151
+ };
152
+ };
153
+ record_resolution: {
154
+ description: string;
155
+ required: readonly ["marketId", "correct"];
156
+ properties: {
157
+ marketId: {
158
+ type: "uuid";
159
+ };
160
+ correct: {
161
+ type: "boolean";
162
+ };
163
+ };
164
+ };
165
+ slash: {
166
+ description: string;
167
+ required: readonly ["reason", "amount"];
168
+ properties: {
169
+ reason: {
170
+ type: "string";
171
+ };
172
+ amount: {
173
+ type: "integer";
174
+ minimum: number;
175
+ };
176
+ marketId: {
177
+ type: "uuid";
178
+ };
179
+ };
180
+ };
181
+ reactivate: {
182
+ description: string;
183
+ required: readonly ["agent"];
184
+ properties: {
185
+ agent: {
186
+ type: "address";
187
+ };
188
+ };
189
+ };
190
+ withdraw: {
191
+ description: string;
192
+ required: readonly ["agent"];
193
+ properties: {
194
+ agent: {
195
+ type: "address";
196
+ };
197
+ };
198
+ };
199
+ };
200
+ states: {
201
+ UNREGISTERED: {
202
+ id: string;
203
+ isFinal: false;
204
+ };
205
+ REGISTERED: {
206
+ id: string;
207
+ isFinal: false;
208
+ };
209
+ ACTIVE: {
210
+ id: string;
211
+ isFinal: false;
212
+ };
213
+ SLASHED: {
214
+ id: string;
215
+ isFinal: false;
216
+ };
217
+ WITHDRAWN: {
218
+ id: string;
219
+ isFinal: true;
220
+ };
221
+ };
222
+ initialState: "UNREGISTERED";
223
+ transitions: ({
224
+ from: "UNREGISTERED";
225
+ to: "REGISTERED";
226
+ eventName: "register";
227
+ guard: {
228
+ ">=": {
229
+ var: string;
230
+ }[];
231
+ or?: undefined;
232
+ and?: undefined;
233
+ var?: undefined;
234
+ "==="?: undefined;
235
+ };
236
+ effect: {
237
+ merge: ({
238
+ var: string;
239
+ status?: undefined;
240
+ address?: undefined;
241
+ stake?: undefined;
242
+ registeredAt?: undefined;
243
+ reputation?: undefined;
244
+ domains?: undefined;
245
+ slashingHistory?: undefined;
246
+ } | {
247
+ status: string;
248
+ address: {
249
+ var: string;
250
+ };
251
+ stake: {
252
+ var: string;
253
+ };
254
+ registeredAt: {
255
+ var: string;
256
+ };
257
+ reputation: {
258
+ accuracy: number;
259
+ totalResolutions: number;
260
+ disputesWon: number;
261
+ disputesLost: number;
262
+ };
263
+ domains: {
264
+ var: string;
265
+ };
266
+ slashingHistory: never[];
267
+ var?: undefined;
268
+ })[];
269
+ };
270
+ } | {
271
+ from: "REGISTERED";
272
+ to: "ACTIVE";
273
+ eventName: "activate";
274
+ guard: {
275
+ or: ({
276
+ "===": {
277
+ var: string;
278
+ }[];
279
+ var?: undefined;
280
+ } | {
281
+ var: string;
282
+ "==="?: undefined;
283
+ })[];
284
+ ">="?: undefined;
285
+ and?: undefined;
286
+ var?: undefined;
287
+ "==="?: undefined;
288
+ };
289
+ effect: {
290
+ merge: ({
291
+ var: string;
292
+ status?: undefined;
293
+ activatedAt?: undefined;
294
+ } | {
295
+ status: string;
296
+ activatedAt: {
297
+ var: string;
298
+ };
299
+ var?: undefined;
300
+ })[];
301
+ };
302
+ } | {
303
+ from: "ACTIVE";
304
+ to: "ACTIVE";
305
+ eventName: "add_stake";
306
+ guard: {
307
+ and: ({
308
+ "===": {
309
+ var: string;
310
+ }[];
311
+ ">"?: undefined;
312
+ } | {
313
+ ">": (number | {
314
+ var: string;
315
+ })[];
316
+ "==="?: undefined;
317
+ })[];
318
+ ">="?: undefined;
319
+ or?: undefined;
320
+ var?: undefined;
321
+ "==="?: undefined;
322
+ };
323
+ effect: {
324
+ merge: ({
325
+ var: string;
326
+ stake?: undefined;
327
+ lastStakeAt?: undefined;
328
+ } | {
329
+ stake: {
330
+ "+": {
331
+ var: string;
332
+ }[];
333
+ };
334
+ lastStakeAt: {
335
+ var: string;
336
+ };
337
+ var?: undefined;
338
+ })[];
339
+ };
340
+ } | {
341
+ from: "ACTIVE";
342
+ to: "ACTIVE";
343
+ eventName: "record_resolution";
344
+ guard: {
345
+ var: string;
346
+ ">="?: undefined;
347
+ or?: undefined;
348
+ and?: undefined;
349
+ "==="?: undefined;
350
+ };
351
+ effect: {
352
+ merge: ({
353
+ var: string;
354
+ reputation?: undefined;
355
+ lastResolutionAt?: undefined;
356
+ } | {
357
+ reputation: {
358
+ merge: ({
359
+ var: string;
360
+ totalResolutions?: undefined;
361
+ accuracy?: undefined;
362
+ } | {
363
+ totalResolutions: {
364
+ "+": (number | {
365
+ var: string;
366
+ })[];
367
+ };
368
+ accuracy: {
369
+ if: ({
370
+ var: string;
371
+ "-"?: undefined;
372
+ } | {
373
+ "-": (number | {
374
+ var: string;
375
+ })[];
376
+ var?: undefined;
377
+ })[];
378
+ };
379
+ var?: undefined;
380
+ })[];
381
+ };
382
+ lastResolutionAt: {
383
+ var: string;
384
+ };
385
+ var?: undefined;
386
+ })[];
387
+ };
388
+ } | {
389
+ from: "ACTIVE";
390
+ to: "SLASHED";
391
+ eventName: "slash";
392
+ guard: {
393
+ and: ({
394
+ var: string;
395
+ ">"?: undefined;
396
+ "<="?: undefined;
397
+ } | {
398
+ ">": (number | {
399
+ var: string;
400
+ })[];
401
+ var?: undefined;
402
+ "<="?: undefined;
403
+ } | {
404
+ "<=": {
405
+ var: string;
406
+ }[];
407
+ var?: undefined;
408
+ ">"?: undefined;
409
+ })[];
410
+ ">="?: undefined;
411
+ or?: undefined;
412
+ var?: undefined;
413
+ "==="?: undefined;
414
+ };
415
+ effect: {
416
+ merge: ({
417
+ var: string;
418
+ status?: undefined;
419
+ stake?: undefined;
420
+ slashingHistory?: undefined;
421
+ slashedAt?: undefined;
422
+ } | {
423
+ status: string;
424
+ stake: {
425
+ "-": {
426
+ var: string;
427
+ }[];
428
+ };
429
+ slashingHistory: {
430
+ cat: ({
431
+ var: string;
432
+ } | {
433
+ reason: {
434
+ var: string;
435
+ };
436
+ amount: {
437
+ var: string;
438
+ };
439
+ marketId: {
440
+ var: string;
441
+ };
442
+ slashedAt: {
443
+ var: string;
444
+ };
445
+ }[])[];
446
+ };
447
+ slashedAt: {
448
+ var: string;
449
+ };
450
+ var?: undefined;
451
+ })[];
452
+ };
453
+ } | {
454
+ from: "SLASHED";
455
+ to: "ACTIVE";
456
+ eventName: "reactivate";
457
+ guard: {
458
+ and: ({
459
+ "===": {
460
+ var: string;
461
+ }[];
462
+ ">="?: undefined;
463
+ } | {
464
+ ">=": {
465
+ var: string;
466
+ }[];
467
+ "==="?: undefined;
468
+ })[];
469
+ ">="?: undefined;
470
+ or?: undefined;
471
+ var?: undefined;
472
+ "==="?: undefined;
473
+ };
474
+ effect: {
475
+ merge: ({
476
+ var: string;
477
+ status?: undefined;
478
+ reactivatedAt?: undefined;
479
+ } | {
480
+ status: string;
481
+ reactivatedAt: {
482
+ var: string;
483
+ };
484
+ var?: undefined;
485
+ })[];
486
+ };
487
+ } | {
488
+ from: "ACTIVE";
489
+ to: "WITHDRAWN";
490
+ eventName: "withdraw";
491
+ guard: {
492
+ "===": {
493
+ var: string;
494
+ }[];
495
+ ">="?: undefined;
496
+ or?: undefined;
497
+ and?: undefined;
498
+ var?: undefined;
499
+ };
500
+ effect: {
501
+ merge: ({
502
+ var: string;
503
+ status?: undefined;
504
+ withdrawnAt?: undefined;
505
+ finalStake?: undefined;
506
+ } | {
507
+ status: string;
508
+ withdrawnAt: {
509
+ var: string;
510
+ };
511
+ finalStake: {
512
+ var: string;
513
+ };
514
+ var?: undefined;
515
+ })[];
516
+ };
517
+ } | {
518
+ from: "SLASHED";
519
+ to: "WITHDRAWN";
520
+ eventName: "withdraw";
521
+ guard: {
522
+ "===": {
523
+ var: string;
524
+ }[];
525
+ ">="?: undefined;
526
+ or?: undefined;
527
+ and?: undefined;
528
+ var?: undefined;
529
+ };
530
+ effect: {
531
+ merge: ({
532
+ var: string;
533
+ status?: undefined;
534
+ withdrawnAt?: undefined;
535
+ finalStake?: undefined;
536
+ } | {
537
+ status: string;
538
+ withdrawnAt: {
539
+ var: string;
540
+ };
541
+ finalStake: {
542
+ var: string;
543
+ };
544
+ var?: undefined;
545
+ })[];
546
+ };
547
+ })[];
548
+ };
549
+ export type OracleState = keyof typeof identityOracleDef.states;
550
+ export type OracleEvent = (typeof identityOracleDef.transitions)[number]["eventName"];
@@ -0,0 +1,151 @@
1
+ /**
2
+ * Minimal identity state machine - extend for custom use cases.
3
+ */
4
+ export declare const identityUniversalDef: {
5
+ metadata: {
6
+ name: string;
7
+ app: string;
8
+ type: string;
9
+ version: string;
10
+ description: string;
11
+ };
12
+ createSchema: {
13
+ required: readonly ["owner"];
14
+ properties: {
15
+ owner: {
16
+ type: "address";
17
+ description: string;
18
+ immutable: true;
19
+ };
20
+ metadata: {
21
+ type: "object";
22
+ description: string;
23
+ default: {};
24
+ };
25
+ };
26
+ };
27
+ stateSchema: {
28
+ properties: {
29
+ owner: {
30
+ type: "address";
31
+ immutable: true;
32
+ };
33
+ status: {
34
+ type: "string";
35
+ enum: readonly ["CREATED", "ACTIVE", "INACTIVE"];
36
+ computed: true;
37
+ };
38
+ metadata: {
39
+ type: "object";
40
+ };
41
+ activatedAt: {
42
+ type: "timestamp";
43
+ computed: true;
44
+ };
45
+ updatedAt: {
46
+ type: "timestamp";
47
+ computed: true;
48
+ };
49
+ deactivatedAt: {
50
+ type: "timestamp";
51
+ computed: true;
52
+ };
53
+ };
54
+ };
55
+ eventSchemas: {
56
+ activate: {
57
+ description: string;
58
+ };
59
+ update: {
60
+ description: string;
61
+ properties: {
62
+ metadata: {
63
+ type: "object";
64
+ };
65
+ };
66
+ };
67
+ deactivate: {
68
+ description: string;
69
+ };
70
+ };
71
+ states: {
72
+ CREATED: {
73
+ id: string;
74
+ isFinal: false;
75
+ };
76
+ ACTIVE: {
77
+ id: string;
78
+ isFinal: false;
79
+ };
80
+ INACTIVE: {
81
+ id: string;
82
+ isFinal: true;
83
+ };
84
+ };
85
+ initialState: "CREATED";
86
+ transitions: ({
87
+ from: "CREATED";
88
+ to: "ACTIVE";
89
+ eventName: "activate";
90
+ guard: {
91
+ "==": number[];
92
+ };
93
+ effect: {
94
+ merge: ({
95
+ var: string;
96
+ status?: undefined;
97
+ activatedAt?: undefined;
98
+ } | {
99
+ status: string;
100
+ activatedAt: {
101
+ var: string;
102
+ };
103
+ var?: undefined;
104
+ })[];
105
+ };
106
+ } | {
107
+ from: "ACTIVE";
108
+ to: "ACTIVE";
109
+ eventName: "update";
110
+ guard: {
111
+ "==": number[];
112
+ };
113
+ effect: {
114
+ merge: ({
115
+ var: string;
116
+ updatedAt?: undefined;
117
+ metadata?: undefined;
118
+ } | {
119
+ updatedAt: {
120
+ var: string;
121
+ };
122
+ metadata: {
123
+ var: string;
124
+ };
125
+ var?: undefined;
126
+ })[];
127
+ };
128
+ } | {
129
+ from: "ACTIVE";
130
+ to: "INACTIVE";
131
+ eventName: "deactivate";
132
+ guard: {
133
+ "==": number[];
134
+ };
135
+ effect: {
136
+ merge: ({
137
+ var: string;
138
+ status?: undefined;
139
+ deactivatedAt?: undefined;
140
+ } | {
141
+ status: string;
142
+ deactivatedAt: {
143
+ var: string;
144
+ };
145
+ var?: undefined;
146
+ })[];
147
+ };
148
+ })[];
149
+ };
150
+ export type UniversalIdentityState = keyof typeof identityUniversalDef.states;
151
+ export type UniversalIdentityEvent = (typeof identityUniversalDef.transitions)[number]["eventName"];