@ottochain/sdk 1.6.0 → 1.7.0-beta.2

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 (78) 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/constants.js +28 -14
  8. package/dist/cjs/apps/identity/index.js +54 -23
  9. package/dist/cjs/apps/identity/state-machines/index.js +516 -4
  10. package/dist/cjs/apps/index.js +15 -13
  11. package/dist/cjs/apps/markets/index.js +23 -10
  12. package/dist/cjs/apps/markets/state-machines/index.js +1904 -230
  13. package/dist/cjs/generated/google/protobuf/struct.js +1 -1
  14. package/dist/cjs/generated/google/protobuf/timestamp.js +1 -1
  15. package/dist/cjs/generated/index.js +19 -22
  16. package/dist/cjs/generated/ottochain/apps/contracts/v1/contract.js +1 -1
  17. package/dist/cjs/generated/ottochain/apps/corporate/v1/corporate.js +1 -1
  18. package/dist/cjs/generated/ottochain/apps/governance/v1/governance.js +1 -1
  19. package/dist/cjs/generated/ottochain/apps/identity/v1/attestation.js +12 -12
  20. package/dist/cjs/generated/ottochain/apps/identity/v1/identity.js +1689 -0
  21. package/dist/cjs/generated/ottochain/apps/markets/v1/market.js +1 -1
  22. package/dist/cjs/generated/ottochain/v1/common.js +1 -1
  23. package/dist/cjs/generated/ottochain/v1/fiber.js +1 -1
  24. package/dist/cjs/generated/ottochain/v1/messages.js +1 -1
  25. package/dist/cjs/generated/ottochain/v1/records.js +1 -1
  26. package/dist/esm/apps/contracts/index.js +16 -13
  27. package/dist/esm/apps/contracts/state-machines/index.js +138 -6
  28. package/dist/esm/apps/corporate/index.js +14 -20
  29. package/dist/esm/apps/corporate/state-machines/index.js +534 -6335
  30. package/dist/esm/apps/governance/index.js +26 -30
  31. package/dist/esm/apps/governance/state-machines/index.js +497 -2314
  32. package/dist/esm/apps/identity/constants.js +27 -13
  33. package/dist/esm/apps/identity/index.js +32 -15
  34. package/dist/esm/apps/identity/state-machines/index.js +515 -3
  35. package/dist/esm/apps/index.js +14 -12
  36. package/dist/esm/apps/markets/index.js +19 -10
  37. package/dist/esm/apps/markets/state-machines/index.js +1903 -229
  38. package/dist/esm/generated/google/protobuf/struct.js +1 -1
  39. package/dist/esm/generated/google/protobuf/timestamp.js +1 -1
  40. package/dist/esm/generated/index.js +2 -3
  41. package/dist/esm/generated/ottochain/apps/contracts/v1/contract.js +1 -1
  42. package/dist/esm/generated/ottochain/apps/corporate/v1/corporate.js +1 -1
  43. package/dist/esm/generated/ottochain/apps/governance/v1/governance.js +1 -1
  44. package/dist/esm/generated/ottochain/apps/identity/v1/attestation.js +2 -2
  45. package/dist/esm/generated/ottochain/apps/identity/v1/identity.js +1677 -0
  46. package/dist/esm/generated/ottochain/apps/markets/v1/market.js +1 -1
  47. package/dist/esm/generated/ottochain/v1/common.js +1 -1
  48. package/dist/esm/generated/ottochain/v1/fiber.js +1 -1
  49. package/dist/esm/generated/ottochain/v1/messages.js +1 -1
  50. package/dist/esm/generated/ottochain/v1/records.js +1 -1
  51. package/dist/types/apps/contracts/index.d.ts +661 -9
  52. package/dist/types/apps/contracts/state-machines/index.d.ts +109 -6
  53. package/dist/types/apps/corporate/index.d.ts +4015 -7
  54. package/dist/types/apps/corporate/state-machines/index.d.ts +472 -5587
  55. package/dist/types/apps/governance/index.d.ts +2151 -12
  56. package/dist/types/apps/governance/state-machines/index.d.ts +462 -1875
  57. package/dist/types/apps/identity/constants.d.ts +10 -5
  58. package/dist/types/apps/identity/index.d.ts +620 -12
  59. package/dist/types/apps/identity/state-machines/index.d.ts +393 -3
  60. package/dist/types/apps/index.d.ts +14 -12
  61. package/dist/types/apps/markets/index.d.ts +1690 -7
  62. package/dist/types/apps/markets/state-machines/index.d.ts +1416 -184
  63. package/dist/types/generated/index.d.ts +1 -2
  64. package/dist/types/generated/ottochain/apps/identity/v1/attestation.d.ts +1 -1
  65. package/dist/types/generated/ottochain/apps/identity/v1/identity.d.ts +208 -0
  66. package/package.json +1 -1
  67. package/dist/cjs/apps/oracles/index.js +0 -59
  68. package/dist/cjs/apps/oracles/state-machines/index.js +0 -415
  69. package/dist/cjs/generated/ottochain/apps/identity/v1/agent.js +0 -619
  70. package/dist/cjs/generated/ottochain/apps/oracles/v1/oracle.js +0 -1223
  71. package/dist/esm/apps/oracles/index.js +0 -42
  72. package/dist/esm/apps/oracles/state-machines/index.js +0 -412
  73. package/dist/esm/generated/ottochain/apps/identity/v1/agent.js +0 -610
  74. package/dist/esm/generated/ottochain/apps/oracles/v1/oracle.js +0 -1217
  75. package/dist/types/apps/oracles/index.d.ts +0 -34
  76. package/dist/types/apps/oracles/state-machines/index.d.ts +0 -312
  77. package/dist/types/generated/ottochain/apps/identity/v1/agent.d.ts +0 -94
  78. package/dist/types/generated/ottochain/apps/oracles/v1/oracle.d.ts +0 -150
@@ -2,31 +2,35 @@
2
2
  /**
3
3
  * Identity Constants
4
4
  *
5
- * State machine transitions and configuration constants for agent identity.
5
+ * State machine transitions and configuration constants for identities.
6
6
  *
7
7
  * @packageDocumentation
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.getReputationDelta = exports.canTransition = exports.ATTESTATION_DELTAS = exports.AGENT_TRANSITIONS = void 0;
11
- const agent_js_1 = require("../../generated/ottochain/apps/identity/v1/agent.js");
10
+ exports.IDENTITY_TYPE_NAMES = exports.getReputationDelta = exports.canTransition = exports.ATTESTATION_DELTAS = exports.AGENT_TRANSITIONS = exports.IDENTITY_TRANSITIONS = void 0;
11
+ const identity_js_1 = require("../../generated/ottochain/apps/identity/v1/identity.js");
12
12
  const attestation_js_1 = require("../../generated/ottochain/apps/identity/v1/attestation.js");
13
13
  // ---------------------------------------------------------------------------
14
14
  // State Machine Transitions
15
15
  // ---------------------------------------------------------------------------
16
16
  /**
17
- * Valid transitions for each agent state.
17
+ * Valid transitions for each identity state.
18
18
  * Maps current state to allowed event names.
19
19
  */
20
- exports.AGENT_TRANSITIONS = {
21
- [agent_js_1.AgentState.AGENT_STATE_UNSPECIFIED]: [],
22
- [agent_js_1.AgentState.AGENT_STATE_REGISTERED]: ['activate', 'withdraw'],
23
- [agent_js_1.AgentState.AGENT_STATE_ACTIVE]: ['challenge', 'withdraw'],
24
- [agent_js_1.AgentState.AGENT_STATE_CHALLENGED]: ['uphold_challenge', 'dismiss_challenge'],
25
- [agent_js_1.AgentState.AGENT_STATE_SUSPENDED]: ['begin_probation'],
26
- [agent_js_1.AgentState.AGENT_STATE_PROBATION]: ['complete_probation'],
27
- [agent_js_1.AgentState.AGENT_STATE_WITHDRAWN]: [], // Terminal state
28
- [agent_js_1.AgentState.UNRECOGNIZED]: [],
20
+ exports.IDENTITY_TRANSITIONS = {
21
+ [identity_js_1.IdentityState.IDENTITY_STATE_UNSPECIFIED]: [],
22
+ [identity_js_1.IdentityState.IDENTITY_STATE_UNREGISTERED]: ['register'],
23
+ [identity_js_1.IdentityState.IDENTITY_STATE_REGISTERED]: ['activate', 'withdraw'],
24
+ [identity_js_1.IdentityState.IDENTITY_STATE_ACTIVE]: ['challenge', 'deactivate', 'withdraw', 'penalize'],
25
+ [identity_js_1.IdentityState.IDENTITY_STATE_INACTIVE]: ['activate', 'withdraw'],
26
+ [identity_js_1.IdentityState.IDENTITY_STATE_CHALLENGED]: ['uphold_challenge', 'dismiss_challenge'],
27
+ [identity_js_1.IdentityState.IDENTITY_STATE_SUSPENDED]: ['begin_probation', 'withdraw'],
28
+ [identity_js_1.IdentityState.IDENTITY_STATE_PROBATION]: ['complete_probation'],
29
+ [identity_js_1.IdentityState.IDENTITY_STATE_WITHDRAWN]: [], // Terminal state
30
+ [identity_js_1.IdentityState.UNRECOGNIZED]: [],
29
31
  };
32
+ // Legacy alias for backward compatibility
33
+ exports.AGENT_TRANSITIONS = exports.IDENTITY_TRANSITIONS;
30
34
  // ---------------------------------------------------------------------------
31
35
  // Reputation Configuration
32
36
  // ---------------------------------------------------------------------------
@@ -46,7 +50,7 @@ exports.ATTESTATION_DELTAS = {
46
50
  * Check if a transition is valid for the given state.
47
51
  */
48
52
  function canTransition(state, event) {
49
- return exports.AGENT_TRANSITIONS[state]?.includes(event) ?? false;
53
+ return exports.IDENTITY_TRANSITIONS[state]?.includes(event) ?? false;
50
54
  }
51
55
  exports.canTransition = canTransition;
52
56
  /**
@@ -56,3 +60,13 @@ function getReputationDelta(type) {
56
60
  return exports.ATTESTATION_DELTAS[type] ?? 0;
57
61
  }
58
62
  exports.getReputationDelta = getReputationDelta;
63
+ /**
64
+ * Identity type display names
65
+ */
66
+ exports.IDENTITY_TYPE_NAMES = {
67
+ [identity_js_1.IdentityType.IDENTITY_TYPE_UNSPECIFIED]: 'Unknown',
68
+ [identity_js_1.IdentityType.IDENTITY_TYPE_AGENT]: 'Agent',
69
+ [identity_js_1.IdentityType.IDENTITY_TYPE_ORACLE]: 'Oracle',
70
+ [identity_js_1.IdentityType.IDENTITY_TYPE_SERVICE]: 'Service',
71
+ [identity_js_1.IdentityType.UNRECOGNIZED]: 'Unknown',
72
+ };
@@ -1,35 +1,47 @@
1
1
  "use strict";
2
2
  /**
3
- * Agent Identity Application
3
+ * Identity Application
4
4
  *
5
- * Types and utilities for the Agent Identity system on OttoChain.
5
+ * Types and utilities for the Identity system on OttoChain.
6
+ * Includes agents, oracles, and services.
6
7
  *
7
8
  * @example
8
9
  * ```typescript
9
10
  * import {
10
- * AgentState,
11
- * AgentIdentity,
11
+ * IdentityState,
12
+ * IdentityType,
12
13
  * getIdentityDefinition
13
14
  * } from '@ottochain/sdk/apps/identity';
14
15
  *
15
- * const identityDef = getIdentityDefinition();
16
+ * const oracleDef = getIdentityDefinition('oracle');
16
17
  * ```
17
18
  *
18
19
  * @packageDocumentation
19
20
  */
20
21
  Object.defineProperty(exports, "__esModule", { value: true });
21
- exports.getIdentityDefinition = exports.DEFAULT_REPUTATION_CONFIG = exports.getReputationDelta = exports.canTransition = exports.ATTESTATION_DELTAS = exports.AGENT_TRANSITIONS = exports.attestationTypeToJSON = exports.attestationTypeFromJSON = exports.ReputationConfig = exports.ChallengeRequest = exports.VouchRequest = exports.Attestation = exports.ReputationDelta = exports.AttestationType = exports.platformToJSON = exports.platformFromJSON = exports.agentStateToJSON = exports.agentStateFromJSON = exports.AgentIdentityDefinition = exports.AgentIdentity = exports.PlatformLink = exports.Platform = exports.AgentState = void 0;
22
+ exports.getIdentityDefinition = exports.IDENTITY_DEFINITIONS = exports.identityOracleDef = exports.identityAgentDef = exports.identityUniversalDef = exports.DEFAULT_ORACLE_CONFIG = exports.DEFAULT_REPUTATION_CONFIG = exports.getReputationDelta = exports.canTransition = exports.IDENTITY_TYPE_NAMES = exports.ATTESTATION_DELTAS = exports.AGENT_TRANSITIONS = exports.IDENTITY_TRANSITIONS = exports.attestationTypeToJSON = exports.attestationTypeFromJSON = exports.ReputationConfig = exports.ChallengeRequest = exports.VouchRequest = exports.Attestation = exports.ReputationDelta = exports.AttestationType = exports.platformToJSON = exports.platformFromJSON = exports.identityStateToJSON = exports.identityStateFromJSON = exports.identityTypeToJSON = exports.identityTypeFromJSON = exports.IdentityDefinition = exports.WithdrawIdentityRequest = exports.PenalizeIdentityRequest = exports.ChallengeIdentityRequest = exports.UpdateStakeRequest = exports.ActivateIdentityRequest = exports.RegisterIdentityRequest = exports.Identity = exports.PenaltyEvent = exports.Reputation = exports.PlatformLink = exports.Platform = exports.IdentityState = exports.IdentityType = void 0;
22
23
  // Re-export generated protobuf types (source of truth)
23
- var agent_js_1 = require("../../generated/ottochain/apps/identity/v1/agent.js");
24
- Object.defineProperty(exports, "AgentState", { enumerable: true, get: function () { return agent_js_1.AgentState; } });
25
- Object.defineProperty(exports, "Platform", { enumerable: true, get: function () { return agent_js_1.Platform; } });
26
- Object.defineProperty(exports, "PlatformLink", { enumerable: true, get: function () { return agent_js_1.PlatformLink; } });
27
- Object.defineProperty(exports, "AgentIdentity", { enumerable: true, get: function () { return agent_js_1.AgentIdentity; } });
28
- Object.defineProperty(exports, "AgentIdentityDefinition", { enumerable: true, get: function () { return agent_js_1.AgentIdentityDefinition; } });
29
- Object.defineProperty(exports, "agentStateFromJSON", { enumerable: true, get: function () { return agent_js_1.agentStateFromJSON; } });
30
- Object.defineProperty(exports, "agentStateToJSON", { enumerable: true, get: function () { return agent_js_1.agentStateToJSON; } });
31
- Object.defineProperty(exports, "platformFromJSON", { enumerable: true, get: function () { return agent_js_1.platformFromJSON; } });
32
- Object.defineProperty(exports, "platformToJSON", { enumerable: true, get: function () { return agent_js_1.platformToJSON; } });
24
+ var identity_js_1 = require("../../generated/ottochain/apps/identity/v1/identity.js");
25
+ Object.defineProperty(exports, "IdentityType", { enumerable: true, get: function () { return identity_js_1.IdentityType; } });
26
+ Object.defineProperty(exports, "IdentityState", { enumerable: true, get: function () { return identity_js_1.IdentityState; } });
27
+ Object.defineProperty(exports, "Platform", { enumerable: true, get: function () { return identity_js_1.Platform; } });
28
+ Object.defineProperty(exports, "PlatformLink", { enumerable: true, get: function () { return identity_js_1.PlatformLink; } });
29
+ Object.defineProperty(exports, "Reputation", { enumerable: true, get: function () { return identity_js_1.Reputation; } });
30
+ Object.defineProperty(exports, "PenaltyEvent", { enumerable: true, get: function () { return identity_js_1.PenaltyEvent; } });
31
+ Object.defineProperty(exports, "Identity", { enumerable: true, get: function () { return identity_js_1.Identity; } });
32
+ Object.defineProperty(exports, "RegisterIdentityRequest", { enumerable: true, get: function () { return identity_js_1.RegisterIdentityRequest; } });
33
+ Object.defineProperty(exports, "ActivateIdentityRequest", { enumerable: true, get: function () { return identity_js_1.ActivateIdentityRequest; } });
34
+ Object.defineProperty(exports, "UpdateStakeRequest", { enumerable: true, get: function () { return identity_js_1.UpdateStakeRequest; } });
35
+ Object.defineProperty(exports, "ChallengeIdentityRequest", { enumerable: true, get: function () { return identity_js_1.ChallengeIdentityRequest; } });
36
+ Object.defineProperty(exports, "PenalizeIdentityRequest", { enumerable: true, get: function () { return identity_js_1.PenalizeIdentityRequest; } });
37
+ Object.defineProperty(exports, "WithdrawIdentityRequest", { enumerable: true, get: function () { return identity_js_1.WithdrawIdentityRequest; } });
38
+ Object.defineProperty(exports, "IdentityDefinition", { enumerable: true, get: function () { return identity_js_1.IdentityDefinition; } });
39
+ Object.defineProperty(exports, "identityTypeFromJSON", { enumerable: true, get: function () { return identity_js_1.identityTypeFromJSON; } });
40
+ Object.defineProperty(exports, "identityTypeToJSON", { enumerable: true, get: function () { return identity_js_1.identityTypeToJSON; } });
41
+ Object.defineProperty(exports, "identityStateFromJSON", { enumerable: true, get: function () { return identity_js_1.identityStateFromJSON; } });
42
+ Object.defineProperty(exports, "identityStateToJSON", { enumerable: true, get: function () { return identity_js_1.identityStateToJSON; } });
43
+ Object.defineProperty(exports, "platformFromJSON", { enumerable: true, get: function () { return identity_js_1.platformFromJSON; } });
44
+ Object.defineProperty(exports, "platformToJSON", { enumerable: true, get: function () { return identity_js_1.platformToJSON; } });
33
45
  var attestation_js_1 = require("../../generated/ottochain/apps/identity/v1/attestation.js");
34
46
  Object.defineProperty(exports, "AttestationType", { enumerable: true, get: function () { return attestation_js_1.AttestationType; } });
35
47
  Object.defineProperty(exports, "ReputationDelta", { enumerable: true, get: function () { return attestation_js_1.ReputationDelta; } });
@@ -41,15 +53,17 @@ Object.defineProperty(exports, "attestationTypeFromJSON", { enumerable: true, ge
41
53
  Object.defineProperty(exports, "attestationTypeToJSON", { enumerable: true, get: function () { return attestation_js_1.attestationTypeToJSON; } });
42
54
  // Re-export constants and utilities
43
55
  var constants_js_1 = require("./constants.js");
56
+ Object.defineProperty(exports, "IDENTITY_TRANSITIONS", { enumerable: true, get: function () { return constants_js_1.IDENTITY_TRANSITIONS; } });
44
57
  Object.defineProperty(exports, "AGENT_TRANSITIONS", { enumerable: true, get: function () { return constants_js_1.AGENT_TRANSITIONS; } });
45
58
  Object.defineProperty(exports, "ATTESTATION_DELTAS", { enumerable: true, get: function () { return constants_js_1.ATTESTATION_DELTAS; } });
59
+ Object.defineProperty(exports, "IDENTITY_TYPE_NAMES", { enumerable: true, get: function () { return constants_js_1.IDENTITY_TYPE_NAMES; } });
46
60
  Object.defineProperty(exports, "canTransition", { enumerable: true, get: function () { return constants_js_1.canTransition; } });
47
61
  Object.defineProperty(exports, "getReputationDelta", { enumerable: true, get: function () { return constants_js_1.getReputationDelta; } });
48
62
  // ---------------------------------------------------------------------------
49
63
  // Configuration Defaults
50
64
  // ---------------------------------------------------------------------------
51
65
  /**
52
- * Default reputation configuration for agent identity
66
+ * Default reputation configuration for identities
53
67
  */
54
68
  exports.DEFAULT_REPUTATION_CONFIG = {
55
69
  baseReputation: 10,
@@ -60,16 +74,33 @@ exports.DEFAULT_REPUTATION_CONFIG = {
60
74
  minReputation: 0,
61
75
  challengeThreshold: 5,
62
76
  };
77
+ /**
78
+ * Default oracle configuration
79
+ */
80
+ exports.DEFAULT_ORACLE_CONFIG = {
81
+ minStake: 100,
82
+ slashCooldownEpochs: 7,
83
+ accuracyThreshold: 70,
84
+ maxDisputeRate: 30,
85
+ };
63
86
  // ---------------------------------------------------------------------------
64
- // State Machine Definition (generated from JSON at build time)
87
+ // State Machine Definitions (generated from JSON at build time)
65
88
  // ---------------------------------------------------------------------------
66
89
  const index_js_1 = require("./state-machines/index.js");
90
+ Object.defineProperty(exports, "identityUniversalDef", { enumerable: true, get: function () { return index_js_1.identityUniversalDef; } });
91
+ Object.defineProperty(exports, "identityAgentDef", { enumerable: true, get: function () { return index_js_1.identityAgentDef; } });
92
+ Object.defineProperty(exports, "identityOracleDef", { enumerable: true, get: function () { return index_js_1.identityOracleDef; } });
93
+ /** All identity state machine definitions */
94
+ exports.IDENTITY_DEFINITIONS = {
95
+ universal: index_js_1.identityUniversalDef,
96
+ agent: index_js_1.identityAgentDef,
97
+ oracle: index_js_1.identityOracleDef,
98
+ };
67
99
  /**
68
- * Get the agent identity state machine definition.
69
- *
70
- * @returns The state machine definition JSON for AgentIdentity
100
+ * Get an identity state machine definition by type.
101
+ * @param type - 'universal' | 'agent' | 'oracle' (default: 'agent')
71
102
  */
72
- function getIdentityDefinition() {
73
- return index_js_1.agentIdentityDef;
103
+ function getIdentityDefinition(type = 'agent') {
104
+ return exports.IDENTITY_DEFINITIONS[type];
74
105
  }
75
106
  exports.getIdentityDefinition = getIdentityDefinition;