@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
@@ -132,13 +132,8 @@ export declare const govSimpleDef: {
132
132
  };
133
133
  };
134
134
  readonly finalize: {
135
- readonly description: "Finalize the voting period";
136
- readonly required: readonly ["forCount"];
137
- readonly properties: {
138
- readonly forCount: {
139
- readonly type: "number";
140
- };
141
- };
135
+ readonly description: "Finalize the voting period (for-count derived from recorded ballots)";
136
+ readonly properties: {};
142
137
  };
143
138
  readonly file_dispute: {
144
139
  readonly description: "File a dispute against a member";
@@ -183,35 +178,46 @@ export declare const govSimpleDef: {
183
178
  };
184
179
  };
185
180
  readonly dissolve: {
186
- readonly description: "Dissolve the organization (requires 90% approval)";
187
- readonly required: readonly ["approvalCount"];
188
- readonly properties: {
189
- readonly approvalCount: {
190
- readonly type: "number";
191
- };
192
- };
181
+ readonly description: "Dissolve the organization (requires every member to sign this op — verified unanimity)";
182
+ readonly properties: {};
193
183
  };
194
184
  };
195
185
  readonly states: {
196
186
  readonly ACTIVE: {
197
187
  readonly id: "ACTIVE";
198
188
  readonly isFinal: false;
199
- readonly metadata: null;
189
+ readonly metadata: {
190
+ readonly label: "Active";
191
+ readonly description: "Governance is idle and ready to accept a proposal";
192
+ readonly category: "initial";
193
+ };
200
194
  };
201
195
  readonly VOTING: {
202
196
  readonly id: "VOTING";
203
197
  readonly isFinal: false;
204
- readonly metadata: null;
198
+ readonly metadata: {
199
+ readonly label: "Voting";
200
+ readonly description: "A proposal is open for voting";
201
+ readonly category: "pending";
202
+ };
205
203
  };
206
204
  readonly DISPUTE: {
207
205
  readonly id: "DISPUTE";
208
206
  readonly isFinal: false;
209
- readonly metadata: null;
207
+ readonly metadata: {
208
+ readonly label: "Dispute";
209
+ readonly description: "A proposal outcome is being disputed";
210
+ readonly category: "pending";
211
+ };
210
212
  };
211
213
  readonly DISSOLVED: {
212
214
  readonly id: "DISSOLVED";
213
215
  readonly isFinal: true;
214
- readonly metadata: null;
216
+ readonly metadata: {
217
+ readonly label: "Dissolved";
218
+ readonly description: "Governance entity dissolved (terminal)";
219
+ readonly category: "terminal";
220
+ };
215
221
  };
216
222
  };
217
223
  readonly initialState: "ACTIVE";
@@ -219,19 +225,13 @@ export declare const govSimpleDef: {
219
225
  readonly from: "ACTIVE";
220
226
  readonly to: "ACTIVE";
221
227
  readonly eventName: "add_member";
222
- readonly guard: {
223
- readonly in: readonly [{
224
- readonly var: "event.agent";
225
- }, {
226
- readonly var: "state.admins";
227
- }];
228
- };
228
+ readonly guard: import("../../../schema/guards.js").GuardRule;
229
229
  readonly effect: {
230
230
  readonly merge: readonly [{
231
231
  readonly var: "state";
232
232
  }, {
233
233
  readonly members: {
234
- readonly setKey: readonly [{
234
+ readonly set: readonly [{
235
235
  readonly var: "state.members";
236
236
  }, {
237
237
  readonly var: "event.member";
@@ -240,7 +240,7 @@ export declare const govSimpleDef: {
240
240
  readonly var: "event.role";
241
241
  };
242
242
  readonly addedAt: {
243
- readonly var: "$timestamp";
243
+ readonly var: "$ordinal";
244
244
  };
245
245
  }];
246
246
  };
@@ -251,19 +251,13 @@ export declare const govSimpleDef: {
251
251
  readonly from: "ACTIVE";
252
252
  readonly to: "ACTIVE";
253
253
  readonly eventName: "remove_member";
254
- readonly guard: {
255
- readonly in: readonly [{
256
- readonly var: "event.agent";
257
- }, {
258
- readonly var: "state.admins";
259
- }];
260
- };
254
+ readonly guard: import("../../../schema/guards.js").GuardRule;
261
255
  readonly effect: {
262
256
  readonly merge: readonly [{
263
257
  readonly var: "state";
264
258
  }, {
265
259
  readonly members: {
266
- readonly deleteKey: readonly [{
260
+ readonly unset: readonly [{
267
261
  readonly var: "state.members";
268
262
  }, {
269
263
  readonly var: "event.member";
@@ -276,13 +270,7 @@ export declare const govSimpleDef: {
276
270
  readonly from: "ACTIVE";
277
271
  readonly to: "VOTING";
278
272
  readonly eventName: "propose";
279
- readonly guard: {
280
- readonly getKey: readonly [{
281
- readonly var: "state.members";
282
- }, {
283
- readonly var: "event.agent";
284
- }];
285
- };
273
+ readonly guard: import("../../../schema/guards.js").GuardRule;
286
274
  readonly effect: {
287
275
  readonly merge: readonly [{
288
276
  readonly var: "state";
@@ -301,11 +289,11 @@ export declare const govSimpleDef: {
301
289
  readonly var: "event.agent";
302
290
  };
303
291
  readonly proposedAt: {
304
- readonly var: "$timestamp";
292
+ readonly var: "$ordinal";
305
293
  };
306
294
  readonly deadline: {
307
295
  readonly "+": readonly [{
308
- readonly var: "$timestamp";
296
+ readonly var: "$ordinal";
309
297
  }, {
310
298
  readonly var: "state.votingPeriodMs";
311
299
  }];
@@ -320,15 +308,9 @@ export declare const govSimpleDef: {
320
308
  readonly to: "VOTING";
321
309
  readonly eventName: "vote";
322
310
  readonly guard: {
323
- readonly and: readonly [{
324
- readonly getKey: readonly [{
325
- readonly var: "state.members";
326
- }, {
327
- readonly var: "event.agent";
328
- }];
329
- }, {
311
+ readonly and: readonly [import("../../../schema/guards.js").GuardRule, {
330
312
  readonly "!": readonly [{
331
- readonly getKey: readonly [{
313
+ readonly has: readonly [{
332
314
  readonly var: "state.votes";
333
315
  }, {
334
316
  readonly var: "event.agent";
@@ -341,7 +323,7 @@ export declare const govSimpleDef: {
341
323
  readonly var: "state";
342
324
  }, {
343
325
  readonly votes: {
344
- readonly setKey: readonly [{
326
+ readonly set: readonly [{
345
327
  readonly var: "state.votes";
346
328
  }, {
347
329
  readonly var: "event.agent";
@@ -350,7 +332,7 @@ export declare const govSimpleDef: {
350
332
  readonly var: "event.vote";
351
333
  };
352
334
  readonly votedAt: {
353
- readonly var: "$timestamp";
335
+ readonly var: "$ordinal";
354
336
  };
355
337
  }];
356
338
  };
@@ -363,12 +345,24 @@ export declare const govSimpleDef: {
363
345
  readonly eventName: "finalize";
364
346
  readonly guard: {
365
347
  readonly ">=": readonly [{
366
- readonly var: "event.forCount";
348
+ readonly length: readonly [{
349
+ readonly filter: readonly [{
350
+ readonly values: readonly [{
351
+ readonly var: "state.votes";
352
+ }];
353
+ }, {
354
+ readonly "===": readonly [{
355
+ readonly var: "vote";
356
+ }, "for"];
357
+ }];
358
+ }];
367
359
  }, {
368
360
  readonly "*": readonly [{
369
- readonly size: {
370
- readonly var: "state.members";
371
- };
361
+ readonly length: readonly [{
362
+ readonly keys: readonly [{
363
+ readonly var: "state.members";
364
+ }];
365
+ }];
372
366
  }, {
373
367
  readonly var: "state.passingThreshold";
374
368
  }];
@@ -395,7 +389,7 @@ export declare const govSimpleDef: {
395
389
  };
396
390
  readonly outcome: "passed";
397
391
  readonly finalizedAt: {
398
- readonly var: "$timestamp";
392
+ readonly var: "$ordinal";
399
393
  };
400
394
  }]];
401
395
  };
@@ -410,12 +404,24 @@ export declare const govSimpleDef: {
410
404
  readonly eventName: "finalize";
411
405
  readonly guard: {
412
406
  readonly "<": readonly [{
413
- readonly var: "event.forCount";
407
+ readonly length: readonly [{
408
+ readonly filter: readonly [{
409
+ readonly values: readonly [{
410
+ readonly var: "state.votes";
411
+ }];
412
+ }, {
413
+ readonly "===": readonly [{
414
+ readonly var: "vote";
415
+ }, "for"];
416
+ }];
417
+ }];
414
418
  }, {
415
419
  readonly "*": readonly [{
416
- readonly size: {
417
- readonly var: "state.members";
418
- };
420
+ readonly length: readonly [{
421
+ readonly keys: readonly [{
422
+ readonly var: "state.members";
423
+ }];
424
+ }];
419
425
  }, {
420
426
  readonly var: "state.passingThreshold";
421
427
  }];
@@ -435,7 +441,7 @@ export declare const govSimpleDef: {
435
441
  };
436
442
  readonly outcome: "failed";
437
443
  readonly finalizedAt: {
438
- readonly var: "$timestamp";
444
+ readonly var: "$ordinal";
439
445
  };
440
446
  }]];
441
447
  };
@@ -448,13 +454,7 @@ export declare const govSimpleDef: {
448
454
  readonly from: "ACTIVE";
449
455
  readonly to: "DISPUTE";
450
456
  readonly eventName: "file_dispute";
451
- readonly guard: {
452
- readonly getKey: readonly [{
453
- readonly var: "state.members";
454
- }, {
455
- readonly var: "event.agent";
456
- }];
457
- };
457
+ readonly guard: import("../../../schema/guards.js").GuardRule;
458
458
  readonly effect: {
459
459
  readonly merge: readonly [{
460
460
  readonly var: "state";
@@ -473,7 +473,7 @@ export declare const govSimpleDef: {
473
473
  readonly var: "event.claim";
474
474
  };
475
475
  readonly filedAt: {
476
- readonly var: "$timestamp";
476
+ readonly var: "$ordinal";
477
477
  };
478
478
  readonly evidence: readonly [];
479
479
  };
@@ -485,21 +485,7 @@ export declare const govSimpleDef: {
485
485
  readonly from: "DISPUTE";
486
486
  readonly to: "DISPUTE";
487
487
  readonly eventName: "submit_evidence";
488
- readonly guard: {
489
- readonly or: readonly [{
490
- readonly "===": readonly [{
491
- readonly var: "event.agent";
492
- }, {
493
- readonly var: "state.dispute.plaintiff";
494
- }];
495
- }, {
496
- readonly "===": readonly [{
497
- readonly var: "event.agent";
498
- }, {
499
- readonly var: "state.dispute.defendant";
500
- }];
501
- }];
502
- };
488
+ readonly guard: import("../../../schema/guards.js").GuardRule;
503
489
  readonly effect: {
504
490
  readonly merge: readonly [{
505
491
  readonly var: "state";
@@ -519,7 +505,7 @@ export declare const govSimpleDef: {
519
505
  readonly var: "event.content";
520
506
  };
521
507
  readonly at: {
522
- readonly var: "$timestamp";
508
+ readonly var: "$ordinal";
523
509
  };
524
510
  }]];
525
511
  };
@@ -533,27 +519,9 @@ export declare const govSimpleDef: {
533
519
  readonly to: "DISPUTE";
534
520
  readonly eventName: "vote";
535
521
  readonly guard: {
536
- readonly and: readonly [{
537
- readonly getKey: readonly [{
538
- readonly var: "state.members";
539
- }, {
540
- readonly var: "event.agent";
541
- }];
542
- }, {
543
- readonly "!==": readonly [{
544
- readonly var: "event.agent";
545
- }, {
546
- readonly var: "state.dispute.plaintiff";
547
- }];
548
- }, {
549
- readonly "!==": readonly [{
550
- readonly var: "event.agent";
551
- }, {
552
- readonly var: "state.dispute.defendant";
553
- }];
554
- }, {
522
+ readonly and: readonly [import("../../../schema/guards.js").GuardRule, import("../../../schema/guards.js").GuardRule, import("../../../schema/guards.js").GuardRule, {
555
523
  readonly "!": readonly [{
556
- readonly getKey: readonly [{
524
+ readonly has: readonly [{
557
525
  readonly var: "state.votes";
558
526
  }, {
559
527
  readonly var: "event.agent";
@@ -566,7 +534,7 @@ export declare const govSimpleDef: {
566
534
  readonly var: "state";
567
535
  }, {
568
536
  readonly votes: {
569
- readonly setKey: readonly [{
537
+ readonly set: readonly [{
570
538
  readonly var: "state.votes";
571
539
  }, {
572
540
  readonly var: "event.agent";
@@ -575,7 +543,7 @@ export declare const govSimpleDef: {
575
543
  readonly var: "event.ruling";
576
544
  };
577
545
  readonly votedAt: {
578
- readonly var: "$timestamp";
546
+ readonly var: "$ordinal";
579
547
  };
580
548
  }];
581
549
  };
@@ -588,9 +556,11 @@ export declare const govSimpleDef: {
588
556
  readonly eventName: "resolve";
589
557
  readonly guard: {
590
558
  readonly ">=": readonly [{
591
- readonly size: {
592
- readonly var: "state.votes";
593
- };
559
+ readonly length: readonly [{
560
+ readonly keys: readonly [{
561
+ readonly var: "state.votes";
562
+ }];
563
+ }];
594
564
  }, {
595
565
  readonly var: "state.disputeQuorum";
596
566
  }];
@@ -614,7 +584,7 @@ export declare const govSimpleDef: {
614
584
  readonly var: "event.remedy";
615
585
  };
616
586
  readonly resolvedAt: {
617
- readonly var: "$timestamp";
587
+ readonly var: "$ordinal";
618
588
  };
619
589
  }]];
620
590
  };
@@ -628,14 +598,30 @@ export declare const govSimpleDef: {
628
598
  readonly to: "DISSOLVED";
629
599
  readonly eventName: "dissolve";
630
600
  readonly guard: {
631
- readonly ">=": readonly [{
632
- readonly var: "event.approvalCount";
601
+ readonly and: readonly [{
602
+ readonly ">": readonly [{
603
+ readonly length: readonly [{
604
+ readonly keys: readonly [{
605
+ readonly var: "state.members";
606
+ }];
607
+ }];
608
+ }, 0];
633
609
  }, {
634
- readonly "*": readonly [{
635
- readonly size: {
610
+ readonly all: readonly [{
611
+ readonly keys: readonly [{
636
612
  readonly var: "state.members";
637
- };
638
- }, 0.9];
613
+ }];
614
+ }, {
615
+ readonly in: readonly [{
616
+ readonly var: "";
617
+ }, {
618
+ readonly map: readonly [{
619
+ readonly var: "proofs";
620
+ }, {
621
+ readonly var: "address";
622
+ }];
623
+ }];
624
+ }];
639
625
  }];
640
626
  };
641
627
  readonly effect: {
@@ -643,7 +629,7 @@ export declare const govSimpleDef: {
643
629
  readonly var: "state";
644
630
  }, {
645
631
  readonly dissolvedAt: {
646
- readonly var: "$timestamp";
632
+ readonly var: "$ordinal";
647
633
  };
648
634
  }];
649
635
  };
@@ -74,17 +74,29 @@ export declare const govUniversalDef: {
74
74
  readonly ACTIVE: {
75
75
  readonly id: "ACTIVE";
76
76
  readonly isFinal: false;
77
- readonly metadata: null;
77
+ readonly metadata: {
78
+ readonly label: "Active";
79
+ readonly description: "Governance is idle and ready to accept a proposal";
80
+ readonly category: "initial";
81
+ };
78
82
  };
79
83
  readonly VOTING: {
80
84
  readonly id: "VOTING";
81
85
  readonly isFinal: false;
82
- readonly metadata: null;
86
+ readonly metadata: {
87
+ readonly label: "Voting";
88
+ readonly description: "A proposal is open for voting";
89
+ readonly category: "pending";
90
+ };
83
91
  };
84
92
  readonly DISSOLVED: {
85
93
  readonly id: "DISSOLVED";
86
94
  readonly isFinal: true;
87
- readonly metadata: null;
95
+ readonly metadata: {
96
+ readonly label: "Dissolved";
97
+ readonly description: "Governance entity dissolved (terminal)";
98
+ readonly category: "terminal";
99
+ };
88
100
  };
89
101
  };
90
102
  readonly initialState: "ACTIVE";
@@ -104,7 +116,7 @@ export declare const govUniversalDef: {
104
116
  readonly var: "event.proposal";
105
117
  };
106
118
  readonly proposedAt: {
107
- readonly var: "$timestamp";
119
+ readonly var: "$ordinal";
108
120
  };
109
121
  readonly votes: {};
110
122
  }];
@@ -172,7 +184,7 @@ export declare const govUniversalDef: {
172
184
  }, {
173
185
  readonly status: "DISSOLVED";
174
186
  readonly dissolvedAt: {
175
- readonly var: "$timestamp";
187
+ readonly var: "$ordinal";
176
188
  };
177
189
  }];
178
190
  };
@@ -5,24 +5,52 @@
5
5
  *
6
6
  * @packageDocumentation
7
7
  */
8
- import { IdentityState } from "../../generated/ottochain/apps/identity/v1/identity.js";
8
+ import { State } from "../../generated/ottochain/apps/identity/v1/identity.js";
9
9
  import { AttestationType } from "../../generated/ottochain/apps/identity/v1/attestation.js";
10
10
  /**
11
11
  * Valid transitions for each identity state.
12
12
  * Maps current state to allowed event names.
13
13
  * Note: Some transitions are type-specific (agent vs oracle)
14
14
  */
15
- export declare const IDENTITY_TRANSITIONS: Record<IdentityState, readonly string[]>;
16
- export declare const AGENT_TRANSITIONS: Record<IdentityState, readonly string[]>;
15
+ export declare const IDENTITY_TRANSITIONS: Record<State, readonly string[]>;
16
+ export declare const AGENT_TRANSITIONS: Record<State, readonly string[]>;
17
17
  /**
18
18
  * Reputation delta by attestation type.
19
19
  * These values match the metagraph state machine defaults.
20
20
  */
21
21
  export declare const ATTESTATION_DELTAS: Record<AttestationType, number>;
22
+ /**
23
+ * Role-attestation types issued by the identity registry (identity-registry fiber).
24
+ * These are the ecosystem-wide authority roles consumer apps gate on via the registry
25
+ * dependency + `signerHasRole` (see docs/design/app-hardening-identity-integration.md §4.2).
26
+ */
27
+ export declare const REGISTRY_ROLES: {
28
+ readonly ARBITER: "ARBITER";
29
+ readonly SLASHER: "SLASHER";
30
+ readonly ISSUER: "ISSUER";
31
+ readonly BOARD_MEMBER: "BOARD_MEMBER";
32
+ };
33
+ export type RegistryRole = keyof typeof REGISTRY_ROLES;
34
+ /**
35
+ * Maps each role to the registry's flat per-role state-map field. A consumer app reads
36
+ * `machines.<registryDep>.state.<field>` (a `{ <address>: true }` map) and binds membership to a
37
+ * verified signer with `signerHasRole`. Kept in lock-step with the identity-registry stateSchema.
38
+ */
39
+ export declare const REGISTRY_ROLE_MAP: Record<RegistryRole, string>;
40
+ /**
41
+ * Build the `machines.<registryDep>.state.<roleMap>` var path a consumer guard reads to check a role,
42
+ * e.g. `registryRolePath("reg-uuid", "ARBITER")` → `"machines.reg-uuid.state.arbiters"`.
43
+ */
44
+ export declare function registryRolePath(registryDep: string, role: RegistryRole): string;
45
+ /**
46
+ * Build the `machines.<registryDep>.state.reputations` var path a consumer guard reads for a
47
+ * reputation gate (`signerHasReputation`).
48
+ */
49
+ export declare function registryReputationPath(registryDep: string): string;
22
50
  /**
23
51
  * Check if a transition is valid for the given state.
24
52
  */
25
- export declare function canTransition(state: IdentityState, event: string): boolean;
53
+ export declare function canTransition(state: State, event: string): boolean;
26
54
  /**
27
55
  * Get reputation delta for an attestation type.
28
56
  */