@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
@@ -1,6 +1,6 @@
1
1
  // Code generated by protoc-gen-ts_proto. DO NOT EDIT.
2
2
  // versions:
3
- // protoc-gen-ts_proto v2.11.2
3
+ // protoc-gen-ts_proto v2.11.5
4
4
  // protoc unknown
5
5
  // source: ottochain/apps/markets/v1/market.proto
6
6
  /* eslint-disable */
@@ -1,6 +1,6 @@
1
1
  // Code generated by protoc-gen-ts_proto. DO NOT EDIT.
2
2
  // versions:
3
- // protoc-gen-ts_proto v2.11.2
3
+ // protoc-gen-ts_proto v2.11.5
4
4
  // protoc unknown
5
5
  // source: ottochain/v1/common.proto
6
6
  /* eslint-disable */
@@ -1,6 +1,6 @@
1
1
  // Code generated by protoc-gen-ts_proto. DO NOT EDIT.
2
2
  // versions:
3
- // protoc-gen-ts_proto v2.11.2
3
+ // protoc-gen-ts_proto v2.11.5
4
4
  // protoc unknown
5
5
  // source: ottochain/v1/fiber.proto
6
6
  /* eslint-disable */
@@ -1,6 +1,6 @@
1
1
  // Code generated by protoc-gen-ts_proto. DO NOT EDIT.
2
2
  // versions:
3
- // protoc-gen-ts_proto v2.11.2
3
+ // protoc-gen-ts_proto v2.11.5
4
4
  // protoc unknown
5
5
  // source: ottochain/v1/messages.proto
6
6
  /* eslint-disable */
@@ -1,6 +1,6 @@
1
1
  // Code generated by protoc-gen-ts_proto. DO NOT EDIT.
2
2
  // versions:
3
- // protoc-gen-ts_proto v2.11.2
3
+ // protoc-gen-ts_proto v2.11.5
4
4
  // protoc unknown
5
5
  // source: ottochain/v1/records.proto
6
6
  /* eslint-disable */
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Fiber App Definition Schema
3
+ *
4
+ * TypeScript-first definitions for fiber apps. This is the source of truth —
5
+ * no JSON, no code generation. Import types directly.
6
+ */
7
+ // =============================================================================
8
+ // Helper: defineFiberApp
9
+ // =============================================================================
10
+ /**
11
+ * Define a fiber app with full type inference.
12
+ *
13
+ * @example
14
+ * ```ts
15
+ * const agentDef = defineFiberApp({
16
+ * metadata: { name: 'Agent', app: 'identity', type: 'agent', version: '1.0.0' },
17
+ * states: {
18
+ * REGISTERED: { id: 'REGISTERED', isFinal: false },
19
+ * ACTIVE: { id: 'ACTIVE', isFinal: false },
20
+ * },
21
+ * initialState: 'REGISTERED',
22
+ * transitions: [
23
+ * { from: 'REGISTERED', to: 'ACTIVE', eventName: 'activate' },
24
+ * ],
25
+ * });
26
+ * ```
27
+ */
28
+ export function defineFiberApp(definition) {
29
+ // Runtime validation could go here
30
+ return definition;
31
+ }
32
+ /** Get valid transitions from a given state */
33
+ export function getTransitionsFrom(def, state) {
34
+ return def.transitions.filter(t => t.from === state);
35
+ }
36
+ /** Get valid event names from a given state */
37
+ export function getEventsFrom(def, state) {
38
+ return getTransitionsFrom(def, state).map(t => t.eventName);
39
+ }
40
+ /** Check if a state is final */
41
+ export function isFinalState(def, state) {
42
+ return def.states[state]?.isFinal ?? false;
43
+ }
44
+ /** Convert definition to plain JSON (for serialization) */
45
+ export function toJSON(def) {
46
+ return JSON.parse(JSON.stringify(def));
47
+ }
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Fiber App Schema
3
+ */
4
+ export * from './fiber-app.js';
@@ -18,8 +18,8 @@
18
18
  *
19
19
  * @packageDocumentation
20
20
  */
21
- export { ContractState, Contract, ProposeContractRequest, AcceptContractRequest, CompleteContractRequest, RejectContractRequest, DisputeContractRequest, ContractDefinition, contractStateFromJSON, contractStateToJSON, } from '../../generated/ottochain/apps/contracts/v1/contract.js';
22
- import { contractUniversalDef, contractAgreementDef, contractEscrowDef } from './state-machines/index.js';
21
+ export { ContractState, Contract, ProposeContractRequest, AcceptContractRequest, CompleteContractRequest, RejectContractRequest, DisputeContractRequest, ContractDefinition, contractStateFromJSON, contractStateToJSON, } from "../../generated/ottochain/apps/contracts/v1/contract.js";
22
+ import { contractUniversalDef, contractAgreementDef, contractEscrowDef } from "./state-machines/index.js";
23
23
  export { contractUniversalDef, contractAgreementDef, contractEscrowDef };
24
24
  /** All contract state machine definitions */
25
25
  export declare const CONTRACTS_DEFINITIONS: {
@@ -28,6 +28,23 @@ export declare const CONTRACTS_DEFINITIONS: {
28
28
  readonly name: "ContractUniversal";
29
29
  readonly description: "Minimal contract state machine - extend for custom use cases";
30
30
  readonly version: "1.0.0";
31
+ readonly app: "contracts";
32
+ readonly type: "universal";
33
+ };
34
+ readonly createSchema: {
35
+ readonly properties: {};
36
+ };
37
+ readonly stateSchema: {
38
+ readonly properties: {
39
+ readonly status: {
40
+ readonly type: "string";
41
+ };
42
+ };
43
+ };
44
+ readonly eventSchemas: {
45
+ readonly accept: {};
46
+ readonly cancel: {};
47
+ readonly complete: {};
31
48
  };
32
49
  readonly states: {
33
50
  readonly PROPOSED: {
@@ -131,6 +148,8 @@ export declare const CONTRACTS_DEFINITIONS: {
131
148
  readonly name: "ContractAgreement";
132
149
  readonly description: "Two-party agreement with mutual completion attestation and dispute resolution";
133
150
  readonly version: "1.0.0";
151
+ readonly app: "contracts";
152
+ readonly type: "agreement";
134
153
  readonly crossReferences: {
135
154
  readonly proposerIdentityId: "Links to proposer's AgentIdentity fiber";
136
155
  readonly counterpartyIdentityId: "Links to counterparty's AgentIdentity fiber";
@@ -138,6 +157,46 @@ export declare const CONTRACTS_DEFINITIONS: {
138
157
  readonly arbitrationPoolId: "Links to ArbitrationPool for dispute resolution";
139
158
  };
140
159
  };
160
+ readonly createSchema: {
161
+ readonly required: readonly ["proposer", "counterparty"];
162
+ readonly properties: {
163
+ readonly proposer: {
164
+ readonly type: "address";
165
+ readonly description: "DAG address of the proposer";
166
+ readonly immutable: true;
167
+ };
168
+ readonly counterparty: {
169
+ readonly type: "address";
170
+ readonly description: "DAG address of the counterparty";
171
+ readonly immutable: true;
172
+ };
173
+ };
174
+ };
175
+ readonly stateSchema: {
176
+ readonly properties: {
177
+ readonly status: {
178
+ readonly type: "string";
179
+ };
180
+ readonly proposer: {
181
+ readonly type: "address";
182
+ };
183
+ readonly counterparty: {
184
+ readonly type: "address";
185
+ };
186
+ readonly completions: {
187
+ readonly type: "array";
188
+ };
189
+ };
190
+ };
191
+ readonly eventSchemas: {
192
+ readonly accept: {};
193
+ readonly reject: {};
194
+ readonly cancel: {};
195
+ readonly submit_completion: {};
196
+ readonly finalize: {};
197
+ readonly dispute: {};
198
+ readonly resolve: {};
199
+ };
141
200
  readonly states: {
142
201
  readonly PROPOSED: {
143
202
  readonly id: "PROPOSED";
@@ -389,6 +448,36 @@ export declare const CONTRACTS_DEFINITIONS: {
389
448
  }];
390
449
  };
391
450
  readonly dependencies: readonly [];
451
+ }, {
452
+ readonly from: "ACTIVE";
453
+ readonly to: "CANCELLED";
454
+ readonly eventName: "cancel";
455
+ readonly guard: {
456
+ readonly or: readonly [{
457
+ readonly "===": readonly [{
458
+ readonly var: "event.agent";
459
+ }, {
460
+ readonly var: "state.proposer";
461
+ }];
462
+ }, {
463
+ readonly "===": readonly [{
464
+ readonly var: "event.agent";
465
+ }, {
466
+ readonly var: "state.counterparty";
467
+ }];
468
+ }];
469
+ };
470
+ readonly effect: {
471
+ readonly merge: readonly [{
472
+ readonly var: "state";
473
+ }, {
474
+ readonly status: "CANCELLED";
475
+ readonly cancelledAt: {
476
+ readonly var: "$timestamp";
477
+ };
478
+ }];
479
+ };
480
+ readonly dependencies: readonly [];
392
481
  }];
393
482
  };
394
483
  readonly escrow: {
@@ -396,6 +485,8 @@ export declare const CONTRACTS_DEFINITIONS: {
396
485
  readonly name: "ContractEscrow";
397
486
  readonly description: "Asset custody with conditional release, dispute resolution, and split payments";
398
487
  readonly version: "1.0.0";
488
+ readonly app: "contracts";
489
+ readonly type: "escrow";
399
490
  readonly crossReferences: {
400
491
  readonly contractId: "Links to Contract SM that created this escrow";
401
492
  readonly marketId: "Links to Market SM for market-based escrow";
@@ -404,6 +495,43 @@ export declare const CONTRACTS_DEFINITIONS: {
404
495
  readonly treasuryId: "Links to Treasury for fee collection";
405
496
  };
406
497
  };
498
+ readonly createSchema: {
499
+ readonly required: readonly ["depositor", "beneficiary", "requiredAmount"];
500
+ readonly properties: {
501
+ readonly depositor: {
502
+ readonly type: "address";
503
+ readonly description: "DAG address of the depositor";
504
+ };
505
+ readonly beneficiary: {
506
+ readonly type: "address";
507
+ readonly description: "DAG address of the beneficiary";
508
+ };
509
+ readonly requiredAmount: {
510
+ readonly type: "number";
511
+ readonly minimum: 0;
512
+ readonly description: "Required escrow amount";
513
+ };
514
+ };
515
+ };
516
+ readonly stateSchema: {
517
+ readonly properties: {
518
+ readonly balance: {
519
+ readonly type: "number";
520
+ };
521
+ readonly releaseRequest: {
522
+ readonly type: "object";
523
+ };
524
+ };
525
+ };
526
+ readonly eventSchemas: {
527
+ readonly deposit: {};
528
+ readonly activate: {};
529
+ readonly request_release: {};
530
+ readonly approve_release: {};
531
+ readonly dispute: {};
532
+ readonly ruling: {};
533
+ readonly refund: {};
534
+ };
407
535
  readonly states: {
408
536
  readonly CREATED: {
409
537
  readonly id: "CREATED";
@@ -669,6 +797,27 @@ export declare const CONTRACTS_DEFINITIONS: {
669
797
  }];
670
798
  };
671
799
  readonly dependencies: readonly [];
800
+ }, {
801
+ readonly from: "CREATED";
802
+ readonly to: "REFUNDED";
803
+ readonly eventName: "cancel";
804
+ readonly guard: {
805
+ readonly "===": readonly [{
806
+ readonly var: "event.agent";
807
+ }, {
808
+ readonly var: "state.depositor";
809
+ }];
810
+ };
811
+ readonly effect: {
812
+ readonly merge: readonly [{
813
+ readonly var: "state";
814
+ }, {
815
+ readonly refundedAt: {
816
+ readonly var: "$timestamp";
817
+ };
818
+ }];
819
+ };
820
+ readonly dependencies: readonly [];
672
821
  }];
673
822
  };
674
823
  };