@ottochain/sdk 1.7.0-beta.2 → 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 (113) 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 +20 -20
  20. package/dist/cjs/apps/identity/index.js +13 -21
  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/index.js +14 -7
  34. package/dist/cjs/generated/ottochain/apps/identity/v1/identity.js +197 -198
  35. package/dist/cjs/schema/fiber-app.js +55 -0
  36. package/dist/cjs/schema/index.js +20 -0
  37. package/dist/esm/apps/contracts/index.js +3 -3
  38. package/dist/esm/apps/contracts/state-machines/contract-agreement.js +269 -0
  39. package/dist/esm/apps/contracts/state-machines/contract-escrow.js +281 -0
  40. package/dist/esm/apps/contracts/state-machines/contract-universal.js +90 -0
  41. package/dist/esm/apps/contracts/state-machines/index.js +177 -1
  42. package/dist/esm/apps/corporate/index.js +3 -3
  43. package/dist/esm/apps/corporate/state-machines/corp-board.js +1019 -0
  44. package/dist/esm/apps/corporate/state-machines/corp-entity.js +668 -0
  45. package/dist/esm/apps/corporate/state-machines/corp-securities.js +995 -0
  46. package/dist/esm/apps/corporate/state-machines/corp-shareholders.js +1099 -0
  47. package/dist/esm/apps/corporate/state-machines/index.js +15 -4439
  48. package/dist/esm/apps/governance/index.js +9 -9
  49. package/dist/esm/apps/governance/state-machines/dao-multisig.js +464 -0
  50. package/dist/esm/apps/governance/state-machines/dao-reputation.js +455 -0
  51. package/dist/esm/apps/governance/state-machines/dao-single.js +196 -0
  52. package/dist/esm/apps/governance/state-machines/dao-token.js +500 -0
  53. package/dist/esm/apps/governance/state-machines/governance-simple.js +479 -0
  54. package/dist/esm/apps/governance/state-machines/governance-universal.js +135 -0
  55. package/dist/esm/apps/governance/state-machines/index.js +9 -2933
  56. package/dist/esm/apps/identity/constants.js +21 -21
  57. package/dist/esm/apps/identity/index.js +13 -22
  58. package/dist/esm/apps/identity/state-machines/identity-agent.js +253 -0
  59. package/dist/esm/apps/identity/state-machines/identity-oracle.js +318 -0
  60. package/dist/esm/apps/identity/state-machines/identity-universal.js +103 -0
  61. package/dist/esm/apps/identity/state-machines/index.js +11 -783
  62. package/dist/esm/apps/index.js +5 -5
  63. package/dist/esm/apps/markets/index.js +3 -3
  64. package/dist/esm/apps/markets/state-machines/index.js +8 -2297
  65. package/dist/esm/apps/markets/state-machines/market-auction.js +280 -0
  66. package/dist/esm/apps/markets/state-machines/market-crowdfund.js +309 -0
  67. package/dist/esm/apps/markets/state-machines/market-group-buy.js +404 -0
  68. package/dist/esm/apps/markets/state-machines/market-prediction.js +482 -0
  69. package/dist/esm/apps/markets/state-machines/market-universal.js +126 -0
  70. package/dist/esm/apps/oracles/index.js +21 -0
  71. package/dist/esm/generated/index.js +8 -3
  72. package/dist/esm/generated/ottochain/apps/identity/v1/identity.js +196 -197
  73. package/dist/esm/schema/fiber-app.js +47 -0
  74. package/dist/esm/schema/index.js +4 -0
  75. package/dist/types/apps/contracts/index.d.ts +151 -2
  76. package/dist/types/apps/contracts/state-machines/contract-agreement.d.ts +462 -0
  77. package/dist/types/apps/contracts/state-machines/contract-escrow.d.ts +511 -0
  78. package/dist/types/apps/contracts/state-machines/contract-universal.d.ts +147 -0
  79. package/dist/types/apps/contracts/state-machines/index.d.ts +149 -0
  80. package/dist/types/apps/corporate/index.d.ts +5263 -3825
  81. package/dist/types/apps/corporate/state-machines/corp-board.d.ts +1479 -0
  82. package/dist/types/apps/corporate/state-machines/corp-entity.d.ts +970 -0
  83. package/dist/types/apps/corporate/state-machines/corp-securities.d.ts +1381 -0
  84. package/dist/types/apps/corporate/state-machines/corp-shareholders.d.ts +1631 -0
  85. package/dist/types/apps/corporate/state-machines/index.d.ts +5245 -3802
  86. package/dist/types/apps/governance/index.d.ts +875 -37
  87. package/dist/types/apps/governance/state-machines/dao-multisig.d.ts +644 -0
  88. package/dist/types/apps/governance/state-machines/dao-reputation.d.ts +610 -0
  89. package/dist/types/apps/governance/state-machines/dao-single.d.ts +276 -0
  90. package/dist/types/apps/governance/state-machines/dao-token.d.ts +601 -0
  91. package/dist/types/apps/governance/state-machines/governance-simple.d.ts +652 -0
  92. package/dist/types/apps/governance/state-machines/governance-universal.d.ts +181 -0
  93. package/dist/types/apps/governance/state-machines/index.d.ts +9 -2136
  94. package/dist/types/apps/identity/constants.d.ts +4 -7
  95. package/dist/types/apps/identity/index.d.ts +1082 -592
  96. package/dist/types/apps/identity/state-machines/identity-agent.d.ts +401 -0
  97. package/dist/types/apps/identity/state-machines/identity-oracle.d.ts +550 -0
  98. package/dist/types/apps/identity/state-machines/identity-universal.d.ts +151 -0
  99. package/dist/types/apps/identity/state-machines/index.d.ts +1069 -567
  100. package/dist/types/apps/index.d.ts +5 -5
  101. package/dist/types/apps/markets/index.d.ts +535 -7
  102. package/dist/types/apps/markets/state-machines/index.d.ts +8 -1678
  103. package/dist/types/apps/markets/state-machines/market-auction.d.ts +392 -0
  104. package/dist/types/apps/markets/state-machines/market-crowdfund.d.ts +443 -0
  105. package/dist/types/apps/markets/state-machines/market-group-buy.d.ts +539 -0
  106. package/dist/types/apps/markets/state-machines/market-prediction.d.ts +651 -0
  107. package/dist/types/apps/markets/state-machines/market-universal.d.ts +191 -0
  108. package/dist/types/apps/oracles/index.d.ts +18 -0
  109. package/dist/types/generated/index.d.ts +3 -1
  110. package/dist/types/generated/ottochain/apps/identity/v1/identity.d.ts +43 -64
  111. package/dist/types/schema/fiber-app.d.ts +139 -0
  112. package/dist/types/schema/index.d.ts +4 -0
  113. package/package.json +1 -1
@@ -0,0 +1,90 @@
1
+ import { defineFiberApp } from "../../../schema/fiber-app.js";
2
+ /**
3
+ * Minimal contract state machine - extend for custom use cases.
4
+ */
5
+ export const contractUniversalDef = defineFiberApp({
6
+ metadata: {
7
+ name: "ContractUniversal",
8
+ app: "contracts",
9
+ type: "universal",
10
+ version: "1.0.0",
11
+ description: "Minimal contract state machine - extend for custom use cases",
12
+ },
13
+ createSchema: {
14
+ properties: {},
15
+ },
16
+ stateSchema: {
17
+ properties: {
18
+ status: { type: "string" },
19
+ acceptedAt: { type: "integer", nullable: true },
20
+ cancelledAt: { type: "integer", nullable: true },
21
+ completedAt: { type: "integer", nullable: true },
22
+ },
23
+ },
24
+ eventSchemas: {
25
+ accept: {},
26
+ cancel: {},
27
+ complete: {},
28
+ },
29
+ states: {
30
+ PROPOSED: { id: "PROPOSED", isFinal: false, metadata: null },
31
+ ACTIVE: { id: "ACTIVE", isFinal: false, metadata: null },
32
+ COMPLETED: { id: "COMPLETED", isFinal: true, metadata: null },
33
+ CANCELLED: { id: "CANCELLED", isFinal: true, metadata: null },
34
+ },
35
+ initialState: "PROPOSED",
36
+ transitions: [
37
+ {
38
+ from: "PROPOSED",
39
+ to: "ACTIVE",
40
+ eventName: "accept",
41
+ guard: { "==": [1, 1] },
42
+ effect: {
43
+ merge: [
44
+ { var: "state" },
45
+ { status: "ACTIVE", acceptedAt: { var: "$timestamp" } },
46
+ ],
47
+ },
48
+ dependencies: [],
49
+ },
50
+ {
51
+ from: "PROPOSED",
52
+ to: "CANCELLED",
53
+ eventName: "cancel",
54
+ guard: { "==": [1, 1] },
55
+ effect: {
56
+ merge: [
57
+ { var: "state" },
58
+ { status: "CANCELLED", cancelledAt: { var: "$timestamp" } },
59
+ ],
60
+ },
61
+ dependencies: [],
62
+ },
63
+ {
64
+ from: "ACTIVE",
65
+ to: "COMPLETED",
66
+ eventName: "complete",
67
+ guard: { "==": [1, 1] },
68
+ effect: {
69
+ merge: [
70
+ { var: "state" },
71
+ { status: "COMPLETED", completedAt: { var: "$timestamp" } },
72
+ ],
73
+ },
74
+ dependencies: [],
75
+ },
76
+ {
77
+ from: "ACTIVE",
78
+ to: "CANCELLED",
79
+ eventName: "cancel",
80
+ guard: { "==": [1, 1] },
81
+ effect: {
82
+ merge: [
83
+ { var: "state" },
84
+ { status: "CANCELLED", cancelledAt: { var: "$timestamp" } },
85
+ ],
86
+ },
87
+ dependencies: [],
88
+ },
89
+ ],
90
+ });
@@ -7,6 +7,8 @@ export const contractAgreementDef = {
7
7
  "name": "ContractAgreement",
8
8
  "description": "Two-party agreement with mutual completion attestation and dispute resolution",
9
9
  "version": "1.0.0",
10
+ "app": "contracts",
11
+ "type": "agreement",
10
12
  "crossReferences": {
11
13
  "proposerIdentityId": "Links to proposer's AgentIdentity fiber",
12
14
  "counterpartyIdentityId": "Links to counterparty's AgentIdentity fiber",
@@ -14,6 +16,49 @@ export const contractAgreementDef = {
14
16
  "arbitrationPoolId": "Links to ArbitrationPool for dispute resolution"
15
17
  }
16
18
  },
19
+ "createSchema": {
20
+ "required": [
21
+ "proposer",
22
+ "counterparty"
23
+ ],
24
+ "properties": {
25
+ "proposer": {
26
+ "type": "address",
27
+ "description": "DAG address of the proposer",
28
+ "immutable": true
29
+ },
30
+ "counterparty": {
31
+ "type": "address",
32
+ "description": "DAG address of the counterparty",
33
+ "immutable": true
34
+ }
35
+ }
36
+ },
37
+ "stateSchema": {
38
+ "properties": {
39
+ "status": {
40
+ "type": "string"
41
+ },
42
+ "proposer": {
43
+ "type": "address"
44
+ },
45
+ "counterparty": {
46
+ "type": "address"
47
+ },
48
+ "completions": {
49
+ "type": "array"
50
+ }
51
+ }
52
+ },
53
+ "eventSchemas": {
54
+ "accept": {},
55
+ "reject": {},
56
+ "cancel": {},
57
+ "submit_completion": {},
58
+ "finalize": {},
59
+ "dispute": {},
60
+ "resolve": {}
61
+ },
17
62
  "states": {
18
63
  "PROPOSED": {
19
64
  "id": "PROPOSED",
@@ -351,6 +396,49 @@ export const contractAgreementDef = {
351
396
  ]
352
397
  },
353
398
  "dependencies": []
399
+ },
400
+ {
401
+ "from": "ACTIVE",
402
+ "to": "CANCELLED",
403
+ "eventName": "cancel",
404
+ "guard": {
405
+ "or": [
406
+ {
407
+ "===": [
408
+ {
409
+ "var": "event.agent"
410
+ },
411
+ {
412
+ "var": "state.proposer"
413
+ }
414
+ ]
415
+ },
416
+ {
417
+ "===": [
418
+ {
419
+ "var": "event.agent"
420
+ },
421
+ {
422
+ "var": "state.counterparty"
423
+ }
424
+ ]
425
+ }
426
+ ]
427
+ },
428
+ "effect": {
429
+ "merge": [
430
+ {
431
+ "var": "state"
432
+ },
433
+ {
434
+ "status": "CANCELLED",
435
+ "cancelledAt": {
436
+ "var": "$timestamp"
437
+ }
438
+ }
439
+ ]
440
+ },
441
+ "dependencies": []
354
442
  }
355
443
  ]
356
444
  };
@@ -359,6 +447,8 @@ export const contractEscrowDef = {
359
447
  "name": "ContractEscrow",
360
448
  "description": "Asset custody with conditional release, dispute resolution, and split payments",
361
449
  "version": "1.0.0",
450
+ "app": "contracts",
451
+ "type": "escrow",
362
452
  "crossReferences": {
363
453
  "contractId": "Links to Contract SM that created this escrow",
364
454
  "marketId": "Links to Market SM for market-based escrow",
@@ -367,6 +457,47 @@ export const contractEscrowDef = {
367
457
  "treasuryId": "Links to Treasury for fee collection"
368
458
  }
369
459
  },
460
+ "createSchema": {
461
+ "required": [
462
+ "depositor",
463
+ "beneficiary",
464
+ "requiredAmount"
465
+ ],
466
+ "properties": {
467
+ "depositor": {
468
+ "type": "address",
469
+ "description": "DAG address of the depositor"
470
+ },
471
+ "beneficiary": {
472
+ "type": "address",
473
+ "description": "DAG address of the beneficiary"
474
+ },
475
+ "requiredAmount": {
476
+ "type": "number",
477
+ "minimum": 0,
478
+ "description": "Required escrow amount"
479
+ }
480
+ }
481
+ },
482
+ "stateSchema": {
483
+ "properties": {
484
+ "balance": {
485
+ "type": "number"
486
+ },
487
+ "releaseRequest": {
488
+ "type": "object"
489
+ }
490
+ }
491
+ },
492
+ "eventSchemas": {
493
+ "deposit": {},
494
+ "activate": {},
495
+ "request_release": {},
496
+ "approve_release": {},
497
+ "dispute": {},
498
+ "ruling": {},
499
+ "refund": {}
500
+ },
370
501
  "states": {
371
502
  "CREATED": {
372
503
  "id": "CREATED",
@@ -705,6 +836,34 @@ export const contractEscrowDef = {
705
836
  ]
706
837
  },
707
838
  "dependencies": []
839
+ },
840
+ {
841
+ "from": "CREATED",
842
+ "to": "REFUNDED",
843
+ "eventName": "cancel",
844
+ "guard": {
845
+ "===": [
846
+ {
847
+ "var": "event.agent"
848
+ },
849
+ {
850
+ "var": "state.depositor"
851
+ }
852
+ ]
853
+ },
854
+ "effect": {
855
+ "merge": [
856
+ {
857
+ "var": "state"
858
+ },
859
+ {
860
+ "refundedAt": {
861
+ "var": "$timestamp"
862
+ }
863
+ }
864
+ ]
865
+ },
866
+ "dependencies": []
708
867
  }
709
868
  ]
710
869
  };
@@ -712,7 +871,24 @@ export const contractUniversalDef = {
712
871
  "metadata": {
713
872
  "name": "ContractUniversal",
714
873
  "description": "Minimal contract state machine - extend for custom use cases",
715
- "version": "1.0.0"
874
+ "version": "1.0.0",
875
+ "app": "contracts",
876
+ "type": "universal"
877
+ },
878
+ "createSchema": {
879
+ "properties": {}
880
+ },
881
+ "stateSchema": {
882
+ "properties": {
883
+ "status": {
884
+ "type": "string"
885
+ }
886
+ }
887
+ },
888
+ "eventSchemas": {
889
+ "accept": {},
890
+ "cancel": {},
891
+ "complete": {}
716
892
  },
717
893
  "states": {
718
894
  "PROPOSED": {
@@ -20,12 +20,12 @@
20
20
  * @packageDocumentation
21
21
  */
22
22
  // Re-export generated protobuf types (source of truth)
23
- export { EntityType, EntityState, DirectorStatus, OfficerStatus, BoardMeetingType, ResolutionStatus, Jurisdiction, ShareClass, CorporateEntity, RegisteredAgent, Incorporator, ShareStructure, CorporateBoard, Director, SeatInfo, QuorumRules, BoardMeeting, MeetingAttendee, CorporateOfficers, Officer, OfficerAction, CorporateShareholders, Shareholder, ShareHolding, CorporateResolution, ResolutionVote, CorporateSecurities, SecurityIssuance, SecurityTransfer, CorporateCompliance, FilingRecord, ComplianceRequirement, CreateEntityRequest, AppointDirectorRequest, IssueSharesRequest, ProposeResolutionRequest, entityTypeFromJSON, entityTypeToJSON, entityStateFromJSON, entityStateToJSON, directorStatusFromJSON, directorStatusToJSON, officerStatusFromJSON, officerStatusToJSON, boardMeetingTypeFromJSON, boardMeetingTypeToJSON, resolutionStatusFromJSON, resolutionStatusToJSON, } from '../../generated/ottochain/apps/corporate/v1/corporate.js';
23
+ export { EntityType, EntityState, DirectorStatus, OfficerStatus, BoardMeetingType, ResolutionStatus, Jurisdiction, ShareClass, CorporateEntity, RegisteredAgent, Incorporator, ShareStructure, CorporateBoard, Director, SeatInfo, QuorumRules, BoardMeeting, MeetingAttendee, CorporateOfficers, Officer, OfficerAction, CorporateShareholders, Shareholder, ShareHolding, CorporateResolution, ResolutionVote, CorporateSecurities, SecurityIssuance, SecurityTransfer, CorporateCompliance, FilingRecord, ComplianceRequirement, CreateEntityRequest, AppointDirectorRequest, IssueSharesRequest, ProposeResolutionRequest, entityTypeFromJSON, entityTypeToJSON, entityStateFromJSON, entityStateToJSON, directorStatusFromJSON, directorStatusToJSON, officerStatusFromJSON, officerStatusToJSON, boardMeetingTypeFromJSON, boardMeetingTypeToJSON, resolutionStatusFromJSON, resolutionStatusToJSON, } from "../../generated/ottochain/apps/corporate/v1/corporate.js";
24
24
  // ---------------------------------------------------------------------------
25
25
  // State Machine Definitions (generated from JSON at build time)
26
26
  // ---------------------------------------------------------------------------
27
- import { corpEntityDef, corpBoardDef, corpShareholdersDef, corpSecuritiesDef, } from './state-machines/index.js';
28
- export { corpEntityDef, corpBoardDef, corpShareholdersDef, corpSecuritiesDef, };
27
+ import { corpEntityDef, corpBoardDef, corpShareholdersDef, corpSecuritiesDef, } from "./state-machines/index.js";
28
+ export { corpEntityDef, corpBoardDef, corpShareholdersDef, corpSecuritiesDef };
29
29
  /** All corporate state machine definitions */
30
30
  export const CORPORATE_DEFINITIONS = {
31
31
  entity: corpEntityDef,