@ottochain/sdk 2.3.0 → 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 (209) hide show
  1. package/dist/cjs/apps/contracts/index.js +15 -8
  2. package/dist/cjs/apps/contracts/state-machines/contract-agreement.js +35 -40
  3. package/dist/cjs/apps/contracts/state-machines/contract-escrow.js +80 -37
  4. package/dist/cjs/apps/contracts/state-machines/contract-universal.js +4 -4
  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 +58 -40
  12. package/dist/cjs/apps/governance/state-machines/dao-reputation.js +46 -40
  13. package/dist/cjs/apps/governance/state-machines/dao-single.js +28 -11
  14. package/dist/cjs/apps/governance/state-machines/dao-token.js +67 -41
  15. package/dist/cjs/apps/governance/state-machines/governance-simple.js +93 -61
  16. package/dist/cjs/apps/governance/state-machines/governance-universal.js +2 -2
  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 +3 -3
  20. package/dist/cjs/apps/identity/state-machines/identity-oracle.js +25 -22
  21. package/dist/cjs/apps/identity/state-machines/identity-registry.js +288 -0
  22. package/dist/cjs/apps/identity/state-machines/identity-universal.js +3 -3
  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 +14 -13
  33. package/dist/cjs/apps/markets/state-machines/market-crowdfund.js +29 -24
  34. package/dist/cjs/apps/markets/state-machines/market-group-buy.js +24 -26
  35. package/dist/cjs/apps/markets/state-machines/market-prediction.js +80 -53
  36. package/dist/cjs/apps/markets/state-machines/market-universal.js +5 -5
  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 +4 -4
  49. package/dist/cjs/generated/ottochain/v1/fiber.js +4 -4
  50. package/dist/cjs/index.js +41 -7
  51. package/dist/cjs/openapi.js +2 -0
  52. package/dist/cjs/ottochain/drop-nulls.js +1 -2
  53. package/dist/cjs/ottochain/genesis-manifest.js +11 -11
  54. package/dist/cjs/ottochain/index.js +23 -13
  55. package/dist/cjs/ottochain/metagraph-client.js +65 -8
  56. package/dist/cjs/ottochain/snapshot.js +11 -12
  57. package/dist/cjs/ottochain/transaction.js +57 -14
  58. package/dist/cjs/ottochain/types.js +16 -2
  59. package/dist/cjs/privacy/index.js +14 -0
  60. package/dist/cjs/privacy/sealed-bid.js +210 -0
  61. package/dist/cjs/privacy/shield-app.js +131 -0
  62. package/dist/cjs/schema/effects.js +40 -0
  63. package/dist/cjs/schema/fiber-app.js +19 -13
  64. package/dist/cjs/schema/guard-lint.js +352 -0
  65. package/dist/cjs/schema/guards.js +246 -0
  66. package/dist/cjs/signing.js +80 -0
  67. package/dist/cjs/types.js +2 -3
  68. package/dist/cjs/validation.js +8 -8
  69. package/dist/cjs/verify.js +9 -4
  70. package/dist/cjs/zk/commit.js +53 -0
  71. package/dist/cjs/zk/guard.js +107 -0
  72. package/dist/cjs/zk/index.js +48 -0
  73. package/dist/cjs/zk/preimage.js +37 -0
  74. package/dist/cjs/zk/prover.js +87 -0
  75. package/dist/cjs/zk/registry.js +62 -0
  76. package/dist/cjs/zk/types.js +28 -0
  77. package/dist/cjs/zk/witness.js +19 -0
  78. package/dist/esm/apps/contracts/index.js +7 -3
  79. package/dist/esm/apps/contracts/state-machines/contract-agreement.js +35 -40
  80. package/dist/esm/apps/contracts/state-machines/contract-escrow.js +80 -37
  81. package/dist/esm/apps/contracts/state-machines/contract-universal.js +4 -4
  82. package/dist/esm/apps/corporate/state-machines/corp-board.js +169 -59
  83. package/dist/esm/apps/corporate/state-machines/corp-entity.js +245 -47
  84. package/dist/esm/apps/corporate/state-machines/corp-securities.js +407 -99
  85. package/dist/esm/apps/corporate/state-machines/corp-shareholders.js +151 -37
  86. package/dist/esm/apps/governance/state-machines/dao-multisig.js +58 -40
  87. package/dist/esm/apps/governance/state-machines/dao-reputation.js +46 -40
  88. package/dist/esm/apps/governance/state-machines/dao-single.js +28 -11
  89. package/dist/esm/apps/governance/state-machines/dao-token.js +67 -41
  90. package/dist/esm/apps/governance/state-machines/governance-simple.js +93 -61
  91. package/dist/esm/apps/governance/state-machines/governance-universal.js +2 -2
  92. package/dist/esm/apps/identity/constants.js +51 -12
  93. package/dist/esm/apps/identity/index.js +12 -7
  94. package/dist/esm/apps/identity/state-machines/identity-agent.js +3 -3
  95. package/dist/esm/apps/identity/state-machines/identity-oracle.js +25 -22
  96. package/dist/esm/apps/identity/state-machines/identity-registry.js +285 -0
  97. package/dist/esm/apps/identity/state-machines/identity-universal.js +3 -3
  98. package/dist/esm/apps/identity/state-machines/index.js +1 -0
  99. package/dist/esm/apps/index.js +1 -0
  100. package/dist/esm/apps/lending/assets.js +207 -0
  101. package/dist/esm/apps/lending/credit-scoring.js +81 -0
  102. package/dist/esm/apps/lending/eligibility.js +115 -0
  103. package/dist/esm/apps/lending/index.js +69 -0
  104. package/dist/esm/apps/lending/state-machines/index.js +5 -0
  105. package/dist/esm/apps/lending/state-machines/lending-zk-loan.js +409 -0
  106. package/dist/esm/apps/markets/index.js +8 -4
  107. package/dist/esm/apps/markets/state-machines/market-auction.js +14 -13
  108. package/dist/esm/apps/markets/state-machines/market-crowdfund.js +29 -24
  109. package/dist/esm/apps/markets/state-machines/market-group-buy.js +24 -26
  110. package/dist/esm/apps/markets/state-machines/market-prediction.js +80 -53
  111. package/dist/esm/apps/markets/state-machines/market-universal.js +5 -5
  112. package/dist/esm/generated/index.js +9 -5
  113. package/dist/esm/generated/openapi.js +5 -0
  114. package/dist/esm/generated/ottochain/apps/contracts/v1/contract.js +46 -46
  115. package/dist/esm/generated/ottochain/apps/identity/v1/identity.js +114 -120
  116. package/dist/esm/generated/ottochain/apps/markets/v1/market.js +100 -100
  117. package/dist/esm/index.js +21 -2
  118. package/dist/esm/openapi.js +1 -0
  119. package/dist/esm/ottochain/genesis-manifest.js +9 -9
  120. package/dist/esm/ottochain/index.js +2 -3
  121. package/dist/esm/ottochain/metagraph-client.js +65 -8
  122. package/dist/esm/ottochain/snapshot.js +4 -4
  123. package/dist/esm/ottochain/transaction.js +43 -3
  124. package/dist/esm/ottochain/types.js +15 -1
  125. package/dist/esm/privacy/index.js +6 -0
  126. package/dist/esm/privacy/sealed-bid.js +206 -0
  127. package/dist/esm/privacy/shield-app.js +127 -0
  128. package/dist/esm/schema/effects.js +35 -0
  129. package/dist/esm/schema/fiber-app.js +13 -6
  130. package/dist/esm/schema/guard-lint.js +346 -0
  131. package/dist/esm/schema/guards.js +229 -0
  132. package/dist/esm/signing.js +74 -0
  133. package/dist/esm/verify.js +8 -2
  134. package/dist/esm/zk/commit.js +44 -0
  135. package/dist/esm/zk/guard.js +99 -0
  136. package/dist/esm/zk/index.js +19 -0
  137. package/dist/esm/zk/preimage.js +30 -0
  138. package/dist/esm/zk/prover.js +82 -0
  139. package/dist/esm/zk/registry.js +55 -0
  140. package/dist/esm/zk/types.js +25 -0
  141. package/dist/esm/zk/witness.js +15 -0
  142. package/dist/types/apps/contracts/index.d.ts +69 -209
  143. package/dist/types/apps/contracts/state-machines/contract-agreement.d.ts +20 -95
  144. package/dist/types/apps/contracts/state-machines/contract-escrow.d.ts +46 -112
  145. package/dist/types/apps/corporate/index.d.ts +1040 -304
  146. package/dist/types/apps/corporate/state-machines/corp-board.d.ts +188 -52
  147. package/dist/types/apps/corporate/state-machines/corp-entity.d.ts +267 -62
  148. package/dist/types/apps/corporate/state-machines/corp-securities.d.ts +355 -131
  149. package/dist/types/apps/corporate/state-machines/corp-shareholders.d.ts +225 -53
  150. package/dist/types/apps/governance/index.d.ts +296 -398
  151. package/dist/types/apps/governance/state-machines/dao-multisig.d.ts +77 -92
  152. package/dist/types/apps/governance/state-machines/dao-reputation.d.ts +42 -66
  153. package/dist/types/apps/governance/state-machines/dao-single.d.ts +25 -47
  154. package/dist/types/apps/governance/state-machines/dao-token.d.ts +60 -49
  155. package/dist/types/apps/governance/state-machines/governance-simple.d.ts +87 -117
  156. package/dist/types/apps/governance/state-machines/governance-universal.d.ts +2 -2
  157. package/dist/types/apps/identity/constants.d.ts +32 -4
  158. package/dist/types/apps/identity/index.d.ts +378 -94
  159. package/dist/types/apps/identity/state-machines/identity-oracle.d.ts +16 -87
  160. package/dist/types/apps/identity/state-machines/identity-registry.d.ts +379 -0
  161. package/dist/types/apps/identity/state-machines/index.d.ts +1 -0
  162. package/dist/types/apps/index.d.ts +1 -0
  163. package/dist/types/apps/lending/assets.d.ts +258 -0
  164. package/dist/types/apps/lending/credit-scoring.d.ts +80 -0
  165. package/dist/types/apps/lending/eligibility.d.ts +83 -0
  166. package/dist/types/apps/lending/index.d.ts +548 -0
  167. package/dist/types/apps/lending/state-machines/index.d.ts +5 -0
  168. package/dist/types/apps/lending/state-machines/lending-zk-loan.d.ts +528 -0
  169. package/dist/types/apps/markets/index.d.ts +108 -203
  170. package/dist/types/apps/markets/state-machines/market-auction.d.ts +13 -37
  171. package/dist/types/apps/markets/state-machines/market-crowdfund.d.ts +16 -34
  172. package/dist/types/apps/markets/state-machines/market-group-buy.d.ts +17 -43
  173. package/dist/types/apps/markets/state-machines/market-prediction.d.ts +51 -72
  174. package/dist/types/apps/markets/state-machines/market-universal.d.ts +5 -5
  175. package/dist/types/generated/index.d.ts +5 -5
  176. package/dist/types/generated/openapi.d.ts +1257 -0
  177. package/dist/types/generated/ottochain/apps/contracts/v1/contract.d.ts +5 -5
  178. package/dist/types/generated/ottochain/apps/identity/v1/identity.d.ts +12 -12
  179. package/dist/types/generated/ottochain/apps/markets/v1/market.d.ts +11 -11
  180. package/dist/types/index.d.ts +6 -2
  181. package/dist/types/openapi.d.ts +22 -0
  182. package/dist/types/ottochain/genesis-manifest.d.ts +5 -5
  183. package/dist/types/ottochain/index.d.ts +5 -6
  184. package/dist/types/ottochain/metagraph-client.d.ts +49 -7
  185. package/dist/types/ottochain/snapshot.d.ts +6 -6
  186. package/dist/types/ottochain/transaction.d.ts +33 -1
  187. package/dist/types/ottochain/types.d.ts +335 -30
  188. package/dist/types/privacy/index.d.ts +6 -0
  189. package/dist/types/privacy/sealed-bid.d.ts +348 -0
  190. package/dist/types/privacy/shield-app.d.ts +48 -0
  191. package/dist/types/schema/effects.d.ts +34 -0
  192. package/dist/types/schema/fiber-app.d.ts +1 -2
  193. package/dist/types/schema/guard-lint.d.ts +111 -0
  194. package/dist/types/schema/guards.d.ts +134 -0
  195. package/dist/types/signing.d.ts +45 -0
  196. package/dist/types/validation.d.ts +22 -217
  197. package/dist/types/verify.d.ts +4 -0
  198. package/dist/types/zk/commit.d.ts +28 -0
  199. package/dist/types/zk/guard.d.ts +46 -0
  200. package/dist/types/zk/index.d.ts +19 -0
  201. package/dist/types/zk/preimage.d.ts +10 -0
  202. package/dist/types/zk/prover.d.ts +34 -0
  203. package/dist/types/zk/registry.d.ts +34 -0
  204. package/dist/types/zk/types.d.ts +33 -0
  205. package/dist/types/zk/witness.d.ts +40 -0
  206. package/package.json +27 -13
  207. package/dist/cjs/ottochain/normalize.js +0 -186
  208. package/dist/esm/ottochain/normalize.js +0 -179
  209. package/dist/types/ottochain/normalize.d.ts +0 -79
@@ -10,13 +10,18 @@ export declare const identityOracleDef: {
10
10
  description: string;
11
11
  };
12
12
  createSchema: {
13
- required: readonly ["owner", "stake", "domains"];
13
+ required: readonly ["owner", "stake", "domains", "slasher"];
14
14
  properties: {
15
15
  owner: {
16
16
  type: "address";
17
17
  description: string;
18
18
  immutable: true;
19
19
  };
20
+ slasher: {
21
+ type: "address";
22
+ description: string;
23
+ immutable: true;
24
+ };
20
25
  stake: {
21
26
  type: "integer";
22
27
  minimum: number;
@@ -42,6 +47,10 @@ export declare const identityOracleDef: {
42
47
  type: "address";
43
48
  immutable: true;
44
49
  };
50
+ slasher: {
51
+ type: "address";
52
+ immutable: true;
53
+ };
45
54
  address: {
46
55
  type: "address";
47
56
  computed: true;
@@ -131,10 +140,6 @@ export declare const identityOracleDef: {
131
140
  agent: {
132
141
  type: "address";
133
142
  };
134
- adminOverride: {
135
- type: "boolean";
136
- default: boolean;
137
- };
138
143
  };
139
144
  };
140
145
  add_stake: {
@@ -253,10 +258,8 @@ export declare const identityOracleDef: {
253
258
  ">=": {
254
259
  var: string;
255
260
  }[];
256
- or?: undefined;
257
261
  and?: undefined;
258
262
  var?: undefined;
259
- "==="?: undefined;
260
263
  };
261
264
  effect: {
262
265
  merge: ({
@@ -296,21 +299,7 @@ export declare const identityOracleDef: {
296
299
  from: "REGISTERED";
297
300
  to: "ACTIVE";
298
301
  eventName: "activate";
299
- guard: {
300
- or: ({
301
- "===": {
302
- var: string;
303
- }[];
304
- var?: undefined;
305
- } | {
306
- var: string;
307
- "==="?: undefined;
308
- })[];
309
- ">="?: undefined;
310
- and?: undefined;
311
- var?: undefined;
312
- "==="?: undefined;
313
- };
302
+ guard: import("../../../schema/guards.js").GuardRule;
314
303
  effect: {
315
304
  merge: ({
316
305
  var: string;
@@ -329,21 +318,9 @@ export declare const identityOracleDef: {
329
318
  to: "ACTIVE";
330
319
  eventName: "add_stake";
331
320
  guard: {
332
- and: ({
333
- "===": {
334
- var: string;
335
- }[];
336
- ">"?: undefined;
337
- } | {
338
- ">": (number | {
339
- var: string;
340
- })[];
341
- "==="?: undefined;
342
- })[];
321
+ and: import("../../../schema/guards.js").GuardRule[];
343
322
  ">="?: undefined;
344
- or?: undefined;
345
323
  var?: undefined;
346
- "==="?: undefined;
347
324
  };
348
325
  effect: {
349
326
  merge: ({
@@ -369,9 +346,7 @@ export declare const identityOracleDef: {
369
346
  guard: {
370
347
  var: string;
371
348
  ">="?: undefined;
372
- or?: undefined;
373
349
  and?: undefined;
374
- "==="?: undefined;
375
350
  };
376
351
  effect: {
377
352
  merge: ({
@@ -415,27 +390,9 @@ export declare const identityOracleDef: {
415
390
  to: "SLASHED";
416
391
  eventName: "slash";
417
392
  guard: {
418
- and: ({
419
- var: string;
420
- ">"?: undefined;
421
- "<="?: undefined;
422
- } | {
423
- ">": (number | {
424
- var: string;
425
- })[];
426
- var?: undefined;
427
- "<="?: undefined;
428
- } | {
429
- "<=": {
430
- var: string;
431
- }[];
432
- var?: undefined;
433
- ">"?: undefined;
434
- })[];
393
+ and: import("../../../schema/guards.js").GuardRule[];
435
394
  ">="?: undefined;
436
- or?: undefined;
437
395
  var?: undefined;
438
- "==="?: undefined;
439
396
  };
440
397
  effect: {
441
398
  merge: ({
@@ -480,21 +437,9 @@ export declare const identityOracleDef: {
480
437
  to: "ACTIVE";
481
438
  eventName: "reactivate";
482
439
  guard: {
483
- and: ({
484
- "===": {
485
- var: string;
486
- }[];
487
- ">="?: undefined;
488
- } | {
489
- ">=": {
490
- var: string;
491
- }[];
492
- "==="?: undefined;
493
- })[];
440
+ and: import("../../../schema/guards.js").GuardRule[];
494
441
  ">="?: undefined;
495
- or?: undefined;
496
442
  var?: undefined;
497
- "==="?: undefined;
498
443
  };
499
444
  effect: {
500
445
  merge: ({
@@ -513,15 +458,7 @@ export declare const identityOracleDef: {
513
458
  from: "ACTIVE";
514
459
  to: "WITHDRAWN";
515
460
  eventName: "withdraw";
516
- guard: {
517
- "===": {
518
- var: string;
519
- }[];
520
- ">="?: undefined;
521
- or?: undefined;
522
- and?: undefined;
523
- var?: undefined;
524
- };
461
+ guard: import("../../../schema/guards.js").GuardRule;
525
462
  effect: {
526
463
  merge: ({
527
464
  var: string;
@@ -543,15 +480,7 @@ export declare const identityOracleDef: {
543
480
  from: "SLASHED";
544
481
  to: "WITHDRAWN";
545
482
  eventName: "withdraw";
546
- guard: {
547
- "===": {
548
- var: string;
549
- }[];
550
- ">="?: undefined;
551
- or?: undefined;
552
- and?: undefined;
553
- var?: undefined;
554
- };
483
+ guard: import("../../../schema/guards.js").GuardRule;
555
484
  effect: {
556
485
  merge: ({
557
486
  var: string;
@@ -0,0 +1,379 @@
1
+ /**
2
+ * Identity Registry — the ecosystem authority & reputation source.
3
+ *
4
+ * Aggregates, under a single authority-governed fiber:
5
+ * - `reputations: { <address>: int }` — the public reputation read by reputation-gated apps
6
+ * (dao-reputation, credit-scoring) via a declared dependency + the `signerHasReputation` helper.
7
+ * - role attestations (ARBITER / SLASHER / ISSUER / BOARD_MEMBER) as FLAT per-role maps
8
+ * `{ <address>: true }`, read via the `signerHasRole` helper for judicial / issuance / governance
9
+ * authority gates.
10
+ *
11
+ * Writes are gated to the registry's pinned `authority` (immutable, set at create) and bound to the
12
+ * CHAIN-VERIFIED signer via `signerIsParty("state.authority")` — never `event.agent`. Reads happen
13
+ * cross-fiber: a consumer app declares this registry as a dependency and reads
14
+ * `machines.<registryDep>.state.reputations` / `.arbiters` / … bound to `proofs[].address`.
15
+ *
16
+ * Roles are flat per-role maps rather than a nested `roles[addr][ROLE]` map on purpose: metakit
17
+ * `get`/`has` on a NULL inner map throw (they are not null-total), so a nested read would error for
18
+ * any signer with no roles entry — the common case. Flat maps keep both the write (`set`/`unset`) and
19
+ * the read (`has`) total and fail-closed. New role types are added as new state maps + a cascade arm.
20
+ *
21
+ * See docs/design/app-hardening-identity-integration.md §3–§4 and src/schema/guards.ts
22
+ * (signerHasReputation / signerHasRole).
23
+ */
24
+ export declare const identityRegistryDef: {
25
+ metadata: {
26
+ name: string;
27
+ app: string;
28
+ type: string;
29
+ version: string;
30
+ description: string;
31
+ crossReferences: {
32
+ IdentityAgent: string;
33
+ Governance: string;
34
+ Contracts: string;
35
+ Corporate: string;
36
+ };
37
+ };
38
+ createSchema: {
39
+ required: readonly ["authority"];
40
+ properties: {
41
+ authority: {
42
+ type: "address";
43
+ description: string;
44
+ immutable: true;
45
+ };
46
+ };
47
+ };
48
+ stateSchema: {
49
+ properties: {
50
+ authority: {
51
+ type: "address";
52
+ immutable: true;
53
+ };
54
+ reputations: {
55
+ type: "object";
56
+ computed: true;
57
+ };
58
+ arbiters: {
59
+ type: "object";
60
+ computed: true;
61
+ };
62
+ slashers: {
63
+ type: "object";
64
+ computed: true;
65
+ };
66
+ issuers: {
67
+ type: "object";
68
+ computed: true;
69
+ };
70
+ boardMembers: {
71
+ type: "object";
72
+ computed: true;
73
+ };
74
+ };
75
+ };
76
+ eventSchemas: {
77
+ set_reputation: {
78
+ description: string;
79
+ required: readonly ["subject", "score"];
80
+ properties: {
81
+ subject: {
82
+ type: "address";
83
+ };
84
+ score: {
85
+ type: "integer";
86
+ };
87
+ };
88
+ };
89
+ adjust_reputation: {
90
+ description: string;
91
+ required: readonly ["subject", "delta"];
92
+ properties: {
93
+ subject: {
94
+ type: "address";
95
+ };
96
+ delta: {
97
+ type: "integer";
98
+ };
99
+ };
100
+ };
101
+ grant_role: {
102
+ description: string;
103
+ required: readonly ["subject", "role"];
104
+ properties: {
105
+ subject: {
106
+ type: "address";
107
+ };
108
+ role: {
109
+ type: "string";
110
+ enum: readonly ["ARBITER", "SLASHER", "ISSUER", "BOARD_MEMBER"];
111
+ };
112
+ };
113
+ };
114
+ revoke_role: {
115
+ description: string;
116
+ required: readonly ["subject", "role"];
117
+ properties: {
118
+ subject: {
119
+ type: "address";
120
+ };
121
+ role: {
122
+ type: "string";
123
+ enum: readonly ["ARBITER", "SLASHER", "ISSUER", "BOARD_MEMBER"];
124
+ };
125
+ };
126
+ };
127
+ };
128
+ states: {
129
+ ACTIVE: {
130
+ id: string;
131
+ isFinal: false;
132
+ metadata: {
133
+ label: string;
134
+ description: string;
135
+ category: "active";
136
+ };
137
+ };
138
+ };
139
+ initialState: "ACTIVE";
140
+ transitions: ({
141
+ from: "ACTIVE";
142
+ to: "ACTIVE";
143
+ eventName: "set_reputation";
144
+ guard: import("../../../schema/guards.js").GuardRule;
145
+ effect: {
146
+ merge: ({
147
+ var: string;
148
+ reputations?: undefined;
149
+ } | {
150
+ reputations: {
151
+ set: {
152
+ var: string;
153
+ }[];
154
+ };
155
+ var?: undefined;
156
+ })[];
157
+ };
158
+ dependencies: never[];
159
+ } | {
160
+ from: "ACTIVE";
161
+ to: "ACTIVE";
162
+ eventName: "adjust_reputation";
163
+ guard: import("../../../schema/guards.js").GuardRule;
164
+ effect: {
165
+ merge: ({
166
+ var: string;
167
+ reputations?: undefined;
168
+ } | {
169
+ reputations: {
170
+ set: ({
171
+ var: string;
172
+ "+"?: undefined;
173
+ } | {
174
+ "+": ({
175
+ get: {
176
+ var: string;
177
+ }[];
178
+ var?: undefined;
179
+ } | {
180
+ var: string;
181
+ get?: undefined;
182
+ })[];
183
+ var?: undefined;
184
+ })[];
185
+ };
186
+ var?: undefined;
187
+ })[];
188
+ };
189
+ dependencies: never[];
190
+ } | {
191
+ from: "ACTIVE";
192
+ to: "ACTIVE";
193
+ eventName: "grant_role";
194
+ guard: import("../../../schema/guards.js").GuardRule;
195
+ effect: {
196
+ merge: ({
197
+ var: string;
198
+ arbiters?: undefined;
199
+ slashers?: undefined;
200
+ issuers?: undefined;
201
+ boardMembers?: undefined;
202
+ } | {
203
+ arbiters: {
204
+ if: ({
205
+ "==": (string | {
206
+ var: string;
207
+ })[];
208
+ set?: undefined;
209
+ var?: undefined;
210
+ } | {
211
+ set: (boolean | {
212
+ var: string;
213
+ })[];
214
+ "=="?: undefined;
215
+ var?: undefined;
216
+ } | {
217
+ var: string;
218
+ "=="?: undefined;
219
+ set?: undefined;
220
+ })[];
221
+ };
222
+ slashers: {
223
+ if: ({
224
+ "==": (string | {
225
+ var: string;
226
+ })[];
227
+ set?: undefined;
228
+ var?: undefined;
229
+ } | {
230
+ set: (boolean | {
231
+ var: string;
232
+ })[];
233
+ "=="?: undefined;
234
+ var?: undefined;
235
+ } | {
236
+ var: string;
237
+ "=="?: undefined;
238
+ set?: undefined;
239
+ })[];
240
+ };
241
+ issuers: {
242
+ if: ({
243
+ "==": (string | {
244
+ var: string;
245
+ })[];
246
+ set?: undefined;
247
+ var?: undefined;
248
+ } | {
249
+ set: (boolean | {
250
+ var: string;
251
+ })[];
252
+ "=="?: undefined;
253
+ var?: undefined;
254
+ } | {
255
+ var: string;
256
+ "=="?: undefined;
257
+ set?: undefined;
258
+ })[];
259
+ };
260
+ boardMembers: {
261
+ if: ({
262
+ "==": (string | {
263
+ var: string;
264
+ })[];
265
+ set?: undefined;
266
+ var?: undefined;
267
+ } | {
268
+ set: (boolean | {
269
+ var: string;
270
+ })[];
271
+ "=="?: undefined;
272
+ var?: undefined;
273
+ } | {
274
+ var: string;
275
+ "=="?: undefined;
276
+ set?: undefined;
277
+ })[];
278
+ };
279
+ var?: undefined;
280
+ })[];
281
+ };
282
+ dependencies: never[];
283
+ } | {
284
+ from: "ACTIVE";
285
+ to: "ACTIVE";
286
+ eventName: "revoke_role";
287
+ guard: import("../../../schema/guards.js").GuardRule;
288
+ effect: {
289
+ merge: ({
290
+ var: string;
291
+ arbiters?: undefined;
292
+ slashers?: undefined;
293
+ issuers?: undefined;
294
+ boardMembers?: undefined;
295
+ } | {
296
+ arbiters: {
297
+ if: ({
298
+ "==": (string | {
299
+ var: string;
300
+ })[];
301
+ unset?: undefined;
302
+ var?: undefined;
303
+ } | {
304
+ unset: {
305
+ var: string;
306
+ }[];
307
+ "=="?: undefined;
308
+ var?: undefined;
309
+ } | {
310
+ var: string;
311
+ "=="?: undefined;
312
+ unset?: undefined;
313
+ })[];
314
+ };
315
+ slashers: {
316
+ if: ({
317
+ "==": (string | {
318
+ var: string;
319
+ })[];
320
+ unset?: undefined;
321
+ var?: undefined;
322
+ } | {
323
+ unset: {
324
+ var: string;
325
+ }[];
326
+ "=="?: undefined;
327
+ var?: undefined;
328
+ } | {
329
+ var: string;
330
+ "=="?: undefined;
331
+ unset?: undefined;
332
+ })[];
333
+ };
334
+ issuers: {
335
+ if: ({
336
+ "==": (string | {
337
+ var: string;
338
+ })[];
339
+ unset?: undefined;
340
+ var?: undefined;
341
+ } | {
342
+ unset: {
343
+ var: string;
344
+ }[];
345
+ "=="?: undefined;
346
+ var?: undefined;
347
+ } | {
348
+ var: string;
349
+ "=="?: undefined;
350
+ unset?: undefined;
351
+ })[];
352
+ };
353
+ boardMembers: {
354
+ if: ({
355
+ "==": (string | {
356
+ var: string;
357
+ })[];
358
+ unset?: undefined;
359
+ var?: undefined;
360
+ } | {
361
+ unset: {
362
+ var: string;
363
+ }[];
364
+ "=="?: undefined;
365
+ var?: undefined;
366
+ } | {
367
+ var: string;
368
+ "=="?: undefined;
369
+ unset?: undefined;
370
+ })[];
371
+ };
372
+ var?: undefined;
373
+ })[];
374
+ };
375
+ dependencies: never[];
376
+ })[];
377
+ };
378
+ export type RegistryState = keyof typeof identityRegistryDef.states;
379
+ export type RegistryEvent = (typeof identityRegistryDef.transitions)[number]["eventName"];
@@ -5,3 +5,4 @@
5
5
  export { identityAgentDef } from './identity-agent.js';
6
6
  export { identityOracleDef } from './identity-oracle.js';
7
7
  export { identityUniversalDef } from './identity-universal.js';
8
+ export { identityRegistryDef } from './identity-registry.js';
@@ -31,3 +31,4 @@ export * as contracts from "./contracts/index.js";
31
31
  export * as markets from "./markets/index.js";
32
32
  export * as governance from "./governance/index.js";
33
33
  export * as corporate from "./corporate/index.js";
34
+ export * as lending from "./lending/index.js";