@ottochain/sdk 2.3.0 → 2.5.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 (287) hide show
  1. package/dist/cjs/apps/compute/index.js +33 -0
  2. package/dist/cjs/apps/compute/state-machines/compute-rule110.js +164 -0
  3. package/dist/cjs/apps/compute/state-machines/index.js +9 -0
  4. package/dist/cjs/apps/contracts/index.js +16 -9
  5. package/dist/cjs/apps/contracts/state-machines/contract-agreement.js +134 -161
  6. package/dist/cjs/apps/contracts/state-machines/contract-escrow.js +192 -170
  7. package/dist/cjs/apps/contracts/state-machines/contract-universal.js +46 -58
  8. package/dist/cjs/apps/corporate/index.js +2 -2
  9. package/dist/cjs/apps/corporate/state-machines/corp-board.js +500 -456
  10. package/dist/cjs/apps/corporate/state-machines/corp-entity.js +487 -361
  11. package/dist/cjs/apps/corporate/state-machines/corp-securities.js +769 -576
  12. package/dist/cjs/apps/corporate/state-machines/corp-shareholders.js +567 -557
  13. package/dist/cjs/apps/governance/index.js +21 -21
  14. package/dist/cjs/apps/governance/state-machines/dao-multisig.js +188 -209
  15. package/dist/cjs/apps/governance/state-machines/dao-reputation.js +181 -228
  16. package/dist/cjs/apps/governance/state-machines/dao-single.js +105 -88
  17. package/dist/cjs/apps/governance/state-machines/dao-token.js +199 -227
  18. package/dist/cjs/apps/governance/state-machines/governance-simple.js +231 -231
  19. package/dist/cjs/apps/governance/state-machines/governance-universal.js +64 -64
  20. package/dist/cjs/apps/identity/constants.js +55 -22
  21. package/dist/cjs/apps/identity/index.js +28 -12
  22. package/dist/cjs/apps/identity/state-machines/identity-agent.js +124 -158
  23. package/dist/cjs/apps/identity/state-machines/identity-oracle.js +158 -173
  24. package/dist/cjs/apps/identity/state-machines/identity-registry.js +262 -0
  25. package/dist/cjs/apps/identity/state-machines/identity-universal.js +51 -57
  26. package/dist/cjs/apps/identity/state-machines/index.js +3 -1
  27. package/dist/cjs/apps/index.js +22 -8
  28. package/dist/cjs/apps/lending/assets.js +247 -0
  29. package/dist/cjs/apps/lending/credit-scoring.js +87 -0
  30. package/dist/cjs/apps/lending/eligibility.js +105 -0
  31. package/dist/cjs/apps/lending/index.js +91 -0
  32. package/dist/cjs/apps/lending/state-machines/index.js +9 -0
  33. package/dist/cjs/apps/lending/state-machines/lending-zk-loan.js +433 -0
  34. package/dist/cjs/apps/markets/index.js +22 -12
  35. package/dist/cjs/apps/markets/state-machines/market-auction.js +116 -134
  36. package/dist/cjs/apps/markets/state-machines/market-crowdfund.js +131 -141
  37. package/dist/cjs/apps/markets/state-machines/market-group-buy.js +163 -184
  38. package/dist/cjs/apps/markets/state-machines/market-prediction.js +226 -233
  39. package/dist/cjs/apps/markets/state-machines/market-universal.js +65 -80
  40. package/dist/cjs/apps/oracles/index.js +3 -3
  41. package/dist/cjs/apps/privacy/index.js +67 -0
  42. package/dist/cjs/apps/privacy/state-machines/index.js +17 -0
  43. package/dist/cjs/apps/privacy/state-machines/mixer-ddhRing.js +286 -0
  44. package/dist/cjs/apps/privacy/state-machines/note-pool.js +476 -0
  45. package/dist/cjs/apps/staked-pool/assets.js +103 -0
  46. package/dist/cjs/apps/staked-pool/base.js +498 -0
  47. package/dist/cjs/apps/staked-pool/consumer.js +55 -0
  48. package/dist/cjs/apps/staked-pool/index.js +83 -0
  49. package/dist/cjs/apps/staked-pool/state-machines/index.js +12 -0
  50. package/dist/cjs/apps/staked-pool/state-machines/staked-pool-base.js +49 -0
  51. package/dist/cjs/apps/staked-pool/state-machines/staked-pool-oracle.js +131 -0
  52. package/dist/cjs/errors.js +3 -3
  53. package/dist/cjs/generated/google/protobuf/struct.js +5 -5
  54. package/dist/cjs/generated/google/protobuf/timestamp.js +1 -1
  55. package/dist/cjs/generated/index.js +11 -7
  56. package/dist/cjs/generated/openapi.js +6 -0
  57. package/dist/cjs/generated/ottochain/apps/contracts/v1/contract.js +51 -51
  58. package/dist/cjs/generated/ottochain/apps/corporate/v1/corporate.js +20 -21
  59. package/dist/cjs/generated/ottochain/apps/governance/v1/governance.js +14 -14
  60. package/dist/cjs/generated/ottochain/apps/identity/v1/attestation.js +5 -5
  61. package/dist/cjs/generated/ottochain/apps/identity/v1/identity.js +125 -131
  62. package/dist/cjs/generated/ottochain/apps/markets/v1/market.js +108 -108
  63. package/dist/cjs/generated/ottochain/v1/common.js +5 -5
  64. package/dist/cjs/generated/ottochain/v1/fiber.js +44 -6
  65. package/dist/cjs/generated/ottochain/v1/messages.js +1 -1
  66. package/dist/cjs/generated/ottochain/v1/records.js +1 -1
  67. package/dist/cjs/index.js +58 -7
  68. package/dist/cjs/openapi.js +2 -0
  69. package/dist/cjs/ottochain/drop-nulls.js +1 -2
  70. package/dist/cjs/ottochain/genesis-manifest.js +17 -11
  71. package/dist/cjs/ottochain/index.js +23 -13
  72. package/dist/cjs/ottochain/metagraph-client.js +81 -16
  73. package/dist/cjs/ottochain/snapshot.js +13 -16
  74. package/dist/cjs/ottochain/transaction.js +67 -14
  75. package/dist/cjs/ottochain/types.js +16 -2
  76. package/dist/cjs/privacy/index.js +14 -0
  77. package/dist/cjs/privacy/sealed-bid.js +213 -0
  78. package/dist/cjs/privacy/shield-app.js +131 -0
  79. package/dist/cjs/schema/effects.js +156 -0
  80. package/dist/cjs/schema/fiber-app.js +150 -15
  81. package/dist/cjs/schema/guard-lint.js +343 -0
  82. package/dist/cjs/schema/guards.js +246 -0
  83. package/dist/cjs/signing.js +80 -0
  84. package/dist/cjs/templates/asset-policy.js +190 -0
  85. package/dist/cjs/templates/index.js +86 -0
  86. package/dist/cjs/templates/machine.js +130 -0
  87. package/dist/cjs/templates/migration.js +39 -0
  88. package/dist/cjs/templates/state-shape.js +38 -0
  89. package/dist/cjs/types.js +2 -3
  90. package/dist/cjs/validation.js +9 -11
  91. package/dist/cjs/verify.js +9 -4
  92. package/dist/cjs/zk/commit.js +53 -0
  93. package/dist/cjs/zk/guard.js +107 -0
  94. package/dist/cjs/zk/index.js +48 -0
  95. package/dist/cjs/zk/preimage.js +37 -0
  96. package/dist/cjs/zk/prover.js +87 -0
  97. package/dist/cjs/zk/registry.js +62 -0
  98. package/dist/cjs/zk/types.js +28 -0
  99. package/dist/cjs/zk/witness.js +19 -0
  100. package/dist/esm/apps/compute/index.js +29 -0
  101. package/dist/esm/apps/compute/state-machines/compute-rule110.js +161 -0
  102. package/dist/esm/apps/compute/state-machines/index.js +5 -0
  103. package/dist/esm/apps/contracts/index.js +9 -5
  104. package/dist/esm/apps/contracts/state-machines/contract-agreement.js +135 -162
  105. package/dist/esm/apps/contracts/state-machines/contract-escrow.js +193 -171
  106. package/dist/esm/apps/contracts/state-machines/contract-universal.js +47 -59
  107. package/dist/esm/apps/corporate/index.js +2 -2
  108. package/dist/esm/apps/corporate/state-machines/corp-board.js +501 -457
  109. package/dist/esm/apps/corporate/state-machines/corp-entity.js +488 -362
  110. package/dist/esm/apps/corporate/state-machines/corp-securities.js +770 -577
  111. package/dist/esm/apps/corporate/state-machines/corp-shareholders.js +568 -558
  112. package/dist/esm/apps/governance/index.js +10 -10
  113. package/dist/esm/apps/governance/state-machines/dao-multisig.js +189 -210
  114. package/dist/esm/apps/governance/state-machines/dao-reputation.js +182 -229
  115. package/dist/esm/apps/governance/state-machines/dao-single.js +106 -89
  116. package/dist/esm/apps/governance/state-machines/dao-token.js +200 -228
  117. package/dist/esm/apps/governance/state-machines/governance-simple.js +232 -232
  118. package/dist/esm/apps/governance/state-machines/governance-universal.js +65 -65
  119. package/dist/esm/apps/identity/constants.js +52 -21
  120. package/dist/esm/apps/identity/index.js +14 -9
  121. package/dist/esm/apps/identity/state-machines/identity-agent.js +125 -159
  122. package/dist/esm/apps/identity/state-machines/identity-oracle.js +159 -174
  123. package/dist/esm/apps/identity/state-machines/identity-registry.js +259 -0
  124. package/dist/esm/apps/identity/state-machines/identity-universal.js +52 -58
  125. package/dist/esm/apps/identity/state-machines/index.js +1 -0
  126. package/dist/esm/apps/index.js +9 -5
  127. package/dist/esm/apps/lending/assets.js +231 -0
  128. package/dist/esm/apps/lending/credit-scoring.js +81 -0
  129. package/dist/esm/apps/lending/eligibility.js +99 -0
  130. package/dist/esm/apps/lending/index.js +69 -0
  131. package/dist/esm/apps/lending/state-machines/index.js +5 -0
  132. package/dist/esm/apps/lending/state-machines/lending-zk-loan.js +430 -0
  133. package/dist/esm/apps/markets/index.js +11 -7
  134. package/dist/esm/apps/markets/state-machines/market-auction.js +117 -135
  135. package/dist/esm/apps/markets/state-machines/market-crowdfund.js +132 -142
  136. package/dist/esm/apps/markets/state-machines/market-group-buy.js +164 -185
  137. package/dist/esm/apps/markets/state-machines/market-prediction.js +227 -234
  138. package/dist/esm/apps/markets/state-machines/market-universal.js +66 -81
  139. package/dist/esm/apps/oracles/index.js +3 -3
  140. package/dist/esm/apps/privacy/index.js +56 -0
  141. package/dist/esm/apps/privacy/state-machines/index.js +6 -0
  142. package/dist/esm/apps/privacy/state-machines/mixer-ddhRing.js +282 -0
  143. package/dist/esm/apps/privacy/state-machines/note-pool.js +470 -0
  144. package/dist/esm/apps/staked-pool/assets.js +91 -0
  145. package/dist/esm/apps/staked-pool/base.js +493 -0
  146. package/dist/esm/apps/staked-pool/consumer.js +49 -0
  147. package/dist/esm/apps/staked-pool/index.js +60 -0
  148. package/dist/esm/apps/staked-pool/state-machines/index.js +6 -0
  149. package/dist/esm/apps/staked-pool/state-machines/staked-pool-base.js +46 -0
  150. package/dist/esm/apps/staked-pool/state-machines/staked-pool-oracle.js +127 -0
  151. package/dist/esm/generated/google/protobuf/struct.js +1 -1
  152. package/dist/esm/generated/google/protobuf/timestamp.js +1 -1
  153. package/dist/esm/generated/index.js +9 -5
  154. package/dist/esm/generated/openapi.js +5 -0
  155. package/dist/esm/generated/ottochain/apps/contracts/v1/contract.js +47 -47
  156. package/dist/esm/generated/ottochain/apps/corporate/v1/corporate.js +1 -1
  157. package/dist/esm/generated/ottochain/apps/governance/v1/governance.js +1 -1
  158. package/dist/esm/generated/ottochain/apps/identity/v1/attestation.js +1 -1
  159. package/dist/esm/generated/ottochain/apps/identity/v1/identity.js +115 -121
  160. package/dist/esm/generated/ottochain/apps/markets/v1/market.js +101 -101
  161. package/dist/esm/generated/ottochain/v1/common.js +1 -1
  162. package/dist/esm/generated/ottochain/v1/fiber.js +40 -2
  163. package/dist/esm/generated/ottochain/v1/messages.js +1 -1
  164. package/dist/esm/generated/ottochain/v1/records.js +1 -1
  165. package/dist/esm/index.js +28 -3
  166. package/dist/esm/openapi.js +1 -0
  167. package/dist/esm/ottochain/genesis-manifest.js +15 -9
  168. package/dist/esm/ottochain/index.js +2 -3
  169. package/dist/esm/ottochain/metagraph-client.js +81 -16
  170. package/dist/esm/ottochain/snapshot.js +6 -8
  171. package/dist/esm/ottochain/transaction.js +51 -3
  172. package/dist/esm/ottochain/types.js +15 -1
  173. package/dist/esm/privacy/index.js +6 -0
  174. package/dist/esm/privacy/sealed-bid.js +209 -0
  175. package/dist/esm/privacy/shield-app.js +127 -0
  176. package/dist/esm/schema/effects.js +145 -0
  177. package/dist/esm/schema/fiber-app.js +139 -8
  178. package/dist/esm/schema/guard-lint.js +337 -0
  179. package/dist/esm/schema/guards.js +228 -0
  180. package/dist/esm/signing.js +74 -0
  181. package/dist/esm/templates/asset-policy.js +182 -0
  182. package/dist/esm/templates/index.js +41 -0
  183. package/dist/esm/templates/machine.js +125 -0
  184. package/dist/esm/templates/migration.js +34 -0
  185. package/dist/esm/templates/state-shape.js +34 -0
  186. package/dist/esm/validation.js +1 -3
  187. package/dist/esm/verify.js +8 -2
  188. package/dist/esm/zk/commit.js +44 -0
  189. package/dist/esm/zk/guard.js +99 -0
  190. package/dist/esm/zk/index.js +19 -0
  191. package/dist/esm/zk/preimage.js +30 -0
  192. package/dist/esm/zk/prover.js +82 -0
  193. package/dist/esm/zk/registry.js +55 -0
  194. package/dist/esm/zk/types.js +25 -0
  195. package/dist/esm/zk/witness.js +15 -0
  196. package/dist/types/apps/compute/index.d.ts +176 -0
  197. package/dist/types/apps/compute/state-machines/compute-rule110.d.ts +157 -0
  198. package/dist/types/apps/compute/state-machines/index.d.ts +5 -0
  199. package/dist/types/apps/contracts/index.d.ts +81 -221
  200. package/dist/types/apps/contracts/state-machines/contract-agreement.d.ts +23 -98
  201. package/dist/types/apps/contracts/state-machines/contract-escrow.d.ts +49 -115
  202. package/dist/types/apps/contracts/state-machines/contract-universal.d.ts +4 -4
  203. package/dist/types/apps/corporate/index.d.ts +1176 -440
  204. package/dist/types/apps/corporate/state-machines/corp-board.d.ts +271 -135
  205. package/dist/types/apps/corporate/state-machines/corp-entity.d.ts +279 -74
  206. package/dist/types/apps/corporate/state-machines/corp-securities.d.ts +373 -149
  207. package/dist/types/apps/corporate/state-machines/corp-shareholders.d.ts +252 -80
  208. package/dist/types/apps/governance/index.d.ts +368 -470
  209. package/dist/types/apps/governance/state-machines/dao-multisig.d.ts +92 -107
  210. package/dist/types/apps/governance/state-machines/dao-reputation.d.ts +61 -85
  211. package/dist/types/apps/governance/state-machines/dao-single.d.ts +25 -47
  212. package/dist/types/apps/governance/state-machines/dao-token.d.ts +79 -68
  213. package/dist/types/apps/governance/state-machines/governance-simple.d.ts +95 -125
  214. package/dist/types/apps/governance/state-machines/governance-universal.d.ts +6 -6
  215. package/dist/types/apps/identity/constants.d.ts +33 -5
  216. package/dist/types/apps/identity/index.d.ts +415 -131
  217. package/dist/types/apps/identity/state-machines/identity-agent.d.ts +23 -23
  218. package/dist/types/apps/identity/state-machines/identity-oracle.d.ts +27 -98
  219. package/dist/types/apps/identity/state-machines/identity-registry.d.ts +379 -0
  220. package/dist/types/apps/identity/state-machines/identity-universal.d.ts +4 -4
  221. package/dist/types/apps/identity/state-machines/index.d.ts +1 -0
  222. package/dist/types/apps/index.d.ts +9 -5
  223. package/dist/types/apps/lending/assets.d.ts +258 -0
  224. package/dist/types/apps/lending/credit-scoring.d.ts +80 -0
  225. package/dist/types/apps/lending/eligibility.d.ts +83 -0
  226. package/dist/types/apps/lending/index.d.ts +556 -0
  227. package/dist/types/apps/lending/state-machines/index.d.ts +5 -0
  228. package/dist/types/apps/lending/state-machines/lending-zk-loan.d.ts +536 -0
  229. package/dist/types/apps/markets/index.d.ts +181 -276
  230. package/dist/types/apps/markets/state-machines/market-auction.d.ts +25 -49
  231. package/dist/types/apps/markets/state-machines/market-crowdfund.d.ts +35 -53
  232. package/dist/types/apps/markets/state-machines/market-group-buy.d.ts +35 -61
  233. package/dist/types/apps/markets/state-machines/market-prediction.d.ts +65 -86
  234. package/dist/types/apps/markets/state-machines/market-universal.d.ts +12 -12
  235. package/dist/types/apps/oracles/index.d.ts +1 -1
  236. package/dist/types/apps/privacy/index.d.ts +328 -0
  237. package/dist/types/apps/privacy/state-machines/index.d.ts +6 -0
  238. package/dist/types/apps/privacy/state-machines/mixer-ddhRing.d.ts +337 -0
  239. package/dist/types/apps/privacy/state-machines/note-pool.d.ts +196 -0
  240. package/dist/types/apps/staked-pool/assets.d.ts +53 -0
  241. package/dist/types/apps/staked-pool/base.d.ts +80 -0
  242. package/dist/types/apps/staked-pool/consumer.d.ts +29 -0
  243. package/dist/types/apps/staked-pool/index.d.ts +51 -0
  244. package/dist/types/apps/staked-pool/state-machines/index.d.ts +6 -0
  245. package/dist/types/apps/staked-pool/state-machines/staked-pool-base.d.ts +8 -0
  246. package/dist/types/apps/staked-pool/state-machines/staked-pool-oracle.d.ts +34 -0
  247. package/dist/types/generated/index.d.ts +5 -5
  248. package/dist/types/generated/openapi.d.ts +1270 -0
  249. package/dist/types/generated/ottochain/apps/contracts/v1/contract.d.ts +5 -5
  250. package/dist/types/generated/ottochain/apps/identity/v1/identity.d.ts +12 -12
  251. package/dist/types/generated/ottochain/apps/markets/v1/market.d.ts +11 -11
  252. package/dist/types/generated/ottochain/v1/fiber.d.ts +7 -0
  253. package/dist/types/index.d.ts +7 -3
  254. package/dist/types/openapi.d.ts +24 -0
  255. package/dist/types/ottochain/genesis-manifest.d.ts +11 -5
  256. package/dist/types/ottochain/index.d.ts +5 -6
  257. package/dist/types/ottochain/metagraph-client.d.ts +49 -7
  258. package/dist/types/ottochain/snapshot.d.ts +6 -6
  259. package/dist/types/ottochain/transaction.d.ts +41 -1
  260. package/dist/types/ottochain/types.d.ts +336 -31
  261. package/dist/types/privacy/index.d.ts +6 -0
  262. package/dist/types/privacy/sealed-bid.d.ts +348 -0
  263. package/dist/types/privacy/shield-app.d.ts +48 -0
  264. package/dist/types/schema/effects.d.ts +141 -0
  265. package/dist/types/schema/fiber-app.d.ts +282 -2
  266. package/dist/types/schema/guard-lint.d.ts +111 -0
  267. package/dist/types/schema/guards.d.ts +146 -0
  268. package/dist/types/signing.d.ts +45 -0
  269. package/dist/types/templates/asset-policy.d.ts +119 -0
  270. package/dist/types/templates/index.d.ts +26 -0
  271. package/dist/types/templates/machine.d.ts +139 -0
  272. package/dist/types/templates/migration.d.ts +34 -0
  273. package/dist/types/templates/state-shape.d.ts +30 -0
  274. package/dist/types/validation.d.ts +22 -217
  275. package/dist/types/verify.d.ts +4 -0
  276. package/dist/types/zk/commit.d.ts +28 -0
  277. package/dist/types/zk/guard.d.ts +46 -0
  278. package/dist/types/zk/index.d.ts +19 -0
  279. package/dist/types/zk/preimage.d.ts +10 -0
  280. package/dist/types/zk/prover.d.ts +34 -0
  281. package/dist/types/zk/registry.d.ts +34 -0
  282. package/dist/types/zk/types.d.ts +33 -0
  283. package/dist/types/zk/witness.d.ts +40 -0
  284. package/package.json +47 -15
  285. package/dist/cjs/ottochain/normalize.js +0 -186
  286. package/dist/esm/ottochain/normalize.js +0 -179
  287. package/dist/types/ottochain/normalize.d.ts +0 -79
@@ -0,0 +1,262 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.identityRegistryDef = void 0;
4
+ const fiber_app_js_1 = require("../../../schema/fiber-app.js");
5
+ const guards_js_1 = require("../../../schema/guards.js");
6
+ /**
7
+ * Identity Registry — the ecosystem authority & reputation source.
8
+ *
9
+ * Aggregates, under a single authority-governed fiber:
10
+ * - `reputations: { <address>: int }` — the public reputation read by reputation-gated apps
11
+ * (dao-reputation, credit-scoring) via a declared dependency + the `signerHasReputation` helper.
12
+ * - role attestations (ARBITER / SLASHER / ISSUER / BOARD_MEMBER) as FLAT per-role maps
13
+ * `{ <address>: true }`, read via the `signerHasRole` helper for judicial / issuance / governance
14
+ * authority gates.
15
+ *
16
+ * Writes are gated to the registry's pinned `authority` (immutable, set at create) and bound to the
17
+ * CHAIN-VERIFIED signer via `signerIsParty("state.authority")` — never `event.agent`. Reads happen
18
+ * cross-fiber: a consumer app declares this registry as a dependency and reads
19
+ * `machines.<registryDep>.state.reputations` / `.arbiters` / … bound to `proofs[].address`.
20
+ *
21
+ * Roles are flat per-role maps rather than a nested `roles[addr][ROLE]` map on purpose: metakit
22
+ * `get`/`has` on a NULL inner map throw (they are not null-total), so a nested read would error for
23
+ * any signer with no roles entry — the common case. Flat maps keep both the write (`set`/`unset`) and
24
+ * the read (`has`) total and fail-closed. New role types are added as new state maps + a cascade arm.
25
+ *
26
+ * See docs/design/app-hardening-identity-integration.md §3–§4 and src/schema/guards.ts
27
+ * (signerHasReputation / signerHasRole).
28
+ */
29
+ exports.identityRegistryDef = (0, fiber_app_js_1.defineFiberApp)({
30
+ metadata: {
31
+ name: 'IdentityRegistry',
32
+ app: 'identity',
33
+ type: 'registry',
34
+ version: '1.0.0',
35
+ description: 'Ecosystem reputation + role-attestation registry; authority-gated writes, dependency reads.',
36
+ crossReferences: {
37
+ IdentityAgent: 'per-agent reputation source',
38
+ Governance: 'reputation-gated participation',
39
+ Contracts: 'ARBITER-gated dispute settlement',
40
+ Corporate: 'ISSUER / BOARD_MEMBER authority',
41
+ },
42
+ },
43
+ createSchema: {
44
+ required: ['authority'],
45
+ properties: {
46
+ authority: {
47
+ type: 'address',
48
+ description: 'DAG address authorized to write reputation + role attestations (immutable)',
49
+ immutable: true,
50
+ },
51
+ },
52
+ },
53
+ stateSchema: {
54
+ properties: {
55
+ authority: { type: 'address', immutable: true },
56
+ // { <address>: int } — public reputation, read via signerHasReputation
57
+ reputations: { type: 'object', computed: true },
58
+ // FLAT per-role attestation maps { <address>: true }, read via signerHasRole
59
+ arbiters: { type: 'object', computed: true },
60
+ slashers: { type: 'object', computed: true },
61
+ issuers: { type: 'object', computed: true },
62
+ boardMembers: { type: 'object', computed: true },
63
+ },
64
+ },
65
+ eventSchemas: {
66
+ set_reputation: {
67
+ description: "Authority sets an address's reputation to an absolute score",
68
+ required: ['subject', 'score'],
69
+ properties: {
70
+ subject: { type: 'address' },
71
+ score: { type: 'integer' },
72
+ },
73
+ },
74
+ adjust_reputation: {
75
+ description: "Authority adjusts an address's reputation by a signed delta",
76
+ required: ['subject', 'delta'],
77
+ properties: {
78
+ subject: { type: 'address' },
79
+ delta: { type: 'integer' },
80
+ },
81
+ },
82
+ grant_role: {
83
+ description: 'Authority grants a role attestation (ARBITER|SLASHER|ISSUER|BOARD_MEMBER) to an address',
84
+ required: ['subject', 'role'],
85
+ properties: {
86
+ subject: { type: 'address' },
87
+ role: {
88
+ type: 'string',
89
+ enum: ['ARBITER', 'SLASHER', 'ISSUER', 'BOARD_MEMBER'],
90
+ },
91
+ },
92
+ },
93
+ revoke_role: {
94
+ description: 'Authority revokes a role attestation from an address',
95
+ required: ['subject', 'role'],
96
+ properties: {
97
+ subject: { type: 'address' },
98
+ role: {
99
+ type: 'string',
100
+ enum: ['ARBITER', 'SLASHER', 'ISSUER', 'BOARD_MEMBER'],
101
+ },
102
+ },
103
+ },
104
+ },
105
+ states: {
106
+ ACTIVE: {
107
+ id: 'ACTIVE',
108
+ isFinal: false,
109
+ metadata: {
110
+ label: 'Active',
111
+ description: 'Registry accepting authority writes',
112
+ category: 'active',
113
+ },
114
+ },
115
+ },
116
+ initialState: 'ACTIVE',
117
+ transitions: [
118
+ // ACTIVE → ACTIVE: set_reputation (absolute)
119
+ {
120
+ from: 'ACTIVE',
121
+ to: 'ACTIVE',
122
+ eventName: 'set_reputation',
123
+ guard: (0, guards_js_1.signerIsParty)('state.authority'),
124
+ effect: {
125
+ merge: [
126
+ { var: 'state' },
127
+ {
128
+ reputations: {
129
+ set: [{ var: 'state.reputations' }, { var: 'event.subject' }, { var: 'event.score' }],
130
+ },
131
+ },
132
+ ],
133
+ },
134
+ dependencies: [],
135
+ },
136
+ // ACTIVE → ACTIVE: adjust_reputation (signed delta; absent subject starts from 0)
137
+ {
138
+ from: 'ACTIVE',
139
+ to: 'ACTIVE',
140
+ eventName: 'adjust_reputation',
141
+ guard: (0, guards_js_1.signerIsParty)('state.authority'),
142
+ effect: {
143
+ merge: [
144
+ { var: 'state' },
145
+ {
146
+ reputations: {
147
+ set: [
148
+ { var: 'state.reputations' },
149
+ { var: 'event.subject' },
150
+ {
151
+ '+': [
152
+ {
153
+ get: [{ var: 'state.reputations' }, { var: 'event.subject' }],
154
+ },
155
+ { var: 'event.delta' },
156
+ ],
157
+ },
158
+ ],
159
+ },
160
+ },
161
+ ],
162
+ },
163
+ dependencies: [],
164
+ },
165
+ // ACTIVE → ACTIVE: grant_role (cascade selects the flat per-role map)
166
+ {
167
+ from: 'ACTIVE',
168
+ to: 'ACTIVE',
169
+ eventName: 'grant_role',
170
+ guard: (0, guards_js_1.signerIsParty)('state.authority'),
171
+ effect: {
172
+ merge: [
173
+ { var: 'state' },
174
+ {
175
+ arbiters: {
176
+ if: [
177
+ { '==': [{ var: 'event.role' }, 'ARBITER'] },
178
+ {
179
+ set: [{ var: 'state.arbiters' }, { var: 'event.subject' }, true],
180
+ },
181
+ { var: 'state.arbiters' },
182
+ ],
183
+ },
184
+ slashers: {
185
+ if: [
186
+ { '==': [{ var: 'event.role' }, 'SLASHER'] },
187
+ {
188
+ set: [{ var: 'state.slashers' }, { var: 'event.subject' }, true],
189
+ },
190
+ { var: 'state.slashers' },
191
+ ],
192
+ },
193
+ issuers: {
194
+ if: [
195
+ { '==': [{ var: 'event.role' }, 'ISSUER'] },
196
+ {
197
+ set: [{ var: 'state.issuers' }, { var: 'event.subject' }, true],
198
+ },
199
+ { var: 'state.issuers' },
200
+ ],
201
+ },
202
+ boardMembers: {
203
+ if: [
204
+ { '==': [{ var: 'event.role' }, 'BOARD_MEMBER'] },
205
+ {
206
+ set: [{ var: 'state.boardMembers' }, { var: 'event.subject' }, true],
207
+ },
208
+ { var: 'state.boardMembers' },
209
+ ],
210
+ },
211
+ },
212
+ ],
213
+ },
214
+ dependencies: [],
215
+ },
216
+ // ACTIVE → ACTIVE: revoke_role (cascade unsets from the flat per-role map)
217
+ {
218
+ from: 'ACTIVE',
219
+ to: 'ACTIVE',
220
+ eventName: 'revoke_role',
221
+ guard: (0, guards_js_1.signerIsParty)('state.authority'),
222
+ effect: {
223
+ merge: [
224
+ { var: 'state' },
225
+ {
226
+ arbiters: {
227
+ if: [
228
+ { '==': [{ var: 'event.role' }, 'ARBITER'] },
229
+ { unset: [{ var: 'state.arbiters' }, { var: 'event.subject' }] },
230
+ { var: 'state.arbiters' },
231
+ ],
232
+ },
233
+ slashers: {
234
+ if: [
235
+ { '==': [{ var: 'event.role' }, 'SLASHER'] },
236
+ { unset: [{ var: 'state.slashers' }, { var: 'event.subject' }] },
237
+ { var: 'state.slashers' },
238
+ ],
239
+ },
240
+ issuers: {
241
+ if: [
242
+ { '==': [{ var: 'event.role' }, 'ISSUER'] },
243
+ { unset: [{ var: 'state.issuers' }, { var: 'event.subject' }] },
244
+ { var: 'state.issuers' },
245
+ ],
246
+ },
247
+ boardMembers: {
248
+ if: [
249
+ { '==': [{ var: 'event.role' }, 'BOARD_MEMBER'] },
250
+ {
251
+ unset: [{ var: 'state.boardMembers' }, { var: 'event.subject' }],
252
+ },
253
+ { var: 'state.boardMembers' },
254
+ ],
255
+ },
256
+ },
257
+ ],
258
+ },
259
+ dependencies: [],
260
+ },
261
+ ],
262
+ });
@@ -7,123 +7,117 @@ const fiber_app_js_1 = require("../../../schema/fiber-app.js");
7
7
  */
8
8
  exports.identityUniversalDef = (0, fiber_app_js_1.defineFiberApp)({
9
9
  metadata: {
10
- name: "IdentityUniversal",
11
- app: "identity",
12
- type: "universal",
13
- version: "1.0.0",
14
- description: "Minimal identity state machine - extend for custom use cases",
10
+ name: 'IdentityUniversal',
11
+ app: 'identity',
12
+ type: 'universal',
13
+ version: '1.0.0',
14
+ description: 'Minimal identity state machine - extend for custom use cases',
15
15
  },
16
16
  createSchema: {
17
- required: ["owner"],
17
+ required: ['owner'],
18
18
  properties: {
19
19
  owner: {
20
- type: "address",
21
- description: "Identity owner DAG address",
20
+ type: 'address',
21
+ description: 'Identity owner DAG address',
22
22
  immutable: true,
23
23
  },
24
24
  metadata: {
25
- type: "object",
26
- description: "Arbitrary metadata",
25
+ type: 'object',
26
+ description: 'Arbitrary metadata',
27
27
  default: {},
28
28
  },
29
29
  },
30
30
  },
31
31
  stateSchema: {
32
32
  properties: {
33
- owner: { type: "address", immutable: true },
33
+ owner: { type: 'address', immutable: true },
34
34
  status: {
35
- type: "string",
36
- enum: ["CREATED", "ACTIVE", "INACTIVE"],
35
+ type: 'string',
36
+ enum: ['CREATED', 'ACTIVE', 'INACTIVE'],
37
37
  computed: true,
38
38
  },
39
- metadata: { type: "object" },
40
- activatedAt: { type: "timestamp", computed: true },
41
- updatedAt: { type: "timestamp", computed: true },
42
- deactivatedAt: { type: "timestamp", computed: true },
39
+ metadata: { type: 'object' },
40
+ activatedAt: { type: 'timestamp', computed: true },
41
+ updatedAt: { type: 'timestamp', computed: true },
42
+ deactivatedAt: { type: 'timestamp', computed: true },
43
43
  },
44
44
  },
45
45
  eventSchemas: {
46
46
  activate: {
47
- description: "Activate the identity",
47
+ description: 'Activate the identity',
48
48
  },
49
49
  update: {
50
- description: "Update identity metadata",
50
+ description: 'Update identity metadata',
51
51
  properties: {
52
- metadata: { type: "object" },
52
+ metadata: { type: 'object' },
53
53
  },
54
54
  },
55
55
  deactivate: {
56
- description: "Deactivate the identity",
56
+ description: 'Deactivate the identity',
57
57
  },
58
58
  },
59
59
  states: {
60
60
  CREATED: {
61
- id: "CREATED",
61
+ id: 'CREATED',
62
62
  isFinal: false,
63
63
  metadata: {
64
- label: "Created",
65
- description: "Identity registered but not yet activated",
66
- category: "initial",
64
+ label: 'Created',
65
+ description: 'Identity registered but not yet activated',
66
+ category: 'initial',
67
67
  },
68
68
  },
69
69
  ACTIVE: {
70
- id: "ACTIVE",
70
+ id: 'ACTIVE',
71
71
  isFinal: false,
72
72
  metadata: {
73
- label: "Active",
74
- description: "Identity is active and can be updated",
75
- category: "active",
73
+ label: 'Active',
74
+ description: 'Identity is active and can be updated',
75
+ category: 'active',
76
76
  },
77
77
  },
78
78
  INACTIVE: {
79
- id: "INACTIVE",
79
+ id: 'INACTIVE',
80
80
  isFinal: true,
81
81
  metadata: {
82
- label: "Inactive",
83
- description: "Identity deactivated by its owner (terminal)",
84
- category: "terminal",
82
+ label: 'Inactive',
83
+ description: 'Identity deactivated by its owner (terminal)',
84
+ category: 'terminal',
85
85
  },
86
86
  },
87
87
  },
88
- initialState: "CREATED",
88
+ initialState: 'CREATED',
89
89
  transitions: [
90
90
  {
91
- from: "CREATED",
92
- to: "ACTIVE",
93
- eventName: "activate",
94
- guard: { "==": [1, 1] },
91
+ from: 'CREATED',
92
+ to: 'ACTIVE',
93
+ eventName: 'activate',
94
+ guard: { '==': [1, 1] },
95
95
  effect: {
96
- merge: [
97
- { var: "state" },
98
- { status: "ACTIVE", activatedAt: { var: "$timestamp" } },
99
- ],
96
+ merge: [{ var: 'state' }, { status: 'ACTIVE', activatedAt: { var: '$ordinal' } }],
100
97
  },
101
98
  },
102
99
  {
103
- from: "ACTIVE",
104
- to: "ACTIVE",
105
- eventName: "update",
106
- guard: { "==": [1, 1] },
100
+ from: 'ACTIVE',
101
+ to: 'ACTIVE',
102
+ eventName: 'update',
103
+ guard: { '==': [1, 1] },
107
104
  effect: {
108
105
  merge: [
109
- { var: "state" },
106
+ { var: 'state' },
110
107
  {
111
- updatedAt: { var: "$timestamp" },
112
- metadata: { var: "event.metadata" },
108
+ updatedAt: { var: '$ordinal' },
109
+ metadata: { var: 'event.metadata' },
113
110
  },
114
111
  ],
115
112
  },
116
113
  },
117
114
  {
118
- from: "ACTIVE",
119
- to: "INACTIVE",
120
- eventName: "deactivate",
121
- guard: { "==": [1, 1] },
115
+ from: 'ACTIVE',
116
+ to: 'INACTIVE',
117
+ eventName: 'deactivate',
118
+ guard: { '==': [1, 1] },
122
119
  effect: {
123
- merge: [
124
- { var: "state" },
125
- { status: "INACTIVE", deactivatedAt: { var: "$timestamp" } },
126
- ],
120
+ merge: [{ var: 'state' }, { status: 'INACTIVE', deactivatedAt: { var: '$ordinal' } }],
127
121
  },
128
122
  },
129
123
  ],
@@ -4,10 +4,12 @@
4
4
  * Re-exports from TypeScript definition files.
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.identityUniversalDef = exports.identityOracleDef = exports.identityAgentDef = void 0;
7
+ exports.identityRegistryDef = exports.identityUniversalDef = exports.identityOracleDef = exports.identityAgentDef = void 0;
8
8
  var identity_agent_js_1 = require("./identity-agent.js");
9
9
  Object.defineProperty(exports, "identityAgentDef", { enumerable: true, get: function () { return identity_agent_js_1.identityAgentDef; } });
10
10
  var identity_oracle_js_1 = require("./identity-oracle.js");
11
11
  Object.defineProperty(exports, "identityOracleDef", { enumerable: true, get: function () { return identity_oracle_js_1.identityOracleDef; } });
12
12
  var identity_universal_js_1 = require("./identity-universal.js");
13
13
  Object.defineProperty(exports, "identityUniversalDef", { enumerable: true, get: function () { return identity_universal_js_1.identityUniversalDef; } });
14
+ var identity_registry_js_1 = require("./identity-registry.js");
15
+ Object.defineProperty(exports, "identityRegistryDef", { enumerable: true, get: function () { return identity_registry_js_1.identityRegistryDef; } });
@@ -43,18 +43,32 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
43
43
  }) : function(o, v) {
44
44
  o["default"] = v;
45
45
  });
46
- var __importStar = (this && this.__importStar) || function (mod) {
47
- if (mod && mod.__esModule) return mod;
48
- var result = {};
49
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
50
- __setModuleDefault(result, mod);
51
- return result;
52
- };
46
+ var __importStar = (this && this.__importStar) || (function () {
47
+ var ownKeys = function(o) {
48
+ ownKeys = Object.getOwnPropertyNames || function (o) {
49
+ var ar = [];
50
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
51
+ return ar;
52
+ };
53
+ return ownKeys(o);
54
+ };
55
+ return function (mod) {
56
+ if (mod && mod.__esModule) return mod;
57
+ var result = {};
58
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
59
+ __setModuleDefault(result, mod);
60
+ return result;
61
+ };
62
+ })();
53
63
  Object.defineProperty(exports, "__esModule", { value: true });
54
- exports.corporate = exports.governance = exports.markets = exports.contracts = exports.identity = void 0;
64
+ exports.privacy = exports.stakedPool = exports.compute = exports.lending = exports.corporate = exports.governance = exports.markets = exports.contracts = exports.identity = void 0;
55
65
  // Re-export as namespaces for organized access
56
66
  exports.identity = __importStar(require("./identity/index.js"));
57
67
  exports.contracts = __importStar(require("./contracts/index.js"));
58
68
  exports.markets = __importStar(require("./markets/index.js"));
59
69
  exports.governance = __importStar(require("./governance/index.js"));
60
70
  exports.corporate = __importStar(require("./corporate/index.js"));
71
+ exports.lending = __importStar(require("./lending/index.js"));
72
+ exports.compute = __importStar(require("./compute/index.js"));
73
+ exports.stakedPool = __importStar(require("./staked-pool/index.js"));
74
+ exports.privacy = __importStar(require("./privacy/index.js"));