@ottochain/sdk 2.4.0 → 2.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (225) hide show
  1. package/dist/cjs/apps/compute/index.js +33 -0
  2. package/dist/cjs/apps/compute/state-machines/compute-rule110.js +164 -0
  3. package/dist/cjs/apps/compute/state-machines/index.js +9 -0
  4. package/dist/cjs/apps/contracts/index.js +1 -1
  5. package/dist/cjs/apps/contracts/state-machines/contract-agreement.js +126 -148
  6. package/dist/cjs/apps/contracts/state-machines/contract-escrow.js +153 -174
  7. package/dist/cjs/apps/contracts/state-machines/contract-universal.js +46 -58
  8. package/dist/cjs/apps/corporate/state-machines/corp-board.js +415 -481
  9. package/dist/cjs/apps/corporate/state-machines/corp-entity.js +368 -440
  10. package/dist/cjs/apps/corporate/state-machines/corp-securities.js +532 -647
  11. package/dist/cjs/apps/corporate/state-machines/corp-shareholders.js +499 -603
  12. package/dist/cjs/apps/governance/index.js +7 -7
  13. package/dist/cjs/apps/governance/state-machines/dao-multisig.js +170 -209
  14. package/dist/cjs/apps/governance/state-machines/dao-reputation.js +161 -214
  15. package/dist/cjs/apps/governance/state-machines/dao-single.js +92 -92
  16. package/dist/cjs/apps/governance/state-machines/dao-token.js +169 -223
  17. package/dist/cjs/apps/governance/state-machines/governance-simple.js +185 -217
  18. package/dist/cjs/apps/governance/state-machines/governance-universal.js +64 -64
  19. package/dist/cjs/apps/identity/constants.js +16 -24
  20. package/dist/cjs/apps/identity/index.js +1 -1
  21. package/dist/cjs/apps/identity/state-machines/identity-agent.js +124 -158
  22. package/dist/cjs/apps/identity/state-machines/identity-oracle.js +151 -169
  23. package/dist/cjs/apps/identity/state-machines/identity-registry.js +89 -115
  24. package/dist/cjs/apps/identity/state-machines/identity-universal.js +51 -57
  25. package/dist/cjs/apps/index.js +4 -1
  26. package/dist/cjs/apps/lending/assets.js +41 -17
  27. package/dist/cjs/apps/lending/credit-scoring.js +4 -4
  28. package/dist/cjs/apps/lending/eligibility.js +9 -25
  29. package/dist/cjs/apps/lending/index.js +1 -1
  30. package/dist/cjs/apps/lending/state-machines/lending-zk-loan.js +177 -156
  31. package/dist/cjs/apps/markets/index.js +1 -1
  32. package/dist/cjs/apps/markets/state-machines/market-auction.js +115 -134
  33. package/dist/cjs/apps/markets/state-machines/market-crowdfund.js +122 -137
  34. package/dist/cjs/apps/markets/state-machines/market-group-buy.js +158 -177
  35. package/dist/cjs/apps/markets/state-machines/market-prediction.js +193 -227
  36. package/dist/cjs/apps/markets/state-machines/market-universal.js +65 -80
  37. package/dist/cjs/apps/oracles/index.js +1 -1
  38. package/dist/cjs/apps/privacy/index.js +67 -0
  39. package/dist/cjs/apps/privacy/state-machines/index.js +17 -0
  40. package/dist/cjs/apps/privacy/state-machines/mixer-ddhRing.js +286 -0
  41. package/dist/cjs/apps/privacy/state-machines/note-pool.js +476 -0
  42. package/dist/cjs/apps/staked-pool/assets.js +103 -0
  43. package/dist/cjs/apps/staked-pool/base.js +498 -0
  44. package/dist/cjs/apps/staked-pool/consumer.js +55 -0
  45. package/dist/cjs/apps/staked-pool/index.js +83 -0
  46. package/dist/cjs/apps/staked-pool/state-machines/index.js +12 -0
  47. package/dist/cjs/apps/staked-pool/state-machines/staked-pool-base.js +49 -0
  48. package/dist/cjs/apps/staked-pool/state-machines/staked-pool-oracle.js +131 -0
  49. package/dist/cjs/generated/google/protobuf/struct.js +1 -1
  50. package/dist/cjs/generated/google/protobuf/timestamp.js +1 -1
  51. package/dist/cjs/generated/ottochain/apps/contracts/v1/contract.js +1 -1
  52. package/dist/cjs/generated/ottochain/apps/corporate/v1/corporate.js +1 -1
  53. package/dist/cjs/generated/ottochain/apps/governance/v1/governance.js +1 -1
  54. package/dist/cjs/generated/ottochain/apps/identity/v1/attestation.js +1 -1
  55. package/dist/cjs/generated/ottochain/apps/identity/v1/identity.js +1 -1
  56. package/dist/cjs/generated/ottochain/apps/markets/v1/market.js +1 -1
  57. package/dist/cjs/generated/ottochain/v1/common.js +1 -1
  58. package/dist/cjs/generated/ottochain/v1/fiber.js +40 -2
  59. package/dist/cjs/generated/ottochain/v1/messages.js +1 -1
  60. package/dist/cjs/generated/ottochain/v1/records.js +1 -1
  61. package/dist/cjs/index.js +20 -3
  62. package/dist/cjs/ottochain/genesis-manifest.js +6 -0
  63. package/dist/cjs/ottochain/metagraph-client.js +16 -8
  64. package/dist/cjs/ottochain/snapshot.js +2 -4
  65. package/dist/cjs/ottochain/transaction.js +10 -0
  66. package/dist/cjs/privacy/sealed-bid.js +85 -82
  67. package/dist/cjs/privacy/shield-app.js +32 -32
  68. package/dist/cjs/schema/effects.js +117 -1
  69. package/dist/cjs/schema/fiber-app.js +132 -3
  70. package/dist/cjs/schema/guard-lint.js +3 -12
  71. package/dist/cjs/schema/guards.js +38 -38
  72. package/dist/cjs/templates/asset-policy.js +190 -0
  73. package/dist/cjs/templates/index.js +86 -0
  74. package/dist/cjs/templates/machine.js +130 -0
  75. package/dist/cjs/templates/migration.js +39 -0
  76. package/dist/cjs/templates/state-shape.js +38 -0
  77. package/dist/cjs/validation.js +1 -3
  78. package/dist/esm/apps/compute/index.js +29 -0
  79. package/dist/esm/apps/compute/state-machines/compute-rule110.js +161 -0
  80. package/dist/esm/apps/compute/state-machines/index.js +5 -0
  81. package/dist/esm/apps/contracts/index.js +4 -4
  82. package/dist/esm/apps/contracts/state-machines/contract-agreement.js +128 -150
  83. package/dist/esm/apps/contracts/state-machines/contract-escrow.js +155 -176
  84. package/dist/esm/apps/contracts/state-machines/contract-universal.js +47 -59
  85. package/dist/esm/apps/corporate/index.js +2 -2
  86. package/dist/esm/apps/corporate/state-machines/corp-board.js +418 -484
  87. package/dist/esm/apps/corporate/state-machines/corp-entity.js +371 -443
  88. package/dist/esm/apps/corporate/state-machines/corp-securities.js +535 -650
  89. package/dist/esm/apps/corporate/state-machines/corp-shareholders.js +502 -606
  90. package/dist/esm/apps/governance/index.js +10 -10
  91. package/dist/esm/apps/governance/state-machines/dao-multisig.js +172 -211
  92. package/dist/esm/apps/governance/state-machines/dao-reputation.js +163 -216
  93. package/dist/esm/apps/governance/state-machines/dao-single.js +94 -94
  94. package/dist/esm/apps/governance/state-machines/dao-token.js +171 -225
  95. package/dist/esm/apps/governance/state-machines/governance-simple.js +187 -219
  96. package/dist/esm/apps/governance/state-machines/governance-universal.js +65 -65
  97. package/dist/esm/apps/identity/constants.js +18 -26
  98. package/dist/esm/apps/identity/index.js +8 -8
  99. package/dist/esm/apps/identity/state-machines/identity-agent.js +125 -159
  100. package/dist/esm/apps/identity/state-machines/identity-oracle.js +153 -171
  101. package/dist/esm/apps/identity/state-machines/identity-registry.js +91 -117
  102. package/dist/esm/apps/identity/state-machines/identity-universal.js +52 -58
  103. package/dist/esm/apps/index.js +9 -6
  104. package/dist/esm/apps/lending/assets.js +41 -17
  105. package/dist/esm/apps/lending/credit-scoring.js +6 -6
  106. package/dist/esm/apps/lending/eligibility.js +10 -26
  107. package/dist/esm/apps/lending/index.js +5 -5
  108. package/dist/esm/apps/lending/state-machines/lending-zk-loan.js +178 -157
  109. package/dist/esm/apps/markets/index.js +5 -5
  110. package/dist/esm/apps/markets/state-machines/market-auction.js +117 -136
  111. package/dist/esm/apps/markets/state-machines/market-crowdfund.js +124 -139
  112. package/dist/esm/apps/markets/state-machines/market-group-buy.js +160 -179
  113. package/dist/esm/apps/markets/state-machines/market-prediction.js +195 -229
  114. package/dist/esm/apps/markets/state-machines/market-universal.js +66 -81
  115. package/dist/esm/apps/oracles/index.js +3 -3
  116. package/dist/esm/apps/privacy/index.js +56 -0
  117. package/dist/esm/apps/privacy/state-machines/index.js +6 -0
  118. package/dist/esm/apps/privacy/state-machines/mixer-ddhRing.js +282 -0
  119. package/dist/esm/apps/privacy/state-machines/note-pool.js +470 -0
  120. package/dist/esm/apps/staked-pool/assets.js +91 -0
  121. package/dist/esm/apps/staked-pool/base.js +493 -0
  122. package/dist/esm/apps/staked-pool/consumer.js +49 -0
  123. package/dist/esm/apps/staked-pool/index.js +60 -0
  124. package/dist/esm/apps/staked-pool/state-machines/index.js +6 -0
  125. package/dist/esm/apps/staked-pool/state-machines/staked-pool-base.js +46 -0
  126. package/dist/esm/apps/staked-pool/state-machines/staked-pool-oracle.js +127 -0
  127. package/dist/esm/generated/google/protobuf/struct.js +1 -1
  128. package/dist/esm/generated/google/protobuf/timestamp.js +1 -1
  129. package/dist/esm/generated/ottochain/apps/contracts/v1/contract.js +1 -1
  130. package/dist/esm/generated/ottochain/apps/corporate/v1/corporate.js +1 -1
  131. package/dist/esm/generated/ottochain/apps/governance/v1/governance.js +1 -1
  132. package/dist/esm/generated/ottochain/apps/identity/v1/attestation.js +1 -1
  133. package/dist/esm/generated/ottochain/apps/identity/v1/identity.js +1 -1
  134. package/dist/esm/generated/ottochain/apps/markets/v1/market.js +1 -1
  135. package/dist/esm/generated/ottochain/v1/common.js +1 -1
  136. package/dist/esm/generated/ottochain/v1/fiber.js +40 -2
  137. package/dist/esm/generated/ottochain/v1/messages.js +1 -1
  138. package/dist/esm/generated/ottochain/v1/records.js +1 -1
  139. package/dist/esm/index.js +10 -4
  140. package/dist/esm/ottochain/genesis-manifest.js +6 -0
  141. package/dist/esm/ottochain/metagraph-client.js +16 -8
  142. package/dist/esm/ottochain/snapshot.js +2 -4
  143. package/dist/esm/ottochain/transaction.js +8 -0
  144. package/dist/esm/privacy/index.js +2 -2
  145. package/dist/esm/privacy/sealed-bid.js +87 -84
  146. package/dist/esm/privacy/shield-app.js +33 -33
  147. package/dist/esm/schema/effects.js +110 -0
  148. package/dist/esm/schema/fiber-app.js +127 -3
  149. package/dist/esm/schema/guard-lint.js +3 -12
  150. package/dist/esm/schema/guards.js +36 -37
  151. package/dist/esm/templates/asset-policy.js +182 -0
  152. package/dist/esm/templates/index.js +41 -0
  153. package/dist/esm/templates/machine.js +125 -0
  154. package/dist/esm/templates/migration.js +34 -0
  155. package/dist/esm/templates/state-shape.js +34 -0
  156. package/dist/esm/validation.js +1 -3
  157. package/dist/esm/zk/index.js +4 -4
  158. package/dist/types/apps/compute/index.d.ts +176 -0
  159. package/dist/types/apps/compute/state-machines/compute-rule110.d.ts +157 -0
  160. package/dist/types/apps/compute/state-machines/index.d.ts +5 -0
  161. package/dist/types/apps/contracts/index.d.ts +14 -14
  162. package/dist/types/apps/contracts/state-machines/contract-agreement.d.ts +3 -3
  163. package/dist/types/apps/contracts/state-machines/contract-escrow.d.ts +3 -3
  164. package/dist/types/apps/contracts/state-machines/contract-universal.d.ts +4 -4
  165. package/dist/types/apps/corporate/index.d.ts +162 -162
  166. package/dist/types/apps/corporate/state-machines/corp-board.d.ts +88 -88
  167. package/dist/types/apps/corporate/state-machines/corp-entity.d.ts +14 -14
  168. package/dist/types/apps/corporate/state-machines/corp-securities.d.ts +18 -18
  169. package/dist/types/apps/corporate/state-machines/corp-shareholders.d.ts +43 -43
  170. package/dist/types/apps/governance/index.d.ts +81 -81
  171. package/dist/types/apps/governance/state-machines/dao-multisig.d.ts +16 -16
  172. package/dist/types/apps/governance/state-machines/dao-reputation.d.ts +22 -22
  173. package/dist/types/apps/governance/state-machines/dao-token.d.ts +21 -21
  174. package/dist/types/apps/governance/state-machines/governance-simple.d.ts +11 -11
  175. package/dist/types/apps/governance/state-machines/governance-universal.d.ts +4 -4
  176. package/dist/types/apps/identity/constants.d.ts +2 -2
  177. package/dist/types/apps/identity/index.d.ts +70 -70
  178. package/dist/types/apps/identity/state-machines/identity-agent.d.ts +23 -23
  179. package/dist/types/apps/identity/state-machines/identity-oracle.d.ts +11 -11
  180. package/dist/types/apps/identity/state-machines/identity-registry.d.ts +27 -27
  181. package/dist/types/apps/identity/state-machines/identity-universal.d.ts +4 -4
  182. package/dist/types/apps/index.d.ts +9 -6
  183. package/dist/types/apps/lending/assets.d.ts +2 -2
  184. package/dist/types/apps/lending/credit-scoring.d.ts +5 -5
  185. package/dist/types/apps/lending/eligibility.d.ts +2 -2
  186. package/dist/types/apps/lending/index.d.ts +20 -12
  187. package/dist/types/apps/lending/state-machines/lending-zk-loan.d.ts +15 -7
  188. package/dist/types/apps/markets/index.d.ts +76 -76
  189. package/dist/types/apps/markets/state-machines/market-auction.d.ts +12 -12
  190. package/dist/types/apps/markets/state-machines/market-crowdfund.d.ts +19 -19
  191. package/dist/types/apps/markets/state-machines/market-group-buy.d.ts +18 -18
  192. package/dist/types/apps/markets/state-machines/market-prediction.d.ts +15 -15
  193. package/dist/types/apps/markets/state-machines/market-universal.d.ts +7 -7
  194. package/dist/types/apps/oracles/index.d.ts +1 -1
  195. package/dist/types/apps/privacy/index.d.ts +328 -0
  196. package/dist/types/apps/privacy/state-machines/index.d.ts +6 -0
  197. package/dist/types/apps/privacy/state-machines/mixer-ddhRing.d.ts +337 -0
  198. package/dist/types/apps/privacy/state-machines/note-pool.d.ts +196 -0
  199. package/dist/types/apps/staked-pool/assets.d.ts +53 -0
  200. package/dist/types/apps/staked-pool/base.d.ts +80 -0
  201. package/dist/types/apps/staked-pool/consumer.d.ts +29 -0
  202. package/dist/types/apps/staked-pool/index.d.ts +51 -0
  203. package/dist/types/apps/staked-pool/state-machines/index.d.ts +6 -0
  204. package/dist/types/apps/staked-pool/state-machines/staked-pool-base.d.ts +8 -0
  205. package/dist/types/apps/staked-pool/state-machines/staked-pool-oracle.d.ts +34 -0
  206. package/dist/types/generated/openapi.d.ts +13 -0
  207. package/dist/types/generated/ottochain/v1/fiber.d.ts +7 -0
  208. package/dist/types/index.d.ts +3 -3
  209. package/dist/types/openapi.d.ts +4 -2
  210. package/dist/types/ottochain/genesis-manifest.d.ts +6 -0
  211. package/dist/types/ottochain/transaction.d.ts +9 -1
  212. package/dist/types/ottochain/types.d.ts +1 -1
  213. package/dist/types/privacy/index.d.ts +2 -2
  214. package/dist/types/privacy/sealed-bid.d.ts +9 -9
  215. package/dist/types/privacy/shield-app.d.ts +1 -1
  216. package/dist/types/schema/effects.d.ts +107 -0
  217. package/dist/types/schema/fiber-app.d.ts +281 -0
  218. package/dist/types/schema/guards.d.ts +12 -0
  219. package/dist/types/templates/asset-policy.d.ts +119 -0
  220. package/dist/types/templates/index.d.ts +26 -0
  221. package/dist/types/templates/machine.d.ts +139 -0
  222. package/dist/types/templates/migration.d.ts +34 -0
  223. package/dist/types/templates/state-shape.d.ts +30 -0
  224. package/dist/types/zk/index.d.ts +4 -4
  225. package/package.json +31 -13
@@ -1,207 +1,198 @@
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
  * Two-party agreement with mutual completion attestation and dispute resolution.
5
5
  */
6
6
  export const contractAgreementDef = defineFiberApp({
7
7
  metadata: {
8
- name: "ContractAgreement",
9
- app: "contracts",
10
- type: "agreement",
11
- version: "1.0.0",
12
- description: "Two-party agreement with mutual completion attestation and dispute resolution",
8
+ name: 'ContractAgreement',
9
+ app: 'contracts',
10
+ type: 'agreement',
11
+ version: '1.0.0',
12
+ description: 'Two-party agreement with mutual completion attestation and dispute resolution',
13
13
  crossReferences: {
14
14
  proposerIdentityId: {
15
- machine: "identity-agent",
16
- field: "proposer",
15
+ machine: 'identity-agent',
16
+ field: 'proposer',
17
17
  description: "Links to proposer's AgentIdentity fiber",
18
18
  },
19
19
  counterpartyIdentityId: {
20
- machine: "identity-agent",
21
- field: "counterparty",
20
+ machine: 'identity-agent',
21
+ field: 'counterparty',
22
22
  description: "Links to counterparty's AgentIdentity fiber",
23
23
  },
24
24
  escrowId: {
25
- machine: "contract-escrow",
26
- field: "escrowId",
27
- description: "Links to Escrow if payment is escrowed",
25
+ machine: 'contract-escrow',
26
+ field: 'escrowId',
27
+ description: 'Links to Escrow if payment is escrowed',
28
28
  },
29
29
  arbitrationPoolId: {
30
- machine: "arbitration-pool",
31
- field: "arbitrationPoolId",
32
- description: "Links to ArbitrationPool for dispute resolution",
30
+ machine: 'arbitration-pool',
31
+ field: 'arbitrationPoolId',
32
+ description: 'Links to ArbitrationPool for dispute resolution',
33
33
  },
34
34
  },
35
35
  },
36
36
  createSchema: {
37
- required: ["proposer", "counterparty", "arbitrator"],
37
+ required: ['proposer', 'counterparty', 'arbitrator'],
38
38
  properties: {
39
39
  proposer: {
40
- type: "address",
41
- description: "DAG address of the proposer",
40
+ type: 'address',
41
+ description: 'DAG address of the proposer',
42
42
  immutable: true,
43
43
  },
44
44
  counterparty: {
45
- type: "address",
46
- description: "DAG address of the counterparty",
45
+ type: 'address',
46
+ description: 'DAG address of the counterparty',
47
47
  immutable: true,
48
48
  },
49
49
  arbitrator: {
50
- type: "address",
51
- description: "DAG address of the arbitrator authorized to resolve a dispute",
50
+ type: 'address',
51
+ description: 'DAG address of the arbitrator authorized to resolve a dispute',
52
52
  immutable: true,
53
53
  },
54
54
  },
55
55
  },
56
56
  stateSchema: {
57
57
  properties: {
58
- status: { type: "string" },
59
- proposer: { type: "address" },
60
- counterparty: { type: "address" },
61
- arbitrator: { type: "address", immutable: true },
62
- completions: { type: "array" },
63
- acceptedAt: { type: "integer", nullable: true },
64
- rejectedAt: { type: "integer", nullable: true },
65
- rejectReason: { type: "string", nullable: true },
66
- cancelledAt: { type: "integer", nullable: true },
67
- completedAt: { type: "integer", nullable: true },
68
- disputedAt: { type: "integer", nullable: true },
69
- disputeReason: { type: "string", nullable: true },
70
- disputedBy: { type: "address", nullable: true },
71
- resolvedAt: { type: "integer", nullable: true },
72
- resolution: { type: "string", nullable: true },
73
- rulingId: { type: "string", nullable: true },
58
+ status: { type: 'string' },
59
+ proposer: { type: 'address' },
60
+ counterparty: { type: 'address' },
61
+ arbitrator: { type: 'address', immutable: true },
62
+ completions: { type: 'array' },
63
+ acceptedAt: { type: 'integer', nullable: true },
64
+ rejectedAt: { type: 'integer', nullable: true },
65
+ rejectReason: { type: 'string', nullable: true },
66
+ cancelledAt: { type: 'integer', nullable: true },
67
+ completedAt: { type: 'integer', nullable: true },
68
+ disputedAt: { type: 'integer', nullable: true },
69
+ disputeReason: { type: 'string', nullable: true },
70
+ disputedBy: { type: 'address', nullable: true },
71
+ resolvedAt: { type: 'integer', nullable: true },
72
+ resolution: { type: 'string', nullable: true },
73
+ rulingId: { type: 'string', nullable: true },
74
74
  },
75
75
  },
76
76
  eventSchemas: {
77
77
  accept: {},
78
- reject: { properties: { reason: { type: "string" } } },
78
+ reject: { properties: { reason: { type: 'string' } } },
79
79
  cancel: {},
80
- submit_completion: { properties: { proof: { type: "string" } } },
80
+ submit_completion: { properties: { proof: { type: 'string' } } },
81
81
  finalize: {},
82
- dispute: { properties: { reason: { type: "string" } } },
82
+ dispute: { properties: { reason: { type: 'string' } } },
83
83
  resolve: {
84
84
  properties: {
85
- resolution: { type: "string" },
86
- rulingId: { type: "string", nullable: true },
85
+ resolution: { type: 'string' },
86
+ rulingId: { type: 'string', nullable: true },
87
87
  },
88
88
  },
89
89
  },
90
90
  states: {
91
91
  PROPOSED: {
92
- id: "PROPOSED",
92
+ id: 'PROPOSED',
93
93
  isFinal: false,
94
94
  metadata: {
95
- label: "Proposed",
96
- description: "Agreement proposed; awaiting the counterparty",
97
- category: "initial",
95
+ label: 'Proposed',
96
+ description: 'Agreement proposed; awaiting the counterparty',
97
+ category: 'initial',
98
98
  },
99
99
  },
100
100
  ACTIVE: {
101
- id: "ACTIVE",
101
+ id: 'ACTIVE',
102
102
  isFinal: false,
103
103
  metadata: {
104
- label: "Active",
105
- description: "Agreement accepted and in effect",
106
- category: "active",
104
+ label: 'Active',
105
+ description: 'Agreement accepted and in effect',
106
+ category: 'active',
107
107
  },
108
108
  },
109
109
  COMPLETED: {
110
- id: "COMPLETED",
110
+ id: 'COMPLETED',
111
111
  isFinal: true,
112
112
  metadata: {
113
- label: "Completed",
114
- description: "Agreement completed and attested (terminal)",
115
- category: "terminal",
113
+ label: 'Completed',
114
+ description: 'Agreement completed and attested (terminal)',
115
+ category: 'terminal',
116
116
  },
117
117
  },
118
118
  DISPUTED: {
119
- id: "DISPUTED",
119
+ id: 'DISPUTED',
120
120
  isFinal: false,
121
121
  metadata: {
122
- label: "Disputed",
123
- description: "A party has raised a dispute; awaiting resolution",
124
- category: "pending",
122
+ label: 'Disputed',
123
+ description: 'A party has raised a dispute; awaiting resolution',
124
+ category: 'pending',
125
125
  },
126
126
  },
127
127
  REJECTED: {
128
- id: "REJECTED",
128
+ id: 'REJECTED',
129
129
  isFinal: true,
130
130
  metadata: {
131
- label: "Rejected",
132
- description: "Proposal rejected by the counterparty (terminal)",
133
- category: "terminal",
131
+ label: 'Rejected',
132
+ description: 'Proposal rejected by the counterparty (terminal)',
133
+ category: 'terminal',
134
134
  },
135
135
  },
136
136
  CANCELLED: {
137
- id: "CANCELLED",
137
+ id: 'CANCELLED',
138
138
  isFinal: true,
139
139
  metadata: {
140
- label: "Cancelled",
141
- description: "Agreement cancelled before completion (terminal)",
142
- category: "terminal",
140
+ label: 'Cancelled',
141
+ description: 'Agreement cancelled before completion (terminal)',
142
+ category: 'terminal',
143
143
  },
144
144
  },
145
145
  },
146
- initialState: "PROPOSED",
146
+ initialState: 'PROPOSED',
147
147
  transitions: [
148
148
  {
149
- from: "PROPOSED",
150
- to: "ACTIVE",
151
- eventName: "accept",
152
- guard: signerIsParty("state.counterparty"),
149
+ from: 'PROPOSED',
150
+ to: 'ACTIVE',
151
+ eventName: 'accept',
152
+ guard: signerIsParty('state.counterparty'),
153
153
  effect: {
154
- merge: [
155
- { var: "state" },
156
- { status: "ACTIVE", acceptedAt: { var: "$ordinal" } },
157
- ],
154
+ merge: [{ var: 'state' }, { status: 'ACTIVE', acceptedAt: { var: '$ordinal' } }],
158
155
  },
159
156
  dependencies: [],
160
157
  },
161
158
  {
162
- from: "PROPOSED",
163
- to: "REJECTED",
164
- eventName: "reject",
165
- guard: signerIsParty("state.counterparty"),
159
+ from: 'PROPOSED',
160
+ to: 'REJECTED',
161
+ eventName: 'reject',
162
+ guard: signerIsParty('state.counterparty'),
166
163
  effect: {
167
164
  merge: [
168
- { var: "state" },
165
+ { var: 'state' },
169
166
  {
170
- status: "REJECTED",
171
- rejectedAt: { var: "$ordinal" },
172
- rejectReason: { var: "event.reason" },
167
+ status: 'REJECTED',
168
+ rejectedAt: { var: '$ordinal' },
169
+ rejectReason: { var: 'event.reason' },
173
170
  },
174
171
  ],
175
172
  },
176
173
  dependencies: [],
177
174
  },
178
175
  {
179
- from: "PROPOSED",
180
- to: "CANCELLED",
181
- eventName: "cancel",
182
- guard: signerIsParty("state.proposer"),
176
+ from: 'PROPOSED',
177
+ to: 'CANCELLED',
178
+ eventName: 'cancel',
179
+ guard: signerIsParty('state.proposer'),
183
180
  effect: {
184
- merge: [
185
- { var: "state" },
186
- { status: "CANCELLED", cancelledAt: { var: "$ordinal" } },
187
- ],
181
+ merge: [{ var: 'state' }, { status: 'CANCELLED', cancelledAt: { var: '$ordinal' } }],
188
182
  },
189
183
  dependencies: [],
190
184
  },
191
185
  {
192
- from: "ACTIVE",
193
- to: "ACTIVE",
194
- eventName: "submit_completion",
186
+ from: 'ACTIVE',
187
+ to: 'ACTIVE',
188
+ eventName: 'submit_completion',
195
189
  guard: {
196
190
  and: [
197
- signerIsAnyParty(["state.proposer", "state.counterparty"]),
191
+ signerIsAnyParty(['state.proposer', 'state.counterparty']),
198
192
  {
199
- "!": [
193
+ '!': [
200
194
  {
201
- in: [
202
- { var: "event.agent" },
203
- { map: [{ var: "state.completions" }, { var: "agent" }] },
204
- ],
195
+ in: [{ var: 'event.agent' }, { map: [{ var: 'state.completions' }, { var: 'agent' }] }],
205
196
  },
206
197
  ],
207
198
  },
@@ -209,16 +200,16 @@ export const contractAgreementDef = defineFiberApp({
209
200
  },
210
201
  effect: {
211
202
  merge: [
212
- { var: "state" },
203
+ { var: 'state' },
213
204
  {
214
205
  completions: {
215
206
  cat: [
216
- { var: "state.completions" },
207
+ { var: 'state.completions' },
217
208
  [
218
209
  {
219
- agent: { var: "event.agent" },
220
- proof: { var: "event.proof" },
221
- submittedAt: { var: "$ordinal" },
210
+ agent: { var: 'event.agent' },
211
+ proof: { var: 'event.proof' },
212
+ submittedAt: { var: '$ordinal' },
222
213
  },
223
214
  ],
224
215
  ],
@@ -229,66 +220,56 @@ export const contractAgreementDef = defineFiberApp({
229
220
  dependencies: [],
230
221
  },
231
222
  {
232
- from: "ACTIVE",
233
- to: "COMPLETED",
234
- eventName: "finalize",
235
- guard: { ">=": [{ length: [{ var: "state.completions" }] }, 2] },
223
+ from: 'ACTIVE',
224
+ to: 'COMPLETED',
225
+ eventName: 'finalize',
226
+ guard: { '>=': [{ length: [{ var: 'state.completions' }] }, 2] },
236
227
  effect: {
237
- merge: [
238
- { var: "state" },
239
- { status: "COMPLETED", completedAt: { var: "$ordinal" } },
240
- ],
228
+ merge: [{ var: 'state' }, { status: 'COMPLETED', completedAt: { var: '$ordinal' } }],
241
229
  },
242
230
  dependencies: [],
243
231
  },
244
232
  {
245
- from: "ACTIVE",
246
- to: "DISPUTED",
247
- eventName: "dispute",
248
- guard: signerIsAnyParty(["state.proposer", "state.counterparty"]),
233
+ from: 'ACTIVE',
234
+ to: 'DISPUTED',
235
+ eventName: 'dispute',
236
+ guard: signerIsAnyParty(['state.proposer', 'state.counterparty']),
249
237
  effect: {
250
238
  merge: [
251
- { var: "state" },
239
+ { var: 'state' },
252
240
  {
253
- status: "DISPUTED",
254
- disputedAt: { var: "$ordinal" },
255
- disputeReason: { var: "event.reason" },
256
- disputedBy: { var: "event.agent" },
241
+ status: 'DISPUTED',
242
+ disputedAt: { var: '$ordinal' },
243
+ disputeReason: { var: 'event.reason' },
244
+ disputedBy: { var: 'event.agent' },
257
245
  },
258
246
  ],
259
247
  },
260
248
  dependencies: [],
261
249
  },
262
250
  {
263
- from: "DISPUTED",
264
- to: "COMPLETED",
265
- eventName: "resolve",
251
+ from: 'DISPUTED',
252
+ to: 'COMPLETED',
253
+ eventName: 'resolve',
266
254
  // 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)
267
255
  guard: {
268
256
  or: [
269
- signerIsParty("state.arbitrator"),
257
+ signerIsParty('state.arbitrator'),
270
258
  {
271
- and: [
272
- signerIsParty("state.proposer"),
273
- signerIsParty("state.counterparty"),
274
- ],
259
+ and: [signerIsParty('state.proposer'), signerIsParty('state.counterparty')],
275
260
  },
276
261
  ],
277
262
  },
278
263
  effect: {
279
264
  merge: [
280
- { var: "state" },
265
+ { var: 'state' },
281
266
  {
282
- status: "COMPLETED",
283
- resolvedAt: { var: "$ordinal" },
284
- resolution: { var: "event.resolution" },
267
+ status: 'COMPLETED',
268
+ resolvedAt: { var: '$ordinal' },
269
+ resolution: { var: 'event.resolution' },
285
270
  // rulingId is recorded only on the arbitrator-resolved path
286
271
  rulingId: {
287
- if: [
288
- signerIsParty("state.arbitrator"),
289
- { var: "event.rulingId" },
290
- null,
291
- ],
272
+ if: [signerIsParty('state.arbitrator'), { var: 'event.rulingId' }, null],
292
273
  },
293
274
  },
294
275
  ],
@@ -296,15 +277,12 @@ export const contractAgreementDef = defineFiberApp({
296
277
  dependencies: [],
297
278
  },
298
279
  {
299
- from: "ACTIVE",
300
- to: "CANCELLED",
301
- eventName: "cancel",
302
- guard: signerIsAnyParty(["state.proposer", "state.counterparty"]),
280
+ from: 'ACTIVE',
281
+ to: 'CANCELLED',
282
+ eventName: 'cancel',
283
+ guard: signerIsAnyParty(['state.proposer', 'state.counterparty']),
303
284
  effect: {
304
- merge: [
305
- { var: "state" },
306
- { status: "CANCELLED", cancelledAt: { var: "$ordinal" } },
307
- ],
285
+ merge: [{ var: 'state' }, { status: 'CANCELLED', cancelledAt: { var: '$ordinal' } }],
308
286
  },
309
287
  dependencies: [],
310
288
  },