@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
@@ -2,153 +2,162 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.daoSingleDef = void 0;
4
4
  const fiber_app_js_1 = require("../../../schema/fiber-app.js");
5
+ const guards_js_1 = require("../../../schema/guards.js");
5
6
  /**
6
7
  * Single owner controls all actions. Simplest governance model.
7
8
  */
8
9
  exports.daoSingleDef = (0, fiber_app_js_1.defineFiberApp)({
9
10
  metadata: {
10
- name: "SingleOwnerDAO",
11
- app: "governance",
12
- type: "daoSingle",
13
- version: "1.0.0",
14
- description: "Single owner controls all actions. Simplest governance model.",
15
- category: "governance/dao",
11
+ name: 'SingleOwnerDAO',
12
+ app: 'governance',
13
+ type: 'daoSingle',
14
+ version: '1.0.0',
15
+ description: 'Single owner controls all actions. Simplest governance model.',
16
+ category: 'governance/dao',
16
17
  crossReferences: {
17
- Identity: "owner registration",
18
- Contract: "action execution targets",
19
- Treasury: "fund management",
18
+ Identity: 'owner registration',
19
+ Contract: 'action execution targets',
20
+ Treasury: 'fund management',
20
21
  },
21
22
  },
22
23
  createSchema: {
23
- required: ["owner"],
24
+ required: ['owner'],
24
25
  properties: {
25
26
  owner: {
26
- type: "address",
27
- description: "DAG address of the initial owner",
27
+ type: 'address',
28
+ description: 'DAG address of the initial owner',
28
29
  immutable: false,
29
30
  },
30
31
  },
31
32
  },
32
33
  stateSchema: {
33
34
  properties: {
34
- owner: { type: "address" },
35
- pendingOwner: { type: "address" },
36
- transferInitiatedAt: { type: "timestamp" },
37
- ownershipHistory: { type: "array", computed: true },
38
- actions: { type: "array", computed: true },
39
- status: { type: "string", computed: true },
35
+ owner: { type: 'address' },
36
+ pendingOwner: { type: 'address' },
37
+ transferInitiatedAt: { type: 'timestamp' },
38
+ ownershipHistory: { type: 'array', computed: true },
39
+ actions: { type: 'array', computed: true },
40
+ status: { type: 'string', computed: true },
40
41
  },
41
42
  },
42
43
  eventSchemas: {
43
44
  execute: {
44
- description: "Execute an action (owner only)",
45
- required: ["actionId", "actionType", "payload"],
45
+ description: 'Execute an action (owner only)',
46
+ required: ['actionId', 'actionType', 'payload'],
46
47
  properties: {
47
- agent: { type: "address" },
48
- actionId: { type: "string" },
49
- actionType: { type: "string" },
50
- payload: { type: "object" },
48
+ agent: { type: 'address' },
49
+ actionId: { type: 'string' },
50
+ actionType: { type: 'string' },
51
+ payload: { type: 'object' },
51
52
  },
52
53
  },
53
54
  transfer_ownership: {
54
- description: "Initiate ownership transfer (owner only)",
55
- required: ["newOwner"],
55
+ description: 'Initiate ownership transfer (owner only)',
56
+ required: ['newOwner'],
56
57
  properties: {
57
- agent: { type: "address" },
58
- newOwner: { type: "address" },
58
+ agent: { type: 'address' },
59
+ newOwner: { type: 'address' },
59
60
  },
60
61
  },
61
62
  accept_ownership: {
62
- description: "Accept ownership (pending owner only)",
63
+ description: 'Accept ownership (pending owner only)',
63
64
  properties: {
64
- agent: { type: "address" },
65
+ agent: { type: 'address' },
65
66
  },
66
67
  },
67
68
  cancel_transfer: {
68
- description: "Cancel pending ownership transfer (owner only)",
69
+ description: 'Cancel pending ownership transfer (owner only)',
69
70
  properties: {
70
- agent: { type: "address" },
71
+ agent: { type: 'address' },
71
72
  },
72
73
  },
73
74
  dissolve: {
74
- description: "Dissolve the DAO (owner only)",
75
+ description: 'Dissolve the DAO (owner only)',
75
76
  properties: {
76
- agent: { type: "address" },
77
+ agent: { type: 'address' },
77
78
  },
78
79
  },
79
80
  },
80
81
  states: {
81
82
  ACTIVE: {
82
- id: "ACTIVE",
83
+ id: 'ACTIVE',
83
84
  isFinal: false,
84
85
  metadata: {
85
- label: "Active",
86
- description: "Single owner controls the DAO and may act or transfer ownership",
87
- category: "initial",
86
+ label: 'Active',
87
+ description: 'Single owner controls the DAO and may act or transfer ownership',
88
+ category: 'initial',
88
89
  },
89
90
  },
90
91
  TRANSFERRING: {
91
- id: "TRANSFERRING",
92
+ id: 'TRANSFERRING',
92
93
  isFinal: false,
93
94
  metadata: {
94
- label: "Transferring",
95
- description: "Ownership transfer proposed; awaiting acceptance",
96
- category: "pending",
95
+ label: 'Transferring',
96
+ description: 'Ownership transfer proposed; awaiting acceptance',
97
+ category: 'pending',
97
98
  },
98
99
  },
99
100
  DISSOLVED: {
100
- id: "DISSOLVED",
101
+ id: 'DISSOLVED',
101
102
  isFinal: true,
102
103
  metadata: {
103
- label: "Dissolved",
104
- description: "DAO dissolved by its owner (terminal)",
105
- category: "terminal",
104
+ label: 'Dissolved',
105
+ description: 'DAO dissolved by its owner (terminal)',
106
+ category: 'terminal',
106
107
  },
107
108
  },
108
109
  },
109
- initialState: "ACTIVE",
110
+ initialState: 'ACTIVE',
110
111
  transitions: [
111
112
  // ACTIVE → ACTIVE: execute (owner only)
112
113
  {
113
- from: "ACTIVE",
114
- to: "ACTIVE",
115
- eventName: "execute",
116
- guard: { "===": [{ var: "event.agent" }, { var: "state.owner" }] },
114
+ from: 'ACTIVE',
115
+ to: 'ACTIVE',
116
+ eventName: 'execute',
117
+ guard: (0, guards_js_1.signerIsParty)('state.owner'),
117
118
  effect: {
118
119
  merge: [
119
- { var: "state" },
120
+ { var: 'state' },
120
121
  {
121
122
  actions: {
122
123
  cat: [
123
- { var: "state.actions" },
124
+ { var: 'state.actions' },
124
125
  [
125
126
  {
126
- id: { var: "event.actionId" },
127
- type: { var: "event.actionType" },
128
- payload: { var: "event.payload" },
129
- executedAt: { var: "$timestamp" },
127
+ id: { var: 'event.actionId' },
128
+ type: { var: 'event.actionType' },
129
+ payload: { var: 'event.payload' },
130
+ executedAt: { var: '$ordinal' },
130
131
  },
131
132
  ],
132
133
  ],
133
134
  },
135
+ // A3 fix: transition-level `emits` is dropped by the chain; emit from INSIDE the effect
136
+ // under the reserved `_emit` key (extracted as an EmittedEvent, stripped from state).
137
+ _emit: [
138
+ {
139
+ name: 'action_executed',
140
+ data: { actionId: { var: 'event.actionId' } },
141
+ destination: 'external',
142
+ },
143
+ ],
134
144
  },
135
145
  ],
136
146
  },
137
- emits: [{ event: "action_executed", to: "external" }],
138
147
  dependencies: [],
139
148
  },
140
149
  // ACTIVE → TRANSFERRING: transfer_ownership (owner only)
141
150
  {
142
- from: "ACTIVE",
143
- to: "TRANSFERRING",
144
- eventName: "transfer_ownership",
145
- guard: { "===": [{ var: "event.agent" }, { var: "state.owner" }] },
151
+ from: 'ACTIVE',
152
+ to: 'TRANSFERRING',
153
+ eventName: 'transfer_ownership',
154
+ guard: (0, guards_js_1.signerIsParty)('state.owner'),
146
155
  effect: {
147
156
  merge: [
148
- { var: "state" },
157
+ { var: 'state' },
149
158
  {
150
- pendingOwner: { var: "event.newOwner" },
151
- transferInitiatedAt: { var: "$timestamp" },
159
+ pendingOwner: { var: 'event.newOwner' },
160
+ transferInitiatedAt: { var: '$ordinal' },
152
161
  },
153
162
  ],
154
163
  },
@@ -156,44 +165,52 @@ exports.daoSingleDef = (0, fiber_app_js_1.defineFiberApp)({
156
165
  },
157
166
  // TRANSFERRING → ACTIVE: accept_ownership (pending owner only)
158
167
  {
159
- from: "TRANSFERRING",
160
- to: "ACTIVE",
161
- eventName: "accept_ownership",
162
- guard: { "===": [{ var: "event.agent" }, { var: "state.pendingOwner" }] },
168
+ from: 'TRANSFERRING',
169
+ to: 'ACTIVE',
170
+ eventName: 'accept_ownership',
171
+ guard: (0, guards_js_1.signerIsParty)('state.pendingOwner'),
163
172
  effect: {
164
173
  merge: [
165
- { var: "state" },
174
+ { var: 'state' },
166
175
  {
167
- owner: { var: "state.pendingOwner" },
176
+ owner: { var: 'state.pendingOwner' },
168
177
  pendingOwner: null,
169
178
  transferInitiatedAt: null,
170
179
  ownershipHistory: {
171
180
  cat: [
172
- { var: "state.ownershipHistory" },
181
+ { var: 'state.ownershipHistory' },
173
182
  [
174
183
  {
175
- from: { var: "state.owner" },
176
- to: { var: "state.pendingOwner" },
177
- at: { var: "$timestamp" },
184
+ from: { var: 'state.owner' },
185
+ to: { var: 'state.pendingOwner' },
186
+ at: { var: '$ordinal' },
178
187
  },
179
188
  ],
180
189
  ],
181
190
  },
191
+ // A3 fix: transition-level `emits` is dropped by the chain; emit from INSIDE the effect
192
+ // under the reserved `_emit` key (extracted as an EmittedEvent, stripped from state).
193
+ _emit: [
194
+ {
195
+ name: 'ownership_transferred',
196
+ data: { var: 'event' },
197
+ destination: 'Identity',
198
+ },
199
+ ],
182
200
  },
183
201
  ],
184
202
  },
185
- emits: [{ event: "ownership_transferred", to: "Identity" }],
186
203
  dependencies: [],
187
204
  },
188
205
  // TRANSFERRING → ACTIVE: cancel_transfer (owner only)
189
206
  {
190
- from: "TRANSFERRING",
191
- to: "ACTIVE",
192
- eventName: "cancel_transfer",
193
- guard: { "===": [{ var: "event.agent" }, { var: "state.owner" }] },
207
+ from: 'TRANSFERRING',
208
+ to: 'ACTIVE',
209
+ eventName: 'cancel_transfer',
210
+ guard: (0, guards_js_1.signerIsParty)('state.owner'),
194
211
  effect: {
195
212
  merge: [
196
- { var: "state" },
213
+ { var: 'state' },
197
214
  {
198
215
  pendingOwner: null,
199
216
  transferInitiatedAt: null,
@@ -204,16 +221,16 @@ exports.daoSingleDef = (0, fiber_app_js_1.defineFiberApp)({
204
221
  },
205
222
  // ACTIVE → DISSOLVED: dissolve (owner only)
206
223
  {
207
- from: "ACTIVE",
208
- to: "DISSOLVED",
209
- eventName: "dissolve",
210
- guard: { "===": [{ var: "event.agent" }, { var: "state.owner" }] },
224
+ from: 'ACTIVE',
225
+ to: 'DISSOLVED',
226
+ eventName: 'dissolve',
227
+ guard: (0, guards_js_1.signerIsParty)('state.owner'),
211
228
  effect: {
212
229
  merge: [
213
- { var: "state" },
230
+ { var: 'state' },
214
231
  {
215
- dissolvedAt: { var: "$timestamp" },
216
- status: "DISSOLVED",
232
+ dissolvedAt: { var: '$ordinal' },
233
+ status: 'DISSOLVED',
217
234
  },
218
235
  ],
219
236
  },