@ottochain/sdk 2.2.5 → 2.4.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 (222) hide show
  1. package/dist/cjs/apps/contracts/index.js +15 -8
  2. package/dist/cjs/apps/contracts/state-machines/contract-agreement.js +89 -46
  3. package/dist/cjs/apps/contracts/state-machines/contract-escrow.js +152 -45
  4. package/dist/cjs/apps/contracts/state-machines/contract-universal.js +40 -8
  5. package/dist/cjs/apps/corporate/index.js +2 -2
  6. package/dist/cjs/apps/corporate/state-machines/corp-board.js +169 -59
  7. package/dist/cjs/apps/corporate/state-machines/corp-entity.js +245 -47
  8. package/dist/cjs/apps/corporate/state-machines/corp-securities.js +407 -99
  9. package/dist/cjs/apps/corporate/state-machines/corp-shareholders.js +151 -37
  10. package/dist/cjs/apps/governance/index.js +14 -14
  11. package/dist/cjs/apps/governance/state-machines/dao-multisig.js +85 -43
  12. package/dist/cjs/apps/governance/state-machines/dao-reputation.js +73 -43
  13. package/dist/cjs/apps/governance/state-machines/dao-single.js +55 -14
  14. package/dist/cjs/apps/governance/state-machines/dao-token.js +103 -45
  15. package/dist/cjs/apps/governance/state-machines/governance-simple.js +129 -65
  16. package/dist/cjs/apps/governance/state-machines/governance-universal.js +29 -5
  17. package/dist/cjs/apps/identity/constants.js +55 -14
  18. package/dist/cjs/apps/identity/index.js +27 -11
  19. package/dist/cjs/apps/identity/state-machines/identity-agent.js +57 -9
  20. package/dist/cjs/apps/identity/state-machines/identity-oracle.js +70 -27
  21. package/dist/cjs/apps/identity/state-machines/identity-registry.js +288 -0
  22. package/dist/cjs/apps/identity/state-machines/identity-universal.js +30 -6
  23. package/dist/cjs/apps/identity/state-machines/index.js +3 -1
  24. package/dist/cjs/apps/index.js +19 -8
  25. package/dist/cjs/apps/lending/assets.js +223 -0
  26. package/dist/cjs/apps/lending/credit-scoring.js +87 -0
  27. package/dist/cjs/apps/lending/eligibility.js +121 -0
  28. package/dist/cjs/apps/lending/index.js +91 -0
  29. package/dist/cjs/apps/lending/state-machines/index.js +9 -0
  30. package/dist/cjs/apps/lending/state-machines/lending-zk-loan.js +412 -0
  31. package/dist/cjs/apps/markets/index.js +21 -11
  32. package/dist/cjs/apps/markets/state-machines/market-auction.js +44 -19
  33. package/dist/cjs/apps/markets/state-machines/market-crowdfund.js +54 -29
  34. package/dist/cjs/apps/markets/state-machines/market-group-buy.js +53 -31
  35. package/dist/cjs/apps/markets/state-machines/market-prediction.js +120 -61
  36. package/dist/cjs/apps/markets/state-machines/market-universal.js +50 -10
  37. package/dist/cjs/apps/oracles/index.js +2 -2
  38. package/dist/cjs/errors.js +3 -3
  39. package/dist/cjs/generated/google/protobuf/struct.js +4 -4
  40. package/dist/cjs/generated/index.js +11 -7
  41. package/dist/cjs/generated/openapi.js +6 -0
  42. package/dist/cjs/generated/ottochain/apps/contracts/v1/contract.js +50 -50
  43. package/dist/cjs/generated/ottochain/apps/corporate/v1/corporate.js +19 -20
  44. package/dist/cjs/generated/ottochain/apps/governance/v1/governance.js +13 -13
  45. package/dist/cjs/generated/ottochain/apps/identity/v1/attestation.js +4 -4
  46. package/dist/cjs/generated/ottochain/apps/identity/v1/identity.js +124 -130
  47. package/dist/cjs/generated/ottochain/apps/markets/v1/market.js +107 -107
  48. package/dist/cjs/generated/ottochain/v1/common.js +1722 -1
  49. package/dist/cjs/generated/ottochain/v1/fiber.js +355 -5
  50. package/dist/cjs/generated/ottochain/v1/messages.js +775 -3
  51. package/dist/cjs/generated/ottochain/v1/records.js +350 -3
  52. package/dist/cjs/index.js +45 -7
  53. package/dist/cjs/openapi.js +2 -0
  54. package/dist/cjs/ottochain/drop-nulls.js +1 -2
  55. package/dist/cjs/ottochain/genesis-manifest.js +193 -0
  56. package/dist/cjs/ottochain/index.js +27 -13
  57. package/dist/cjs/ottochain/metagraph-client.js +65 -8
  58. package/dist/cjs/ottochain/snapshot.js +11 -12
  59. package/dist/cjs/ottochain/transaction.js +57 -14
  60. package/dist/cjs/ottochain/types.js +19 -1
  61. package/dist/cjs/privacy/index.js +14 -0
  62. package/dist/cjs/privacy/sealed-bid.js +210 -0
  63. package/dist/cjs/privacy/shield-app.js +131 -0
  64. package/dist/cjs/schema/effects.js +40 -0
  65. package/dist/cjs/schema/fiber-app.js +19 -13
  66. package/dist/cjs/schema/guard-lint.js +352 -0
  67. package/dist/cjs/schema/guards.js +246 -0
  68. package/dist/cjs/signing.js +80 -0
  69. package/dist/cjs/types.js +2 -3
  70. package/dist/cjs/validation.js +8 -8
  71. package/dist/cjs/verify.js +9 -4
  72. package/dist/cjs/zk/commit.js +53 -0
  73. package/dist/cjs/zk/guard.js +107 -0
  74. package/dist/cjs/zk/index.js +48 -0
  75. package/dist/cjs/zk/preimage.js +37 -0
  76. package/dist/cjs/zk/prover.js +87 -0
  77. package/dist/cjs/zk/registry.js +62 -0
  78. package/dist/cjs/zk/types.js +28 -0
  79. package/dist/cjs/zk/witness.js +19 -0
  80. package/dist/esm/apps/contracts/index.js +7 -3
  81. package/dist/esm/apps/contracts/state-machines/contract-agreement.js +89 -46
  82. package/dist/esm/apps/contracts/state-machines/contract-escrow.js +152 -45
  83. package/dist/esm/apps/contracts/state-machines/contract-universal.js +40 -8
  84. package/dist/esm/apps/corporate/state-machines/corp-board.js +169 -59
  85. package/dist/esm/apps/corporate/state-machines/corp-entity.js +245 -47
  86. package/dist/esm/apps/corporate/state-machines/corp-securities.js +407 -99
  87. package/dist/esm/apps/corporate/state-machines/corp-shareholders.js +151 -37
  88. package/dist/esm/apps/governance/state-machines/dao-multisig.js +85 -43
  89. package/dist/esm/apps/governance/state-machines/dao-reputation.js +73 -43
  90. package/dist/esm/apps/governance/state-machines/dao-single.js +55 -14
  91. package/dist/esm/apps/governance/state-machines/dao-token.js +103 -45
  92. package/dist/esm/apps/governance/state-machines/governance-simple.js +129 -65
  93. package/dist/esm/apps/governance/state-machines/governance-universal.js +29 -5
  94. package/dist/esm/apps/identity/constants.js +51 -12
  95. package/dist/esm/apps/identity/index.js +12 -7
  96. package/dist/esm/apps/identity/state-machines/identity-agent.js +57 -9
  97. package/dist/esm/apps/identity/state-machines/identity-oracle.js +70 -27
  98. package/dist/esm/apps/identity/state-machines/identity-registry.js +285 -0
  99. package/dist/esm/apps/identity/state-machines/identity-universal.js +30 -6
  100. package/dist/esm/apps/identity/state-machines/index.js +1 -0
  101. package/dist/esm/apps/index.js +1 -0
  102. package/dist/esm/apps/lending/assets.js +207 -0
  103. package/dist/esm/apps/lending/credit-scoring.js +81 -0
  104. package/dist/esm/apps/lending/eligibility.js +115 -0
  105. package/dist/esm/apps/lending/index.js +69 -0
  106. package/dist/esm/apps/lending/state-machines/index.js +5 -0
  107. package/dist/esm/apps/lending/state-machines/lending-zk-loan.js +409 -0
  108. package/dist/esm/apps/markets/index.js +8 -4
  109. package/dist/esm/apps/markets/state-machines/market-auction.js +44 -19
  110. package/dist/esm/apps/markets/state-machines/market-crowdfund.js +54 -29
  111. package/dist/esm/apps/markets/state-machines/market-group-buy.js +53 -31
  112. package/dist/esm/apps/markets/state-machines/market-prediction.js +120 -61
  113. package/dist/esm/apps/markets/state-machines/market-universal.js +50 -10
  114. package/dist/esm/generated/index.js +9 -5
  115. package/dist/esm/generated/openapi.js +5 -0
  116. package/dist/esm/generated/ottochain/apps/contracts/v1/contract.js +46 -46
  117. package/dist/esm/generated/ottochain/apps/identity/v1/identity.js +114 -120
  118. package/dist/esm/generated/ottochain/apps/markets/v1/market.js +100 -100
  119. package/dist/esm/generated/ottochain/v1/common.js +1718 -0
  120. package/dist/esm/generated/ottochain/v1/fiber.js +351 -1
  121. package/dist/esm/generated/ottochain/v1/messages.js +774 -2
  122. package/dist/esm/generated/ottochain/v1/records.js +349 -2
  123. package/dist/esm/index.js +23 -2
  124. package/dist/esm/openapi.js +1 -0
  125. package/dist/esm/ottochain/genesis-manifest.js +189 -0
  126. package/dist/esm/ottochain/index.js +4 -3
  127. package/dist/esm/ottochain/metagraph-client.js +65 -8
  128. package/dist/esm/ottochain/snapshot.js +4 -4
  129. package/dist/esm/ottochain/transaction.js +43 -3
  130. package/dist/esm/ottochain/types.js +18 -0
  131. package/dist/esm/privacy/index.js +6 -0
  132. package/dist/esm/privacy/sealed-bid.js +206 -0
  133. package/dist/esm/privacy/shield-app.js +127 -0
  134. package/dist/esm/schema/effects.js +35 -0
  135. package/dist/esm/schema/fiber-app.js +13 -6
  136. package/dist/esm/schema/guard-lint.js +346 -0
  137. package/dist/esm/schema/guards.js +229 -0
  138. package/dist/esm/signing.js +74 -0
  139. package/dist/esm/verify.js +8 -2
  140. package/dist/esm/zk/commit.js +44 -0
  141. package/dist/esm/zk/guard.js +99 -0
  142. package/dist/esm/zk/index.js +19 -0
  143. package/dist/esm/zk/preimage.js +30 -0
  144. package/dist/esm/zk/prover.js +82 -0
  145. package/dist/esm/zk/registry.js +55 -0
  146. package/dist/esm/zk/types.js +25 -0
  147. package/dist/esm/zk/witness.js +15 -0
  148. package/dist/types/apps/contracts/index.d.ts +159 -227
  149. package/dist/types/apps/contracts/state-machines/contract-agreement.d.ts +50 -101
  150. package/dist/types/apps/contracts/state-machines/contract-escrow.d.ts +86 -120
  151. package/dist/types/apps/contracts/state-machines/contract-universal.d.ts +20 -4
  152. package/dist/types/apps/corporate/index.d.ts +1040 -304
  153. package/dist/types/apps/corporate/state-machines/corp-board.d.ts +188 -52
  154. package/dist/types/apps/corporate/state-machines/corp-entity.d.ts +267 -62
  155. package/dist/types/apps/corporate/state-machines/corp-securities.d.ts +355 -131
  156. package/dist/types/apps/corporate/state-machines/corp-shareholders.d.ts +225 -53
  157. package/dist/types/apps/governance/index.d.ts +396 -417
  158. package/dist/types/apps/governance/state-machines/dao-multisig.d.ts +92 -95
  159. package/dist/types/apps/governance/state-machines/dao-reputation.d.ts +57 -69
  160. package/dist/types/apps/governance/state-machines/dao-single.d.ts +40 -50
  161. package/dist/types/apps/governance/state-machines/dao-token.d.ts +80 -53
  162. package/dist/types/apps/governance/state-machines/governance-simple.d.ts +107 -121
  163. package/dist/types/apps/governance/state-machines/governance-universal.d.ts +17 -5
  164. package/dist/types/apps/identity/constants.d.ts +32 -4
  165. package/dist/types/apps/identity/index.d.ts +449 -100
  166. package/dist/types/apps/identity/state-machines/identity-agent.d.ts +30 -0
  167. package/dist/types/apps/identity/state-machines/identity-oracle.d.ts +41 -87
  168. package/dist/types/apps/identity/state-machines/identity-registry.d.ts +379 -0
  169. package/dist/types/apps/identity/state-machines/identity-universal.d.ts +15 -0
  170. package/dist/types/apps/identity/state-machines/index.d.ts +1 -0
  171. package/dist/types/apps/index.d.ts +1 -0
  172. package/dist/types/apps/lending/assets.d.ts +258 -0
  173. package/dist/types/apps/lending/credit-scoring.d.ts +80 -0
  174. package/dist/types/apps/lending/eligibility.d.ts +83 -0
  175. package/dist/types/apps/lending/index.d.ts +548 -0
  176. package/dist/types/apps/lending/state-machines/index.d.ts +5 -0
  177. package/dist/types/apps/lending/state-machines/lending-zk-loan.d.ts +528 -0
  178. package/dist/types/apps/markets/index.d.ts +184 -204
  179. package/dist/types/apps/markets/state-machines/market-auction.d.ts +25 -37
  180. package/dist/types/apps/markets/state-machines/market-crowdfund.d.ts +26 -34
  181. package/dist/types/apps/markets/state-machines/market-group-buy.d.ts +31 -43
  182. package/dist/types/apps/markets/state-machines/market-prediction.d.ts +67 -72
  183. package/dist/types/apps/markets/state-machines/market-universal.d.ts +30 -10
  184. package/dist/types/generated/index.d.ts +5 -5
  185. package/dist/types/generated/openapi.d.ts +1257 -0
  186. package/dist/types/generated/ottochain/apps/contracts/v1/contract.d.ts +5 -5
  187. package/dist/types/generated/ottochain/apps/identity/v1/identity.d.ts +12 -12
  188. package/dist/types/generated/ottochain/apps/markets/v1/market.d.ts +11 -11
  189. package/dist/types/generated/ottochain/v1/common.d.ts +228 -0
  190. package/dist/types/generated/ottochain/v1/fiber.d.ts +32 -1
  191. package/dist/types/generated/ottochain/v1/messages.d.ts +84 -0
  192. package/dist/types/generated/ottochain/v1/records.d.ts +34 -0
  193. package/dist/types/index.d.ts +8 -2
  194. package/dist/types/openapi.d.ts +22 -0
  195. package/dist/types/ottochain/genesis-manifest.d.ts +130 -0
  196. package/dist/types/ottochain/index.d.ts +6 -5
  197. package/dist/types/ottochain/metagraph-client.d.ts +49 -7
  198. package/dist/types/ottochain/snapshot.d.ts +6 -6
  199. package/dist/types/ottochain/transaction.d.ts +33 -1
  200. package/dist/types/ottochain/types.d.ts +602 -11
  201. package/dist/types/privacy/index.d.ts +6 -0
  202. package/dist/types/privacy/sealed-bid.d.ts +348 -0
  203. package/dist/types/privacy/shield-app.d.ts +48 -0
  204. package/dist/types/schema/effects.d.ts +34 -0
  205. package/dist/types/schema/fiber-app.d.ts +41 -3
  206. package/dist/types/schema/guard-lint.d.ts +111 -0
  207. package/dist/types/schema/guards.d.ts +134 -0
  208. package/dist/types/signing.d.ts +45 -0
  209. package/dist/types/validation.d.ts +22 -217
  210. package/dist/types/verify.d.ts +4 -0
  211. package/dist/types/zk/commit.d.ts +28 -0
  212. package/dist/types/zk/guard.d.ts +46 -0
  213. package/dist/types/zk/index.d.ts +19 -0
  214. package/dist/types/zk/preimage.d.ts +10 -0
  215. package/dist/types/zk/prover.d.ts +34 -0
  216. package/dist/types/zk/registry.d.ts +34 -0
  217. package/dist/types/zk/types.d.ts +33 -0
  218. package/dist/types/zk/witness.d.ts +40 -0
  219. package/package.json +52 -35
  220. package/dist/cjs/ottochain/normalize.js +0 -186
  221. package/dist/esm/ottochain/normalize.js +0 -179
  222. package/dist/types/ottochain/normalize.d.ts +0 -79
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.marketPredictionDef = void 0;
4
4
  const fiber_app_js_1 = require("../../../schema/fiber-app.js");
5
+ const guards_js_1 = require("../../../schema/guards.js");
5
6
  /**
6
7
  * Binary or multi-outcome prediction market with oracle resolution and position staking.
7
8
  */
@@ -18,13 +19,18 @@ exports.marketPredictionDef = (0, fiber_app_js_1.defineFiberApp)({
18
19
  },
19
20
  },
20
21
  createSchema: {
21
- required: ["creator", "outcomes", "oracles", "quorum"],
22
+ required: ["creator", "outcomes", "oracles", "quorum", "arbiter"],
22
23
  properties: {
23
24
  creator: {
24
25
  type: "address",
25
26
  description: "DAG address of the market creator",
26
27
  immutable: true,
27
28
  },
29
+ arbiter: {
30
+ type: "address",
31
+ description: "DAG address of the arbiter authorized to rule on a disputed resolution",
32
+ immutable: true,
33
+ },
28
34
  outcomes: {
29
35
  type: "array",
30
36
  description: "Valid outcome identifiers",
@@ -47,6 +53,7 @@ exports.marketPredictionDef = (0, fiber_app_js_1.defineFiberApp)({
47
53
  properties: {
48
54
  status: { type: "string", computed: true },
49
55
  creator: { type: "address", immutable: true },
56
+ arbiter: { type: "address", immutable: true },
50
57
  outcomes: { type: "array", immutable: true },
51
58
  oracles: { type: "array", immutable: true },
52
59
  quorum: { type: "number", immutable: true },
@@ -83,7 +90,6 @@ exports.marketPredictionDef = (0, fiber_app_js_1.defineFiberApp)({
83
90
  },
84
91
  finalize: {
85
92
  description: "Finalize market after quorum reached",
86
- properties: { outcome: { type: "string" } },
87
93
  },
88
94
  dispute: {
89
95
  description: "Dispute the resolution",
@@ -96,8 +102,7 @@ exports.marketPredictionDef = (0, fiber_app_js_1.defineFiberApp)({
96
102
  ruling: {
97
103
  description: "Judicial ruling on dispute",
98
104
  properties: {
99
- judicialRuling: { type: "boolean" },
100
- outcome: { type: "string" },
105
+ finalOutcome: { type: "string" },
101
106
  rulingId: { type: "string" },
102
107
  },
103
108
  },
@@ -111,42 +116,74 @@ exports.marketPredictionDef = (0, fiber_app_js_1.defineFiberApp)({
111
116
  PROPOSED: {
112
117
  id: "PROPOSED",
113
118
  isFinal: false,
114
- metadata: { description: "Market created but not yet open for trading" },
119
+ metadata: {
120
+ label: "Proposed",
121
+ description: "Market created but not yet open for trading",
122
+ category: "initial",
123
+ },
115
124
  },
116
125
  OPEN: {
117
126
  id: "OPEN",
118
127
  isFinal: false,
119
- metadata: { description: "Accepting positions on outcomes" },
128
+ metadata: {
129
+ label: "Open",
130
+ description: "Accepting positions on outcomes",
131
+ category: "active",
132
+ },
120
133
  },
121
134
  CLOSED: {
122
135
  id: "CLOSED",
123
136
  isFinal: false,
124
- metadata: { description: "No more positions, awaiting resolution" },
137
+ metadata: {
138
+ label: "Closed",
139
+ description: "No more positions, awaiting resolution",
140
+ category: "pending",
141
+ },
125
142
  },
126
143
  RESOLVING: {
127
144
  id: "RESOLVING",
128
145
  isFinal: false,
129
- metadata: { description: "Oracle(s) submitting resolution" },
146
+ metadata: {
147
+ label: "Resolving",
148
+ description: "Oracle(s) submitting resolution",
149
+ category: "pending",
150
+ },
130
151
  },
131
152
  DISPUTED: {
132
153
  id: "DISPUTED",
133
154
  isFinal: false,
134
- metadata: { description: "Resolution challenged, awaiting arbitration" },
155
+ metadata: {
156
+ label: "Disputed",
157
+ description: "Resolution challenged, awaiting arbitration",
158
+ category: "pending",
159
+ },
135
160
  },
136
161
  SETTLED: {
137
162
  id: "SETTLED",
138
163
  isFinal: true,
139
- metadata: { description: "Outcome finalized, payouts available" },
164
+ metadata: {
165
+ label: "Settled",
166
+ description: "Outcome finalized, payouts available",
167
+ category: "terminal",
168
+ },
140
169
  },
141
170
  REFUNDED: {
142
171
  id: "REFUNDED",
143
172
  isFinal: true,
144
- metadata: { description: "Market invalidated, all positions refunded" },
173
+ metadata: {
174
+ label: "Refunded",
175
+ description: "Market invalidated, all positions refunded",
176
+ category: "terminal",
177
+ },
145
178
  },
146
179
  CANCELLED: {
147
180
  id: "CANCELLED",
148
181
  isFinal: true,
149
- metadata: { description: "Market cancelled before opening" },
182
+ metadata: {
183
+ label: "Cancelled",
184
+ description: "Market cancelled before opening",
185
+ category: "terminal",
186
+ },
150
187
  },
151
188
  },
152
189
  initialState: "PROPOSED",
@@ -155,13 +192,13 @@ exports.marketPredictionDef = (0, fiber_app_js_1.defineFiberApp)({
155
192
  from: "PROPOSED",
156
193
  to: "OPEN",
157
194
  eventName: "open",
158
- guard: { "===": [{ var: "event.agent" }, { var: "state.creator" }] },
195
+ guard: (0, guards_js_1.signerIsParty)("state.creator"),
159
196
  effect: {
160
197
  merge: [
161
198
  { var: "state" },
162
199
  {
163
200
  status: "OPEN",
164
- openedAt: { var: "$timestamp" },
201
+ openedAt: { var: "$ordinal" },
165
202
  positions: {},
166
203
  totalPool: 0,
167
204
  },
@@ -173,13 +210,13 @@ exports.marketPredictionDef = (0, fiber_app_js_1.defineFiberApp)({
173
210
  from: "PROPOSED",
174
211
  to: "CANCELLED",
175
212
  eventName: "cancel",
176
- guard: { "===": [{ var: "event.agent" }, { var: "state.creator" }] },
213
+ guard: (0, guards_js_1.signerIsParty)("state.creator"),
177
214
  effect: {
178
215
  merge: [
179
216
  { var: "state" },
180
217
  {
181
218
  status: "CANCELLED",
182
- cancelledAt: { var: "$timestamp" },
219
+ cancelledAt: { var: "$ordinal" },
183
220
  reason: { var: "event.reason" },
184
221
  },
185
222
  ],
@@ -197,7 +234,7 @@ exports.marketPredictionDef = (0, fiber_app_js_1.defineFiberApp)({
197
234
  {
198
235
  or: [
199
236
  { "!": [{ var: "state.deadline" }] },
200
- { "<=": [{ var: "$timestamp" }, { var: "state.deadline" }] },
237
+ { "<=": [{ var: "$ordinal" }, { var: "state.deadline" }] },
201
238
  ],
202
239
  },
203
240
  ],
@@ -234,11 +271,11 @@ exports.marketPredictionDef = (0, fiber_app_js_1.defineFiberApp)({
234
271
  eventName: "close",
235
272
  guard: {
236
273
  or: [
237
- { "===": [{ var: "event.agent" }, { var: "state.creator" }] },
274
+ (0, guards_js_1.signerIsParty)("state.creator"),
238
275
  {
239
276
  and: [
240
277
  { var: "state.deadline" },
241
- { ">=": [{ var: "$timestamp" }, { var: "state.deadline" }] },
278
+ { ">=": [{ var: "$ordinal" }, { var: "state.deadline" }] },
242
279
  ],
243
280
  },
244
281
  ],
@@ -246,7 +283,7 @@ exports.marketPredictionDef = (0, fiber_app_js_1.defineFiberApp)({
246
283
  effect: {
247
284
  merge: [
248
285
  { var: "state" },
249
- { status: "CLOSED", closedAt: { var: "$timestamp" } },
286
+ { status: "CLOSED", closedAt: { var: "$ordinal" } },
250
287
  ],
251
288
  },
252
289
  dependencies: [],
@@ -255,7 +292,7 @@ exports.marketPredictionDef = (0, fiber_app_js_1.defineFiberApp)({
255
292
  from: "CLOSED",
256
293
  to: "RESOLVING",
257
294
  eventName: "submit_resolution",
258
- guard: { in: [{ var: "event.agent" }, { var: "state.oracles" }] },
295
+ guard: (0, guards_js_1.signerInSet)("state.oracles"),
259
296
  effect: {
260
297
  merge: [
261
298
  { var: "state" },
@@ -266,7 +303,7 @@ exports.marketPredictionDef = (0, fiber_app_js_1.defineFiberApp)({
266
303
  oracle: { var: "event.agent" },
267
304
  outcome: { var: "event.outcome" },
268
305
  proof: { var: "event.proof" },
269
- submittedAt: { var: "$timestamp" },
306
+ submittedAt: { var: "$ordinal" },
270
307
  },
271
308
  ],
272
309
  },
@@ -280,7 +317,7 @@ exports.marketPredictionDef = (0, fiber_app_js_1.defineFiberApp)({
280
317
  eventName: "submit_resolution",
281
318
  guard: {
282
319
  and: [
283
- { in: [{ var: "event.agent" }, { var: "state.oracles" }] },
320
+ (0, guards_js_1.signerInSet)("state.oracles"),
284
321
  {
285
322
  "!": [
286
323
  {
@@ -305,7 +342,7 @@ exports.marketPredictionDef = (0, fiber_app_js_1.defineFiberApp)({
305
342
  oracle: { var: "event.agent" },
306
343
  outcome: { var: "event.outcome" },
307
344
  proof: { var: "event.proof" },
308
- submittedAt: { var: "$timestamp" },
345
+ submittedAt: { var: "$ordinal" },
309
346
  },
310
347
  ],
311
348
  ],
@@ -319,16 +356,26 @@ exports.marketPredictionDef = (0, fiber_app_js_1.defineFiberApp)({
319
356
  from: "RESOLVING",
320
357
  to: "SETTLED",
321
358
  eventName: "finalize",
359
+ // authority gate — an ARBITER/SLASHER attestation check layers on additively when the identity registry lands (see docs/design/app-hardening-identity-integration.md §4.2)
322
360
  guard: {
323
- ">=": [{ size: { var: "state.resolutions" } }, { var: "state.quorum" }],
361
+ and: [
362
+ (0, guards_js_1.signerInSet)("state.oracles"),
363
+ {
364
+ ">=": [
365
+ { count: { var: "state.resolutions" } },
366
+ { var: "state.quorum" },
367
+ ],
368
+ },
369
+ ],
324
370
  },
325
371
  effect: {
326
372
  merge: [
327
373
  { var: "state" },
328
374
  {
329
375
  status: "SETTLED",
330
- settledAt: { var: "$timestamp" },
331
- finalOutcome: { var: "event.outcome" },
376
+ settledAt: { var: "$ordinal" },
377
+ // finalOutcome derives from the quorum-agreed resolution, not a raw event field
378
+ finalOutcome: { var: "state.resolutions.0.outcome" },
332
379
  claims: [],
333
380
  },
334
381
  ],
@@ -344,12 +391,14 @@ exports.marketPredictionDef = (0, fiber_app_js_1.defineFiberApp)({
344
391
  {
345
392
  ">": [
346
393
  {
347
- size: {
348
- filter: [
349
- { var: "state.positions" },
350
- { "===": [{ var: "agent" }, { var: "event.agent" }] },
351
- ],
352
- },
394
+ length: [
395
+ {
396
+ filter: [
397
+ { var: "state.positions" },
398
+ { "===": [{ var: "agent" }, { var: "event.agent" }] },
399
+ ],
400
+ },
401
+ ],
353
402
  },
354
403
  0,
355
404
  ],
@@ -362,7 +411,7 @@ exports.marketPredictionDef = (0, fiber_app_js_1.defineFiberApp)({
362
411
  { var: "state" },
363
412
  {
364
413
  status: "DISPUTED",
365
- disputedAt: { var: "$timestamp" },
414
+ disputedAt: { var: "$ordinal" },
366
415
  disputedBy: { var: "event.agent" },
367
416
  disputeStake: { var: "event.stake" },
368
417
  disputeReason: { var: "event.reason" },
@@ -375,14 +424,20 @@ exports.marketPredictionDef = (0, fiber_app_js_1.defineFiberApp)({
375
424
  from: "DISPUTED",
376
425
  to: "SETTLED",
377
426
  eventName: "ruling",
378
- guard: { var: "event.judicialRuling" },
427
+ // authority gate — an ARBITER/SLASHER attestation check layers on additively when the identity registry lands (see docs/design/app-hardening-identity-integration.md §4.2)
428
+ guard: {
429
+ and: [
430
+ (0, guards_js_1.signerIsParty)("state.arbiter"),
431
+ { in: [{ var: "event.finalOutcome" }, { var: "state.outcomes" }] },
432
+ ],
433
+ },
379
434
  effect: {
380
435
  merge: [
381
436
  { var: "state" },
382
437
  {
383
438
  status: "SETTLED",
384
- settledAt: { var: "$timestamp" },
385
- finalOutcome: { var: "event.outcome" },
439
+ settledAt: { var: "$ordinal" },
440
+ finalOutcome: { var: "event.finalOutcome" },
386
441
  rulingId: { var: "event.rulingId" },
387
442
  claims: [],
388
443
  },
@@ -397,12 +452,14 @@ exports.marketPredictionDef = (0, fiber_app_js_1.defineFiberApp)({
397
452
  guard: {
398
453
  ">=": [
399
454
  {
400
- size: {
401
- filter: [
402
- { var: "state.resolutions" },
403
- { "===": [{ var: "outcome" }, "INVALID"] },
404
- ],
405
- },
455
+ length: [
456
+ {
457
+ filter: [
458
+ { var: "state.resolutions" },
459
+ { "===": [{ var: "outcome" }, "INVALID"] },
460
+ ],
461
+ },
462
+ ],
406
463
  },
407
464
  { var: "state.quorum" },
408
465
  ],
@@ -412,7 +469,7 @@ exports.marketPredictionDef = (0, fiber_app_js_1.defineFiberApp)({
412
469
  { var: "state" },
413
470
  {
414
471
  status: "REFUNDED",
415
- refundedAt: { var: "$timestamp" },
472
+ refundedAt: { var: "$ordinal" },
416
473
  reason: "oracle_invalidation",
417
474
  },
418
475
  ],
@@ -428,22 +485,24 @@ exports.marketPredictionDef = (0, fiber_app_js_1.defineFiberApp)({
428
485
  {
429
486
  ">": [
430
487
  {
431
- size: {
432
- filter: [
433
- { var: "state.positions" },
434
- {
435
- and: [
436
- { "===": [{ var: "agent" }, { var: "event.agent" }] },
437
- {
438
- "===": [
439
- { var: "outcome" },
440
- { var: "state.finalOutcome" },
441
- ],
442
- },
443
- ],
444
- },
445
- ],
446
- },
488
+ length: [
489
+ {
490
+ filter: [
491
+ { var: "state.positions" },
492
+ {
493
+ and: [
494
+ { "===": [{ var: "agent" }, { var: "event.agent" }] },
495
+ {
496
+ "===": [
497
+ { var: "outcome" },
498
+ { var: "state.finalOutcome" },
499
+ ],
500
+ },
501
+ ],
502
+ },
503
+ ],
504
+ },
505
+ ],
447
506
  },
448
507
  0,
449
508
  ],
@@ -471,7 +530,7 @@ exports.marketPredictionDef = (0, fiber_app_js_1.defineFiberApp)({
471
530
  {
472
531
  agent: { var: "event.agent" },
473
532
  amount: { var: "event.amount" },
474
- claimedAt: { var: "$timestamp" },
533
+ claimedAt: { var: "$ordinal" },
475
534
  },
476
535
  ],
477
536
  ],
@@ -35,11 +35,51 @@ exports.marketUniversalDef = (0, fiber_app_js_1.defineFiberApp)({
35
35
  settle: { description: "Settle the market" },
36
36
  },
37
37
  states: {
38
- PROPOSED: { id: "PROPOSED", isFinal: false, metadata: null },
39
- OPEN: { id: "OPEN", isFinal: false, metadata: null },
40
- CLOSED: { id: "CLOSED", isFinal: false, metadata: null },
41
- SETTLED: { id: "SETTLED", isFinal: true, metadata: null },
42
- CANCELLED: { id: "CANCELLED", isFinal: true, metadata: null },
38
+ PROPOSED: {
39
+ id: "PROPOSED",
40
+ isFinal: false,
41
+ metadata: {
42
+ label: "Proposed",
43
+ description: "Market created but not yet open",
44
+ category: "initial",
45
+ },
46
+ },
47
+ OPEN: {
48
+ id: "OPEN",
49
+ isFinal: false,
50
+ metadata: {
51
+ label: "Open",
52
+ description: "Market is open for participation",
53
+ category: "active",
54
+ },
55
+ },
56
+ CLOSED: {
57
+ id: "CLOSED",
58
+ isFinal: false,
59
+ metadata: {
60
+ label: "Closed",
61
+ description: "Participation closed; awaiting settlement",
62
+ category: "pending",
63
+ },
64
+ },
65
+ SETTLED: {
66
+ id: "SETTLED",
67
+ isFinal: true,
68
+ metadata: {
69
+ label: "Settled",
70
+ description: "Market settled and payouts available (terminal)",
71
+ category: "terminal",
72
+ },
73
+ },
74
+ CANCELLED: {
75
+ id: "CANCELLED",
76
+ isFinal: true,
77
+ metadata: {
78
+ label: "Cancelled",
79
+ description: "Market cancelled before settlement (terminal)",
80
+ category: "terminal",
81
+ },
82
+ },
43
83
  },
44
84
  initialState: "PROPOSED",
45
85
  transitions: [
@@ -51,7 +91,7 @@ exports.marketUniversalDef = (0, fiber_app_js_1.defineFiberApp)({
51
91
  effect: {
52
92
  merge: [
53
93
  { var: "state" },
54
- { status: "OPEN", openedAt: { var: "$timestamp" } },
94
+ { status: "OPEN", openedAt: { var: "$ordinal" } },
55
95
  ],
56
96
  },
57
97
  dependencies: [],
@@ -64,7 +104,7 @@ exports.marketUniversalDef = (0, fiber_app_js_1.defineFiberApp)({
64
104
  effect: {
65
105
  merge: [
66
106
  { var: "state" },
67
- { status: "CANCELLED", cancelledAt: { var: "$timestamp" } },
107
+ { status: "CANCELLED", cancelledAt: { var: "$ordinal" } },
68
108
  ],
69
109
  },
70
110
  dependencies: [],
@@ -94,7 +134,7 @@ exports.marketUniversalDef = (0, fiber_app_js_1.defineFiberApp)({
94
134
  effect: {
95
135
  merge: [
96
136
  { var: "state" },
97
- { status: "CLOSED", closedAt: { var: "$timestamp" } },
137
+ { status: "CLOSED", closedAt: { var: "$ordinal" } },
98
138
  ],
99
139
  },
100
140
  dependencies: [],
@@ -107,7 +147,7 @@ exports.marketUniversalDef = (0, fiber_app_js_1.defineFiberApp)({
107
147
  effect: {
108
148
  merge: [
109
149
  { var: "state" },
110
- { status: "SETTLED", settledAt: { var: "$timestamp" } },
150
+ { status: "SETTLED", settledAt: { var: "$ordinal" } },
111
151
  ],
112
152
  },
113
153
  dependencies: [],
@@ -120,7 +160,7 @@ exports.marketUniversalDef = (0, fiber_app_js_1.defineFiberApp)({
120
160
  effect: {
121
161
  merge: [
122
162
  { var: "state" },
123
- { status: "CANCELLED", cancelledAt: { var: "$timestamp" } },
163
+ { status: "CANCELLED", cancelledAt: { var: "$ordinal" } },
124
164
  ],
125
165
  },
126
166
  dependencies: [],
@@ -9,7 +9,8 @@
9
9
  * @packageDocumentation
10
10
  */
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.DEFAULT_ORACLE_CONFIG = exports.getOracleDefinition = exports.oracleStateToJSON = exports.oracleStateFromJSON = exports.OracleDefinition = exports.WithdrawOracleRequest = exports.AddStakeRequest = exports.ActivateOracleRequest = exports.RegisterOracleRequest = exports.Oracle = exports.SlashingEvent = exports.OracleReputation = exports.OracleState = void 0;
12
+ exports.DEFAULT_ORACLE_CONFIG = exports.oracleStateToJSON = exports.oracleStateFromJSON = exports.OracleDefinition = exports.WithdrawOracleRequest = exports.AddStakeRequest = exports.ActivateOracleRequest = exports.RegisterOracleRequest = exports.Oracle = exports.SlashingEvent = exports.OracleReputation = exports.OracleState = void 0;
13
+ exports.getOracleDefinition = getOracleDefinition;
13
14
  var index_js_1 = require("../identity/index.js");
14
15
  Object.defineProperty(exports, "OracleState", { enumerable: true, get: function () { return index_js_1.IdentityState; } });
15
16
  Object.defineProperty(exports, "OracleReputation", { enumerable: true, get: function () { return index_js_1.Reputation; } });
@@ -27,7 +28,6 @@ const index_js_2 = require("../identity/index.js");
27
28
  function getOracleDefinition(_type) {
28
29
  return (0, index_js_2.getIdentityDefinition)("oracle");
29
30
  }
30
- exports.getOracleDefinition = getOracleDefinition;
31
31
  /** @deprecated Use `DEFAULT_REPUTATION_CONFIG` from `@ottochain/sdk/apps/identity` */
32
32
  exports.DEFAULT_ORACLE_CONFIG = {
33
33
  minStake: 100,
@@ -7,7 +7,9 @@
7
7
  * @packageDocumentation
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.wrapError = exports.isErrorCode = exports.TransactionError = exports.SigningError = exports.ValidationError = exports.NetworkError = exports.OttoChainError = exports.ErrorCode = void 0;
10
+ exports.TransactionError = exports.SigningError = exports.ValidationError = exports.NetworkError = exports.OttoChainError = exports.ErrorCode = void 0;
11
+ exports.isErrorCode = isErrorCode;
12
+ exports.wrapError = wrapError;
11
13
  /**
12
14
  * Error codes for OttoChain SDK errors
13
15
  */
@@ -273,7 +275,6 @@ exports.TransactionError = TransactionError;
273
275
  function isErrorCode(error, code) {
274
276
  return error instanceof OttoChainError && error.code === code;
275
277
  }
276
- exports.isErrorCode = isErrorCode;
277
278
  /**
278
279
  * Wrap an unknown error in an OttoChainError
279
280
  *
@@ -290,4 +291,3 @@ function wrapError(error, defaultMessage = 'An error occurred') {
290
291
  }
291
292
  return new OttoChainError(ErrorCode.UNKNOWN, String(error) || defaultMessage);
292
293
  }
293
- exports.wrapError = wrapError;
@@ -5,7 +5,10 @@
5
5
  // protoc unknown
6
6
  // source: google/protobuf/struct.proto
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.ListValue = exports.Value = exports.Struct_FieldsEntry = exports.Struct = exports.nullValueToNumber = exports.nullValueToJSON = exports.nullValueFromJSON = exports.NullValue = exports.protobufPackage = void 0;
8
+ exports.ListValue = exports.Value = exports.Struct_FieldsEntry = exports.Struct = exports.NullValue = exports.protobufPackage = void 0;
9
+ exports.nullValueFromJSON = nullValueFromJSON;
10
+ exports.nullValueToJSON = nullValueToJSON;
11
+ exports.nullValueToNumber = nullValueToNumber;
9
12
  /* eslint-disable */
10
13
  const wire_1 = require("@bufbuild/protobuf/wire");
11
14
  exports.protobufPackage = "google.protobuf";
@@ -32,7 +35,6 @@ function nullValueFromJSON(object) {
32
35
  return NullValue.UNRECOGNIZED;
33
36
  }
34
37
  }
35
- exports.nullValueFromJSON = nullValueFromJSON;
36
38
  function nullValueToJSON(object) {
37
39
  switch (object) {
38
40
  case NullValue.NULL_VALUE:
@@ -42,7 +44,6 @@ function nullValueToJSON(object) {
42
44
  return "UNRECOGNIZED";
43
45
  }
44
46
  }
45
- exports.nullValueToJSON = nullValueToJSON;
46
47
  function nullValueToNumber(object) {
47
48
  switch (object) {
48
49
  case NullValue.NULL_VALUE:
@@ -52,7 +53,6 @@ function nullValueToNumber(object) {
52
53
  return -1;
53
54
  }
54
55
  }
55
- exports.nullValueToNumber = nullValueToNumber;
56
56
  function createBaseStruct() {
57
57
  return { fields: {} };
58
58
  }
@@ -48,9 +48,13 @@ Object.defineProperty(exports, "FiberCommit", { enumerable: true, get: function
48
48
  Object.defineProperty(exports, "OnChainState", { enumerable: true, get: function () { return records_js_1.OnChainState; } });
49
49
  Object.defineProperty(exports, "CalculatedState", { enumerable: true, get: function () { return records_js_1.CalculatedState; } });
50
50
  // App: Identity (unified in v2.1)
51
+ // The nested lifecycle/kind enums dropped their app prefix in the proto
52
+ // (now Type/State, disambiguated by package ottochain.apps.identity.v1).
53
+ // This flat barrel re-aliases them back to app-qualified names so the global
54
+ // export namespace stays collision-free across apps.
51
55
  var identity_js_1 = require("./ottochain/apps/identity/v1/identity.js");
52
- Object.defineProperty(exports, "IdentityType", { enumerable: true, get: function () { return identity_js_1.IdentityType; } });
53
- Object.defineProperty(exports, "IdentityState", { enumerable: true, get: function () { return identity_js_1.IdentityState; } });
56
+ Object.defineProperty(exports, "IdentityType", { enumerable: true, get: function () { return identity_js_1.Type; } });
57
+ Object.defineProperty(exports, "IdentityState", { enumerable: true, get: function () { return identity_js_1.State; } });
54
58
  Object.defineProperty(exports, "Platform", { enumerable: true, get: function () { return identity_js_1.Platform; } });
55
59
  Object.defineProperty(exports, "PlatformLink", { enumerable: true, get: function () { return identity_js_1.PlatformLink; } });
56
60
  Object.defineProperty(exports, "Reputation", { enumerable: true, get: function () { return identity_js_1.Reputation; } });
@@ -65,9 +69,9 @@ Object.defineProperty(exports, "WithdrawIdentityRequest", { enumerable: true, ge
65
69
  Object.defineProperty(exports, "IdentityDefinition", { enumerable: true, get: function () { return identity_js_1.IdentityDefinition; } });
66
70
  // Legacy aliases for backward compatibility
67
71
  var identity_js_2 = require("./ottochain/apps/identity/v1/identity.js");
68
- Object.defineProperty(exports, "AgentState", { enumerable: true, get: function () { return identity_js_2.IdentityState; } });
72
+ Object.defineProperty(exports, "AgentState", { enumerable: true, get: function () { return identity_js_2.State; } });
69
73
  var identity_js_3 = require("./ottochain/apps/identity/v1/identity.js");
70
- Object.defineProperty(exports, "OracleState", { enumerable: true, get: function () { return identity_js_3.IdentityState; } });
74
+ Object.defineProperty(exports, "OracleState", { enumerable: true, get: function () { return identity_js_3.State; } });
71
75
  var attestation_js_1 = require("./ottochain/apps/identity/v1/attestation.js");
72
76
  Object.defineProperty(exports, "AttestationType", { enumerable: true, get: function () { return attestation_js_1.AttestationType; } });
73
77
  Object.defineProperty(exports, "ReputationDelta", { enumerable: true, get: function () { return attestation_js_1.ReputationDelta; } });
@@ -77,7 +81,7 @@ Object.defineProperty(exports, "ChallengeRequest", { enumerable: true, get: func
77
81
  Object.defineProperty(exports, "ReputationConfig", { enumerable: true, get: function () { return attestation_js_1.ReputationConfig; } });
78
82
  // App: Contracts
79
83
  var contract_js_1 = require("./ottochain/apps/contracts/v1/contract.js");
80
- Object.defineProperty(exports, "ContractState", { enumerable: true, get: function () { return contract_js_1.ContractState; } });
84
+ Object.defineProperty(exports, "ContractState", { enumerable: true, get: function () { return contract_js_1.State; } });
81
85
  Object.defineProperty(exports, "Contract", { enumerable: true, get: function () { return contract_js_1.Contract; } });
82
86
  Object.defineProperty(exports, "ProposeContractRequest", { enumerable: true, get: function () { return contract_js_1.ProposeContractRequest; } });
83
87
  Object.defineProperty(exports, "AcceptContractRequest", { enumerable: true, get: function () { return contract_js_1.AcceptContractRequest; } });
@@ -87,8 +91,8 @@ Object.defineProperty(exports, "DisputeContractRequest", { enumerable: true, get
87
91
  Object.defineProperty(exports, "ContractDefinition", { enumerable: true, get: function () { return contract_js_1.ContractDefinition; } });
88
92
  // App: Markets
89
93
  var market_js_1 = require("./ottochain/apps/markets/v1/market.js");
90
- Object.defineProperty(exports, "MarketType", { enumerable: true, get: function () { return market_js_1.MarketType; } });
91
- Object.defineProperty(exports, "MarketState", { enumerable: true, get: function () { return market_js_1.MarketState; } });
94
+ Object.defineProperty(exports, "MarketType", { enumerable: true, get: function () { return market_js_1.Type; } });
95
+ Object.defineProperty(exports, "MarketState", { enumerable: true, get: function () { return market_js_1.State; } });
92
96
  Object.defineProperty(exports, "Commitment", { enumerable: true, get: function () { return market_js_1.Commitment; } });
93
97
  Object.defineProperty(exports, "Resolution", { enumerable: true, get: function () { return market_js_1.Resolution; } });
94
98
  Object.defineProperty(exports, "Market", { enumerable: true, get: function () { return market_js_1.Market; } });
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ /**
3
+ * This file was auto-generated by openapi-typescript.
4
+ * Do not make direct changes to the file.
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });