@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
@@ -10,16 +10,17 @@
10
10
  * ContractState,
11
11
  * Contract,
12
12
  * getContractDefinition,
13
- * getEscrowDefinition
13
+ * CONTRACTS_DEFINITIONS
14
14
  * } from '@ottochain/sdk/apps/contracts';
15
15
  *
16
- * const contractDef = getContractDefinition();
16
+ * const agreementDef = getContractDefinition('agreement');
17
+ * const escrowDef = getContractDefinition('escrow');
17
18
  * ```
18
19
  *
19
20
  * @packageDocumentation
20
21
  */
21
22
  Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.getEscrowDefinition = exports.getContractDefinition = exports.CONTRACT_DEFINITIONS = exports.contractStateToJSON = exports.contractStateFromJSON = exports.ContractDefinition = exports.DisputeContractRequest = exports.RejectContractRequest = exports.CompleteContractRequest = exports.AcceptContractRequest = exports.ProposeContractRequest = exports.Contract = exports.ContractState = void 0;
23
+ exports.getEscrowDefinition = exports.getContractDefinition = exports.CONTRACTS_DEFINITIONS = exports.contractEscrowDef = exports.contractAgreementDef = exports.contractUniversalDef = exports.contractStateToJSON = exports.contractStateFromJSON = exports.ContractDefinition = exports.DisputeContractRequest = exports.RejectContractRequest = exports.CompleteContractRequest = exports.AcceptContractRequest = exports.ProposeContractRequest = exports.Contract = exports.ContractState = void 0;
23
24
  // Re-export generated protobuf types (source of truth)
24
25
  var contract_js_1 = require("../../generated/ottochain/apps/contracts/v1/contract.js");
25
26
  Object.defineProperty(exports, "ContractState", { enumerable: true, get: function () { return contract_js_1.ContractState; } });
@@ -36,21 +37,25 @@ Object.defineProperty(exports, "contractStateToJSON", { enumerable: true, get: f
36
37
  // State Machine Definitions (generated from JSON at build time)
37
38
  // ---------------------------------------------------------------------------
38
39
  const index_js_1 = require("./state-machines/index.js");
39
- exports.CONTRACT_DEFINITIONS = {
40
- Contract: index_js_1.contractDef,
41
- Escrow: index_js_1.escrowDef,
40
+ Object.defineProperty(exports, "contractUniversalDef", { enumerable: true, get: function () { return index_js_1.contractUniversalDef; } });
41
+ Object.defineProperty(exports, "contractAgreementDef", { enumerable: true, get: function () { return index_js_1.contractAgreementDef; } });
42
+ Object.defineProperty(exports, "contractEscrowDef", { enumerable: true, get: function () { return index_js_1.contractEscrowDef; } });
43
+ /** All contract state machine definitions */
44
+ exports.CONTRACTS_DEFINITIONS = {
45
+ universal: index_js_1.contractUniversalDef,
46
+ agreement: index_js_1.contractAgreementDef,
47
+ escrow: index_js_1.contractEscrowDef,
42
48
  };
43
49
  /**
44
- * Get the contract state machine definition.
50
+ * Get a contract state machine definition by type.
51
+ * @param type - 'universal' | 'agreement' | 'escrow' (default: 'agreement')
45
52
  */
46
- function getContractDefinition() {
47
- return index_js_1.contractDef;
53
+ function getContractDefinition(type = 'agreement') {
54
+ return exports.CONTRACTS_DEFINITIONS[type];
48
55
  }
49
56
  exports.getContractDefinition = getContractDefinition;
50
- /**
51
- * Get the escrow state machine definition.
52
- */
57
+ /** @deprecated Use getContractDefinition('escrow') */
53
58
  function getEscrowDefinition() {
54
- return index_js_1.escrowDef;
59
+ return index_js_1.contractEscrowDef;
55
60
  }
56
61
  exports.getEscrowDefinition = getEscrowDefinition;
@@ -4,11 +4,11 @@
4
4
  * DO NOT EDIT - regenerate with: npm run prebuild
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.escrowDef = exports.contractDef = void 0;
8
- exports.contractDef = {
7
+ exports.contractUniversalDef = exports.contractEscrowDef = exports.contractAgreementDef = void 0;
8
+ exports.contractAgreementDef = {
9
9
  "metadata": {
10
- "name": "Contract",
11
- "description": "Agreement between two agents with completion attestation and dispute resolution",
10
+ "name": "ContractAgreement",
11
+ "description": "Two-party agreement with mutual completion attestation and dispute resolution",
12
12
  "version": "1.0.0",
13
13
  "crossReferences": {
14
14
  "proposerIdentityId": "Links to proposer's AgentIdentity fiber",
@@ -357,10 +357,10 @@ exports.contractDef = {
357
357
  }
358
358
  ]
359
359
  };
360
- exports.escrowDef = {
360
+ exports.contractEscrowDef = {
361
361
  "metadata": {
362
- "name": "Escrow",
363
- "description": "Asset custody during multi-party transactions with conditional release",
362
+ "name": "ContractEscrow",
363
+ "description": "Asset custody with conditional release, dispute resolution, and split payments",
364
364
  "version": "1.0.0",
365
365
  "crossReferences": {
366
366
  "contractId": "Links to Contract SM that created this escrow",
@@ -711,3 +711,135 @@ exports.escrowDef = {
711
711
  }
712
712
  ]
713
713
  };
714
+ exports.contractUniversalDef = {
715
+ "metadata": {
716
+ "name": "ContractUniversal",
717
+ "description": "Minimal contract state machine - extend for custom use cases",
718
+ "version": "1.0.0"
719
+ },
720
+ "states": {
721
+ "PROPOSED": {
722
+ "id": "PROPOSED",
723
+ "isFinal": false,
724
+ "metadata": null
725
+ },
726
+ "ACTIVE": {
727
+ "id": "ACTIVE",
728
+ "isFinal": false,
729
+ "metadata": null
730
+ },
731
+ "COMPLETED": {
732
+ "id": "COMPLETED",
733
+ "isFinal": true,
734
+ "metadata": null
735
+ },
736
+ "CANCELLED": {
737
+ "id": "CANCELLED",
738
+ "isFinal": true,
739
+ "metadata": null
740
+ }
741
+ },
742
+ "initialState": "PROPOSED",
743
+ "transitions": [
744
+ {
745
+ "from": "PROPOSED",
746
+ "to": "ACTIVE",
747
+ "eventName": "accept",
748
+ "guard": {
749
+ "==": [
750
+ 1,
751
+ 1
752
+ ]
753
+ },
754
+ "effect": {
755
+ "merge": [
756
+ {
757
+ "var": "state"
758
+ },
759
+ {
760
+ "status": "ACTIVE",
761
+ "acceptedAt": {
762
+ "var": "$timestamp"
763
+ }
764
+ }
765
+ ]
766
+ },
767
+ "dependencies": []
768
+ },
769
+ {
770
+ "from": "PROPOSED",
771
+ "to": "CANCELLED",
772
+ "eventName": "cancel",
773
+ "guard": {
774
+ "==": [
775
+ 1,
776
+ 1
777
+ ]
778
+ },
779
+ "effect": {
780
+ "merge": [
781
+ {
782
+ "var": "state"
783
+ },
784
+ {
785
+ "status": "CANCELLED",
786
+ "cancelledAt": {
787
+ "var": "$timestamp"
788
+ }
789
+ }
790
+ ]
791
+ },
792
+ "dependencies": []
793
+ },
794
+ {
795
+ "from": "ACTIVE",
796
+ "to": "COMPLETED",
797
+ "eventName": "complete",
798
+ "guard": {
799
+ "==": [
800
+ 1,
801
+ 1
802
+ ]
803
+ },
804
+ "effect": {
805
+ "merge": [
806
+ {
807
+ "var": "state"
808
+ },
809
+ {
810
+ "status": "COMPLETED",
811
+ "completedAt": {
812
+ "var": "$timestamp"
813
+ }
814
+ }
815
+ ]
816
+ },
817
+ "dependencies": []
818
+ },
819
+ {
820
+ "from": "ACTIVE",
821
+ "to": "CANCELLED",
822
+ "eventName": "cancel",
823
+ "guard": {
824
+ "==": [
825
+ 1,
826
+ 1
827
+ ]
828
+ },
829
+ "effect": {
830
+ "merge": [
831
+ {
832
+ "var": "state"
833
+ },
834
+ {
835
+ "status": "CANCELLED",
836
+ "cancelledAt": {
837
+ "var": "$timestamp"
838
+ }
839
+ }
840
+ ]
841
+ },
842
+ "dependencies": []
843
+ }
844
+ ]
845
+ };
@@ -10,17 +10,19 @@
10
10
  * EntityType,
11
11
  * EntityState,
12
12
  * CorporateEntity,
13
- * getCorporateDefinition
13
+ * getCorporateDefinition,
14
+ * CORPORATE_DEFINITIONS
14
15
  * } from '@ottochain/sdk/apps/corporate';
15
16
  *
16
- * const entityDef = getCorporateDefinition('Entity');
17
- * const boardDef = getCorporateDefinition('Board');
17
+ * const entityDef = getCorporateDefinition('entity');
18
+ * const boardDef = getCorporateDefinition('board');
18
19
  * ```
19
20
  *
20
21
  * @packageDocumentation
21
22
  */
22
23
  Object.defineProperty(exports, "__esModule", { value: true });
23
- exports.getCorporateDefinition = exports.CORPORATE_DEFINITIONS = exports.resolutionStatusToJSON = exports.resolutionStatusFromJSON = exports.boardMeetingTypeToJSON = exports.boardMeetingTypeFromJSON = exports.officerStatusToJSON = exports.officerStatusFromJSON = exports.directorStatusToJSON = exports.directorStatusFromJSON = exports.entityStateToJSON = exports.entityStateFromJSON = exports.entityTypeToJSON = exports.entityTypeFromJSON = exports.ProposeResolutionRequest = exports.IssueSharesRequest = exports.AppointDirectorRequest = exports.CreateEntityRequest = exports.ComplianceRequirement = exports.FilingRecord = exports.CorporateCompliance = exports.SecurityTransfer = exports.SecurityIssuance = exports.CorporateSecurities = exports.ResolutionVote = exports.CorporateResolution = exports.ShareHolding = exports.Shareholder = exports.CorporateShareholders = exports.OfficerAction = exports.Officer = exports.CorporateOfficers = exports.MeetingAttendee = exports.BoardMeeting = exports.QuorumRules = exports.SeatInfo = exports.Director = exports.CorporateBoard = exports.ShareStructure = exports.Incorporator = exports.RegisteredAgent = exports.CorporateEntity = exports.ShareClass = exports.Jurisdiction = exports.ResolutionStatus = exports.BoardMeetingType = exports.OfficerStatus = exports.DirectorStatus = exports.EntityState = exports.EntityType = void 0;
24
+ exports.corpBoardDef = exports.corpEntityDef = exports.resolutionStatusToJSON = exports.resolutionStatusFromJSON = exports.boardMeetingTypeToJSON = exports.boardMeetingTypeFromJSON = exports.officerStatusToJSON = exports.officerStatusFromJSON = exports.directorStatusToJSON = exports.directorStatusFromJSON = exports.entityStateToJSON = exports.entityStateFromJSON = exports.entityTypeToJSON = exports.entityTypeFromJSON = exports.ProposeResolutionRequest = exports.IssueSharesRequest = exports.AppointDirectorRequest = exports.CreateEntityRequest = exports.ComplianceRequirement = exports.FilingRecord = exports.CorporateCompliance = exports.SecurityTransfer = exports.SecurityIssuance = exports.CorporateSecurities = exports.ResolutionVote = exports.CorporateResolution = exports.ShareHolding = exports.Shareholder = exports.CorporateShareholders = exports.OfficerAction = exports.Officer = exports.CorporateOfficers = exports.MeetingAttendee = exports.BoardMeeting = exports.QuorumRules = exports.SeatInfo = exports.Director = exports.CorporateBoard = exports.ShareStructure = exports.Incorporator = exports.RegisteredAgent = exports.CorporateEntity = exports.ShareClass = exports.Jurisdiction = exports.ResolutionStatus = exports.BoardMeetingType = exports.OfficerStatus = exports.DirectorStatus = exports.EntityState = exports.EntityType = void 0;
25
+ exports.getCorporateDefinition = exports.CORPORATE_DEFINITIONS = exports.corpSecuritiesDef = exports.corpShareholdersDef = void 0;
24
26
  // Re-export generated protobuf types (source of truth)
25
27
  var corporate_js_1 = require("../../generated/ottochain/apps/corporate/v1/corporate.js");
26
28
  Object.defineProperty(exports, "EntityType", { enumerable: true, get: function () { return corporate_js_1.EntityType; } });
@@ -75,26 +77,22 @@ Object.defineProperty(exports, "resolutionStatusToJSON", { enumerable: true, get
75
77
  // State Machine Definitions (generated from JSON at build time)
76
78
  // ---------------------------------------------------------------------------
77
79
  const index_js_1 = require("./state-machines/index.js");
80
+ Object.defineProperty(exports, "corpEntityDef", { enumerable: true, get: function () { return index_js_1.corpEntityDef; } });
81
+ Object.defineProperty(exports, "corpBoardDef", { enumerable: true, get: function () { return index_js_1.corpBoardDef; } });
82
+ Object.defineProperty(exports, "corpShareholdersDef", { enumerable: true, get: function () { return index_js_1.corpShareholdersDef; } });
83
+ Object.defineProperty(exports, "corpSecuritiesDef", { enumerable: true, get: function () { return index_js_1.corpSecuritiesDef; } });
84
+ /** All corporate state machine definitions */
78
85
  exports.CORPORATE_DEFINITIONS = {
79
- Entity: index_js_1.corporateEntityDef,
80
- Board: index_js_1.corporateBoardDef,
81
- Shareholders: index_js_1.corporateShareholdersDef,
82
- Officers: index_js_1.corporateOfficersDef,
83
- Securities: index_js_1.corporateSecuritiesDef,
84
- Compliance: index_js_1.corporateComplianceDef,
85
- Bylaws: index_js_1.corporateBylawsDef,
86
- Committee: index_js_1.corporateCommitteeDef,
87
- Proxy: index_js_1.corporateProxyDef,
88
- Resolution: index_js_1.corporateResolutionDef,
86
+ entity: index_js_1.corpEntityDef,
87
+ board: index_js_1.corpBoardDef,
88
+ shareholders: index_js_1.corpShareholdersDef,
89
+ securities: index_js_1.corpSecuritiesDef,
89
90
  };
90
91
  /**
91
- * Get the state machine definition for a corporate type.
92
+ * Get a corporate state machine definition by type.
93
+ * @param type - 'entity' | 'board' | 'shareholders' | 'securities'
92
94
  */
93
95
  function getCorporateDefinition(type) {
94
- const def = exports.CORPORATE_DEFINITIONS[type];
95
- if (!def) {
96
- throw new Error(`Unknown corporate type: ${type}`);
97
- }
98
- return def;
96
+ return exports.CORPORATE_DEFINITIONS[type];
99
97
  }
100
98
  exports.getCorporateDefinition = getCorporateDefinition;