@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.
- package/dist/cjs/apps/contracts/index.js +18 -13
- package/dist/cjs/apps/contracts/state-machines/index.js +139 -7
- package/dist/cjs/apps/corporate/index.js +18 -20
- package/dist/cjs/apps/corporate/state-machines/index.js +535 -6336
- package/dist/cjs/apps/governance/index.js +32 -31
- package/dist/cjs/apps/governance/state-machines/index.js +498 -2315
- package/dist/cjs/apps/identity/index.js +15 -7
- package/dist/cjs/apps/identity/state-machines/index.js +516 -4
- package/dist/cjs/apps/index.js +15 -13
- package/dist/cjs/apps/markets/index.js +23 -10
- package/dist/cjs/apps/markets/state-machines/index.js +1904 -230
- package/dist/esm/apps/contracts/index.js +16 -13
- package/dist/esm/apps/contracts/state-machines/index.js +138 -6
- package/dist/esm/apps/corporate/index.js +14 -20
- package/dist/esm/apps/corporate/state-machines/index.js +534 -6335
- package/dist/esm/apps/governance/index.js +26 -30
- package/dist/esm/apps/governance/state-machines/index.js +497 -2314
- package/dist/esm/apps/identity/index.js +13 -7
- package/dist/esm/apps/identity/state-machines/index.js +515 -3
- package/dist/esm/apps/index.js +14 -12
- package/dist/esm/apps/markets/index.js +19 -10
- package/dist/esm/apps/markets/state-machines/index.js +1903 -229
- package/dist/types/apps/contracts/index.d.ts +661 -9
- package/dist/types/apps/contracts/state-machines/index.d.ts +109 -6
- package/dist/types/apps/corporate/index.d.ts +4015 -7
- package/dist/types/apps/corporate/state-machines/index.d.ts +472 -5587
- package/dist/types/apps/governance/index.d.ts +2151 -12
- package/dist/types/apps/governance/state-machines/index.d.ts +462 -1875
- package/dist/types/apps/identity/index.d.ts +601 -4
- package/dist/types/apps/identity/state-machines/index.d.ts +393 -3
- package/dist/types/apps/index.d.ts +14 -12
- package/dist/types/apps/markets/index.d.ts +1690 -7
- package/dist/types/apps/markets/state-machines/index.d.ts +1416 -184
- package/package.json +1 -1
- package/dist/cjs/apps/oracles/index.js +0 -59
- package/dist/cjs/apps/oracles/state-machines/index.js +0 -415
- package/dist/esm/apps/oracles/index.js +0 -42
- package/dist/esm/apps/oracles/state-machines/index.js +0 -412
- package/dist/types/apps/oracles/index.d.ts +0 -34
- package/dist/types/apps/oracles/state-machines/index.d.ts +0 -312
|
@@ -37,14 +37,20 @@ export const DEFAULT_REPUTATION_CONFIG = {
|
|
|
37
37
|
challengeThreshold: 5,
|
|
38
38
|
};
|
|
39
39
|
// ---------------------------------------------------------------------------
|
|
40
|
-
// State Machine
|
|
40
|
+
// State Machine Definitions (generated from JSON at build time)
|
|
41
41
|
// ---------------------------------------------------------------------------
|
|
42
|
-
import {
|
|
42
|
+
import { identityUniversalDef, identityAgentDef, identityOracleDef, } from './state-machines/index.js';
|
|
43
|
+
export { identityUniversalDef, identityAgentDef, identityOracleDef };
|
|
44
|
+
/** All identity state machine definitions */
|
|
45
|
+
export const IDENTITY_DEFINITIONS = {
|
|
46
|
+
universal: identityUniversalDef,
|
|
47
|
+
agent: identityAgentDef,
|
|
48
|
+
oracle: identityOracleDef,
|
|
49
|
+
};
|
|
43
50
|
/**
|
|
44
|
-
* Get
|
|
45
|
-
*
|
|
46
|
-
* @returns The state machine definition JSON for AgentIdentity
|
|
51
|
+
* Get an identity state machine definition by type.
|
|
52
|
+
* @param type - 'universal' | 'agent' | 'oracle' (default: 'agent')
|
|
47
53
|
*/
|
|
48
|
-
export function getIdentityDefinition() {
|
|
49
|
-
return
|
|
54
|
+
export function getIdentityDefinition(type = 'agent') {
|
|
55
|
+
return IDENTITY_DEFINITIONS[type];
|
|
50
56
|
}
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
* Auto-generated from JSON state machine definitions.
|
|
3
3
|
* DO NOT EDIT - regenerate with: npm run prebuild
|
|
4
4
|
*/
|
|
5
|
-
export const
|
|
5
|
+
export const identityAgentDef = {
|
|
6
6
|
"metadata": {
|
|
7
|
-
"name": "
|
|
8
|
-
"description": "
|
|
7
|
+
"name": "IdentityAgent",
|
|
8
|
+
"description": "Standard agent identity with reputation tracking, vouching, and lifecycle management",
|
|
9
9
|
"version": "1.0.0"
|
|
10
10
|
},
|
|
11
11
|
"states": {
|
|
@@ -272,3 +272,515 @@ export const agentIdentityDef = {
|
|
|
272
272
|
}
|
|
273
273
|
]
|
|
274
274
|
};
|
|
275
|
+
export const identityOracleDef = {
|
|
276
|
+
"metadata": {
|
|
277
|
+
"name": "IdentityOracle",
|
|
278
|
+
"description": "Oracle identity with staking, attestations, reputation, and slashing mechanics",
|
|
279
|
+
"version": "1.0.0"
|
|
280
|
+
},
|
|
281
|
+
"states": {
|
|
282
|
+
"UNREGISTERED": {
|
|
283
|
+
"id": "UNREGISTERED",
|
|
284
|
+
"isFinal": false,
|
|
285
|
+
"metadata": null
|
|
286
|
+
},
|
|
287
|
+
"REGISTERED": {
|
|
288
|
+
"id": "REGISTERED",
|
|
289
|
+
"isFinal": false,
|
|
290
|
+
"metadata": null
|
|
291
|
+
},
|
|
292
|
+
"ACTIVE": {
|
|
293
|
+
"id": "ACTIVE",
|
|
294
|
+
"isFinal": false,
|
|
295
|
+
"metadata": null
|
|
296
|
+
},
|
|
297
|
+
"SLASHED": {
|
|
298
|
+
"id": "SLASHED",
|
|
299
|
+
"isFinal": false,
|
|
300
|
+
"metadata": null
|
|
301
|
+
},
|
|
302
|
+
"WITHDRAWN": {
|
|
303
|
+
"id": "WITHDRAWN",
|
|
304
|
+
"isFinal": true,
|
|
305
|
+
"metadata": null
|
|
306
|
+
}
|
|
307
|
+
},
|
|
308
|
+
"initialState": "UNREGISTERED",
|
|
309
|
+
"transitions": [
|
|
310
|
+
{
|
|
311
|
+
"from": "UNREGISTERED",
|
|
312
|
+
"to": "REGISTERED",
|
|
313
|
+
"eventName": "register",
|
|
314
|
+
"guard": {
|
|
315
|
+
">=": [
|
|
316
|
+
{
|
|
317
|
+
"var": "event.stake"
|
|
318
|
+
},
|
|
319
|
+
{
|
|
320
|
+
"var": "state.minStake"
|
|
321
|
+
}
|
|
322
|
+
]
|
|
323
|
+
},
|
|
324
|
+
"effect": {
|
|
325
|
+
"merge": [
|
|
326
|
+
{
|
|
327
|
+
"var": "state"
|
|
328
|
+
},
|
|
329
|
+
{
|
|
330
|
+
"status": "REGISTERED",
|
|
331
|
+
"address": {
|
|
332
|
+
"var": "event.agent"
|
|
333
|
+
},
|
|
334
|
+
"stake": {
|
|
335
|
+
"var": "event.stake"
|
|
336
|
+
},
|
|
337
|
+
"registeredAt": {
|
|
338
|
+
"var": "$timestamp"
|
|
339
|
+
},
|
|
340
|
+
"reputation": {
|
|
341
|
+
"accuracy": 100,
|
|
342
|
+
"totalResolutions": 0,
|
|
343
|
+
"disputesWon": 0,
|
|
344
|
+
"disputesLost": 0
|
|
345
|
+
},
|
|
346
|
+
"domains": {
|
|
347
|
+
"var": "event.domains"
|
|
348
|
+
},
|
|
349
|
+
"slashingHistory": []
|
|
350
|
+
}
|
|
351
|
+
]
|
|
352
|
+
},
|
|
353
|
+
"dependencies": []
|
|
354
|
+
},
|
|
355
|
+
{
|
|
356
|
+
"from": "REGISTERED",
|
|
357
|
+
"to": "ACTIVE",
|
|
358
|
+
"eventName": "activate",
|
|
359
|
+
"guard": {
|
|
360
|
+
"or": [
|
|
361
|
+
{
|
|
362
|
+
"===": [
|
|
363
|
+
{
|
|
364
|
+
"var": "event.agent"
|
|
365
|
+
},
|
|
366
|
+
{
|
|
367
|
+
"var": "state.address"
|
|
368
|
+
}
|
|
369
|
+
]
|
|
370
|
+
},
|
|
371
|
+
{
|
|
372
|
+
"var": "event.adminOverride"
|
|
373
|
+
}
|
|
374
|
+
]
|
|
375
|
+
},
|
|
376
|
+
"effect": {
|
|
377
|
+
"merge": [
|
|
378
|
+
{
|
|
379
|
+
"var": "state"
|
|
380
|
+
},
|
|
381
|
+
{
|
|
382
|
+
"status": "ACTIVE",
|
|
383
|
+
"activatedAt": {
|
|
384
|
+
"var": "$timestamp"
|
|
385
|
+
}
|
|
386
|
+
}
|
|
387
|
+
]
|
|
388
|
+
},
|
|
389
|
+
"dependencies": []
|
|
390
|
+
},
|
|
391
|
+
{
|
|
392
|
+
"from": "ACTIVE",
|
|
393
|
+
"to": "ACTIVE",
|
|
394
|
+
"eventName": "add_stake",
|
|
395
|
+
"guard": {
|
|
396
|
+
"and": [
|
|
397
|
+
{
|
|
398
|
+
"===": [
|
|
399
|
+
{
|
|
400
|
+
"var": "event.agent"
|
|
401
|
+
},
|
|
402
|
+
{
|
|
403
|
+
"var": "state.address"
|
|
404
|
+
}
|
|
405
|
+
]
|
|
406
|
+
},
|
|
407
|
+
{
|
|
408
|
+
">": [
|
|
409
|
+
{
|
|
410
|
+
"var": "event.amount"
|
|
411
|
+
},
|
|
412
|
+
0
|
|
413
|
+
]
|
|
414
|
+
}
|
|
415
|
+
]
|
|
416
|
+
},
|
|
417
|
+
"effect": {
|
|
418
|
+
"merge": [
|
|
419
|
+
{
|
|
420
|
+
"var": "state"
|
|
421
|
+
},
|
|
422
|
+
{
|
|
423
|
+
"stake": {
|
|
424
|
+
"+": [
|
|
425
|
+
{
|
|
426
|
+
"var": "state.stake"
|
|
427
|
+
},
|
|
428
|
+
{
|
|
429
|
+
"var": "event.amount"
|
|
430
|
+
}
|
|
431
|
+
]
|
|
432
|
+
},
|
|
433
|
+
"lastStakeAt": {
|
|
434
|
+
"var": "$timestamp"
|
|
435
|
+
}
|
|
436
|
+
}
|
|
437
|
+
]
|
|
438
|
+
},
|
|
439
|
+
"dependencies": []
|
|
440
|
+
},
|
|
441
|
+
{
|
|
442
|
+
"from": "ACTIVE",
|
|
443
|
+
"to": "ACTIVE",
|
|
444
|
+
"eventName": "record_resolution",
|
|
445
|
+
"guard": {
|
|
446
|
+
"var": "event.marketId"
|
|
447
|
+
},
|
|
448
|
+
"effect": {
|
|
449
|
+
"merge": [
|
|
450
|
+
{
|
|
451
|
+
"var": "state"
|
|
452
|
+
},
|
|
453
|
+
{
|
|
454
|
+
"reputation": {
|
|
455
|
+
"merge": [
|
|
456
|
+
{
|
|
457
|
+
"var": "state.reputation"
|
|
458
|
+
},
|
|
459
|
+
{
|
|
460
|
+
"totalResolutions": {
|
|
461
|
+
"+": [
|
|
462
|
+
{
|
|
463
|
+
"var": "state.reputation.totalResolutions"
|
|
464
|
+
},
|
|
465
|
+
1
|
|
466
|
+
]
|
|
467
|
+
},
|
|
468
|
+
"accuracy": {
|
|
469
|
+
"if": [
|
|
470
|
+
{
|
|
471
|
+
"var": "event.correct"
|
|
472
|
+
},
|
|
473
|
+
{
|
|
474
|
+
"var": "state.reputation.accuracy"
|
|
475
|
+
},
|
|
476
|
+
{
|
|
477
|
+
"-": [
|
|
478
|
+
{
|
|
479
|
+
"var": "state.reputation.accuracy"
|
|
480
|
+
},
|
|
481
|
+
5
|
|
482
|
+
]
|
|
483
|
+
}
|
|
484
|
+
]
|
|
485
|
+
}
|
|
486
|
+
}
|
|
487
|
+
]
|
|
488
|
+
},
|
|
489
|
+
"lastResolutionAt": {
|
|
490
|
+
"var": "$timestamp"
|
|
491
|
+
}
|
|
492
|
+
}
|
|
493
|
+
]
|
|
494
|
+
},
|
|
495
|
+
"dependencies": []
|
|
496
|
+
},
|
|
497
|
+
{
|
|
498
|
+
"from": "ACTIVE",
|
|
499
|
+
"to": "SLASHED",
|
|
500
|
+
"eventName": "slash",
|
|
501
|
+
"guard": {
|
|
502
|
+
"and": [
|
|
503
|
+
{
|
|
504
|
+
"var": "event.reason"
|
|
505
|
+
},
|
|
506
|
+
{
|
|
507
|
+
">": [
|
|
508
|
+
{
|
|
509
|
+
"var": "event.amount"
|
|
510
|
+
},
|
|
511
|
+
0
|
|
512
|
+
]
|
|
513
|
+
},
|
|
514
|
+
{
|
|
515
|
+
"<=": [
|
|
516
|
+
{
|
|
517
|
+
"var": "event.amount"
|
|
518
|
+
},
|
|
519
|
+
{
|
|
520
|
+
"var": "state.stake"
|
|
521
|
+
}
|
|
522
|
+
]
|
|
523
|
+
}
|
|
524
|
+
]
|
|
525
|
+
},
|
|
526
|
+
"effect": {
|
|
527
|
+
"merge": [
|
|
528
|
+
{
|
|
529
|
+
"var": "state"
|
|
530
|
+
},
|
|
531
|
+
{
|
|
532
|
+
"status": "SLASHED",
|
|
533
|
+
"stake": {
|
|
534
|
+
"-": [
|
|
535
|
+
{
|
|
536
|
+
"var": "state.stake"
|
|
537
|
+
},
|
|
538
|
+
{
|
|
539
|
+
"var": "event.amount"
|
|
540
|
+
}
|
|
541
|
+
]
|
|
542
|
+
},
|
|
543
|
+
"slashingHistory": {
|
|
544
|
+
"cat": [
|
|
545
|
+
{
|
|
546
|
+
"var": "state.slashingHistory"
|
|
547
|
+
},
|
|
548
|
+
[
|
|
549
|
+
{
|
|
550
|
+
"reason": {
|
|
551
|
+
"var": "event.reason"
|
|
552
|
+
},
|
|
553
|
+
"amount": {
|
|
554
|
+
"var": "event.amount"
|
|
555
|
+
},
|
|
556
|
+
"marketId": {
|
|
557
|
+
"var": "event.marketId"
|
|
558
|
+
},
|
|
559
|
+
"slashedAt": {
|
|
560
|
+
"var": "$timestamp"
|
|
561
|
+
}
|
|
562
|
+
}
|
|
563
|
+
]
|
|
564
|
+
]
|
|
565
|
+
},
|
|
566
|
+
"slashedAt": {
|
|
567
|
+
"var": "$timestamp"
|
|
568
|
+
}
|
|
569
|
+
}
|
|
570
|
+
]
|
|
571
|
+
},
|
|
572
|
+
"dependencies": []
|
|
573
|
+
},
|
|
574
|
+
{
|
|
575
|
+
"from": "SLASHED",
|
|
576
|
+
"to": "ACTIVE",
|
|
577
|
+
"eventName": "reactivate",
|
|
578
|
+
"guard": {
|
|
579
|
+
"and": [
|
|
580
|
+
{
|
|
581
|
+
"===": [
|
|
582
|
+
{
|
|
583
|
+
"var": "event.agent"
|
|
584
|
+
},
|
|
585
|
+
{
|
|
586
|
+
"var": "state.address"
|
|
587
|
+
}
|
|
588
|
+
]
|
|
589
|
+
},
|
|
590
|
+
{
|
|
591
|
+
">=": [
|
|
592
|
+
{
|
|
593
|
+
"var": "state.stake"
|
|
594
|
+
},
|
|
595
|
+
{
|
|
596
|
+
"var": "state.minStake"
|
|
597
|
+
}
|
|
598
|
+
]
|
|
599
|
+
}
|
|
600
|
+
]
|
|
601
|
+
},
|
|
602
|
+
"effect": {
|
|
603
|
+
"merge": [
|
|
604
|
+
{
|
|
605
|
+
"var": "state"
|
|
606
|
+
},
|
|
607
|
+
{
|
|
608
|
+
"status": "ACTIVE",
|
|
609
|
+
"reactivatedAt": {
|
|
610
|
+
"var": "$timestamp"
|
|
611
|
+
}
|
|
612
|
+
}
|
|
613
|
+
]
|
|
614
|
+
},
|
|
615
|
+
"dependencies": []
|
|
616
|
+
},
|
|
617
|
+
{
|
|
618
|
+
"from": "ACTIVE",
|
|
619
|
+
"to": "WITHDRAWN",
|
|
620
|
+
"eventName": "withdraw",
|
|
621
|
+
"guard": {
|
|
622
|
+
"===": [
|
|
623
|
+
{
|
|
624
|
+
"var": "event.agent"
|
|
625
|
+
},
|
|
626
|
+
{
|
|
627
|
+
"var": "state.address"
|
|
628
|
+
}
|
|
629
|
+
]
|
|
630
|
+
},
|
|
631
|
+
"effect": {
|
|
632
|
+
"merge": [
|
|
633
|
+
{
|
|
634
|
+
"var": "state"
|
|
635
|
+
},
|
|
636
|
+
{
|
|
637
|
+
"status": "WITHDRAWN",
|
|
638
|
+
"withdrawnAt": {
|
|
639
|
+
"var": "$timestamp"
|
|
640
|
+
},
|
|
641
|
+
"finalStake": {
|
|
642
|
+
"var": "state.stake"
|
|
643
|
+
}
|
|
644
|
+
}
|
|
645
|
+
]
|
|
646
|
+
},
|
|
647
|
+
"dependencies": []
|
|
648
|
+
},
|
|
649
|
+
{
|
|
650
|
+
"from": "SLASHED",
|
|
651
|
+
"to": "WITHDRAWN",
|
|
652
|
+
"eventName": "withdraw",
|
|
653
|
+
"guard": {
|
|
654
|
+
"===": [
|
|
655
|
+
{
|
|
656
|
+
"var": "event.agent"
|
|
657
|
+
},
|
|
658
|
+
{
|
|
659
|
+
"var": "state.address"
|
|
660
|
+
}
|
|
661
|
+
]
|
|
662
|
+
},
|
|
663
|
+
"effect": {
|
|
664
|
+
"merge": [
|
|
665
|
+
{
|
|
666
|
+
"var": "state"
|
|
667
|
+
},
|
|
668
|
+
{
|
|
669
|
+
"status": "WITHDRAWN",
|
|
670
|
+
"withdrawnAt": {
|
|
671
|
+
"var": "$timestamp"
|
|
672
|
+
},
|
|
673
|
+
"finalStake": {
|
|
674
|
+
"var": "state.stake"
|
|
675
|
+
}
|
|
676
|
+
}
|
|
677
|
+
]
|
|
678
|
+
},
|
|
679
|
+
"dependencies": []
|
|
680
|
+
}
|
|
681
|
+
]
|
|
682
|
+
};
|
|
683
|
+
export const identityUniversalDef = {
|
|
684
|
+
"metadata": {
|
|
685
|
+
"name": "IdentityUniversal",
|
|
686
|
+
"description": "Minimal identity state machine - extend for custom use cases",
|
|
687
|
+
"version": "1.0.0"
|
|
688
|
+
},
|
|
689
|
+
"states": {
|
|
690
|
+
"CREATED": {
|
|
691
|
+
"id": "CREATED",
|
|
692
|
+
"isFinal": false,
|
|
693
|
+
"metadata": null
|
|
694
|
+
},
|
|
695
|
+
"ACTIVE": {
|
|
696
|
+
"id": "ACTIVE",
|
|
697
|
+
"isFinal": false,
|
|
698
|
+
"metadata": null
|
|
699
|
+
},
|
|
700
|
+
"INACTIVE": {
|
|
701
|
+
"id": "INACTIVE",
|
|
702
|
+
"isFinal": true,
|
|
703
|
+
"metadata": null
|
|
704
|
+
}
|
|
705
|
+
},
|
|
706
|
+
"initialState": "CREATED",
|
|
707
|
+
"transitions": [
|
|
708
|
+
{
|
|
709
|
+
"from": "CREATED",
|
|
710
|
+
"to": "ACTIVE",
|
|
711
|
+
"eventName": "activate",
|
|
712
|
+
"guard": {
|
|
713
|
+
"==": [
|
|
714
|
+
1,
|
|
715
|
+
1
|
|
716
|
+
]
|
|
717
|
+
},
|
|
718
|
+
"effect": {
|
|
719
|
+
"merge": [
|
|
720
|
+
{
|
|
721
|
+
"var": "state"
|
|
722
|
+
},
|
|
723
|
+
{
|
|
724
|
+
"status": "ACTIVE",
|
|
725
|
+
"activatedAt": {
|
|
726
|
+
"var": "$timestamp"
|
|
727
|
+
}
|
|
728
|
+
}
|
|
729
|
+
]
|
|
730
|
+
},
|
|
731
|
+
"dependencies": []
|
|
732
|
+
},
|
|
733
|
+
{
|
|
734
|
+
"from": "ACTIVE",
|
|
735
|
+
"to": "ACTIVE",
|
|
736
|
+
"eventName": "update",
|
|
737
|
+
"guard": {
|
|
738
|
+
"==": [
|
|
739
|
+
1,
|
|
740
|
+
1
|
|
741
|
+
]
|
|
742
|
+
},
|
|
743
|
+
"effect": {
|
|
744
|
+
"merge": [
|
|
745
|
+
{
|
|
746
|
+
"var": "state"
|
|
747
|
+
},
|
|
748
|
+
{
|
|
749
|
+
"updatedAt": {
|
|
750
|
+
"var": "$timestamp"
|
|
751
|
+
},
|
|
752
|
+
"metadata": {
|
|
753
|
+
"var": "event.metadata"
|
|
754
|
+
}
|
|
755
|
+
}
|
|
756
|
+
]
|
|
757
|
+
},
|
|
758
|
+
"dependencies": []
|
|
759
|
+
},
|
|
760
|
+
{
|
|
761
|
+
"from": "ACTIVE",
|
|
762
|
+
"to": "INACTIVE",
|
|
763
|
+
"eventName": "deactivate",
|
|
764
|
+
"guard": {
|
|
765
|
+
"==": [
|
|
766
|
+
1,
|
|
767
|
+
1
|
|
768
|
+
]
|
|
769
|
+
},
|
|
770
|
+
"effect": {
|
|
771
|
+
"merge": [
|
|
772
|
+
{
|
|
773
|
+
"var": "state"
|
|
774
|
+
},
|
|
775
|
+
{
|
|
776
|
+
"status": "INACTIVE",
|
|
777
|
+
"deactivatedAt": {
|
|
778
|
+
"var": "$timestamp"
|
|
779
|
+
}
|
|
780
|
+
}
|
|
781
|
+
]
|
|
782
|
+
},
|
|
783
|
+
"dependencies": []
|
|
784
|
+
}
|
|
785
|
+
]
|
|
786
|
+
};
|
package/dist/esm/apps/index.js
CHANGED
|
@@ -3,22 +3,25 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Application-specific types and utilities for OttoChain SDK.
|
|
5
5
|
*
|
|
6
|
+
* Each app provides:
|
|
7
|
+
* - Universal state machine (minimal, extensible)
|
|
8
|
+
* - Specialized state machines (opinionated defaults)
|
|
9
|
+
* - getXxxDefinition() helper to retrieve definitions
|
|
10
|
+
*
|
|
6
11
|
* @example
|
|
7
12
|
* ```typescript
|
|
8
|
-
* import { identity, contracts, markets,
|
|
13
|
+
* import { identity, contracts, markets, governance, corporate } from '@ottochain/sdk/apps';
|
|
9
14
|
*
|
|
10
|
-
* //
|
|
11
|
-
* const
|
|
15
|
+
* // Get identity definitions
|
|
16
|
+
* const agentDef = identity.getIdentityDefinition('agent');
|
|
17
|
+
* const oracleDef = identity.getIdentityDefinition('oracle');
|
|
12
18
|
*
|
|
13
|
-
* //
|
|
14
|
-
* const
|
|
19
|
+
* // Get market definitions
|
|
20
|
+
* const predictionDef = markets.getMarketDefinition('prediction');
|
|
21
|
+
* const auctionDef = markets.getMarketDefinition('auction');
|
|
15
22
|
*
|
|
16
|
-
* //
|
|
17
|
-
* const
|
|
18
|
-
* name: 'Treasury',
|
|
19
|
-
* signers: ['DAG...', 'DAG...', 'DAG...'],
|
|
20
|
-
* threshold: 2
|
|
21
|
-
* });
|
|
23
|
+
* // Get DAO definitions
|
|
24
|
+
* const multisigDef = governance.getGovernanceDefinition('daoMultisig');
|
|
22
25
|
* ```
|
|
23
26
|
*
|
|
24
27
|
* @packageDocumentation
|
|
@@ -27,6 +30,5 @@
|
|
|
27
30
|
export * as identity from './identity/index.js';
|
|
28
31
|
export * as contracts from './contracts/index.js';
|
|
29
32
|
export * as markets from './markets/index.js';
|
|
30
|
-
export * as oracles from './oracles/index.js';
|
|
31
33
|
export * as governance from './governance/index.js';
|
|
32
34
|
export * as corporate from './corporate/index.js';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Markets Application
|
|
3
3
|
*
|
|
4
|
-
* Types and utilities for
|
|
4
|
+
* Types and utilities for markets on OttoChain: predictions, auctions, crowdfunding, group buys.
|
|
5
5
|
*
|
|
6
6
|
* @example
|
|
7
7
|
* ```typescript
|
|
@@ -9,10 +9,12 @@
|
|
|
9
9
|
* MarketType,
|
|
10
10
|
* MarketState,
|
|
11
11
|
* Market,
|
|
12
|
-
* getMarketDefinition
|
|
12
|
+
* getMarketDefinition,
|
|
13
|
+
* MARKETS_DEFINITIONS
|
|
13
14
|
* } from '@ottochain/sdk/apps/markets';
|
|
14
15
|
*
|
|
15
|
-
* const
|
|
16
|
+
* const predictionDef = getMarketDefinition('prediction');
|
|
17
|
+
* const auctionDef = getMarketDefinition('auction');
|
|
16
18
|
* ```
|
|
17
19
|
*
|
|
18
20
|
* @packageDocumentation
|
|
@@ -20,15 +22,22 @@
|
|
|
20
22
|
// Re-export generated protobuf types (source of truth)
|
|
21
23
|
export { MarketType, MarketState, Commitment, Resolution, Market, CreateMarketRequest, CommitToMarketRequest, SubmitResolutionRequest, CancelMarketRequest, MarketDefinition, marketTypeFromJSON, marketTypeToJSON, marketStateFromJSON, marketStateToJSON, } from '../../generated/ottochain/apps/markets/v1/market.js';
|
|
22
24
|
// ---------------------------------------------------------------------------
|
|
23
|
-
// State Machine JSON
|
|
25
|
+
// State Machine Definitions (generated from JSON at build time)
|
|
24
26
|
// ---------------------------------------------------------------------------
|
|
25
|
-
import { marketUniversalDef } from './state-machines/index.js';
|
|
26
|
-
export
|
|
27
|
-
|
|
27
|
+
import { marketUniversalDef, marketPredictionDef, marketAuctionDef, marketCrowdfundDef, marketGroupBuyDef, } from './state-machines/index.js';
|
|
28
|
+
export { marketUniversalDef, marketPredictionDef, marketAuctionDef, marketCrowdfundDef, marketGroupBuyDef, };
|
|
29
|
+
/** All market state machine definitions */
|
|
30
|
+
export const MARKETS_DEFINITIONS = {
|
|
31
|
+
universal: marketUniversalDef,
|
|
32
|
+
prediction: marketPredictionDef,
|
|
33
|
+
auction: marketAuctionDef,
|
|
34
|
+
crowdfund: marketCrowdfundDef,
|
|
35
|
+
groupBuy: marketGroupBuyDef,
|
|
28
36
|
};
|
|
29
37
|
/**
|
|
30
|
-
* Get
|
|
38
|
+
* Get a market state machine definition by type.
|
|
39
|
+
* @param type - 'universal' | 'prediction' | 'auction' | 'crowdfund' | 'groupBuy' (default: 'universal')
|
|
31
40
|
*/
|
|
32
|
-
export function getMarketDefinition(type = '
|
|
33
|
-
return
|
|
41
|
+
export function getMarketDefinition(type = 'universal') {
|
|
42
|
+
return MARKETS_DEFINITIONS[type];
|
|
34
43
|
}
|