@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
@@ -7,93 +7,93 @@ const fiber_app_js_1 = require("../../../schema/fiber-app.js");
7
7
  */
8
8
  exports.govUniversalDef = (0, fiber_app_js_1.defineFiberApp)({
9
9
  metadata: {
10
- name: "GovernanceUniversal",
11
- app: "governance",
12
- type: "universal",
13
- version: "1.0.0",
14
- description: "Minimal governance state machine - extend for custom use cases",
10
+ name: 'GovernanceUniversal',
11
+ app: 'governance',
12
+ type: 'universal',
13
+ version: '1.0.0',
14
+ description: 'Minimal governance state machine - extend for custom use cases',
15
15
  },
16
16
  createSchema: {
17
17
  properties: {},
18
18
  },
19
19
  stateSchema: {
20
20
  properties: {
21
- status: { type: "string" },
22
- proposal: { type: "object" },
23
- proposedAt: { type: "timestamp" },
24
- votes: { type: "object", computed: true },
25
- lastProposal: { type: "object" },
26
- lastResult: { type: "string" },
27
- dissolvedAt: { type: "timestamp" },
21
+ status: { type: 'string' },
22
+ proposal: { type: 'object' },
23
+ proposedAt: { type: 'timestamp' },
24
+ votes: { type: 'object', computed: true },
25
+ lastProposal: { type: 'object' },
26
+ lastResult: { type: 'string' },
27
+ dissolvedAt: { type: 'timestamp' },
28
28
  },
29
29
  },
30
30
  eventSchemas: {
31
31
  propose: {
32
- description: "Submit a new proposal",
32
+ description: 'Submit a new proposal',
33
33
  properties: {
34
- proposal: { type: "object" },
34
+ proposal: { type: 'object' },
35
35
  },
36
36
  },
37
37
  vote: {
38
- description: "Cast a vote on the active proposal",
38
+ description: 'Cast a vote on the active proposal',
39
39
  properties: {
40
- agent: { type: "address" },
41
- vote: { type: "string" },
40
+ agent: { type: 'address' },
41
+ vote: { type: 'string' },
42
42
  },
43
43
  },
44
44
  finalize: {
45
- description: "Finalize the current proposal",
45
+ description: 'Finalize the current proposal',
46
46
  properties: {
47
- result: { type: "string" },
47
+ result: { type: 'string' },
48
48
  },
49
49
  },
50
50
  dissolve: {
51
- description: "Dissolve the governance entity",
51
+ description: 'Dissolve the governance entity',
52
52
  },
53
53
  },
54
54
  states: {
55
55
  ACTIVE: {
56
- id: "ACTIVE",
56
+ id: 'ACTIVE',
57
57
  isFinal: false,
58
58
  metadata: {
59
- label: "Active",
60
- description: "Governance is idle and ready to accept a proposal",
61
- category: "initial",
59
+ label: 'Active',
60
+ description: 'Governance is idle and ready to accept a proposal',
61
+ category: 'initial',
62
62
  },
63
63
  },
64
64
  VOTING: {
65
- id: "VOTING",
65
+ id: 'VOTING',
66
66
  isFinal: false,
67
67
  metadata: {
68
- label: "Voting",
69
- description: "A proposal is open for voting",
70
- category: "pending",
68
+ label: 'Voting',
69
+ description: 'A proposal is open for voting',
70
+ category: 'pending',
71
71
  },
72
72
  },
73
73
  DISSOLVED: {
74
- id: "DISSOLVED",
74
+ id: 'DISSOLVED',
75
75
  isFinal: true,
76
76
  metadata: {
77
- label: "Dissolved",
78
- description: "Governance entity dissolved (terminal)",
79
- category: "terminal",
77
+ label: 'Dissolved',
78
+ description: 'Governance entity dissolved (terminal)',
79
+ category: 'terminal',
80
80
  },
81
81
  },
82
82
  },
83
- initialState: "ACTIVE",
83
+ initialState: 'ACTIVE',
84
84
  transitions: [
85
85
  {
86
- from: "ACTIVE",
87
- to: "VOTING",
88
- eventName: "propose",
89
- guard: { "==": [1, 1] },
86
+ from: 'ACTIVE',
87
+ to: 'VOTING',
88
+ eventName: 'propose',
89
+ guard: { '==': [1, 1] },
90
90
  effect: {
91
91
  merge: [
92
- { var: "state" },
92
+ { var: 'state' },
93
93
  {
94
- status: "VOTING",
95
- proposal: { var: "event.proposal" },
96
- proposedAt: { var: "$timestamp" },
94
+ status: 'VOTING',
95
+ proposal: { var: 'event.proposal' },
96
+ proposedAt: { var: '$ordinal' },
97
97
  votes: {},
98
98
  },
99
99
  ],
@@ -101,20 +101,20 @@ exports.govUniversalDef = (0, fiber_app_js_1.defineFiberApp)({
101
101
  dependencies: [],
102
102
  },
103
103
  {
104
- from: "VOTING",
105
- to: "VOTING",
106
- eventName: "vote",
107
- guard: { "==": [1, 1] },
104
+ from: 'VOTING',
105
+ to: 'VOTING',
106
+ eventName: 'vote',
107
+ guard: { '==': [1, 1] },
108
108
  effect: {
109
109
  merge: [
110
- { var: "state" },
110
+ { var: 'state' },
111
111
  {
112
112
  votes: {
113
113
  merge: [
114
- { var: "state.votes" },
114
+ { var: 'state.votes' },
115
115
  {
116
- __key: { var: "event.agent" },
117
- __value: { var: "event.vote" },
116
+ __key: { var: 'event.agent' },
117
+ __value: { var: 'event.vote' },
118
118
  },
119
119
  ],
120
120
  },
@@ -124,17 +124,17 @@ exports.govUniversalDef = (0, fiber_app_js_1.defineFiberApp)({
124
124
  dependencies: [],
125
125
  },
126
126
  {
127
- from: "VOTING",
128
- to: "ACTIVE",
129
- eventName: "finalize",
130
- guard: { "==": [1, 1] },
127
+ from: 'VOTING',
128
+ to: 'ACTIVE',
129
+ eventName: 'finalize',
130
+ guard: { '==': [1, 1] },
131
131
  effect: {
132
132
  merge: [
133
- { var: "state" },
133
+ { var: 'state' },
134
134
  {
135
- status: "ACTIVE",
136
- lastProposal: { var: "state.proposal" },
137
- lastResult: { var: "event.result" },
135
+ status: 'ACTIVE',
136
+ lastProposal: { var: 'state.proposal' },
137
+ lastResult: { var: 'event.result' },
138
138
  proposal: null,
139
139
  votes: null,
140
140
  },
@@ -143,16 +143,16 @@ exports.govUniversalDef = (0, fiber_app_js_1.defineFiberApp)({
143
143
  dependencies: [],
144
144
  },
145
145
  {
146
- from: "ACTIVE",
147
- to: "DISSOLVED",
148
- eventName: "dissolve",
149
- guard: { "==": [1, 1] },
146
+ from: 'ACTIVE',
147
+ to: 'DISSOLVED',
148
+ eventName: 'dissolve',
149
+ guard: { '==': [1, 1] },
150
150
  effect: {
151
151
  merge: [
152
- { var: "state" },
152
+ { var: 'state' },
153
153
  {
154
- status: "DISSOLVED",
155
- dissolvedAt: { var: "$timestamp" },
154
+ status: 'DISSOLVED',
155
+ dissolvedAt: { var: '$ordinal' },
156
156
  },
157
157
  ],
158
158
  },
@@ -7,7 +7,11 @@
7
7
  * @packageDocumentation
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.getReputationDelta = exports.canTransition = exports.ATTESTATION_DELTAS = exports.AGENT_TRANSITIONS = exports.IDENTITY_TRANSITIONS = void 0;
10
+ exports.REGISTRY_ROLE_MAP = exports.REGISTRY_ROLES = exports.ATTESTATION_DELTAS = exports.AGENT_TRANSITIONS = exports.IDENTITY_TRANSITIONS = void 0;
11
+ exports.registryRolePath = registryRolePath;
12
+ exports.registryReputationPath = registryReputationPath;
13
+ exports.canTransition = canTransition;
14
+ exports.getReputationDelta = getReputationDelta;
11
15
  const identity_js_1 = require("../../generated/ottochain/apps/identity/v1/identity.js");
12
16
  const attestation_js_1 = require("../../generated/ottochain/apps/identity/v1/attestation.js");
13
17
  // ---------------------------------------------------------------------------
@@ -19,25 +23,17 @@ const attestation_js_1 = require("../../generated/ottochain/apps/identity/v1/att
19
23
  * Note: Some transitions are type-specific (agent vs oracle)
20
24
  */
21
25
  exports.IDENTITY_TRANSITIONS = {
22
- [identity_js_1.IdentityState.IDENTITY_STATE_UNSPECIFIED]: [],
23
- [identity_js_1.IdentityState.IDENTITY_STATE_UNREGISTERED]: ["register"],
24
- [identity_js_1.IdentityState.IDENTITY_STATE_REGISTERED]: ["activate", "withdraw"],
25
- [identity_js_1.IdentityState.IDENTITY_STATE_ACTIVE]: [
26
- "challenge",
27
- "slash",
28
- "deactivate",
29
- "withdraw",
30
- ],
31
- [identity_js_1.IdentityState.IDENTITY_STATE_CHALLENGED]: [
32
- "uphold_challenge",
33
- "dismiss_challenge",
34
- ],
35
- [identity_js_1.IdentityState.IDENTITY_STATE_SUSPENDED]: ["begin_probation"],
36
- [identity_js_1.IdentityState.IDENTITY_STATE_PROBATION]: ["complete_probation"],
37
- [identity_js_1.IdentityState.IDENTITY_STATE_SLASHED]: ["reactivate", "withdraw"],
38
- [identity_js_1.IdentityState.IDENTITY_STATE_INACTIVE]: ["activate", "withdraw"],
39
- [identity_js_1.IdentityState.IDENTITY_STATE_WITHDRAWN]: [], // Terminal state
40
- [identity_js_1.IdentityState.UNRECOGNIZED]: [],
26
+ [identity_js_1.State.IDENTITY_STATE_UNSPECIFIED]: [],
27
+ [identity_js_1.State.IDENTITY_STATE_UNREGISTERED]: ['register'],
28
+ [identity_js_1.State.IDENTITY_STATE_REGISTERED]: ['activate', 'withdraw'],
29
+ [identity_js_1.State.IDENTITY_STATE_ACTIVE]: ['challenge', 'slash', 'deactivate', 'withdraw'],
30
+ [identity_js_1.State.IDENTITY_STATE_CHALLENGED]: ['uphold_challenge', 'dismiss_challenge'],
31
+ [identity_js_1.State.IDENTITY_STATE_SUSPENDED]: ['begin_probation'],
32
+ [identity_js_1.State.IDENTITY_STATE_PROBATION]: ['complete_probation'],
33
+ [identity_js_1.State.IDENTITY_STATE_SLASHED]: ['reactivate', 'withdraw'],
34
+ [identity_js_1.State.IDENTITY_STATE_INACTIVE]: ['activate', 'withdraw'],
35
+ [identity_js_1.State.IDENTITY_STATE_WITHDRAWN]: [], // Terminal state
36
+ [identity_js_1.State.UNRECOGNIZED]: [],
41
37
  };
42
38
  // Legacy alias
43
39
  exports.AGENT_TRANSITIONS = exports.IDENTITY_TRANSITIONS;
@@ -56,17 +52,54 @@ exports.ATTESTATION_DELTAS = {
56
52
  [attestation_js_1.AttestationType.ATTESTATION_TYPE_BEHAVIORAL]: 3,
57
53
  [attestation_js_1.AttestationType.UNRECOGNIZED]: 0,
58
54
  };
55
+ // ---------------------------------------------------------------------------
56
+ // Identity Registry — role attestations
57
+ // ---------------------------------------------------------------------------
58
+ /**
59
+ * Role-attestation types issued by the identity registry (identity-registry fiber).
60
+ * These are the ecosystem-wide authority roles consumer apps gate on via the registry
61
+ * dependency + `signerHasRole` (see docs/design/app-hardening-identity-integration.md §4.2).
62
+ */
63
+ exports.REGISTRY_ROLES = {
64
+ ARBITER: 'ARBITER',
65
+ SLASHER: 'SLASHER',
66
+ ISSUER: 'ISSUER',
67
+ BOARD_MEMBER: 'BOARD_MEMBER',
68
+ };
69
+ /**
70
+ * Maps each role to the registry's flat per-role state-map field. A consumer app reads
71
+ * `machines.<registryDep>.state.<field>` (a `{ <address>: true }` map) and binds membership to a
72
+ * verified signer with `signerHasRole`. Kept in lock-step with the identity-registry stateSchema.
73
+ */
74
+ exports.REGISTRY_ROLE_MAP = {
75
+ ARBITER: 'arbiters',
76
+ SLASHER: 'slashers',
77
+ ISSUER: 'issuers',
78
+ BOARD_MEMBER: 'boardMembers',
79
+ };
80
+ /**
81
+ * Build the `machines.<registryDep>.state.<roleMap>` var path a consumer guard reads to check a role,
82
+ * e.g. `registryRolePath("reg-uuid", "ARBITER")` → `"machines.reg-uuid.state.arbiters"`.
83
+ */
84
+ function registryRolePath(registryDep, role) {
85
+ return `machines.${registryDep}.state.${exports.REGISTRY_ROLE_MAP[role]}`;
86
+ }
87
+ /**
88
+ * Build the `machines.<registryDep>.state.reputations` var path a consumer guard reads for a
89
+ * reputation gate (`signerHasReputation`).
90
+ */
91
+ function registryReputationPath(registryDep) {
92
+ return `machines.${registryDep}.state.reputations`;
93
+ }
59
94
  /**
60
95
  * Check if a transition is valid for the given state.
61
96
  */
62
97
  function canTransition(state, event) {
63
98
  return exports.IDENTITY_TRANSITIONS[state]?.includes(event) ?? false;
64
99
  }
65
- exports.canTransition = canTransition;
66
100
  /**
67
101
  * Get reputation delta for an attestation type.
68
102
  */
69
103
  function getReputationDelta(type) {
70
104
  return exports.ATTESTATION_DELTAS[type] ?? 0;
71
105
  }
72
- exports.getReputationDelta = getReputationDelta;
@@ -18,11 +18,14 @@
18
18
  * @packageDocumentation
19
19
  */
20
20
  Object.defineProperty(exports, "__esModule", { value: true });
21
- exports.getIdentityDefinition = exports.IDENTITY_DEFINITIONS = exports.identityOracleDef = exports.identityAgentDef = exports.identityUniversalDef = exports.DEFAULT_REPUTATION_CONFIG = exports.getReputationDelta = exports.canTransition = exports.ATTESTATION_DELTAS = exports.AGENT_TRANSITIONS = exports.IDENTITY_TRANSITIONS = exports.attestationTypeToJSON = exports.attestationTypeFromJSON = exports.ReputationConfig = exports.ChallengeRequest = exports.VouchRequest = exports.Attestation = exports.ReputationDelta = exports.AttestationType = exports.AgentState = exports.platformToJSON = exports.platformFromJSON = exports.identityStateToJSON = exports.identityStateFromJSON = exports.identityTypeToJSON = exports.identityTypeFromJSON = exports.IdentityDefinition = exports.WithdrawIdentityRequest = exports.AddStakeRequest = exports.ChallengeIdentityRequest = exports.LinkPlatformRequest = exports.ActivateIdentityRequest = exports.RegisterIdentityRequest = exports.Identity = exports.PenaltyEvent = exports.Reputation = exports.PlatformLink = exports.Platform = exports.IdentityState = exports.IdentityType = void 0;
22
- // Re-export generated protobuf types (source of truth)
21
+ exports.IDENTITY_DEFINITIONS = exports.identityRegistryDef = exports.identityOracleDef = exports.identityAgentDef = exports.identityUniversalDef = exports.DEFAULT_REPUTATION_CONFIG = exports.getReputationDelta = exports.canTransition = exports.registryReputationPath = exports.registryRolePath = exports.REGISTRY_ROLE_MAP = exports.REGISTRY_ROLES = exports.ATTESTATION_DELTAS = exports.AGENT_TRANSITIONS = exports.IDENTITY_TRANSITIONS = exports.attestationTypeToJSON = exports.attestationTypeFromJSON = exports.ReputationConfig = exports.ChallengeRequest = exports.VouchRequest = exports.Attestation = exports.ReputationDelta = exports.AttestationType = exports.identityStateToJSON = exports.identityStateFromJSON = exports.identityTypeToJSON = exports.identityTypeFromJSON = exports.IdentityState = exports.IdentityType = exports.AgentState = exports.platformToJSON = exports.platformFromJSON = exports.stateToJSON = exports.stateFromJSON = exports.typeToJSON = exports.typeFromJSON = exports.IdentityDefinition = exports.WithdrawIdentityRequest = exports.AddStakeRequest = exports.ChallengeIdentityRequest = exports.LinkPlatformRequest = exports.ActivateIdentityRequest = exports.RegisterIdentityRequest = exports.Identity = exports.PenaltyEvent = exports.Reputation = exports.PlatformLink = exports.Platform = exports.State = exports.Type = void 0;
22
+ exports.getIdentityDefinition = getIdentityDefinition;
23
+ // Re-export generated protobuf types (source of truth).
24
+ // The nested lifecycle/kind enums dropped their app prefix in the proto; under
25
+ // this app-scoped entrypoint they are unambiguously Type / State.
23
26
  var identity_js_1 = require("../../generated/ottochain/apps/identity/v1/identity.js");
24
- Object.defineProperty(exports, "IdentityType", { enumerable: true, get: function () { return identity_js_1.IdentityType; } });
25
- Object.defineProperty(exports, "IdentityState", { enumerable: true, get: function () { return identity_js_1.IdentityState; } });
27
+ Object.defineProperty(exports, "Type", { enumerable: true, get: function () { return identity_js_1.Type; } });
28
+ Object.defineProperty(exports, "State", { enumerable: true, get: function () { return identity_js_1.State; } });
26
29
  Object.defineProperty(exports, "Platform", { enumerable: true, get: function () { return identity_js_1.Platform; } });
27
30
  Object.defineProperty(exports, "PlatformLink", { enumerable: true, get: function () { return identity_js_1.PlatformLink; } });
28
31
  Object.defineProperty(exports, "Reputation", { enumerable: true, get: function () { return identity_js_1.Reputation; } });
@@ -35,15 +38,23 @@ Object.defineProperty(exports, "ChallengeIdentityRequest", { enumerable: true, g
35
38
  Object.defineProperty(exports, "AddStakeRequest", { enumerable: true, get: function () { return identity_js_1.AddStakeRequest; } });
36
39
  Object.defineProperty(exports, "WithdrawIdentityRequest", { enumerable: true, get: function () { return identity_js_1.WithdrawIdentityRequest; } });
37
40
  Object.defineProperty(exports, "IdentityDefinition", { enumerable: true, get: function () { return identity_js_1.IdentityDefinition; } });
38
- Object.defineProperty(exports, "identityTypeFromJSON", { enumerable: true, get: function () { return identity_js_1.identityTypeFromJSON; } });
39
- Object.defineProperty(exports, "identityTypeToJSON", { enumerable: true, get: function () { return identity_js_1.identityTypeToJSON; } });
40
- Object.defineProperty(exports, "identityStateFromJSON", { enumerable: true, get: function () { return identity_js_1.identityStateFromJSON; } });
41
- Object.defineProperty(exports, "identityStateToJSON", { enumerable: true, get: function () { return identity_js_1.identityStateToJSON; } });
41
+ Object.defineProperty(exports, "typeFromJSON", { enumerable: true, get: function () { return identity_js_1.typeFromJSON; } });
42
+ Object.defineProperty(exports, "typeToJSON", { enumerable: true, get: function () { return identity_js_1.typeToJSON; } });
43
+ Object.defineProperty(exports, "stateFromJSON", { enumerable: true, get: function () { return identity_js_1.stateFromJSON; } });
44
+ Object.defineProperty(exports, "stateToJSON", { enumerable: true, get: function () { return identity_js_1.stateToJSON; } });
42
45
  Object.defineProperty(exports, "platformFromJSON", { enumerable: true, get: function () { return identity_js_1.platformFromJSON; } });
43
46
  Object.defineProperty(exports, "platformToJSON", { enumerable: true, get: function () { return identity_js_1.platformToJSON; } });
44
47
  // Legacy aliases for backward compatibility
45
48
  var identity_js_2 = require("../../generated/ottochain/apps/identity/v1/identity.js");
46
- Object.defineProperty(exports, "AgentState", { enumerable: true, get: function () { return identity_js_2.IdentityState; } });
49
+ Object.defineProperty(exports, "AgentState", { enumerable: true, get: function () { return identity_js_2.State; } });
50
+ // Deprecated app-prefixed aliases (renamed to Type / State); kept for compat.
51
+ var identity_js_3 = require("../../generated/ottochain/apps/identity/v1/identity.js");
52
+ Object.defineProperty(exports, "IdentityType", { enumerable: true, get: function () { return identity_js_3.Type; } });
53
+ Object.defineProperty(exports, "IdentityState", { enumerable: true, get: function () { return identity_js_3.State; } });
54
+ Object.defineProperty(exports, "identityTypeFromJSON", { enumerable: true, get: function () { return identity_js_3.typeFromJSON; } });
55
+ Object.defineProperty(exports, "identityTypeToJSON", { enumerable: true, get: function () { return identity_js_3.typeToJSON; } });
56
+ Object.defineProperty(exports, "identityStateFromJSON", { enumerable: true, get: function () { return identity_js_3.stateFromJSON; } });
57
+ Object.defineProperty(exports, "identityStateToJSON", { enumerable: true, get: function () { return identity_js_3.stateToJSON; } });
47
58
  var attestation_js_1 = require("../../generated/ottochain/apps/identity/v1/attestation.js");
48
59
  Object.defineProperty(exports, "AttestationType", { enumerable: true, get: function () { return attestation_js_1.AttestationType; } });
49
60
  Object.defineProperty(exports, "ReputationDelta", { enumerable: true, get: function () { return attestation_js_1.ReputationDelta; } });
@@ -58,6 +69,10 @@ var constants_js_1 = require("./constants.js");
58
69
  Object.defineProperty(exports, "IDENTITY_TRANSITIONS", { enumerable: true, get: function () { return constants_js_1.IDENTITY_TRANSITIONS; } });
59
70
  Object.defineProperty(exports, "AGENT_TRANSITIONS", { enumerable: true, get: function () { return constants_js_1.AGENT_TRANSITIONS; } });
60
71
  Object.defineProperty(exports, "ATTESTATION_DELTAS", { enumerable: true, get: function () { return constants_js_1.ATTESTATION_DELTAS; } });
72
+ Object.defineProperty(exports, "REGISTRY_ROLES", { enumerable: true, get: function () { return constants_js_1.REGISTRY_ROLES; } });
73
+ Object.defineProperty(exports, "REGISTRY_ROLE_MAP", { enumerable: true, get: function () { return constants_js_1.REGISTRY_ROLE_MAP; } });
74
+ Object.defineProperty(exports, "registryRolePath", { enumerable: true, get: function () { return constants_js_1.registryRolePath; } });
75
+ Object.defineProperty(exports, "registryReputationPath", { enumerable: true, get: function () { return constants_js_1.registryReputationPath; } });
61
76
  Object.defineProperty(exports, "canTransition", { enumerable: true, get: function () { return constants_js_1.canTransition; } });
62
77
  Object.defineProperty(exports, "getReputationDelta", { enumerable: true, get: function () { return constants_js_1.getReputationDelta; } });
63
78
  // ---------------------------------------------------------------------------
@@ -82,17 +97,18 @@ const index_js_1 = require("./state-machines/index.js");
82
97
  Object.defineProperty(exports, "identityUniversalDef", { enumerable: true, get: function () { return index_js_1.identityUniversalDef; } });
83
98
  Object.defineProperty(exports, "identityAgentDef", { enumerable: true, get: function () { return index_js_1.identityAgentDef; } });
84
99
  Object.defineProperty(exports, "identityOracleDef", { enumerable: true, get: function () { return index_js_1.identityOracleDef; } });
100
+ Object.defineProperty(exports, "identityRegistryDef", { enumerable: true, get: function () { return index_js_1.identityRegistryDef; } });
85
101
  /** All identity state machine definitions */
86
102
  exports.IDENTITY_DEFINITIONS = {
87
103
  universal: index_js_1.identityUniversalDef,
88
104
  agent: index_js_1.identityAgentDef,
89
105
  oracle: index_js_1.identityOracleDef,
106
+ registry: index_js_1.identityRegistryDef,
90
107
  };
91
108
  /**
92
109
  * Get an identity state machine definition by type.
93
- * @param type - 'universal' | 'agent' | 'oracle' (default: 'agent')
110
+ * @param type - 'universal' | 'agent' | 'oracle' | 'registry' (default: 'agent')
94
111
  */
95
- function getIdentityDefinition(type = "agent") {
112
+ function getIdentityDefinition(type = 'agent') {
96
113
  return exports.IDENTITY_DEFINITIONS[type];
97
114
  }
98
- exports.getIdentityDefinition = getIdentityDefinition;