@ottochain/sdk 2.4.0 → 2.6.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 (227) 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 +21 -3
  62. package/dist/cjs/ottochain/genesis-manifest.js +6 -0
  63. package/dist/cjs/ottochain/metagraph-client.js +63 -11
  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 +145 -1
  69. package/dist/cjs/schema/fiber-app.js +139 -5
  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 +63 -11
  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 +137 -0
  148. package/dist/esm/schema/fiber-app.js +134 -5
  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/index.d.ts +1 -1
  212. package/dist/types/ottochain/metagraph-client.d.ts +69 -15
  213. package/dist/types/ottochain/transaction.d.ts +9 -1
  214. package/dist/types/ottochain/types.d.ts +1 -1
  215. package/dist/types/privacy/index.d.ts +2 -2
  216. package/dist/types/privacy/sealed-bid.d.ts +9 -9
  217. package/dist/types/privacy/shield-app.d.ts +1 -1
  218. package/dist/types/schema/effects.d.ts +132 -0
  219. package/dist/types/schema/fiber-app.d.ts +281 -0
  220. package/dist/types/schema/guards.d.ts +12 -0
  221. package/dist/types/templates/asset-policy.d.ts +119 -0
  222. package/dist/types/templates/index.d.ts +26 -0
  223. package/dist/types/templates/machine.d.ts +139 -0
  224. package/dist/types/templates/migration.d.ts +34 -0
  225. package/dist/types/templates/state-shape.d.ts +30 -0
  226. package/dist/types/zk/index.d.ts +4 -4
  227. package/package.json +31 -13
@@ -1,160 +1,160 @@
1
- import { defineFiberApp } from "../../../schema/fiber-app.js";
2
- import { signerIsParty, signerIsAnyParty } from "../../../schema/guards.js";
1
+ import { defineFiberApp } from '../../../schema/fiber-app.js';
2
+ import { signerIsParty, signerIsAnyParty } from '../../../schema/guards.js';
3
3
  /**
4
4
  * Collective purchasing with quantity thresholds and tiered pricing.
5
5
  */
6
6
  export const marketGroupBuyDef = defineFiberApp({
7
7
  metadata: {
8
- name: "MarketGroupBuy",
9
- app: "markets",
10
- type: "groupBuy",
11
- version: "1.0.0",
12
- description: "Collective purchasing with quantity thresholds and tiered pricing",
8
+ name: 'MarketGroupBuy',
9
+ app: 'markets',
10
+ type: 'groupBuy',
11
+ version: '1.0.0',
12
+ description: 'Collective purchasing with quantity thresholds and tiered pricing',
13
13
  crossReferences: {
14
14
  vendorIdentityId: "Links to vendor's IdentityAgent",
15
- escrowId: "Links to ContractEscrow for payment custody",
15
+ escrowId: 'Links to ContractEscrow for payment custody',
16
16
  },
17
17
  },
18
18
  createSchema: {
19
- required: ["organizer", "minQuantity", "deadline"],
19
+ required: ['organizer', 'minQuantity', 'deadline'],
20
20
  properties: {
21
21
  organizer: {
22
- type: "address",
23
- description: "DAG address of group buy organizer",
22
+ type: 'address',
23
+ description: 'DAG address of group buy organizer',
24
24
  immutable: true,
25
25
  },
26
26
  minQuantity: {
27
- type: "number",
27
+ type: 'number',
28
28
  minimum: 1,
29
- description: "Minimum quantity to proceed",
29
+ description: 'Minimum quantity to proceed',
30
30
  immutable: true,
31
31
  },
32
32
  deadline: {
33
- type: "timestamp",
34
- description: "Order deadline",
33
+ type: 'timestamp',
34
+ description: 'Order deadline',
35
35
  immutable: true,
36
36
  },
37
- vendor: { type: "address", description: "DAG address of the vendor" },
37
+ vendor: { type: 'address', description: 'DAG address of the vendor' },
38
38
  maxPerBuyer: {
39
- type: "number",
39
+ type: 'number',
40
40
  minimum: 1,
41
- description: "Max quantity per buyer",
41
+ description: 'Max quantity per buyer',
42
42
  },
43
43
  priceTiers: {
44
- type: "array",
45
- description: "Quantity-based pricing tiers",
44
+ type: 'array',
45
+ description: 'Quantity-based pricing tiers',
46
46
  },
47
47
  },
48
48
  },
49
49
  stateSchema: {
50
50
  properties: {
51
- status: { type: "string", computed: true },
52
- organizer: { type: "address", immutable: true },
53
- vendor: { type: "address" },
54
- minQuantity: { type: "number", immutable: true },
55
- maxPerBuyer: { type: "number" },
56
- deadline: { type: "timestamp", immutable: true },
57
- priceTiers: { type: "array" },
58
- orders: { type: "array", computed: true },
59
- totalQuantity: { type: "number", computed: true },
60
- currentTier: { type: "number", computed: true },
61
- refundsClaimed: { type: "array", computed: true },
51
+ status: { type: 'string', computed: true },
52
+ organizer: { type: 'address', immutable: true },
53
+ vendor: { type: 'address' },
54
+ minQuantity: { type: 'number', immutable: true },
55
+ maxPerBuyer: { type: 'number' },
56
+ deadline: { type: 'timestamp', immutable: true },
57
+ priceTiers: { type: 'array' },
58
+ orders: { type: 'array', computed: true },
59
+ totalQuantity: { type: 'number', computed: true },
60
+ currentTier: { type: 'number', computed: true },
61
+ refundsClaimed: { type: 'array', computed: true },
62
62
  },
63
63
  },
64
64
  eventSchemas: {
65
- open: { description: "Open the group buy for orders" },
66
- cancel: { description: "Cancel the group buy" },
65
+ open: { description: 'Open the group buy for orders' },
66
+ cancel: { description: 'Cancel the group buy' },
67
67
  order: {
68
- description: "Place an order",
69
- required: ["quantity"],
68
+ description: 'Place an order',
69
+ required: ['quantity'],
70
70
  properties: {
71
- quantity: { type: "number", minimum: 1 },
72
- shippingInfo: { type: "object" },
71
+ quantity: { type: 'number', minimum: 1 },
72
+ shippingInfo: { type: 'object' },
73
73
  },
74
74
  },
75
- check_threshold: { description: "Check if minimum threshold reached" },
76
- finalize: { description: "Finalize after deadline" },
77
- fulfill: { description: "Mark group buy as fulfilled by vendor/organizer" },
78
- claim_refund: { description: "Claim refund if threshold not met" },
75
+ check_threshold: { description: 'Check if minimum threshold reached' },
76
+ finalize: { description: 'Finalize after deadline' },
77
+ fulfill: { description: 'Mark group buy as fulfilled by vendor/organizer' },
78
+ claim_refund: { description: 'Claim refund if threshold not met' },
79
79
  },
80
80
  states: {
81
81
  PROPOSED: {
82
- id: "PROPOSED",
82
+ id: 'PROPOSED',
83
83
  isFinal: false,
84
84
  metadata: {
85
- label: "Proposed",
86
- description: "Group buy created but not yet open",
87
- category: "initial",
85
+ label: 'Proposed',
86
+ description: 'Group buy created but not yet open',
87
+ category: 'initial',
88
88
  },
89
89
  },
90
90
  OPEN: {
91
- id: "OPEN",
91
+ id: 'OPEN',
92
92
  isFinal: false,
93
93
  metadata: {
94
- label: "Open",
95
- description: "Accepting orders",
96
- category: "active",
94
+ label: 'Open',
95
+ description: 'Accepting orders',
96
+ category: 'active',
97
97
  },
98
98
  },
99
99
  THRESHOLD_MET: {
100
- id: "THRESHOLD_MET",
100
+ id: 'THRESHOLD_MET',
101
101
  isFinal: false,
102
102
  metadata: {
103
- label: "Threshold met",
104
- description: "Minimum quantity reached, continuing for better tier",
105
- category: "active",
103
+ label: 'Threshold met',
104
+ description: 'Minimum quantity reached, continuing for better tier',
105
+ category: 'active',
106
106
  },
107
107
  },
108
108
  PROCESSING: {
109
- id: "PROCESSING",
109
+ id: 'PROCESSING',
110
110
  isFinal: false,
111
111
  metadata: {
112
- label: "Processing",
113
- description: "Order placed with vendor, awaiting fulfillment",
114
- category: "pending",
112
+ label: 'Processing',
113
+ description: 'Order placed with vendor, awaiting fulfillment',
114
+ category: 'pending',
115
115
  },
116
116
  },
117
117
  FULFILLED: {
118
- id: "FULFILLED",
118
+ id: 'FULFILLED',
119
119
  isFinal: true,
120
120
  metadata: {
121
- label: "Fulfilled",
122
- description: "All items delivered to buyers",
123
- category: "terminal",
121
+ label: 'Fulfilled',
122
+ description: 'All items delivered to buyers',
123
+ category: 'terminal',
124
124
  },
125
125
  },
126
126
  REFUNDED: {
127
- id: "REFUNDED",
127
+ id: 'REFUNDED',
128
128
  isFinal: true,
129
129
  metadata: {
130
- label: "Refunded",
131
- description: "Threshold not met, all orders refunded",
132
- category: "terminal",
130
+ label: 'Refunded',
131
+ description: 'Threshold not met, all orders refunded',
132
+ category: 'terminal',
133
133
  },
134
134
  },
135
135
  CANCELLED: {
136
- id: "CANCELLED",
136
+ id: 'CANCELLED',
137
137
  isFinal: true,
138
138
  metadata: {
139
- label: "Cancelled",
140
- description: "Group buy cancelled",
141
- category: "terminal",
139
+ label: 'Cancelled',
140
+ description: 'Group buy cancelled',
141
+ category: 'terminal',
142
142
  },
143
143
  },
144
144
  },
145
- initialState: "PROPOSED",
145
+ initialState: 'PROPOSED',
146
146
  transitions: [
147
147
  {
148
- from: "PROPOSED",
149
- to: "OPEN",
150
- eventName: "open",
151
- guard: signerIsParty("state.organizer"),
148
+ from: 'PROPOSED',
149
+ to: 'OPEN',
150
+ eventName: 'open',
151
+ guard: signerIsParty('state.organizer'),
152
152
  effect: {
153
153
  merge: [
154
- { var: "state" },
154
+ { var: 'state' },
155
155
  {
156
- status: "OPEN",
157
- openedAt: { var: "$ordinal" },
156
+ status: 'OPEN',
157
+ openedAt: { var: '$ordinal' },
158
158
  orders: [],
159
159
  totalQuantity: 0,
160
160
  currentTier: 0,
@@ -164,55 +164,52 @@ export const marketGroupBuyDef = defineFiberApp({
164
164
  dependencies: [],
165
165
  },
166
166
  {
167
- from: "PROPOSED",
168
- to: "CANCELLED",
169
- eventName: "cancel",
170
- guard: signerIsParty("state.organizer"),
167
+ from: 'PROPOSED',
168
+ to: 'CANCELLED',
169
+ eventName: 'cancel',
170
+ guard: signerIsParty('state.organizer'),
171
171
  effect: {
172
- merge: [
173
- { var: "state" },
174
- { status: "CANCELLED", cancelledAt: { var: "$ordinal" } },
175
- ],
172
+ merge: [{ var: 'state' }, { status: 'CANCELLED', cancelledAt: { var: '$ordinal' } }],
176
173
  },
177
174
  dependencies: [],
178
175
  },
179
176
  {
180
- from: "OPEN",
181
- to: "OPEN",
182
- eventName: "order",
177
+ from: 'OPEN',
178
+ to: 'OPEN',
179
+ eventName: 'order',
183
180
  guard: {
184
181
  and: [
185
- { ">": [{ var: "event.quantity" }, 0] },
182
+ { '>': [{ var: 'event.quantity' }, 0] },
186
183
  {
187
184
  or: [
188
- { "!": [{ var: "state.maxPerBuyer" }] },
185
+ { '!': [{ var: 'state.maxPerBuyer' }] },
189
186
  {
190
- "<=": [{ var: "event.quantity" }, { var: "state.maxPerBuyer" }],
187
+ '<=': [{ var: 'event.quantity' }, { var: 'state.maxPerBuyer' }],
191
188
  },
192
189
  ],
193
190
  },
194
- { "<=": [{ var: "$ordinal" }, { var: "state.deadline" }] },
191
+ { '<=': [{ var: '$ordinal' }, { var: 'state.deadline' }] },
195
192
  ],
196
193
  },
197
194
  effect: {
198
195
  merge: [
199
- { var: "state" },
196
+ { var: 'state' },
200
197
  {
201
198
  orders: {
202
199
  cat: [
203
- { var: "state.orders" },
200
+ { var: 'state.orders' },
204
201
  [
205
202
  {
206
- buyer: { var: "event.agent" },
207
- quantity: { var: "event.quantity" },
208
- shippingInfo: { var: "event.shippingInfo" },
209
- orderedAt: { var: "$ordinal" },
203
+ buyer: { var: 'event.agent' },
204
+ quantity: { var: 'event.quantity' },
205
+ shippingInfo: { var: 'event.shippingInfo' },
206
+ orderedAt: { var: '$ordinal' },
210
207
  },
211
208
  ],
212
209
  ],
213
210
  },
214
211
  totalQuantity: {
215
- "+": [{ var: "state.totalQuantity" }, { var: "event.quantity" }],
212
+ '+': [{ var: 'state.totalQuantity' }, { var: 'event.quantity' }],
216
213
  },
217
214
  },
218
215
  ],
@@ -220,31 +217,28 @@ export const marketGroupBuyDef = defineFiberApp({
220
217
  dependencies: [],
221
218
  },
222
219
  {
223
- from: "OPEN",
224
- to: "THRESHOLD_MET",
225
- eventName: "check_threshold",
220
+ from: 'OPEN',
221
+ to: 'THRESHOLD_MET',
222
+ eventName: 'check_threshold',
226
223
  guard: {
227
- ">=": [{ var: "state.totalQuantity" }, { var: "state.minQuantity" }],
224
+ '>=': [{ var: 'state.totalQuantity' }, { var: 'state.minQuantity' }],
228
225
  },
229
226
  effect: {
230
227
  merge: [
231
- { var: "state" },
228
+ { var: 'state' },
232
229
  {
233
- status: "THRESHOLD_MET",
234
- thresholdMetAt: { var: "$ordinal" },
230
+ status: 'THRESHOLD_MET',
231
+ thresholdMetAt: { var: '$ordinal' },
235
232
  currentTier: {
236
233
  reduce: [
237
- { var: "state.priceTiers" },
234
+ { var: 'state.priceTiers' },
238
235
  {
239
236
  if: [
240
237
  {
241
- "<=": [
242
- { var: "current.minQuantity" },
243
- { var: "state.totalQuantity" },
244
- ],
238
+ '<=': [{ var: 'current.minQuantity' }, { var: 'state.totalQuantity' }],
245
239
  },
246
- { var: "current.tier" },
247
- { var: "accumulator" },
240
+ { var: 'current.tier' },
241
+ { var: 'accumulator' },
248
242
  ],
249
243
  },
250
244
  0,
@@ -256,56 +250,50 @@ export const marketGroupBuyDef = defineFiberApp({
256
250
  dependencies: [],
257
251
  },
258
252
  {
259
- from: "THRESHOLD_MET",
260
- to: "THRESHOLD_MET",
261
- eventName: "order",
253
+ from: 'THRESHOLD_MET',
254
+ to: 'THRESHOLD_MET',
255
+ eventName: 'order',
262
256
  guard: {
263
- and: [
264
- { ">": [{ var: "event.quantity" }, 0] },
265
- { "<=": [{ var: "$ordinal" }, { var: "state.deadline" }] },
266
- ],
257
+ and: [{ '>': [{ var: 'event.quantity' }, 0] }, { '<=': [{ var: '$ordinal' }, { var: 'state.deadline' }] }],
267
258
  },
268
259
  effect: {
269
260
  merge: [
270
- { var: "state" },
261
+ { var: 'state' },
271
262
  {
272
263
  orders: {
273
264
  cat: [
274
- { var: "state.orders" },
265
+ { var: 'state.orders' },
275
266
  [
276
267
  {
277
- buyer: { var: "event.agent" },
278
- quantity: { var: "event.quantity" },
279
- shippingInfo: { var: "event.shippingInfo" },
280
- orderedAt: { var: "$ordinal" },
268
+ buyer: { var: 'event.agent' },
269
+ quantity: { var: 'event.quantity' },
270
+ shippingInfo: { var: 'event.shippingInfo' },
271
+ orderedAt: { var: '$ordinal' },
281
272
  },
282
273
  ],
283
274
  ],
284
275
  },
285
276
  totalQuantity: {
286
- "+": [{ var: "state.totalQuantity" }, { var: "event.quantity" }],
277
+ '+': [{ var: 'state.totalQuantity' }, { var: 'event.quantity' }],
287
278
  },
288
279
  currentTier: {
289
280
  reduce: [
290
- { var: "state.priceTiers" },
281
+ { var: 'state.priceTiers' },
291
282
  {
292
283
  if: [
293
284
  {
294
- "<=": [
295
- { var: "current.minQuantity" },
285
+ '<=': [
286
+ { var: 'current.minQuantity' },
296
287
  {
297
- "+": [
298
- { var: "state.totalQuantity" },
299
- { var: "event.quantity" },
300
- ],
288
+ '+': [{ var: 'state.totalQuantity' }, { var: 'event.quantity' }],
301
289
  },
302
290
  ],
303
291
  },
304
- { var: "current.tier" },
305
- { var: "accumulator" },
292
+ { var: 'current.tier' },
293
+ { var: 'accumulator' },
306
294
  ],
307
295
  },
308
- { var: "state.currentTier" },
296
+ { var: 'state.currentTier' },
309
297
  ],
310
298
  },
311
299
  },
@@ -314,24 +302,20 @@ export const marketGroupBuyDef = defineFiberApp({
314
302
  dependencies: [],
315
303
  },
316
304
  {
317
- from: "THRESHOLD_MET",
318
- to: "PROCESSING",
319
- eventName: "finalize",
320
- guard: { ">=": [{ var: "$ordinal" }, { var: "state.deadline" }] },
305
+ from: 'THRESHOLD_MET',
306
+ to: 'PROCESSING',
307
+ eventName: 'finalize',
308
+ guard: { '>=': [{ var: '$ordinal' }, { var: 'state.deadline' }] },
321
309
  effect: {
322
310
  merge: [
323
- { var: "state" },
311
+ { var: 'state' },
324
312
  {
325
- status: "PROCESSING",
326
- finalizedAt: { var: "$ordinal" },
327
- finalTier: { var: "state.currentTier" },
313
+ status: 'PROCESSING',
314
+ finalizedAt: { var: '$ordinal' },
315
+ finalTier: { var: 'state.currentTier' },
328
316
  finalPricePerUnit: {
329
317
  var: {
330
- cat: [
331
- "state.priceTiers.",
332
- { var: "state.currentTier" },
333
- ".pricePerUnit",
334
- ],
318
+ cat: ['state.priceTiers.', { var: 'state.currentTier' }, '.pricePerUnit'],
335
319
  },
336
320
  },
337
321
  },
@@ -340,61 +324,58 @@ export const marketGroupBuyDef = defineFiberApp({
340
324
  dependencies: [],
341
325
  },
342
326
  {
343
- from: "PROCESSING",
344
- to: "FULFILLED",
345
- eventName: "fulfill",
346
- guard: signerIsAnyParty(["state.vendor", "state.organizer"]),
327
+ from: 'PROCESSING',
328
+ to: 'FULFILLED',
329
+ eventName: 'fulfill',
330
+ guard: signerIsAnyParty(['state.vendor', 'state.organizer']),
347
331
  effect: {
348
332
  merge: [
349
- { var: "state" },
333
+ { var: 'state' },
350
334
  {
351
- status: "FULFILLED",
352
- fulfilledAt: { var: "$ordinal" },
353
- trackingInfo: { var: "event.trackingInfo" },
335
+ status: 'FULFILLED',
336
+ fulfilledAt: { var: '$ordinal' },
337
+ trackingInfo: { var: 'event.trackingInfo' },
354
338
  },
355
339
  ],
356
340
  },
357
341
  dependencies: [],
358
342
  },
359
343
  {
360
- from: "OPEN",
361
- to: "REFUNDED",
362
- eventName: "finalize",
344
+ from: 'OPEN',
345
+ to: 'REFUNDED',
346
+ eventName: 'finalize',
363
347
  guard: {
364
348
  and: [
365
349
  {
366
- "<": [{ var: "state.totalQuantity" }, { var: "state.minQuantity" }],
350
+ '<': [{ var: 'state.totalQuantity' }, { var: 'state.minQuantity' }],
367
351
  },
368
- { ">=": [{ var: "$ordinal" }, { var: "state.deadline" }] },
352
+ { '>=': [{ var: '$ordinal' }, { var: 'state.deadline' }] },
369
353
  ],
370
354
  },
371
355
  effect: {
372
356
  merge: [
373
- { var: "state" },
357
+ { var: 'state' },
374
358
  {
375
- status: "REFUNDED",
376
- refundedAt: { var: "$ordinal" },
377
- reason: "threshold_not_met",
359
+ status: 'REFUNDED',
360
+ refundedAt: { var: '$ordinal' },
361
+ reason: 'threshold_not_met',
378
362
  },
379
363
  ],
380
364
  },
381
365
  dependencies: [],
382
366
  },
383
367
  {
384
- from: "REFUNDED",
385
- to: "REFUNDED",
386
- eventName: "claim_refund",
368
+ from: 'REFUNDED',
369
+ to: 'REFUNDED',
370
+ eventName: 'claim_refund',
387
371
  guard: {
388
372
  and: [
389
373
  {
390
- ">": [
374
+ '>': [
391
375
  {
392
376
  length: [
393
377
  {
394
- filter: [
395
- { var: "state.orders" },
396
- { "===": [{ var: "buyer" }, { var: "event.agent" }] },
397
- ],
378
+ filter: [{ var: 'state.orders' }, { '===': [{ var: 'buyer' }, { var: 'event.agent' }] }],
398
379
  },
399
380
  ],
400
381
  },
@@ -402,9 +383,9 @@ export const marketGroupBuyDef = defineFiberApp({
402
383
  ],
403
384
  },
404
385
  {
405
- "!": [
386
+ '!': [
406
387
  {
407
- in: [{ var: "event.agent" }, { var: "state.refundsClaimed" }],
388
+ in: [{ var: 'event.agent' }, { var: 'state.refundsClaimed' }],
408
389
  },
409
390
  ],
410
391
  },
@@ -412,10 +393,10 @@ export const marketGroupBuyDef = defineFiberApp({
412
393
  },
413
394
  effect: {
414
395
  merge: [
415
- { var: "state" },
396
+ { var: 'state' },
416
397
  {
417
398
  refundsClaimed: {
418
- cat: [{ var: "state.refundsClaimed" }, [{ var: "event.agent" }]],
399
+ cat: [{ var: 'state.refundsClaimed' }, [{ var: 'event.agent' }]],
419
400
  },
420
401
  },
421
402
  ],