@ottochain/sdk 2.2.5 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (222) hide show
  1. package/dist/cjs/apps/contracts/index.js +15 -8
  2. package/dist/cjs/apps/contracts/state-machines/contract-agreement.js +89 -46
  3. package/dist/cjs/apps/contracts/state-machines/contract-escrow.js +152 -45
  4. package/dist/cjs/apps/contracts/state-machines/contract-universal.js +40 -8
  5. package/dist/cjs/apps/corporate/index.js +2 -2
  6. package/dist/cjs/apps/corporate/state-machines/corp-board.js +169 -59
  7. package/dist/cjs/apps/corporate/state-machines/corp-entity.js +245 -47
  8. package/dist/cjs/apps/corporate/state-machines/corp-securities.js +407 -99
  9. package/dist/cjs/apps/corporate/state-machines/corp-shareholders.js +151 -37
  10. package/dist/cjs/apps/governance/index.js +14 -14
  11. package/dist/cjs/apps/governance/state-machines/dao-multisig.js +85 -43
  12. package/dist/cjs/apps/governance/state-machines/dao-reputation.js +73 -43
  13. package/dist/cjs/apps/governance/state-machines/dao-single.js +55 -14
  14. package/dist/cjs/apps/governance/state-machines/dao-token.js +103 -45
  15. package/dist/cjs/apps/governance/state-machines/governance-simple.js +129 -65
  16. package/dist/cjs/apps/governance/state-machines/governance-universal.js +29 -5
  17. package/dist/cjs/apps/identity/constants.js +55 -14
  18. package/dist/cjs/apps/identity/index.js +27 -11
  19. package/dist/cjs/apps/identity/state-machines/identity-agent.js +57 -9
  20. package/dist/cjs/apps/identity/state-machines/identity-oracle.js +70 -27
  21. package/dist/cjs/apps/identity/state-machines/identity-registry.js +288 -0
  22. package/dist/cjs/apps/identity/state-machines/identity-universal.js +30 -6
  23. package/dist/cjs/apps/identity/state-machines/index.js +3 -1
  24. package/dist/cjs/apps/index.js +19 -8
  25. package/dist/cjs/apps/lending/assets.js +223 -0
  26. package/dist/cjs/apps/lending/credit-scoring.js +87 -0
  27. package/dist/cjs/apps/lending/eligibility.js +121 -0
  28. package/dist/cjs/apps/lending/index.js +91 -0
  29. package/dist/cjs/apps/lending/state-machines/index.js +9 -0
  30. package/dist/cjs/apps/lending/state-machines/lending-zk-loan.js +412 -0
  31. package/dist/cjs/apps/markets/index.js +21 -11
  32. package/dist/cjs/apps/markets/state-machines/market-auction.js +44 -19
  33. package/dist/cjs/apps/markets/state-machines/market-crowdfund.js +54 -29
  34. package/dist/cjs/apps/markets/state-machines/market-group-buy.js +53 -31
  35. package/dist/cjs/apps/markets/state-machines/market-prediction.js +120 -61
  36. package/dist/cjs/apps/markets/state-machines/market-universal.js +50 -10
  37. package/dist/cjs/apps/oracles/index.js +2 -2
  38. package/dist/cjs/errors.js +3 -3
  39. package/dist/cjs/generated/google/protobuf/struct.js +4 -4
  40. package/dist/cjs/generated/index.js +11 -7
  41. package/dist/cjs/generated/openapi.js +6 -0
  42. package/dist/cjs/generated/ottochain/apps/contracts/v1/contract.js +50 -50
  43. package/dist/cjs/generated/ottochain/apps/corporate/v1/corporate.js +19 -20
  44. package/dist/cjs/generated/ottochain/apps/governance/v1/governance.js +13 -13
  45. package/dist/cjs/generated/ottochain/apps/identity/v1/attestation.js +4 -4
  46. package/dist/cjs/generated/ottochain/apps/identity/v1/identity.js +124 -130
  47. package/dist/cjs/generated/ottochain/apps/markets/v1/market.js +107 -107
  48. package/dist/cjs/generated/ottochain/v1/common.js +1722 -1
  49. package/dist/cjs/generated/ottochain/v1/fiber.js +355 -5
  50. package/dist/cjs/generated/ottochain/v1/messages.js +775 -3
  51. package/dist/cjs/generated/ottochain/v1/records.js +350 -3
  52. package/dist/cjs/index.js +45 -7
  53. package/dist/cjs/openapi.js +2 -0
  54. package/dist/cjs/ottochain/drop-nulls.js +1 -2
  55. package/dist/cjs/ottochain/genesis-manifest.js +193 -0
  56. package/dist/cjs/ottochain/index.js +27 -13
  57. package/dist/cjs/ottochain/metagraph-client.js +65 -8
  58. package/dist/cjs/ottochain/snapshot.js +11 -12
  59. package/dist/cjs/ottochain/transaction.js +57 -14
  60. package/dist/cjs/ottochain/types.js +19 -1
  61. package/dist/cjs/privacy/index.js +14 -0
  62. package/dist/cjs/privacy/sealed-bid.js +210 -0
  63. package/dist/cjs/privacy/shield-app.js +131 -0
  64. package/dist/cjs/schema/effects.js +40 -0
  65. package/dist/cjs/schema/fiber-app.js +19 -13
  66. package/dist/cjs/schema/guard-lint.js +352 -0
  67. package/dist/cjs/schema/guards.js +246 -0
  68. package/dist/cjs/signing.js +80 -0
  69. package/dist/cjs/types.js +2 -3
  70. package/dist/cjs/validation.js +8 -8
  71. package/dist/cjs/verify.js +9 -4
  72. package/dist/cjs/zk/commit.js +53 -0
  73. package/dist/cjs/zk/guard.js +107 -0
  74. package/dist/cjs/zk/index.js +48 -0
  75. package/dist/cjs/zk/preimage.js +37 -0
  76. package/dist/cjs/zk/prover.js +87 -0
  77. package/dist/cjs/zk/registry.js +62 -0
  78. package/dist/cjs/zk/types.js +28 -0
  79. package/dist/cjs/zk/witness.js +19 -0
  80. package/dist/esm/apps/contracts/index.js +7 -3
  81. package/dist/esm/apps/contracts/state-machines/contract-agreement.js +89 -46
  82. package/dist/esm/apps/contracts/state-machines/contract-escrow.js +152 -45
  83. package/dist/esm/apps/contracts/state-machines/contract-universal.js +40 -8
  84. package/dist/esm/apps/corporate/state-machines/corp-board.js +169 -59
  85. package/dist/esm/apps/corporate/state-machines/corp-entity.js +245 -47
  86. package/dist/esm/apps/corporate/state-machines/corp-securities.js +407 -99
  87. package/dist/esm/apps/corporate/state-machines/corp-shareholders.js +151 -37
  88. package/dist/esm/apps/governance/state-machines/dao-multisig.js +85 -43
  89. package/dist/esm/apps/governance/state-machines/dao-reputation.js +73 -43
  90. package/dist/esm/apps/governance/state-machines/dao-single.js +55 -14
  91. package/dist/esm/apps/governance/state-machines/dao-token.js +103 -45
  92. package/dist/esm/apps/governance/state-machines/governance-simple.js +129 -65
  93. package/dist/esm/apps/governance/state-machines/governance-universal.js +29 -5
  94. package/dist/esm/apps/identity/constants.js +51 -12
  95. package/dist/esm/apps/identity/index.js +12 -7
  96. package/dist/esm/apps/identity/state-machines/identity-agent.js +57 -9
  97. package/dist/esm/apps/identity/state-machines/identity-oracle.js +70 -27
  98. package/dist/esm/apps/identity/state-machines/identity-registry.js +285 -0
  99. package/dist/esm/apps/identity/state-machines/identity-universal.js +30 -6
  100. package/dist/esm/apps/identity/state-machines/index.js +1 -0
  101. package/dist/esm/apps/index.js +1 -0
  102. package/dist/esm/apps/lending/assets.js +207 -0
  103. package/dist/esm/apps/lending/credit-scoring.js +81 -0
  104. package/dist/esm/apps/lending/eligibility.js +115 -0
  105. package/dist/esm/apps/lending/index.js +69 -0
  106. package/dist/esm/apps/lending/state-machines/index.js +5 -0
  107. package/dist/esm/apps/lending/state-machines/lending-zk-loan.js +409 -0
  108. package/dist/esm/apps/markets/index.js +8 -4
  109. package/dist/esm/apps/markets/state-machines/market-auction.js +44 -19
  110. package/dist/esm/apps/markets/state-machines/market-crowdfund.js +54 -29
  111. package/dist/esm/apps/markets/state-machines/market-group-buy.js +53 -31
  112. package/dist/esm/apps/markets/state-machines/market-prediction.js +120 -61
  113. package/dist/esm/apps/markets/state-machines/market-universal.js +50 -10
  114. package/dist/esm/generated/index.js +9 -5
  115. package/dist/esm/generated/openapi.js +5 -0
  116. package/dist/esm/generated/ottochain/apps/contracts/v1/contract.js +46 -46
  117. package/dist/esm/generated/ottochain/apps/identity/v1/identity.js +114 -120
  118. package/dist/esm/generated/ottochain/apps/markets/v1/market.js +100 -100
  119. package/dist/esm/generated/ottochain/v1/common.js +1718 -0
  120. package/dist/esm/generated/ottochain/v1/fiber.js +351 -1
  121. package/dist/esm/generated/ottochain/v1/messages.js +774 -2
  122. package/dist/esm/generated/ottochain/v1/records.js +349 -2
  123. package/dist/esm/index.js +23 -2
  124. package/dist/esm/openapi.js +1 -0
  125. package/dist/esm/ottochain/genesis-manifest.js +189 -0
  126. package/dist/esm/ottochain/index.js +4 -3
  127. package/dist/esm/ottochain/metagraph-client.js +65 -8
  128. package/dist/esm/ottochain/snapshot.js +4 -4
  129. package/dist/esm/ottochain/transaction.js +43 -3
  130. package/dist/esm/ottochain/types.js +18 -0
  131. package/dist/esm/privacy/index.js +6 -0
  132. package/dist/esm/privacy/sealed-bid.js +206 -0
  133. package/dist/esm/privacy/shield-app.js +127 -0
  134. package/dist/esm/schema/effects.js +35 -0
  135. package/dist/esm/schema/fiber-app.js +13 -6
  136. package/dist/esm/schema/guard-lint.js +346 -0
  137. package/dist/esm/schema/guards.js +229 -0
  138. package/dist/esm/signing.js +74 -0
  139. package/dist/esm/verify.js +8 -2
  140. package/dist/esm/zk/commit.js +44 -0
  141. package/dist/esm/zk/guard.js +99 -0
  142. package/dist/esm/zk/index.js +19 -0
  143. package/dist/esm/zk/preimage.js +30 -0
  144. package/dist/esm/zk/prover.js +82 -0
  145. package/dist/esm/zk/registry.js +55 -0
  146. package/dist/esm/zk/types.js +25 -0
  147. package/dist/esm/zk/witness.js +15 -0
  148. package/dist/types/apps/contracts/index.d.ts +159 -227
  149. package/dist/types/apps/contracts/state-machines/contract-agreement.d.ts +50 -101
  150. package/dist/types/apps/contracts/state-machines/contract-escrow.d.ts +86 -120
  151. package/dist/types/apps/contracts/state-machines/contract-universal.d.ts +20 -4
  152. package/dist/types/apps/corporate/index.d.ts +1040 -304
  153. package/dist/types/apps/corporate/state-machines/corp-board.d.ts +188 -52
  154. package/dist/types/apps/corporate/state-machines/corp-entity.d.ts +267 -62
  155. package/dist/types/apps/corporate/state-machines/corp-securities.d.ts +355 -131
  156. package/dist/types/apps/corporate/state-machines/corp-shareholders.d.ts +225 -53
  157. package/dist/types/apps/governance/index.d.ts +396 -417
  158. package/dist/types/apps/governance/state-machines/dao-multisig.d.ts +92 -95
  159. package/dist/types/apps/governance/state-machines/dao-reputation.d.ts +57 -69
  160. package/dist/types/apps/governance/state-machines/dao-single.d.ts +40 -50
  161. package/dist/types/apps/governance/state-machines/dao-token.d.ts +80 -53
  162. package/dist/types/apps/governance/state-machines/governance-simple.d.ts +107 -121
  163. package/dist/types/apps/governance/state-machines/governance-universal.d.ts +17 -5
  164. package/dist/types/apps/identity/constants.d.ts +32 -4
  165. package/dist/types/apps/identity/index.d.ts +449 -100
  166. package/dist/types/apps/identity/state-machines/identity-agent.d.ts +30 -0
  167. package/dist/types/apps/identity/state-machines/identity-oracle.d.ts +41 -87
  168. package/dist/types/apps/identity/state-machines/identity-registry.d.ts +379 -0
  169. package/dist/types/apps/identity/state-machines/identity-universal.d.ts +15 -0
  170. package/dist/types/apps/identity/state-machines/index.d.ts +1 -0
  171. package/dist/types/apps/index.d.ts +1 -0
  172. package/dist/types/apps/lending/assets.d.ts +258 -0
  173. package/dist/types/apps/lending/credit-scoring.d.ts +80 -0
  174. package/dist/types/apps/lending/eligibility.d.ts +83 -0
  175. package/dist/types/apps/lending/index.d.ts +548 -0
  176. package/dist/types/apps/lending/state-machines/index.d.ts +5 -0
  177. package/dist/types/apps/lending/state-machines/lending-zk-loan.d.ts +528 -0
  178. package/dist/types/apps/markets/index.d.ts +184 -204
  179. package/dist/types/apps/markets/state-machines/market-auction.d.ts +25 -37
  180. package/dist/types/apps/markets/state-machines/market-crowdfund.d.ts +26 -34
  181. package/dist/types/apps/markets/state-machines/market-group-buy.d.ts +31 -43
  182. package/dist/types/apps/markets/state-machines/market-prediction.d.ts +67 -72
  183. package/dist/types/apps/markets/state-machines/market-universal.d.ts +30 -10
  184. package/dist/types/generated/index.d.ts +5 -5
  185. package/dist/types/generated/openapi.d.ts +1257 -0
  186. package/dist/types/generated/ottochain/apps/contracts/v1/contract.d.ts +5 -5
  187. package/dist/types/generated/ottochain/apps/identity/v1/identity.d.ts +12 -12
  188. package/dist/types/generated/ottochain/apps/markets/v1/market.d.ts +11 -11
  189. package/dist/types/generated/ottochain/v1/common.d.ts +228 -0
  190. package/dist/types/generated/ottochain/v1/fiber.d.ts +32 -1
  191. package/dist/types/generated/ottochain/v1/messages.d.ts +84 -0
  192. package/dist/types/generated/ottochain/v1/records.d.ts +34 -0
  193. package/dist/types/index.d.ts +8 -2
  194. package/dist/types/openapi.d.ts +22 -0
  195. package/dist/types/ottochain/genesis-manifest.d.ts +130 -0
  196. package/dist/types/ottochain/index.d.ts +6 -5
  197. package/dist/types/ottochain/metagraph-client.d.ts +49 -7
  198. package/dist/types/ottochain/snapshot.d.ts +6 -6
  199. package/dist/types/ottochain/transaction.d.ts +33 -1
  200. package/dist/types/ottochain/types.d.ts +602 -11
  201. package/dist/types/privacy/index.d.ts +6 -0
  202. package/dist/types/privacy/sealed-bid.d.ts +348 -0
  203. package/dist/types/privacy/shield-app.d.ts +48 -0
  204. package/dist/types/schema/effects.d.ts +34 -0
  205. package/dist/types/schema/fiber-app.d.ts +41 -3
  206. package/dist/types/schema/guard-lint.d.ts +111 -0
  207. package/dist/types/schema/guards.d.ts +134 -0
  208. package/dist/types/signing.d.ts +45 -0
  209. package/dist/types/validation.d.ts +22 -217
  210. package/dist/types/verify.d.ts +4 -0
  211. package/dist/types/zk/commit.d.ts +28 -0
  212. package/dist/types/zk/guard.d.ts +46 -0
  213. package/dist/types/zk/index.d.ts +19 -0
  214. package/dist/types/zk/preimage.d.ts +10 -0
  215. package/dist/types/zk/prover.d.ts +34 -0
  216. package/dist/types/zk/registry.d.ts +34 -0
  217. package/dist/types/zk/types.d.ts +33 -0
  218. package/dist/types/zk/witness.d.ts +40 -0
  219. package/package.json +52 -35
  220. package/dist/cjs/ottochain/normalize.js +0 -186
  221. package/dist/esm/ottochain/normalize.js +0 -179
  222. package/dist/types/ottochain/normalize.d.ts +0 -79
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.marketCrowdfundDef = 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
  * All-or-nothing crowdfunding with threshold, deadline, and stretch goals.
7
8
  */
@@ -81,27 +82,47 @@ exports.marketCrowdfundDef = (0, fiber_app_js_1.defineFiberApp)({
81
82
  PROPOSED: {
82
83
  id: "PROPOSED",
83
84
  isFinal: false,
84
- metadata: { description: "Campaign created but not yet open" },
85
+ metadata: {
86
+ label: "Proposed",
87
+ description: "Campaign created but not yet open",
88
+ category: "initial",
89
+ },
85
90
  },
86
91
  OPEN: {
87
92
  id: "OPEN",
88
93
  isFinal: false,
89
- metadata: { description: "Accepting pledges" },
94
+ metadata: {
95
+ label: "Open",
96
+ description: "Accepting pledges",
97
+ category: "active",
98
+ },
90
99
  },
91
100
  FUNDED: {
92
101
  id: "FUNDED",
93
102
  isFinal: true,
94
- metadata: { description: "Threshold met, funds released to creator" },
103
+ metadata: {
104
+ label: "Funded",
105
+ description: "Threshold met, funds released to creator",
106
+ category: "terminal",
107
+ },
95
108
  },
96
109
  REFUNDED: {
97
110
  id: "REFUNDED",
98
111
  isFinal: true,
99
- metadata: { description: "Threshold not met, all pledges refunded" },
112
+ metadata: {
113
+ label: "Refunded",
114
+ description: "Threshold not met, all pledges refunded",
115
+ category: "terminal",
116
+ },
100
117
  },
101
118
  CANCELLED: {
102
119
  id: "CANCELLED",
103
120
  isFinal: true,
104
- metadata: { description: "Campaign cancelled by creator" },
121
+ metadata: {
122
+ label: "Cancelled",
123
+ description: "Campaign cancelled by creator",
124
+ category: "terminal",
125
+ },
105
126
  },
106
127
  },
107
128
  initialState: "PROPOSED",
@@ -110,13 +131,13 @@ exports.marketCrowdfundDef = (0, fiber_app_js_1.defineFiberApp)({
110
131
  from: "PROPOSED",
111
132
  to: "OPEN",
112
133
  eventName: "launch",
113
- guard: { "===": [{ var: "event.agent" }, { var: "state.creator" }] },
134
+ guard: (0, guards_js_1.signerIsParty)("state.creator"),
114
135
  effect: {
115
136
  merge: [
116
137
  { var: "state" },
117
138
  {
118
139
  status: "OPEN",
119
- launchedAt: { var: "$timestamp" },
140
+ launchedAt: { var: "$ordinal" },
120
141
  pledges: [],
121
142
  totalPledged: 0,
122
143
  backerCount: 0,
@@ -129,11 +150,11 @@ exports.marketCrowdfundDef = (0, fiber_app_js_1.defineFiberApp)({
129
150
  from: "PROPOSED",
130
151
  to: "CANCELLED",
131
152
  eventName: "cancel",
132
- guard: { "===": [{ var: "event.agent" }, { var: "state.creator" }] },
153
+ guard: (0, guards_js_1.signerIsParty)("state.creator"),
133
154
  effect: {
134
155
  merge: [
135
156
  { var: "state" },
136
- { status: "CANCELLED", cancelledAt: { var: "$timestamp" } },
157
+ { status: "CANCELLED", cancelledAt: { var: "$ordinal" } },
137
158
  ],
138
159
  },
139
160
  dependencies: [],
@@ -145,14 +166,14 @@ exports.marketCrowdfundDef = (0, fiber_app_js_1.defineFiberApp)({
145
166
  guard: {
146
167
  and: [
147
168
  { ">": [{ var: "event.amount" }, 0] },
148
- { "!==": [{ var: "event.agent" }, { var: "state.creator" }] },
169
+ (0, guards_js_1.signerIsNotParty)("state.creator"),
149
170
  {
150
171
  or: [
151
172
  { "!": [{ var: "state.minPledge" }] },
152
173
  { ">=": [{ var: "event.amount" }, { var: "state.minPledge" }] },
153
174
  ],
154
175
  },
155
- { "<=": [{ var: "$timestamp" }, { var: "state.deadline" }] },
176
+ { "<=": [{ var: "$ordinal" }, { var: "state.deadline" }] },
156
177
  ],
157
178
  },
158
179
  effect: {
@@ -167,7 +188,7 @@ exports.marketCrowdfundDef = (0, fiber_app_js_1.defineFiberApp)({
167
188
  backer: { var: "event.agent" },
168
189
  amount: { var: "event.amount" },
169
190
  rewardTier: { var: "event.rewardTier" },
170
- pledgedAt: { var: "$timestamp" },
191
+ pledgedAt: { var: "$ordinal" },
171
192
  },
172
193
  ],
173
194
  ],
@@ -188,16 +209,18 @@ exports.marketCrowdfundDef = (0, fiber_app_js_1.defineFiberApp)({
188
209
  guard: {
189
210
  and: [
190
211
  { ">": [{ var: "event.additionalAmount" }, 0] },
191
- { "<=": [{ var: "$timestamp" }, { var: "state.deadline" }] },
212
+ { "<=": [{ var: "$ordinal" }, { var: "state.deadline" }] },
192
213
  {
193
214
  ">": [
194
215
  {
195
- size: {
196
- filter: [
197
- { var: "state.pledges" },
198
- { "===": [{ var: "backer" }, { var: "event.agent" }] },
199
- ],
200
- },
216
+ length: [
217
+ {
218
+ filter: [
219
+ { var: "state.pledges" },
220
+ { "===": [{ var: "backer" }, { var: "event.agent" }] },
221
+ ],
222
+ },
223
+ ],
201
224
  },
202
225
  0,
203
226
  ],
@@ -226,7 +249,7 @@ exports.marketCrowdfundDef = (0, fiber_app_js_1.defineFiberApp)({
226
249
  guard: {
227
250
  and: [
228
251
  { ">=": [{ var: "state.totalPledged" }, { var: "state.threshold" }] },
229
- { ">=": [{ var: "$timestamp" }, { var: "state.deadline" }] },
252
+ { ">=": [{ var: "$ordinal" }, { var: "state.deadline" }] },
230
253
  ],
231
254
  },
232
255
  effect: {
@@ -234,7 +257,7 @@ exports.marketCrowdfundDef = (0, fiber_app_js_1.defineFiberApp)({
234
257
  { var: "state" },
235
258
  {
236
259
  status: "FUNDED",
237
- fundedAt: { var: "$timestamp" },
260
+ fundedAt: { var: "$ordinal" },
238
261
  stretchGoalsReached: {
239
262
  filter: [
240
263
  { var: "state.stretchGoals" },
@@ -253,7 +276,7 @@ exports.marketCrowdfundDef = (0, fiber_app_js_1.defineFiberApp)({
253
276
  guard: {
254
277
  and: [
255
278
  { "<": [{ var: "state.totalPledged" }, { var: "state.threshold" }] },
256
- { ">=": [{ var: "$timestamp" }, { var: "state.deadline" }] },
279
+ { ">=": [{ var: "$ordinal" }, { var: "state.deadline" }] },
257
280
  ],
258
281
  },
259
282
  effect: {
@@ -261,7 +284,7 @@ exports.marketCrowdfundDef = (0, fiber_app_js_1.defineFiberApp)({
261
284
  { var: "state" },
262
285
  {
263
286
  status: "REFUNDED",
264
- refundedAt: { var: "$timestamp" },
287
+ refundedAt: { var: "$ordinal" },
265
288
  reason: "threshold_not_met",
266
289
  },
267
290
  ],
@@ -277,12 +300,14 @@ exports.marketCrowdfundDef = (0, fiber_app_js_1.defineFiberApp)({
277
300
  {
278
301
  ">": [
279
302
  {
280
- size: {
281
- filter: [
282
- { var: "state.pledges" },
283
- { "===": [{ var: "backer" }, { var: "event.agent" }] },
284
- ],
285
- },
303
+ length: [
304
+ {
305
+ filter: [
306
+ { var: "state.pledges" },
307
+ { "===": [{ var: "backer" }, { var: "event.agent" }] },
308
+ ],
309
+ },
310
+ ],
286
311
  },
287
312
  0,
288
313
  ],
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.marketGroupBuyDef = 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
  * Collective purchasing with quantity thresholds and tiered pricing.
7
8
  */
@@ -83,41 +84,65 @@ exports.marketGroupBuyDef = (0, fiber_app_js_1.defineFiberApp)({
83
84
  PROPOSED: {
84
85
  id: "PROPOSED",
85
86
  isFinal: false,
86
- metadata: { description: "Group buy created but not yet open" },
87
+ metadata: {
88
+ label: "Proposed",
89
+ description: "Group buy created but not yet open",
90
+ category: "initial",
91
+ },
87
92
  },
88
93
  OPEN: {
89
94
  id: "OPEN",
90
95
  isFinal: false,
91
- metadata: { description: "Accepting orders" },
96
+ metadata: {
97
+ label: "Open",
98
+ description: "Accepting orders",
99
+ category: "active",
100
+ },
92
101
  },
93
102
  THRESHOLD_MET: {
94
103
  id: "THRESHOLD_MET",
95
104
  isFinal: false,
96
105
  metadata: {
106
+ label: "Threshold met",
97
107
  description: "Minimum quantity reached, continuing for better tier",
108
+ category: "active",
98
109
  },
99
110
  },
100
111
  PROCESSING: {
101
112
  id: "PROCESSING",
102
113
  isFinal: false,
103
114
  metadata: {
115
+ label: "Processing",
104
116
  description: "Order placed with vendor, awaiting fulfillment",
117
+ category: "pending",
105
118
  },
106
119
  },
107
120
  FULFILLED: {
108
121
  id: "FULFILLED",
109
122
  isFinal: true,
110
- metadata: { description: "All items delivered to buyers" },
123
+ metadata: {
124
+ label: "Fulfilled",
125
+ description: "All items delivered to buyers",
126
+ category: "terminal",
127
+ },
111
128
  },
112
129
  REFUNDED: {
113
130
  id: "REFUNDED",
114
131
  isFinal: true,
115
- metadata: { description: "Threshold not met, all orders refunded" },
132
+ metadata: {
133
+ label: "Refunded",
134
+ description: "Threshold not met, all orders refunded",
135
+ category: "terminal",
136
+ },
116
137
  },
117
138
  CANCELLED: {
118
139
  id: "CANCELLED",
119
140
  isFinal: true,
120
- metadata: { description: "Group buy cancelled" },
141
+ metadata: {
142
+ label: "Cancelled",
143
+ description: "Group buy cancelled",
144
+ category: "terminal",
145
+ },
121
146
  },
122
147
  },
123
148
  initialState: "PROPOSED",
@@ -126,13 +151,13 @@ exports.marketGroupBuyDef = (0, fiber_app_js_1.defineFiberApp)({
126
151
  from: "PROPOSED",
127
152
  to: "OPEN",
128
153
  eventName: "open",
129
- guard: { "===": [{ var: "event.agent" }, { var: "state.organizer" }] },
154
+ guard: (0, guards_js_1.signerIsParty)("state.organizer"),
130
155
  effect: {
131
156
  merge: [
132
157
  { var: "state" },
133
158
  {
134
159
  status: "OPEN",
135
- openedAt: { var: "$timestamp" },
160
+ openedAt: { var: "$ordinal" },
136
161
  orders: [],
137
162
  totalQuantity: 0,
138
163
  currentTier: 0,
@@ -145,11 +170,11 @@ exports.marketGroupBuyDef = (0, fiber_app_js_1.defineFiberApp)({
145
170
  from: "PROPOSED",
146
171
  to: "CANCELLED",
147
172
  eventName: "cancel",
148
- guard: { "===": [{ var: "event.agent" }, { var: "state.organizer" }] },
173
+ guard: (0, guards_js_1.signerIsParty)("state.organizer"),
149
174
  effect: {
150
175
  merge: [
151
176
  { var: "state" },
152
- { status: "CANCELLED", cancelledAt: { var: "$timestamp" } },
177
+ { status: "CANCELLED", cancelledAt: { var: "$ordinal" } },
153
178
  ],
154
179
  },
155
180
  dependencies: [],
@@ -169,7 +194,7 @@ exports.marketGroupBuyDef = (0, fiber_app_js_1.defineFiberApp)({
169
194
  },
170
195
  ],
171
196
  },
172
- { "<=": [{ var: "$timestamp" }, { var: "state.deadline" }] },
197
+ { "<=": [{ var: "$ordinal" }, { var: "state.deadline" }] },
173
198
  ],
174
199
  },
175
200
  effect: {
@@ -184,7 +209,7 @@ exports.marketGroupBuyDef = (0, fiber_app_js_1.defineFiberApp)({
184
209
  buyer: { var: "event.agent" },
185
210
  quantity: { var: "event.quantity" },
186
211
  shippingInfo: { var: "event.shippingInfo" },
187
- orderedAt: { var: "$timestamp" },
212
+ orderedAt: { var: "$ordinal" },
188
213
  },
189
214
  ],
190
215
  ],
@@ -209,7 +234,7 @@ exports.marketGroupBuyDef = (0, fiber_app_js_1.defineFiberApp)({
209
234
  { var: "state" },
210
235
  {
211
236
  status: "THRESHOLD_MET",
212
- thresholdMetAt: { var: "$timestamp" },
237
+ thresholdMetAt: { var: "$ordinal" },
213
238
  currentTier: {
214
239
  reduce: [
215
240
  { var: "state.priceTiers" },
@@ -240,7 +265,7 @@ exports.marketGroupBuyDef = (0, fiber_app_js_1.defineFiberApp)({
240
265
  guard: {
241
266
  and: [
242
267
  { ">": [{ var: "event.quantity" }, 0] },
243
- { "<=": [{ var: "$timestamp" }, { var: "state.deadline" }] },
268
+ { "<=": [{ var: "$ordinal" }, { var: "state.deadline" }] },
244
269
  ],
245
270
  },
246
271
  effect: {
@@ -255,7 +280,7 @@ exports.marketGroupBuyDef = (0, fiber_app_js_1.defineFiberApp)({
255
280
  buyer: { var: "event.agent" },
256
281
  quantity: { var: "event.quantity" },
257
282
  shippingInfo: { var: "event.shippingInfo" },
258
- orderedAt: { var: "$timestamp" },
283
+ orderedAt: { var: "$ordinal" },
259
284
  },
260
285
  ],
261
286
  ],
@@ -295,13 +320,13 @@ exports.marketGroupBuyDef = (0, fiber_app_js_1.defineFiberApp)({
295
320
  from: "THRESHOLD_MET",
296
321
  to: "PROCESSING",
297
322
  eventName: "finalize",
298
- guard: { ">=": [{ var: "$timestamp" }, { var: "state.deadline" }] },
323
+ guard: { ">=": [{ var: "$ordinal" }, { var: "state.deadline" }] },
299
324
  effect: {
300
325
  merge: [
301
326
  { var: "state" },
302
327
  {
303
328
  status: "PROCESSING",
304
- finalizedAt: { var: "$timestamp" },
329
+ finalizedAt: { var: "$ordinal" },
305
330
  finalTier: { var: "state.currentTier" },
306
331
  finalPricePerUnit: {
307
332
  var: {
@@ -321,18 +346,13 @@ exports.marketGroupBuyDef = (0, fiber_app_js_1.defineFiberApp)({
321
346
  from: "PROCESSING",
322
347
  to: "FULFILLED",
323
348
  eventName: "fulfill",
324
- guard: {
325
- or: [
326
- { "===": [{ var: "event.agent" }, { var: "state.vendor" }] },
327
- { "===": [{ var: "event.agent" }, { var: "state.organizer" }] },
328
- ],
329
- },
349
+ guard: (0, guards_js_1.signerIsAnyParty)(["state.vendor", "state.organizer"]),
330
350
  effect: {
331
351
  merge: [
332
352
  { var: "state" },
333
353
  {
334
354
  status: "FULFILLED",
335
- fulfilledAt: { var: "$timestamp" },
355
+ fulfilledAt: { var: "$ordinal" },
336
356
  trackingInfo: { var: "event.trackingInfo" },
337
357
  },
338
358
  ],
@@ -348,7 +368,7 @@ exports.marketGroupBuyDef = (0, fiber_app_js_1.defineFiberApp)({
348
368
  {
349
369
  "<": [{ var: "state.totalQuantity" }, { var: "state.minQuantity" }],
350
370
  },
351
- { ">=": [{ var: "$timestamp" }, { var: "state.deadline" }] },
371
+ { ">=": [{ var: "$ordinal" }, { var: "state.deadline" }] },
352
372
  ],
353
373
  },
354
374
  effect: {
@@ -356,7 +376,7 @@ exports.marketGroupBuyDef = (0, fiber_app_js_1.defineFiberApp)({
356
376
  { var: "state" },
357
377
  {
358
378
  status: "REFUNDED",
359
- refundedAt: { var: "$timestamp" },
379
+ refundedAt: { var: "$ordinal" },
360
380
  reason: "threshold_not_met",
361
381
  },
362
382
  ],
@@ -372,12 +392,14 @@ exports.marketGroupBuyDef = (0, fiber_app_js_1.defineFiberApp)({
372
392
  {
373
393
  ">": [
374
394
  {
375
- size: {
376
- filter: [
377
- { var: "state.orders" },
378
- { "===": [{ var: "buyer" }, { var: "event.agent" }] },
379
- ],
380
- },
395
+ length: [
396
+ {
397
+ filter: [
398
+ { var: "state.orders" },
399
+ { "===": [{ var: "buyer" }, { var: "event.agent" }] },
400
+ ],
401
+ },
402
+ ],
381
403
  },
382
404
  0,
383
405
  ],