@ottochain/sdk 2.4.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 (225) 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 +1 -1
  5. package/dist/cjs/apps/contracts/state-machines/contract-agreement.js +126 -148
  6. package/dist/cjs/apps/contracts/state-machines/contract-escrow.js +153 -174
  7. package/dist/cjs/apps/contracts/state-machines/contract-universal.js +46 -58
  8. package/dist/cjs/apps/corporate/state-machines/corp-board.js +415 -481
  9. package/dist/cjs/apps/corporate/state-machines/corp-entity.js +368 -440
  10. package/dist/cjs/apps/corporate/state-machines/corp-securities.js +532 -647
  11. package/dist/cjs/apps/corporate/state-machines/corp-shareholders.js +499 -603
  12. package/dist/cjs/apps/governance/index.js +7 -7
  13. package/dist/cjs/apps/governance/state-machines/dao-multisig.js +170 -209
  14. package/dist/cjs/apps/governance/state-machines/dao-reputation.js +161 -214
  15. package/dist/cjs/apps/governance/state-machines/dao-single.js +92 -92
  16. package/dist/cjs/apps/governance/state-machines/dao-token.js +169 -223
  17. package/dist/cjs/apps/governance/state-machines/governance-simple.js +185 -217
  18. package/dist/cjs/apps/governance/state-machines/governance-universal.js +64 -64
  19. package/dist/cjs/apps/identity/constants.js +16 -24
  20. package/dist/cjs/apps/identity/index.js +1 -1
  21. package/dist/cjs/apps/identity/state-machines/identity-agent.js +124 -158
  22. package/dist/cjs/apps/identity/state-machines/identity-oracle.js +151 -169
  23. package/dist/cjs/apps/identity/state-machines/identity-registry.js +89 -115
  24. package/dist/cjs/apps/identity/state-machines/identity-universal.js +51 -57
  25. package/dist/cjs/apps/index.js +4 -1
  26. package/dist/cjs/apps/lending/assets.js +41 -17
  27. package/dist/cjs/apps/lending/credit-scoring.js +4 -4
  28. package/dist/cjs/apps/lending/eligibility.js +9 -25
  29. package/dist/cjs/apps/lending/index.js +1 -1
  30. package/dist/cjs/apps/lending/state-machines/lending-zk-loan.js +177 -156
  31. package/dist/cjs/apps/markets/index.js +1 -1
  32. package/dist/cjs/apps/markets/state-machines/market-auction.js +115 -134
  33. package/dist/cjs/apps/markets/state-machines/market-crowdfund.js +122 -137
  34. package/dist/cjs/apps/markets/state-machines/market-group-buy.js +158 -177
  35. package/dist/cjs/apps/markets/state-machines/market-prediction.js +193 -227
  36. package/dist/cjs/apps/markets/state-machines/market-universal.js +65 -80
  37. package/dist/cjs/apps/oracles/index.js +1 -1
  38. package/dist/cjs/apps/privacy/index.js +67 -0
  39. package/dist/cjs/apps/privacy/state-machines/index.js +17 -0
  40. package/dist/cjs/apps/privacy/state-machines/mixer-ddhRing.js +286 -0
  41. package/dist/cjs/apps/privacy/state-machines/note-pool.js +476 -0
  42. package/dist/cjs/apps/staked-pool/assets.js +103 -0
  43. package/dist/cjs/apps/staked-pool/base.js +498 -0
  44. package/dist/cjs/apps/staked-pool/consumer.js +55 -0
  45. package/dist/cjs/apps/staked-pool/index.js +83 -0
  46. package/dist/cjs/apps/staked-pool/state-machines/index.js +12 -0
  47. package/dist/cjs/apps/staked-pool/state-machines/staked-pool-base.js +49 -0
  48. package/dist/cjs/apps/staked-pool/state-machines/staked-pool-oracle.js +131 -0
  49. package/dist/cjs/generated/google/protobuf/struct.js +1 -1
  50. package/dist/cjs/generated/google/protobuf/timestamp.js +1 -1
  51. package/dist/cjs/generated/ottochain/apps/contracts/v1/contract.js +1 -1
  52. package/dist/cjs/generated/ottochain/apps/corporate/v1/corporate.js +1 -1
  53. package/dist/cjs/generated/ottochain/apps/governance/v1/governance.js +1 -1
  54. package/dist/cjs/generated/ottochain/apps/identity/v1/attestation.js +1 -1
  55. package/dist/cjs/generated/ottochain/apps/identity/v1/identity.js +1 -1
  56. package/dist/cjs/generated/ottochain/apps/markets/v1/market.js +1 -1
  57. package/dist/cjs/generated/ottochain/v1/common.js +1 -1
  58. package/dist/cjs/generated/ottochain/v1/fiber.js +40 -2
  59. package/dist/cjs/generated/ottochain/v1/messages.js +1 -1
  60. package/dist/cjs/generated/ottochain/v1/records.js +1 -1
  61. package/dist/cjs/index.js +20 -3
  62. package/dist/cjs/ottochain/genesis-manifest.js +6 -0
  63. package/dist/cjs/ottochain/metagraph-client.js +16 -8
  64. package/dist/cjs/ottochain/snapshot.js +2 -4
  65. package/dist/cjs/ottochain/transaction.js +10 -0
  66. package/dist/cjs/privacy/sealed-bid.js +85 -82
  67. package/dist/cjs/privacy/shield-app.js +32 -32
  68. package/dist/cjs/schema/effects.js +117 -1
  69. package/dist/cjs/schema/fiber-app.js +132 -3
  70. package/dist/cjs/schema/guard-lint.js +3 -12
  71. package/dist/cjs/schema/guards.js +38 -38
  72. package/dist/cjs/templates/asset-policy.js +190 -0
  73. package/dist/cjs/templates/index.js +86 -0
  74. package/dist/cjs/templates/machine.js +130 -0
  75. package/dist/cjs/templates/migration.js +39 -0
  76. package/dist/cjs/templates/state-shape.js +38 -0
  77. package/dist/cjs/validation.js +1 -3
  78. package/dist/esm/apps/compute/index.js +29 -0
  79. package/dist/esm/apps/compute/state-machines/compute-rule110.js +161 -0
  80. package/dist/esm/apps/compute/state-machines/index.js +5 -0
  81. package/dist/esm/apps/contracts/index.js +4 -4
  82. package/dist/esm/apps/contracts/state-machines/contract-agreement.js +128 -150
  83. package/dist/esm/apps/contracts/state-machines/contract-escrow.js +155 -176
  84. package/dist/esm/apps/contracts/state-machines/contract-universal.js +47 -59
  85. package/dist/esm/apps/corporate/index.js +2 -2
  86. package/dist/esm/apps/corporate/state-machines/corp-board.js +418 -484
  87. package/dist/esm/apps/corporate/state-machines/corp-entity.js +371 -443
  88. package/dist/esm/apps/corporate/state-machines/corp-securities.js +535 -650
  89. package/dist/esm/apps/corporate/state-machines/corp-shareholders.js +502 -606
  90. package/dist/esm/apps/governance/index.js +10 -10
  91. package/dist/esm/apps/governance/state-machines/dao-multisig.js +172 -211
  92. package/dist/esm/apps/governance/state-machines/dao-reputation.js +163 -216
  93. package/dist/esm/apps/governance/state-machines/dao-single.js +94 -94
  94. package/dist/esm/apps/governance/state-machines/dao-token.js +171 -225
  95. package/dist/esm/apps/governance/state-machines/governance-simple.js +187 -219
  96. package/dist/esm/apps/governance/state-machines/governance-universal.js +65 -65
  97. package/dist/esm/apps/identity/constants.js +18 -26
  98. package/dist/esm/apps/identity/index.js +8 -8
  99. package/dist/esm/apps/identity/state-machines/identity-agent.js +125 -159
  100. package/dist/esm/apps/identity/state-machines/identity-oracle.js +153 -171
  101. package/dist/esm/apps/identity/state-machines/identity-registry.js +91 -117
  102. package/dist/esm/apps/identity/state-machines/identity-universal.js +52 -58
  103. package/dist/esm/apps/index.js +9 -6
  104. package/dist/esm/apps/lending/assets.js +41 -17
  105. package/dist/esm/apps/lending/credit-scoring.js +6 -6
  106. package/dist/esm/apps/lending/eligibility.js +10 -26
  107. package/dist/esm/apps/lending/index.js +5 -5
  108. package/dist/esm/apps/lending/state-machines/lending-zk-loan.js +178 -157
  109. package/dist/esm/apps/markets/index.js +5 -5
  110. package/dist/esm/apps/markets/state-machines/market-auction.js +117 -136
  111. package/dist/esm/apps/markets/state-machines/market-crowdfund.js +124 -139
  112. package/dist/esm/apps/markets/state-machines/market-group-buy.js +160 -179
  113. package/dist/esm/apps/markets/state-machines/market-prediction.js +195 -229
  114. package/dist/esm/apps/markets/state-machines/market-universal.js +66 -81
  115. package/dist/esm/apps/oracles/index.js +3 -3
  116. package/dist/esm/apps/privacy/index.js +56 -0
  117. package/dist/esm/apps/privacy/state-machines/index.js +6 -0
  118. package/dist/esm/apps/privacy/state-machines/mixer-ddhRing.js +282 -0
  119. package/dist/esm/apps/privacy/state-machines/note-pool.js +470 -0
  120. package/dist/esm/apps/staked-pool/assets.js +91 -0
  121. package/dist/esm/apps/staked-pool/base.js +493 -0
  122. package/dist/esm/apps/staked-pool/consumer.js +49 -0
  123. package/dist/esm/apps/staked-pool/index.js +60 -0
  124. package/dist/esm/apps/staked-pool/state-machines/index.js +6 -0
  125. package/dist/esm/apps/staked-pool/state-machines/staked-pool-base.js +46 -0
  126. package/dist/esm/apps/staked-pool/state-machines/staked-pool-oracle.js +127 -0
  127. package/dist/esm/generated/google/protobuf/struct.js +1 -1
  128. package/dist/esm/generated/google/protobuf/timestamp.js +1 -1
  129. package/dist/esm/generated/ottochain/apps/contracts/v1/contract.js +1 -1
  130. package/dist/esm/generated/ottochain/apps/corporate/v1/corporate.js +1 -1
  131. package/dist/esm/generated/ottochain/apps/governance/v1/governance.js +1 -1
  132. package/dist/esm/generated/ottochain/apps/identity/v1/attestation.js +1 -1
  133. package/dist/esm/generated/ottochain/apps/identity/v1/identity.js +1 -1
  134. package/dist/esm/generated/ottochain/apps/markets/v1/market.js +1 -1
  135. package/dist/esm/generated/ottochain/v1/common.js +1 -1
  136. package/dist/esm/generated/ottochain/v1/fiber.js +40 -2
  137. package/dist/esm/generated/ottochain/v1/messages.js +1 -1
  138. package/dist/esm/generated/ottochain/v1/records.js +1 -1
  139. package/dist/esm/index.js +10 -4
  140. package/dist/esm/ottochain/genesis-manifest.js +6 -0
  141. package/dist/esm/ottochain/metagraph-client.js +16 -8
  142. package/dist/esm/ottochain/snapshot.js +2 -4
  143. package/dist/esm/ottochain/transaction.js +8 -0
  144. package/dist/esm/privacy/index.js +2 -2
  145. package/dist/esm/privacy/sealed-bid.js +87 -84
  146. package/dist/esm/privacy/shield-app.js +33 -33
  147. package/dist/esm/schema/effects.js +110 -0
  148. package/dist/esm/schema/fiber-app.js +127 -3
  149. package/dist/esm/schema/guard-lint.js +3 -12
  150. package/dist/esm/schema/guards.js +36 -37
  151. package/dist/esm/templates/asset-policy.js +182 -0
  152. package/dist/esm/templates/index.js +41 -0
  153. package/dist/esm/templates/machine.js +125 -0
  154. package/dist/esm/templates/migration.js +34 -0
  155. package/dist/esm/templates/state-shape.js +34 -0
  156. package/dist/esm/validation.js +1 -3
  157. package/dist/esm/zk/index.js +4 -4
  158. package/dist/types/apps/compute/index.d.ts +176 -0
  159. package/dist/types/apps/compute/state-machines/compute-rule110.d.ts +157 -0
  160. package/dist/types/apps/compute/state-machines/index.d.ts +5 -0
  161. package/dist/types/apps/contracts/index.d.ts +14 -14
  162. package/dist/types/apps/contracts/state-machines/contract-agreement.d.ts +3 -3
  163. package/dist/types/apps/contracts/state-machines/contract-escrow.d.ts +3 -3
  164. package/dist/types/apps/contracts/state-machines/contract-universal.d.ts +4 -4
  165. package/dist/types/apps/corporate/index.d.ts +162 -162
  166. package/dist/types/apps/corporate/state-machines/corp-board.d.ts +88 -88
  167. package/dist/types/apps/corporate/state-machines/corp-entity.d.ts +14 -14
  168. package/dist/types/apps/corporate/state-machines/corp-securities.d.ts +18 -18
  169. package/dist/types/apps/corporate/state-machines/corp-shareholders.d.ts +43 -43
  170. package/dist/types/apps/governance/index.d.ts +81 -81
  171. package/dist/types/apps/governance/state-machines/dao-multisig.d.ts +16 -16
  172. package/dist/types/apps/governance/state-machines/dao-reputation.d.ts +22 -22
  173. package/dist/types/apps/governance/state-machines/dao-token.d.ts +21 -21
  174. package/dist/types/apps/governance/state-machines/governance-simple.d.ts +11 -11
  175. package/dist/types/apps/governance/state-machines/governance-universal.d.ts +4 -4
  176. package/dist/types/apps/identity/constants.d.ts +2 -2
  177. package/dist/types/apps/identity/index.d.ts +70 -70
  178. package/dist/types/apps/identity/state-machines/identity-agent.d.ts +23 -23
  179. package/dist/types/apps/identity/state-machines/identity-oracle.d.ts +11 -11
  180. package/dist/types/apps/identity/state-machines/identity-registry.d.ts +27 -27
  181. package/dist/types/apps/identity/state-machines/identity-universal.d.ts +4 -4
  182. package/dist/types/apps/index.d.ts +9 -6
  183. package/dist/types/apps/lending/assets.d.ts +2 -2
  184. package/dist/types/apps/lending/credit-scoring.d.ts +5 -5
  185. package/dist/types/apps/lending/eligibility.d.ts +2 -2
  186. package/dist/types/apps/lending/index.d.ts +20 -12
  187. package/dist/types/apps/lending/state-machines/lending-zk-loan.d.ts +15 -7
  188. package/dist/types/apps/markets/index.d.ts +76 -76
  189. package/dist/types/apps/markets/state-machines/market-auction.d.ts +12 -12
  190. package/dist/types/apps/markets/state-machines/market-crowdfund.d.ts +19 -19
  191. package/dist/types/apps/markets/state-machines/market-group-buy.d.ts +18 -18
  192. package/dist/types/apps/markets/state-machines/market-prediction.d.ts +15 -15
  193. package/dist/types/apps/markets/state-machines/market-universal.d.ts +7 -7
  194. package/dist/types/apps/oracles/index.d.ts +1 -1
  195. package/dist/types/apps/privacy/index.d.ts +328 -0
  196. package/dist/types/apps/privacy/state-machines/index.d.ts +6 -0
  197. package/dist/types/apps/privacy/state-machines/mixer-ddhRing.d.ts +337 -0
  198. package/dist/types/apps/privacy/state-machines/note-pool.d.ts +196 -0
  199. package/dist/types/apps/staked-pool/assets.d.ts +53 -0
  200. package/dist/types/apps/staked-pool/base.d.ts +80 -0
  201. package/dist/types/apps/staked-pool/consumer.d.ts +29 -0
  202. package/dist/types/apps/staked-pool/index.d.ts +51 -0
  203. package/dist/types/apps/staked-pool/state-machines/index.d.ts +6 -0
  204. package/dist/types/apps/staked-pool/state-machines/staked-pool-base.d.ts +8 -0
  205. package/dist/types/apps/staked-pool/state-machines/staked-pool-oracle.d.ts +34 -0
  206. package/dist/types/generated/openapi.d.ts +13 -0
  207. package/dist/types/generated/ottochain/v1/fiber.d.ts +7 -0
  208. package/dist/types/index.d.ts +3 -3
  209. package/dist/types/openapi.d.ts +4 -2
  210. package/dist/types/ottochain/genesis-manifest.d.ts +6 -0
  211. package/dist/types/ottochain/transaction.d.ts +9 -1
  212. package/dist/types/ottochain/types.d.ts +1 -1
  213. package/dist/types/privacy/index.d.ts +2 -2
  214. package/dist/types/privacy/sealed-bid.d.ts +9 -9
  215. package/dist/types/privacy/shield-app.d.ts +1 -1
  216. package/dist/types/schema/effects.d.ts +107 -0
  217. package/dist/types/schema/fiber-app.d.ts +281 -0
  218. package/dist/types/schema/guards.d.ts +12 -0
  219. package/dist/types/templates/asset-policy.d.ts +119 -0
  220. package/dist/types/templates/index.d.ts +26 -0
  221. package/dist/types/templates/machine.d.ts +139 -0
  222. package/dist/types/templates/migration.d.ts +34 -0
  223. package/dist/types/templates/state-shape.d.ts +30 -0
  224. package/dist/types/zk/index.d.ts +4 -4
  225. package/package.json +31 -13
@@ -1,5 +1,5 @@
1
- import { defineFiberApp } from "../../../schema/fiber-app.js";
2
- import { signerIsParty } from "../../../schema/guards.js";
1
+ import { defineFiberApp } from '../../../schema/fiber-app.js';
2
+ import { signerIsParty } from '../../../schema/guards.js';
3
3
  /**
4
4
  * Identity Registry — the ecosystem authority & reputation source.
5
5
  *
@@ -25,109 +25,105 @@ import { signerIsParty } from "../../../schema/guards.js";
25
25
  */
26
26
  export const identityRegistryDef = defineFiberApp({
27
27
  metadata: {
28
- name: "IdentityRegistry",
29
- app: "identity",
30
- type: "registry",
31
- version: "1.0.0",
32
- description: "Ecosystem reputation + role-attestation registry; authority-gated writes, dependency reads.",
28
+ name: 'IdentityRegistry',
29
+ app: 'identity',
30
+ type: 'registry',
31
+ version: '1.0.0',
32
+ description: 'Ecosystem reputation + role-attestation registry; authority-gated writes, dependency reads.',
33
33
  crossReferences: {
34
- IdentityAgent: "per-agent reputation source",
35
- Governance: "reputation-gated participation",
36
- Contracts: "ARBITER-gated dispute settlement",
37
- Corporate: "ISSUER / BOARD_MEMBER authority",
34
+ IdentityAgent: 'per-agent reputation source',
35
+ Governance: 'reputation-gated participation',
36
+ Contracts: 'ARBITER-gated dispute settlement',
37
+ Corporate: 'ISSUER / BOARD_MEMBER authority',
38
38
  },
39
39
  },
40
40
  createSchema: {
41
- required: ["authority"],
41
+ required: ['authority'],
42
42
  properties: {
43
43
  authority: {
44
- type: "address",
45
- description: "DAG address authorized to write reputation + role attestations (immutable)",
44
+ type: 'address',
45
+ description: 'DAG address authorized to write reputation + role attestations (immutable)',
46
46
  immutable: true,
47
47
  },
48
48
  },
49
49
  },
50
50
  stateSchema: {
51
51
  properties: {
52
- authority: { type: "address", immutable: true },
52
+ authority: { type: 'address', immutable: true },
53
53
  // { <address>: int } — public reputation, read via signerHasReputation
54
- reputations: { type: "object", computed: true },
54
+ reputations: { type: 'object', computed: true },
55
55
  // FLAT per-role attestation maps { <address>: true }, read via signerHasRole
56
- arbiters: { type: "object", computed: true },
57
- slashers: { type: "object", computed: true },
58
- issuers: { type: "object", computed: true },
59
- boardMembers: { type: "object", computed: true },
56
+ arbiters: { type: 'object', computed: true },
57
+ slashers: { type: 'object', computed: true },
58
+ issuers: { type: 'object', computed: true },
59
+ boardMembers: { type: 'object', computed: true },
60
60
  },
61
61
  },
62
62
  eventSchemas: {
63
63
  set_reputation: {
64
64
  description: "Authority sets an address's reputation to an absolute score",
65
- required: ["subject", "score"],
65
+ required: ['subject', 'score'],
66
66
  properties: {
67
- subject: { type: "address" },
68
- score: { type: "integer" },
67
+ subject: { type: 'address' },
68
+ score: { type: 'integer' },
69
69
  },
70
70
  },
71
71
  adjust_reputation: {
72
72
  description: "Authority adjusts an address's reputation by a signed delta",
73
- required: ["subject", "delta"],
73
+ required: ['subject', 'delta'],
74
74
  properties: {
75
- subject: { type: "address" },
76
- delta: { type: "integer" },
75
+ subject: { type: 'address' },
76
+ delta: { type: 'integer' },
77
77
  },
78
78
  },
79
79
  grant_role: {
80
- description: "Authority grants a role attestation (ARBITER|SLASHER|ISSUER|BOARD_MEMBER) to an address",
81
- required: ["subject", "role"],
80
+ description: 'Authority grants a role attestation (ARBITER|SLASHER|ISSUER|BOARD_MEMBER) to an address',
81
+ required: ['subject', 'role'],
82
82
  properties: {
83
- subject: { type: "address" },
83
+ subject: { type: 'address' },
84
84
  role: {
85
- type: "string",
86
- enum: ["ARBITER", "SLASHER", "ISSUER", "BOARD_MEMBER"],
85
+ type: 'string',
86
+ enum: ['ARBITER', 'SLASHER', 'ISSUER', 'BOARD_MEMBER'],
87
87
  },
88
88
  },
89
89
  },
90
90
  revoke_role: {
91
- description: "Authority revokes a role attestation from an address",
92
- required: ["subject", "role"],
91
+ description: 'Authority revokes a role attestation from an address',
92
+ required: ['subject', 'role'],
93
93
  properties: {
94
- subject: { type: "address" },
94
+ subject: { type: 'address' },
95
95
  role: {
96
- type: "string",
97
- enum: ["ARBITER", "SLASHER", "ISSUER", "BOARD_MEMBER"],
96
+ type: 'string',
97
+ enum: ['ARBITER', 'SLASHER', 'ISSUER', 'BOARD_MEMBER'],
98
98
  },
99
99
  },
100
100
  },
101
101
  },
102
102
  states: {
103
103
  ACTIVE: {
104
- id: "ACTIVE",
104
+ id: 'ACTIVE',
105
105
  isFinal: false,
106
106
  metadata: {
107
- label: "Active",
108
- description: "Registry accepting authority writes",
109
- category: "active",
107
+ label: 'Active',
108
+ description: 'Registry accepting authority writes',
109
+ category: 'active',
110
110
  },
111
111
  },
112
112
  },
113
- initialState: "ACTIVE",
113
+ initialState: 'ACTIVE',
114
114
  transitions: [
115
115
  // ACTIVE → ACTIVE: set_reputation (absolute)
116
116
  {
117
- from: "ACTIVE",
118
- to: "ACTIVE",
119
- eventName: "set_reputation",
120
- guard: signerIsParty("state.authority"),
117
+ from: 'ACTIVE',
118
+ to: 'ACTIVE',
119
+ eventName: 'set_reputation',
120
+ guard: signerIsParty('state.authority'),
121
121
  effect: {
122
122
  merge: [
123
- { var: "state" },
123
+ { var: 'state' },
124
124
  {
125
125
  reputations: {
126
- set: [
127
- { var: "state.reputations" },
128
- { var: "event.subject" },
129
- { var: "event.score" },
130
- ],
126
+ set: [{ var: 'state.reputations' }, { var: 'event.subject' }, { var: 'event.score' }],
131
127
  },
132
128
  },
133
129
  ],
@@ -136,27 +132,24 @@ export const identityRegistryDef = defineFiberApp({
136
132
  },
137
133
  // ACTIVE → ACTIVE: adjust_reputation (signed delta; absent subject starts from 0)
138
134
  {
139
- from: "ACTIVE",
140
- to: "ACTIVE",
141
- eventName: "adjust_reputation",
142
- guard: signerIsParty("state.authority"),
135
+ from: 'ACTIVE',
136
+ to: 'ACTIVE',
137
+ eventName: 'adjust_reputation',
138
+ guard: signerIsParty('state.authority'),
143
139
  effect: {
144
140
  merge: [
145
- { var: "state" },
141
+ { var: 'state' },
146
142
  {
147
143
  reputations: {
148
144
  set: [
149
- { var: "state.reputations" },
150
- { var: "event.subject" },
145
+ { var: 'state.reputations' },
146
+ { var: 'event.subject' },
151
147
  {
152
- "+": [
148
+ '+': [
153
149
  {
154
- get: [
155
- { var: "state.reputations" },
156
- { var: "event.subject" },
157
- ],
150
+ get: [{ var: 'state.reputations' }, { var: 'event.subject' }],
158
151
  },
159
- { var: "event.delta" },
152
+ { var: 'event.delta' },
160
153
  ],
161
154
  },
162
155
  ],
@@ -168,64 +161,48 @@ export const identityRegistryDef = defineFiberApp({
168
161
  },
169
162
  // ACTIVE → ACTIVE: grant_role (cascade selects the flat per-role map)
170
163
  {
171
- from: "ACTIVE",
172
- to: "ACTIVE",
173
- eventName: "grant_role",
174
- guard: signerIsParty("state.authority"),
164
+ from: 'ACTIVE',
165
+ to: 'ACTIVE',
166
+ eventName: 'grant_role',
167
+ guard: signerIsParty('state.authority'),
175
168
  effect: {
176
169
  merge: [
177
- { var: "state" },
170
+ { var: 'state' },
178
171
  {
179
172
  arbiters: {
180
173
  if: [
181
- { "==": [{ var: "event.role" }, "ARBITER"] },
174
+ { '==': [{ var: 'event.role' }, 'ARBITER'] },
182
175
  {
183
- set: [
184
- { var: "state.arbiters" },
185
- { var: "event.subject" },
186
- true,
187
- ],
176
+ set: [{ var: 'state.arbiters' }, { var: 'event.subject' }, true],
188
177
  },
189
- { var: "state.arbiters" },
178
+ { var: 'state.arbiters' },
190
179
  ],
191
180
  },
192
181
  slashers: {
193
182
  if: [
194
- { "==": [{ var: "event.role" }, "SLASHER"] },
183
+ { '==': [{ var: 'event.role' }, 'SLASHER'] },
195
184
  {
196
- set: [
197
- { var: "state.slashers" },
198
- { var: "event.subject" },
199
- true,
200
- ],
185
+ set: [{ var: 'state.slashers' }, { var: 'event.subject' }, true],
201
186
  },
202
- { var: "state.slashers" },
187
+ { var: 'state.slashers' },
203
188
  ],
204
189
  },
205
190
  issuers: {
206
191
  if: [
207
- { "==": [{ var: "event.role" }, "ISSUER"] },
192
+ { '==': [{ var: 'event.role' }, 'ISSUER'] },
208
193
  {
209
- set: [
210
- { var: "state.issuers" },
211
- { var: "event.subject" },
212
- true,
213
- ],
194
+ set: [{ var: 'state.issuers' }, { var: 'event.subject' }, true],
214
195
  },
215
- { var: "state.issuers" },
196
+ { var: 'state.issuers' },
216
197
  ],
217
198
  },
218
199
  boardMembers: {
219
200
  if: [
220
- { "==": [{ var: "event.role" }, "BOARD_MEMBER"] },
201
+ { '==': [{ var: 'event.role' }, 'BOARD_MEMBER'] },
221
202
  {
222
- set: [
223
- { var: "state.boardMembers" },
224
- { var: "event.subject" },
225
- true,
226
- ],
203
+ set: [{ var: 'state.boardMembers' }, { var: 'event.subject' }, true],
227
204
  },
228
- { var: "state.boardMembers" },
205
+ { var: 'state.boardMembers' },
229
206
  ],
230
207
  },
231
208
  },
@@ -235,45 +212,42 @@ export const identityRegistryDef = defineFiberApp({
235
212
  },
236
213
  // ACTIVE → ACTIVE: revoke_role (cascade unsets from the flat per-role map)
237
214
  {
238
- from: "ACTIVE",
239
- to: "ACTIVE",
240
- eventName: "revoke_role",
241
- guard: signerIsParty("state.authority"),
215
+ from: 'ACTIVE',
216
+ to: 'ACTIVE',
217
+ eventName: 'revoke_role',
218
+ guard: signerIsParty('state.authority'),
242
219
  effect: {
243
220
  merge: [
244
- { var: "state" },
221
+ { var: 'state' },
245
222
  {
246
223
  arbiters: {
247
224
  if: [
248
- { "==": [{ var: "event.role" }, "ARBITER"] },
249
- { unset: [{ var: "state.arbiters" }, { var: "event.subject" }] },
250
- { var: "state.arbiters" },
225
+ { '==': [{ var: 'event.role' }, 'ARBITER'] },
226
+ { unset: [{ var: 'state.arbiters' }, { var: 'event.subject' }] },
227
+ { var: 'state.arbiters' },
251
228
  ],
252
229
  },
253
230
  slashers: {
254
231
  if: [
255
- { "==": [{ var: "event.role" }, "SLASHER"] },
256
- { unset: [{ var: "state.slashers" }, { var: "event.subject" }] },
257
- { var: "state.slashers" },
232
+ { '==': [{ var: 'event.role' }, 'SLASHER'] },
233
+ { unset: [{ var: 'state.slashers' }, { var: 'event.subject' }] },
234
+ { var: 'state.slashers' },
258
235
  ],
259
236
  },
260
237
  issuers: {
261
238
  if: [
262
- { "==": [{ var: "event.role" }, "ISSUER"] },
263
- { unset: [{ var: "state.issuers" }, { var: "event.subject" }] },
264
- { var: "state.issuers" },
239
+ { '==': [{ var: 'event.role' }, 'ISSUER'] },
240
+ { unset: [{ var: 'state.issuers' }, { var: 'event.subject' }] },
241
+ { var: 'state.issuers' },
265
242
  ],
266
243
  },
267
244
  boardMembers: {
268
245
  if: [
269
- { "==": [{ var: "event.role" }, "BOARD_MEMBER"] },
246
+ { '==': [{ var: 'event.role' }, 'BOARD_MEMBER'] },
270
247
  {
271
- unset: [
272
- { var: "state.boardMembers" },
273
- { var: "event.subject" },
274
- ],
248
+ unset: [{ var: 'state.boardMembers' }, { var: 'event.subject' }],
275
249
  },
276
- { var: "state.boardMembers" },
250
+ { var: 'state.boardMembers' },
277
251
  ],
278
252
  },
279
253
  },
@@ -1,126 +1,120 @@
1
- import { defineFiberApp } from "../../../schema/fiber-app.js";
1
+ import { defineFiberApp } from '../../../schema/fiber-app.js';
2
2
  /**
3
3
  * Minimal identity state machine - extend for custom use cases.
4
4
  */
5
5
  export const identityUniversalDef = defineFiberApp({
6
6
  metadata: {
7
- name: "IdentityUniversal",
8
- app: "identity",
9
- type: "universal",
10
- version: "1.0.0",
11
- description: "Minimal identity state machine - extend for custom use cases",
7
+ name: 'IdentityUniversal',
8
+ app: 'identity',
9
+ type: 'universal',
10
+ version: '1.0.0',
11
+ description: 'Minimal identity state machine - extend for custom use cases',
12
12
  },
13
13
  createSchema: {
14
- required: ["owner"],
14
+ required: ['owner'],
15
15
  properties: {
16
16
  owner: {
17
- type: "address",
18
- description: "Identity owner DAG address",
17
+ type: 'address',
18
+ description: 'Identity owner DAG address',
19
19
  immutable: true,
20
20
  },
21
21
  metadata: {
22
- type: "object",
23
- description: "Arbitrary metadata",
22
+ type: 'object',
23
+ description: 'Arbitrary metadata',
24
24
  default: {},
25
25
  },
26
26
  },
27
27
  },
28
28
  stateSchema: {
29
29
  properties: {
30
- owner: { type: "address", immutable: true },
30
+ owner: { type: 'address', immutable: true },
31
31
  status: {
32
- type: "string",
33
- enum: ["CREATED", "ACTIVE", "INACTIVE"],
32
+ type: 'string',
33
+ enum: ['CREATED', 'ACTIVE', 'INACTIVE'],
34
34
  computed: true,
35
35
  },
36
- metadata: { type: "object" },
37
- activatedAt: { type: "timestamp", computed: true },
38
- updatedAt: { type: "timestamp", computed: true },
39
- deactivatedAt: { type: "timestamp", computed: true },
36
+ metadata: { type: 'object' },
37
+ activatedAt: { type: 'timestamp', computed: true },
38
+ updatedAt: { type: 'timestamp', computed: true },
39
+ deactivatedAt: { type: 'timestamp', computed: true },
40
40
  },
41
41
  },
42
42
  eventSchemas: {
43
43
  activate: {
44
- description: "Activate the identity",
44
+ description: 'Activate the identity',
45
45
  },
46
46
  update: {
47
- description: "Update identity metadata",
47
+ description: 'Update identity metadata',
48
48
  properties: {
49
- metadata: { type: "object" },
49
+ metadata: { type: 'object' },
50
50
  },
51
51
  },
52
52
  deactivate: {
53
- description: "Deactivate the identity",
53
+ description: 'Deactivate the identity',
54
54
  },
55
55
  },
56
56
  states: {
57
57
  CREATED: {
58
- id: "CREATED",
58
+ id: 'CREATED',
59
59
  isFinal: false,
60
60
  metadata: {
61
- label: "Created",
62
- description: "Identity registered but not yet activated",
63
- category: "initial",
61
+ label: 'Created',
62
+ description: 'Identity registered but not yet activated',
63
+ category: 'initial',
64
64
  },
65
65
  },
66
66
  ACTIVE: {
67
- id: "ACTIVE",
67
+ id: 'ACTIVE',
68
68
  isFinal: false,
69
69
  metadata: {
70
- label: "Active",
71
- description: "Identity is active and can be updated",
72
- category: "active",
70
+ label: 'Active',
71
+ description: 'Identity is active and can be updated',
72
+ category: 'active',
73
73
  },
74
74
  },
75
75
  INACTIVE: {
76
- id: "INACTIVE",
76
+ id: 'INACTIVE',
77
77
  isFinal: true,
78
78
  metadata: {
79
- label: "Inactive",
80
- description: "Identity deactivated by its owner (terminal)",
81
- category: "terminal",
79
+ label: 'Inactive',
80
+ description: 'Identity deactivated by its owner (terminal)',
81
+ category: 'terminal',
82
82
  },
83
83
  },
84
84
  },
85
- initialState: "CREATED",
85
+ initialState: 'CREATED',
86
86
  transitions: [
87
87
  {
88
- from: "CREATED",
89
- to: "ACTIVE",
90
- eventName: "activate",
91
- guard: { "==": [1, 1] },
88
+ from: 'CREATED',
89
+ to: 'ACTIVE',
90
+ eventName: 'activate',
91
+ guard: { '==': [1, 1] },
92
92
  effect: {
93
- merge: [
94
- { var: "state" },
95
- { status: "ACTIVE", activatedAt: { var: "$ordinal" } },
96
- ],
93
+ merge: [{ var: 'state' }, { status: 'ACTIVE', activatedAt: { var: '$ordinal' } }],
97
94
  },
98
95
  },
99
96
  {
100
- from: "ACTIVE",
101
- to: "ACTIVE",
102
- eventName: "update",
103
- guard: { "==": [1, 1] },
97
+ from: 'ACTIVE',
98
+ to: 'ACTIVE',
99
+ eventName: 'update',
100
+ guard: { '==': [1, 1] },
104
101
  effect: {
105
102
  merge: [
106
- { var: "state" },
103
+ { var: 'state' },
107
104
  {
108
- updatedAt: { var: "$ordinal" },
109
- metadata: { var: "event.metadata" },
105
+ updatedAt: { var: '$ordinal' },
106
+ metadata: { var: 'event.metadata' },
110
107
  },
111
108
  ],
112
109
  },
113
110
  },
114
111
  {
115
- from: "ACTIVE",
116
- to: "INACTIVE",
117
- eventName: "deactivate",
118
- guard: { "==": [1, 1] },
112
+ from: 'ACTIVE',
113
+ to: 'INACTIVE',
114
+ eventName: 'deactivate',
115
+ guard: { '==': [1, 1] },
119
116
  effect: {
120
- merge: [
121
- { var: "state" },
122
- { status: "INACTIVE", deactivatedAt: { var: "$ordinal" } },
123
- ],
117
+ merge: [{ var: 'state' }, { status: 'INACTIVE', deactivatedAt: { var: '$ordinal' } }],
124
118
  },
125
119
  },
126
120
  ],
@@ -27,9 +27,12 @@
27
27
  * @packageDocumentation
28
28
  */
29
29
  // Re-export as namespaces for organized access
30
- export * as identity from "./identity/index.js";
31
- export * as contracts from "./contracts/index.js";
32
- export * as markets from "./markets/index.js";
33
- export * as governance from "./governance/index.js";
34
- export * as corporate from "./corporate/index.js";
35
- export * as lending from "./lending/index.js";
30
+ export * as identity from './identity/index.js';
31
+ export * as contracts from './contracts/index.js';
32
+ export * as markets from './markets/index.js';
33
+ export * as governance from './governance/index.js';
34
+ export * as corporate from './corporate/index.js';
35
+ export * as lending from './lending/index.js';
36
+ export * as compute from './compute/index.js';
37
+ export * as stakedPool from './staked-pool/index.js';
38
+ export * as privacy from './privacy/index.js';