@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
@@ -8,197 +8,197 @@ const guards_js_1 = require("../../../schema/guards.js");
8
8
  */
9
9
  exports.marketPredictionDef = (0, fiber_app_js_1.defineFiberApp)({
10
10
  metadata: {
11
- name: "MarketPrediction",
12
- app: "markets",
13
- type: "prediction",
14
- version: "1.0.0",
15
- description: "Binary or multi-outcome prediction market with oracle resolution and position staking",
11
+ name: 'MarketPrediction',
12
+ app: 'markets',
13
+ type: 'prediction',
14
+ version: '1.0.0',
15
+ description: 'Binary or multi-outcome prediction market with oracle resolution and position staking',
16
16
  crossReferences: {
17
- oracleId: "Links to IdentityOracle that resolves the outcome",
17
+ oracleId: 'Links to IdentityOracle that resolves the outcome',
18
18
  creatorIdentityId: "Links to creator's IdentityAgent",
19
19
  },
20
20
  },
21
21
  createSchema: {
22
- required: ["creator", "outcomes", "oracles", "quorum", "arbiter"],
22
+ required: ['creator', 'outcomes', 'oracles', 'quorum', 'arbiter'],
23
23
  properties: {
24
24
  creator: {
25
- type: "address",
26
- description: "DAG address of the market creator",
25
+ type: 'address',
26
+ description: 'DAG address of the market creator',
27
27
  immutable: true,
28
28
  },
29
29
  arbiter: {
30
- type: "address",
31
- description: "DAG address of the arbiter authorized to rule on a disputed resolution",
30
+ type: 'address',
31
+ description: 'DAG address of the arbiter authorized to rule on a disputed resolution',
32
32
  immutable: true,
33
33
  },
34
34
  outcomes: {
35
- type: "array",
36
- description: "Valid outcome identifiers",
35
+ type: 'array',
36
+ description: 'Valid outcome identifiers',
37
37
  immutable: true,
38
38
  },
39
39
  oracles: {
40
- type: "array",
41
- description: "Authorized oracle addresses",
40
+ type: 'array',
41
+ description: 'Authorized oracle addresses',
42
42
  immutable: true,
43
43
  },
44
44
  quorum: {
45
- type: "number",
46
- description: "Minimum oracle submissions needed to resolve",
45
+ type: 'number',
46
+ description: 'Minimum oracle submissions needed to resolve',
47
47
  immutable: true,
48
48
  },
49
- deadline: { type: "timestamp", description: "Optional trading deadline" },
49
+ deadline: { type: 'timestamp', description: 'Optional trading deadline' },
50
50
  },
51
51
  },
52
52
  stateSchema: {
53
53
  properties: {
54
- status: { type: "string", computed: true },
55
- creator: { type: "address", immutable: true },
56
- arbiter: { type: "address", immutable: true },
57
- outcomes: { type: "array", immutable: true },
58
- oracles: { type: "array", immutable: true },
59
- quorum: { type: "number", immutable: true },
60
- deadline: { type: "timestamp" },
61
- positions: { type: "object", computed: true },
62
- totalPool: { type: "number", computed: true },
63
- resolutions: { type: "array", computed: true },
64
- finalOutcome: { type: "string", computed: true },
65
- claims: { type: "array", computed: true },
54
+ status: { type: 'string', computed: true },
55
+ creator: { type: 'address', immutable: true },
56
+ arbiter: { type: 'address', immutable: true },
57
+ outcomes: { type: 'array', immutable: true },
58
+ oracles: { type: 'array', immutable: true },
59
+ quorum: { type: 'number', immutable: true },
60
+ deadline: { type: 'timestamp' },
61
+ positions: { type: 'object', computed: true },
62
+ totalPool: { type: 'number', computed: true },
63
+ resolutions: { type: 'array', computed: true },
64
+ finalOutcome: { type: 'string', computed: true },
65
+ claims: { type: 'array', computed: true },
66
66
  },
67
67
  },
68
68
  eventSchemas: {
69
- open: { description: "Open the market for trading" },
69
+ open: { description: 'Open the market for trading' },
70
70
  cancel: {
71
- description: "Cancel the market before opening",
72
- properties: { reason: { type: "string" } },
71
+ description: 'Cancel the market before opening',
72
+ properties: { reason: { type: 'string' } },
73
73
  },
74
74
  take_position: {
75
- description: "Take a position on an outcome",
76
- required: ["outcome", "amount"],
75
+ description: 'Take a position on an outcome',
76
+ required: ['outcome', 'amount'],
77
77
  properties: {
78
- outcome: { type: "string" },
79
- amount: { type: "number", minimum: 0 },
78
+ outcome: { type: 'string' },
79
+ amount: { type: 'number', minimum: 0 },
80
80
  },
81
81
  },
82
- close: { description: "Close trading" },
82
+ close: { description: 'Close trading' },
83
83
  submit_resolution: {
84
- description: "Submit oracle resolution",
85
- required: ["outcome", "proof"],
84
+ description: 'Submit oracle resolution',
85
+ required: ['outcome', 'proof'],
86
86
  properties: {
87
- outcome: { type: "string" },
88
- proof: { type: "string" },
87
+ outcome: { type: 'string' },
88
+ proof: { type: 'string' },
89
89
  },
90
90
  },
91
91
  finalize: {
92
- description: "Finalize market after quorum reached",
92
+ description: 'Finalize market after quorum reached',
93
93
  },
94
94
  dispute: {
95
- description: "Dispute the resolution",
96
- required: ["stake"],
95
+ description: 'Dispute the resolution',
96
+ required: ['stake'],
97
97
  properties: {
98
- stake: { type: "number", minimum: 0 },
99
- reason: { type: "string" },
98
+ stake: { type: 'number', minimum: 0 },
99
+ reason: { type: 'string' },
100
100
  },
101
101
  },
102
102
  ruling: {
103
- description: "Judicial ruling on dispute",
103
+ description: 'Judicial ruling on dispute',
104
104
  properties: {
105
- finalOutcome: { type: "string" },
106
- rulingId: { type: "string" },
105
+ finalOutcome: { type: 'string' },
106
+ rulingId: { type: 'string' },
107
107
  },
108
108
  },
109
- invalidate: { description: "Invalidate market by oracle consensus" },
109
+ invalidate: { description: 'Invalidate market by oracle consensus' },
110
110
  claim: {
111
- description: "Claim payout after settlement",
112
- properties: { amount: { type: "number" } },
111
+ description: 'Claim payout after settlement',
112
+ properties: { amount: { type: 'number' } },
113
113
  },
114
114
  },
115
115
  states: {
116
116
  PROPOSED: {
117
- id: "PROPOSED",
117
+ id: 'PROPOSED',
118
118
  isFinal: false,
119
119
  metadata: {
120
- label: "Proposed",
121
- description: "Market created but not yet open for trading",
122
- category: "initial",
120
+ label: 'Proposed',
121
+ description: 'Market created but not yet open for trading',
122
+ category: 'initial',
123
123
  },
124
124
  },
125
125
  OPEN: {
126
- id: "OPEN",
126
+ id: 'OPEN',
127
127
  isFinal: false,
128
128
  metadata: {
129
- label: "Open",
130
- description: "Accepting positions on outcomes",
131
- category: "active",
129
+ label: 'Open',
130
+ description: 'Accepting positions on outcomes',
131
+ category: 'active',
132
132
  },
133
133
  },
134
134
  CLOSED: {
135
- id: "CLOSED",
135
+ id: 'CLOSED',
136
136
  isFinal: false,
137
137
  metadata: {
138
- label: "Closed",
139
- description: "No more positions, awaiting resolution",
140
- category: "pending",
138
+ label: 'Closed',
139
+ description: 'No more positions, awaiting resolution',
140
+ category: 'pending',
141
141
  },
142
142
  },
143
143
  RESOLVING: {
144
- id: "RESOLVING",
144
+ id: 'RESOLVING',
145
145
  isFinal: false,
146
146
  metadata: {
147
- label: "Resolving",
148
- description: "Oracle(s) submitting resolution",
149
- category: "pending",
147
+ label: 'Resolving',
148
+ description: 'Oracle(s) submitting resolution',
149
+ category: 'pending',
150
150
  },
151
151
  },
152
152
  DISPUTED: {
153
- id: "DISPUTED",
153
+ id: 'DISPUTED',
154
154
  isFinal: false,
155
155
  metadata: {
156
- label: "Disputed",
157
- description: "Resolution challenged, awaiting arbitration",
158
- category: "pending",
156
+ label: 'Disputed',
157
+ description: 'Resolution challenged, awaiting arbitration',
158
+ category: 'pending',
159
159
  },
160
160
  },
161
161
  SETTLED: {
162
- id: "SETTLED",
162
+ id: 'SETTLED',
163
163
  isFinal: true,
164
164
  metadata: {
165
- label: "Settled",
166
- description: "Outcome finalized, payouts available",
167
- category: "terminal",
165
+ label: 'Settled',
166
+ description: 'Outcome finalized, payouts available',
167
+ category: 'terminal',
168
168
  },
169
169
  },
170
170
  REFUNDED: {
171
- id: "REFUNDED",
171
+ id: 'REFUNDED',
172
172
  isFinal: true,
173
173
  metadata: {
174
- label: "Refunded",
175
- description: "Market invalidated, all positions refunded",
176
- category: "terminal",
174
+ label: 'Refunded',
175
+ description: 'Market invalidated, all positions refunded',
176
+ category: 'terminal',
177
177
  },
178
178
  },
179
179
  CANCELLED: {
180
- id: "CANCELLED",
180
+ id: 'CANCELLED',
181
181
  isFinal: true,
182
182
  metadata: {
183
- label: "Cancelled",
184
- description: "Market cancelled before opening",
185
- category: "terminal",
183
+ label: 'Cancelled',
184
+ description: 'Market cancelled before opening',
185
+ category: 'terminal',
186
186
  },
187
187
  },
188
188
  },
189
- initialState: "PROPOSED",
189
+ initialState: 'PROPOSED',
190
190
  transitions: [
191
191
  {
192
- from: "PROPOSED",
193
- to: "OPEN",
194
- eventName: "open",
195
- guard: (0, guards_js_1.signerIsParty)("state.creator"),
192
+ from: 'PROPOSED',
193
+ to: 'OPEN',
194
+ eventName: 'open',
195
+ guard: (0, guards_js_1.signerIsParty)('state.creator'),
196
196
  effect: {
197
197
  merge: [
198
- { var: "state" },
198
+ { var: 'state' },
199
199
  {
200
- status: "OPEN",
201
- openedAt: { var: "$ordinal" },
200
+ status: 'OPEN',
201
+ openedAt: { var: '$ordinal' },
202
202
  positions: {},
203
203
  totalPool: 0,
204
204
  },
@@ -207,58 +207,51 @@ exports.marketPredictionDef = (0, fiber_app_js_1.defineFiberApp)({
207
207
  dependencies: [],
208
208
  },
209
209
  {
210
- from: "PROPOSED",
211
- to: "CANCELLED",
212
- eventName: "cancel",
213
- guard: (0, guards_js_1.signerIsParty)("state.creator"),
210
+ from: 'PROPOSED',
211
+ to: 'CANCELLED',
212
+ eventName: 'cancel',
213
+ guard: (0, guards_js_1.signerIsParty)('state.creator'),
214
214
  effect: {
215
215
  merge: [
216
- { var: "state" },
216
+ { var: 'state' },
217
217
  {
218
- status: "CANCELLED",
219
- cancelledAt: { var: "$ordinal" },
220
- reason: { var: "event.reason" },
218
+ status: 'CANCELLED',
219
+ cancelledAt: { var: '$ordinal' },
220
+ reason: { var: 'event.reason' },
221
221
  },
222
222
  ],
223
223
  },
224
224
  dependencies: [],
225
225
  },
226
226
  {
227
- from: "OPEN",
228
- to: "OPEN",
229
- eventName: "take_position",
227
+ from: 'OPEN',
228
+ to: 'OPEN',
229
+ eventName: 'take_position',
230
230
  guard: {
231
231
  and: [
232
- { ">": [{ var: "event.amount" }, 0] },
233
- { in: [{ var: "event.outcome" }, { var: "state.outcomes" }] },
232
+ { '>': [{ var: 'event.amount' }, 0] },
233
+ { in: [{ var: 'event.outcome' }, { var: 'state.outcomes' }] },
234
234
  {
235
- or: [
236
- { "!": [{ var: "state.deadline" }] },
237
- { "<=": [{ var: "$ordinal" }, { var: "state.deadline" }] },
238
- ],
235
+ or: [{ '!': [{ var: 'state.deadline' }] }, { '<=': [{ var: '$ordinal' }, { var: 'state.deadline' }] }],
239
236
  },
240
237
  ],
241
238
  },
242
239
  effect: {
243
240
  merge: [
244
- { var: "state" },
241
+ { var: 'state' },
245
242
  {
246
243
  positions: {
247
244
  merge: [
248
- { var: "state.positions" },
245
+ { var: 'state.positions' },
249
246
  {
250
247
  __computed: {
251
- cat: [
252
- { var: "event.agent" },
253
- "_",
254
- { var: "event.outcome" },
255
- ],
248
+ cat: [{ var: 'event.agent' }, '_', { var: 'event.outcome' }],
256
249
  },
257
250
  },
258
251
  ],
259
252
  },
260
253
  totalPool: {
261
- "+": [{ var: "state.totalPool" }, { var: "event.amount" }],
254
+ '+': [{ var: 'state.totalPool' }, { var: 'event.amount' }],
262
255
  },
263
256
  },
264
257
  ],
@@ -266,44 +259,38 @@ exports.marketPredictionDef = (0, fiber_app_js_1.defineFiberApp)({
266
259
  dependencies: [],
267
260
  },
268
261
  {
269
- from: "OPEN",
270
- to: "CLOSED",
271
- eventName: "close",
262
+ from: 'OPEN',
263
+ to: 'CLOSED',
264
+ eventName: 'close',
272
265
  guard: {
273
266
  or: [
274
- (0, guards_js_1.signerIsParty)("state.creator"),
267
+ (0, guards_js_1.signerIsParty)('state.creator'),
275
268
  {
276
- and: [
277
- { var: "state.deadline" },
278
- { ">=": [{ var: "$ordinal" }, { var: "state.deadline" }] },
279
- ],
269
+ and: [{ var: 'state.deadline' }, { '>=': [{ var: '$ordinal' }, { var: 'state.deadline' }] }],
280
270
  },
281
271
  ],
282
272
  },
283
273
  effect: {
284
- merge: [
285
- { var: "state" },
286
- { status: "CLOSED", closedAt: { var: "$ordinal" } },
287
- ],
274
+ merge: [{ var: 'state' }, { status: 'CLOSED', closedAt: { var: '$ordinal' } }],
288
275
  },
289
276
  dependencies: [],
290
277
  },
291
278
  {
292
- from: "CLOSED",
293
- to: "RESOLVING",
294
- eventName: "submit_resolution",
295
- guard: (0, guards_js_1.signerInSet)("state.oracles"),
279
+ from: 'CLOSED',
280
+ to: 'RESOLVING',
281
+ eventName: 'submit_resolution',
282
+ guard: (0, guards_js_1.signerInSet)('state.oracles'),
296
283
  effect: {
297
284
  merge: [
298
- { var: "state" },
285
+ { var: 'state' },
299
286
  {
300
- status: "RESOLVING",
287
+ status: 'RESOLVING',
301
288
  resolutions: [
302
289
  {
303
- oracle: { var: "event.agent" },
304
- outcome: { var: "event.outcome" },
305
- proof: { var: "event.proof" },
306
- submittedAt: { var: "$ordinal" },
290
+ oracle: { var: 'event.agent' },
291
+ outcome: { var: 'event.outcome' },
292
+ proof: { var: 'event.proof' },
293
+ submittedAt: { var: '$ordinal' },
307
294
  },
308
295
  ],
309
296
  },
@@ -312,19 +299,16 @@ exports.marketPredictionDef = (0, fiber_app_js_1.defineFiberApp)({
312
299
  dependencies: [],
313
300
  },
314
301
  {
315
- from: "RESOLVING",
316
- to: "RESOLVING",
317
- eventName: "submit_resolution",
302
+ from: 'RESOLVING',
303
+ to: 'RESOLVING',
304
+ eventName: 'submit_resolution',
318
305
  guard: {
319
306
  and: [
320
- (0, guards_js_1.signerInSet)("state.oracles"),
307
+ (0, guards_js_1.signerInSet)('state.oracles'),
321
308
  {
322
- "!": [
309
+ '!': [
323
310
  {
324
- in: [
325
- { var: "event.agent" },
326
- { map: [{ var: "state.resolutions" }, { var: "oracle" }] },
327
- ],
311
+ in: [{ var: 'event.agent' }, { map: [{ var: 'state.resolutions' }, { var: 'oracle' }] }],
328
312
  },
329
313
  ],
330
314
  },
@@ -332,17 +316,17 @@ exports.marketPredictionDef = (0, fiber_app_js_1.defineFiberApp)({
332
316
  },
333
317
  effect: {
334
318
  merge: [
335
- { var: "state" },
319
+ { var: 'state' },
336
320
  {
337
321
  resolutions: {
338
322
  cat: [
339
- { var: "state.resolutions" },
323
+ { var: 'state.resolutions' },
340
324
  [
341
325
  {
342
- oracle: { var: "event.agent" },
343
- outcome: { var: "event.outcome" },
344
- proof: { var: "event.proof" },
345
- submittedAt: { var: "$ordinal" },
326
+ oracle: { var: 'event.agent' },
327
+ outcome: { var: 'event.outcome' },
328
+ proof: { var: 'event.proof' },
329
+ submittedAt: { var: '$ordinal' },
346
330
  },
347
331
  ],
348
332
  ],
@@ -353,29 +337,26 @@ exports.marketPredictionDef = (0, fiber_app_js_1.defineFiberApp)({
353
337
  dependencies: [],
354
338
  },
355
339
  {
356
- from: "RESOLVING",
357
- to: "SETTLED",
358
- eventName: "finalize",
340
+ from: 'RESOLVING',
341
+ to: 'SETTLED',
342
+ eventName: 'finalize',
359
343
  // authority gate — an ARBITER/SLASHER attestation check layers on additively when the identity registry lands (see docs/design/app-hardening-identity-integration.md §4.2)
360
344
  guard: {
361
345
  and: [
362
- (0, guards_js_1.signerInSet)("state.oracles"),
346
+ (0, guards_js_1.signerInSet)('state.oracles'),
363
347
  {
364
- ">=": [
365
- { count: { var: "state.resolutions" } },
366
- { var: "state.quorum" },
367
- ],
348
+ '>=': [{ count: { var: 'state.resolutions' } }, { var: 'state.quorum' }],
368
349
  },
369
350
  ],
370
351
  },
371
352
  effect: {
372
353
  merge: [
373
- { var: "state" },
354
+ { var: 'state' },
374
355
  {
375
- status: "SETTLED",
376
- settledAt: { var: "$ordinal" },
356
+ status: 'SETTLED',
357
+ settledAt: { var: '$ordinal' },
377
358
  // finalOutcome derives from the quorum-agreed resolution, not a raw event field
378
- finalOutcome: { var: "state.resolutions.0.outcome" },
359
+ finalOutcome: { var: 'state.resolutions.0.outcome' },
379
360
  claims: [],
380
361
  },
381
362
  ],
@@ -383,62 +364,56 @@ exports.marketPredictionDef = (0, fiber_app_js_1.defineFiberApp)({
383
364
  dependencies: [],
384
365
  },
385
366
  {
386
- from: "RESOLVING",
387
- to: "DISPUTED",
388
- eventName: "dispute",
367
+ from: 'RESOLVING',
368
+ to: 'DISPUTED',
369
+ eventName: 'dispute',
389
370
  guard: {
390
371
  and: [
391
372
  {
392
- ">": [
373
+ '>': [
393
374
  {
394
375
  length: [
395
376
  {
396
- filter: [
397
- { var: "state.positions" },
398
- { "===": [{ var: "agent" }, { var: "event.agent" }] },
399
- ],
377
+ filter: [{ var: 'state.positions' }, { '===': [{ var: 'agent' }, { var: 'event.agent' }] }],
400
378
  },
401
379
  ],
402
380
  },
403
381
  0,
404
382
  ],
405
383
  },
406
- { var: "event.stake" },
384
+ { var: 'event.stake' },
407
385
  ],
408
386
  },
409
387
  effect: {
410
388
  merge: [
411
- { var: "state" },
389
+ { var: 'state' },
412
390
  {
413
- status: "DISPUTED",
414
- disputedAt: { var: "$ordinal" },
415
- disputedBy: { var: "event.agent" },
416
- disputeStake: { var: "event.stake" },
417
- disputeReason: { var: "event.reason" },
391
+ status: 'DISPUTED',
392
+ disputedAt: { var: '$ordinal' },
393
+ disputedBy: { var: 'event.agent' },
394
+ disputeStake: { var: 'event.stake' },
395
+ disputeReason: { var: 'event.reason' },
418
396
  },
419
397
  ],
420
398
  },
421
399
  dependencies: [],
422
400
  },
423
401
  {
424
- from: "DISPUTED",
425
- to: "SETTLED",
426
- eventName: "ruling",
402
+ from: 'DISPUTED',
403
+ to: 'SETTLED',
404
+ eventName: 'ruling',
427
405
  // authority gate — an ARBITER/SLASHER attestation check layers on additively when the identity registry lands (see docs/design/app-hardening-identity-integration.md §4.2)
428
406
  guard: {
429
- and: [
430
- (0, guards_js_1.signerIsParty)("state.arbiter"),
431
- { in: [{ var: "event.finalOutcome" }, { var: "state.outcomes" }] },
432
- ],
407
+ and: [(0, guards_js_1.signerIsParty)('state.arbiter'), { in: [{ var: 'event.finalOutcome' }, { var: 'state.outcomes' }] }],
433
408
  },
434
409
  effect: {
435
410
  merge: [
436
- { var: "state" },
411
+ { var: 'state' },
437
412
  {
438
- status: "SETTLED",
439
- settledAt: { var: "$ordinal" },
440
- finalOutcome: { var: "event.finalOutcome" },
441
- rulingId: { var: "event.rulingId" },
413
+ status: 'SETTLED',
414
+ settledAt: { var: '$ordinal' },
415
+ finalOutcome: { var: 'event.finalOutcome' },
416
+ rulingId: { var: 'event.rulingId' },
442
417
  claims: [],
443
418
  },
444
419
  ],
@@ -446,57 +421,51 @@ exports.marketPredictionDef = (0, fiber_app_js_1.defineFiberApp)({
446
421
  dependencies: [],
447
422
  },
448
423
  {
449
- from: "RESOLVING",
450
- to: "REFUNDED",
451
- eventName: "invalidate",
424
+ from: 'RESOLVING',
425
+ to: 'REFUNDED',
426
+ eventName: 'invalidate',
452
427
  guard: {
453
- ">=": [
428
+ '>=': [
454
429
  {
455
430
  length: [
456
431
  {
457
- filter: [
458
- { var: "state.resolutions" },
459
- { "===": [{ var: "outcome" }, "INVALID"] },
460
- ],
432
+ filter: [{ var: 'state.resolutions' }, { '===': [{ var: 'outcome' }, 'INVALID'] }],
461
433
  },
462
434
  ],
463
435
  },
464
- { var: "state.quorum" },
436
+ { var: 'state.quorum' },
465
437
  ],
466
438
  },
467
439
  effect: {
468
440
  merge: [
469
- { var: "state" },
441
+ { var: 'state' },
470
442
  {
471
- status: "REFUNDED",
472
- refundedAt: { var: "$ordinal" },
473
- reason: "oracle_invalidation",
443
+ status: 'REFUNDED',
444
+ refundedAt: { var: '$ordinal' },
445
+ reason: 'oracle_invalidation',
474
446
  },
475
447
  ],
476
448
  },
477
449
  dependencies: [],
478
450
  },
479
451
  {
480
- from: "SETTLED",
481
- to: "SETTLED",
482
- eventName: "claim",
452
+ from: 'SETTLED',
453
+ to: 'SETTLED',
454
+ eventName: 'claim',
483
455
  guard: {
484
456
  and: [
485
457
  {
486
- ">": [
458
+ '>': [
487
459
  {
488
460
  length: [
489
461
  {
490
462
  filter: [
491
- { var: "state.positions" },
463
+ { var: 'state.positions' },
492
464
  {
493
465
  and: [
494
- { "===": [{ var: "agent" }, { var: "event.agent" }] },
466
+ { '===': [{ var: 'agent' }, { var: 'event.agent' }] },
495
467
  {
496
- "===": [
497
- { var: "outcome" },
498
- { var: "state.finalOutcome" },
499
- ],
468
+ '===': [{ var: 'outcome' }, { var: 'state.finalOutcome' }],
500
469
  },
501
470
  ],
502
471
  },
@@ -508,12 +477,9 @@ exports.marketPredictionDef = (0, fiber_app_js_1.defineFiberApp)({
508
477
  ],
509
478
  },
510
479
  {
511
- "!": [
480
+ '!': [
512
481
  {
513
- in: [
514
- { var: "event.agent" },
515
- { map: [{ var: "state.claims" }, { var: "agent" }] },
516
- ],
482
+ in: [{ var: 'event.agent' }, { map: [{ var: 'state.claims' }, { var: 'agent' }] }],
517
483
  },
518
484
  ],
519
485
  },
@@ -521,16 +487,16 @@ exports.marketPredictionDef = (0, fiber_app_js_1.defineFiberApp)({
521
487
  },
522
488
  effect: {
523
489
  merge: [
524
- { var: "state" },
490
+ { var: 'state' },
525
491
  {
526
492
  claims: {
527
493
  cat: [
528
- { var: "state.claims" },
494
+ { var: 'state.claims' },
529
495
  [
530
496
  {
531
- agent: { var: "event.agent" },
532
- amount: { var: "event.amount" },
533
- claimedAt: { var: "$ordinal" },
497
+ agent: { var: 'event.agent' },
498
+ amount: { var: 'event.amount' },
499
+ claimedAt: { var: '$ordinal' },
534
500
  },
535
501
  ],
536
502
  ],