@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
@@ -7,297 +7,263 @@ const fiber_app_js_1 = require("../../../schema/fiber-app.js");
7
7
  */
8
8
  exports.identityAgentDef = (0, fiber_app_js_1.defineFiberApp)({
9
9
  metadata: {
10
- name: "IdentityAgent",
11
- app: "identity",
12
- type: "agent",
13
- version: "1.0.0",
14
- description: "Standard agent identity with reputation tracking, vouching, and lifecycle management",
10
+ name: 'IdentityAgent',
11
+ app: 'identity',
12
+ type: 'agent',
13
+ version: '1.0.0',
14
+ description: 'Standard agent identity with reputation tracking, vouching, and lifecycle management',
15
15
  },
16
16
  createSchema: {
17
- required: ["owner", "displayName"],
17
+ required: ['owner', 'displayName'],
18
18
  properties: {
19
19
  owner: {
20
- type: "address",
21
- description: "Agent owner DAG address",
20
+ type: 'address',
21
+ description: 'Agent owner DAG address',
22
22
  immutable: true,
23
23
  },
24
24
  displayName: {
25
- type: "string",
25
+ type: 'string',
26
26
  maxLength: 64,
27
- description: "Human-readable agent name",
27
+ description: 'Human-readable agent name',
28
28
  },
29
29
  bio: {
30
- type: "string",
30
+ type: 'string',
31
31
  maxLength: 256,
32
- default: "",
32
+ default: '',
33
33
  },
34
34
  avatar: {
35
- type: "uri",
35
+ type: 'uri',
36
36
  default: null,
37
37
  },
38
38
  platforms: {
39
- type: "array",
40
- items: { $ref: "#/definitions/PlatformLink" },
39
+ type: 'array',
40
+ items: { $ref: '#/definitions/PlatformLink' },
41
41
  default: [],
42
42
  },
43
43
  },
44
44
  },
45
45
  stateSchema: {
46
46
  properties: {
47
- owner: { type: "address", immutable: true },
48
- displayName: { type: "string" },
49
- bio: { type: "string" },
50
- avatar: { type: "uri" },
47
+ owner: { type: 'address', immutable: true },
48
+ displayName: { type: 'string' },
49
+ bio: { type: 'string' },
50
+ avatar: { type: 'uri' },
51
51
  platforms: {
52
- type: "array",
53
- items: { $ref: "#/definitions/PlatformLink" },
52
+ type: 'array',
53
+ items: { $ref: '#/definitions/PlatformLink' },
54
54
  },
55
55
  status: {
56
- type: "string",
57
- enum: [
58
- "REGISTERED",
59
- "ACTIVE",
60
- "CHALLENGED",
61
- "SUSPENDED",
62
- "PROBATION",
63
- "WITHDRAWN",
64
- ],
56
+ type: 'string',
57
+ enum: ['REGISTERED', 'ACTIVE', 'CHALLENGED', 'SUSPENDED', 'PROBATION', 'WITHDRAWN'],
65
58
  computed: true,
66
59
  },
67
- reputation: { type: "integer", default: 10, computed: true },
68
- activatedAt: { type: "timestamp", computed: true },
69
- suspendedAt: { type: "timestamp", computed: true },
70
- probationStartedAt: { type: "timestamp", computed: true },
71
- challengedBy: { type: "address", computed: true },
60
+ reputation: { type: 'integer', default: 10, computed: true },
61
+ activatedAt: { type: 'timestamp', computed: true },
62
+ suspendedAt: { type: 'timestamp', computed: true },
63
+ probationStartedAt: { type: 'timestamp', computed: true },
64
+ challengedBy: { type: 'address', computed: true },
72
65
  },
73
66
  },
74
67
  eventSchemas: {
75
68
  activate: {
76
- description: "Activate a registered agent",
69
+ description: 'Activate a registered agent',
77
70
  },
78
71
  receive_vouch: {
79
- description: "Receive a vouch from another agent",
80
- required: ["from"],
72
+ description: 'Receive a vouch from another agent',
73
+ required: ['from'],
81
74
  properties: {
82
- from: { type: "address", description: "Address of vouching agent" },
83
- weight: { type: "integer", minimum: 1, maximum: 10, default: 1 },
75
+ from: { type: 'address', description: 'Address of vouching agent' },
76
+ weight: { type: 'integer', minimum: 1, maximum: 10, default: 1 },
84
77
  },
85
78
  },
86
79
  receive_completion: {
87
- description: "Receive completion attestation from a fiber",
80
+ description: 'Receive completion attestation from a fiber',
88
81
  },
89
82
  challenge: {
90
83
  description: "Challenge an active agent's behavior",
91
- required: ["challenger", "reason"],
84
+ required: ['challenger', 'reason'],
92
85
  properties: {
93
- challenger: { type: "address" },
94
- reason: { type: "string", maxLength: 512 },
95
- evidence: { type: "array", items: { type: "uri" } },
86
+ challenger: { type: 'address' },
87
+ reason: { type: 'string', maxLength: 512 },
88
+ evidence: { type: 'array', items: { type: 'uri' } },
96
89
  },
97
90
  },
98
91
  dismiss_challenge: {
99
- description: "Dismiss an active challenge",
92
+ description: 'Dismiss an active challenge',
100
93
  },
101
94
  uphold_challenge: {
102
- description: "Uphold a challenge, suspending the agent",
95
+ description: 'Uphold a challenge, suspending the agent',
103
96
  },
104
97
  begin_probation: {
105
- description: "Move suspended agent to probation",
98
+ description: 'Move suspended agent to probation',
106
99
  },
107
100
  complete_probation: {
108
- description: "Complete probation, reactivating the agent",
101
+ description: 'Complete probation, reactivating the agent',
109
102
  },
110
103
  withdraw: {
111
- description: "Permanently withdraw the agent",
104
+ description: 'Permanently withdraw the agent',
112
105
  },
113
106
  },
114
107
  definitions: {
115
108
  PlatformLink: {
116
- type: "object",
117
- required: ["platform", "handle"],
109
+ type: 'object',
110
+ required: ['platform', 'handle'],
118
111
  properties: {
119
112
  platform: {
120
- type: "string",
121
- enum: [
122
- "twitter",
123
- "github",
124
- "discord",
125
- "telegram",
126
- "moltbook",
127
- ],
113
+ type: 'string',
114
+ enum: ['twitter', 'github', 'discord', 'telegram', 'moltbook'],
128
115
  },
129
- handle: { type: "string" },
130
- verified: { type: "boolean", default: false },
116
+ handle: { type: 'string' },
117
+ verified: { type: 'boolean', default: false },
131
118
  },
132
119
  },
133
120
  },
134
121
  states: {
135
122
  REGISTERED: {
136
- id: "REGISTERED",
123
+ id: 'REGISTERED',
137
124
  isFinal: false,
138
125
  metadata: {
139
- label: "Registered",
140
- description: "Agent registered but not yet activated",
141
- category: "initial",
126
+ label: 'Registered',
127
+ description: 'Agent registered but not yet activated',
128
+ category: 'initial',
142
129
  },
143
130
  },
144
131
  ACTIVE: {
145
- id: "ACTIVE",
132
+ id: 'ACTIVE',
146
133
  isFinal: false,
147
134
  metadata: {
148
- label: "Active",
149
- description: "Agent is active and accruing reputation",
150
- category: "active",
135
+ label: 'Active',
136
+ description: 'Agent is active and accruing reputation',
137
+ category: 'active',
151
138
  },
152
139
  },
153
140
  CHALLENGED: {
154
- id: "CHALLENGED",
141
+ id: 'CHALLENGED',
155
142
  isFinal: false,
156
143
  metadata: {
157
- label: "Challenged",
158
- description: "A challenge has been raised; awaiting resolution",
159
- category: "pending",
144
+ label: 'Challenged',
145
+ description: 'A challenge has been raised; awaiting resolution',
146
+ category: 'pending',
160
147
  },
161
148
  },
162
149
  SUSPENDED: {
163
- id: "SUSPENDED",
150
+ id: 'SUSPENDED',
164
151
  isFinal: false,
165
152
  metadata: {
166
- label: "Suspended",
167
- description: "Agent suspended after an upheld challenge",
168
- category: "pending",
153
+ label: 'Suspended',
154
+ description: 'Agent suspended after an upheld challenge',
155
+ category: 'pending',
169
156
  },
170
157
  },
171
158
  PROBATION: {
172
- id: "PROBATION",
159
+ id: 'PROBATION',
173
160
  isFinal: false,
174
161
  metadata: {
175
- label: "Probation",
176
- description: "Conditional reinstatement under monitoring",
177
- category: "active",
162
+ label: 'Probation',
163
+ description: 'Conditional reinstatement under monitoring',
164
+ category: 'active',
178
165
  },
179
166
  },
180
167
  WITHDRAWN: {
181
- id: "WITHDRAWN",
168
+ id: 'WITHDRAWN',
182
169
  isFinal: true,
183
170
  metadata: {
184
- label: "Withdrawn",
185
- description: "Agent withdrawn from the registry (terminal)",
186
- category: "terminal",
171
+ label: 'Withdrawn',
172
+ description: 'Agent withdrawn from the registry (terminal)',
173
+ category: 'terminal',
187
174
  },
188
175
  },
189
176
  },
190
- initialState: "REGISTERED",
177
+ initialState: 'REGISTERED',
191
178
  transitions: [
192
179
  {
193
- from: "REGISTERED",
194
- to: "ACTIVE",
195
- eventName: "activate",
196
- guard: { "==": [1, 1] },
180
+ from: 'REGISTERED',
181
+ to: 'ACTIVE',
182
+ eventName: 'activate',
183
+ guard: { '==': [1, 1] },
197
184
  effect: {
198
- merge: [
199
- { var: "state" },
200
- { status: "ACTIVE", activatedAt: { var: "$ordinal" } },
201
- ],
185
+ merge: [{ var: 'state' }, { status: 'ACTIVE', activatedAt: { var: '$ordinal' } }],
202
186
  },
203
187
  },
204
188
  {
205
- from: "ACTIVE",
206
- to: "ACTIVE",
207
- eventName: "receive_vouch",
208
- guard: { "!!": [{ var: "event.from" }] },
189
+ from: 'ACTIVE',
190
+ to: 'ACTIVE',
191
+ eventName: 'receive_vouch',
192
+ guard: { '!!': [{ var: 'event.from' }] },
209
193
  effect: {
210
- merge: [
211
- { var: "state" },
212
- { reputation: { "+": [{ var: "state.reputation" }, 2] } },
213
- ],
194
+ merge: [{ var: 'state' }, { reputation: { '+': [{ var: 'state.reputation' }, 2] } }],
214
195
  },
215
196
  },
216
197
  {
217
- from: "ACTIVE",
218
- to: "ACTIVE",
219
- eventName: "receive_completion",
220
- guard: { "==": [1, 1] },
198
+ from: 'ACTIVE',
199
+ to: 'ACTIVE',
200
+ eventName: 'receive_completion',
201
+ guard: { '==': [1, 1] },
221
202
  effect: {
222
- merge: [
223
- { var: "state" },
224
- { reputation: { "+": [{ var: "state.reputation" }, 5] } },
225
- ],
203
+ merge: [{ var: 'state' }, { reputation: { '+': [{ var: 'state.reputation' }, 5] } }],
226
204
  },
227
205
  },
228
206
  {
229
- from: "ACTIVE",
230
- to: "CHALLENGED",
231
- eventName: "challenge",
232
- guard: { "!!": [{ var: "event.challenger" }] },
207
+ from: 'ACTIVE',
208
+ to: 'CHALLENGED',
209
+ eventName: 'challenge',
210
+ guard: { '!!': [{ var: 'event.challenger' }] },
233
211
  effect: {
234
- merge: [
235
- { var: "state" },
236
- { status: "CHALLENGED", challengedBy: { var: "event.challenger" } },
237
- ],
212
+ merge: [{ var: 'state' }, { status: 'CHALLENGED', challengedBy: { var: 'event.challenger' } }],
238
213
  },
239
214
  },
240
215
  {
241
- from: "CHALLENGED",
242
- to: "ACTIVE",
243
- eventName: "dismiss_challenge",
244
- guard: { "==": [1, 1] },
216
+ from: 'CHALLENGED',
217
+ to: 'ACTIVE',
218
+ eventName: 'dismiss_challenge',
219
+ guard: { '==': [1, 1] },
245
220
  effect: {
246
- merge: [{ var: "state" }, { status: "ACTIVE", challengedBy: null }],
221
+ merge: [{ var: 'state' }, { status: 'ACTIVE', challengedBy: null }],
247
222
  },
248
223
  },
249
224
  {
250
- from: "CHALLENGED",
251
- to: "SUSPENDED",
252
- eventName: "uphold_challenge",
253
- guard: { "==": [1, 1] },
225
+ from: 'CHALLENGED',
226
+ to: 'SUSPENDED',
227
+ eventName: 'uphold_challenge',
228
+ guard: { '==': [1, 1] },
254
229
  effect: {
255
- merge: [
256
- { var: "state" },
257
- { status: "SUSPENDED", suspendedAt: { var: "$ordinal" } },
258
- ],
230
+ merge: [{ var: 'state' }, { status: 'SUSPENDED', suspendedAt: { var: '$ordinal' } }],
259
231
  },
260
232
  },
261
233
  {
262
- from: "SUSPENDED",
263
- to: "PROBATION",
264
- eventName: "begin_probation",
265
- guard: { "==": [1, 1] },
234
+ from: 'SUSPENDED',
235
+ to: 'PROBATION',
236
+ eventName: 'begin_probation',
237
+ guard: { '==': [1, 1] },
266
238
  effect: {
267
- merge: [
268
- { var: "state" },
269
- { status: "PROBATION", probationStartedAt: { var: "$ordinal" } },
270
- ],
239
+ merge: [{ var: 'state' }, { status: 'PROBATION', probationStartedAt: { var: '$ordinal' } }],
271
240
  },
272
241
  },
273
242
  {
274
- from: "PROBATION",
275
- to: "ACTIVE",
276
- eventName: "complete_probation",
277
- guard: { "==": [1, 1] },
243
+ from: 'PROBATION',
244
+ to: 'ACTIVE',
245
+ eventName: 'complete_probation',
246
+ guard: { '==': [1, 1] },
278
247
  effect: {
279
- merge: [
280
- { var: "state" },
281
- { status: "ACTIVE", probationStartedAt: null },
282
- ],
248
+ merge: [{ var: 'state' }, { status: 'ACTIVE', probationStartedAt: null }],
283
249
  },
284
250
  },
285
251
  {
286
- from: "ACTIVE",
287
- to: "WITHDRAWN",
288
- eventName: "withdraw",
289
- guard: { "==": [1, 1] },
252
+ from: 'ACTIVE',
253
+ to: 'WITHDRAWN',
254
+ eventName: 'withdraw',
255
+ guard: { '==': [1, 1] },
290
256
  effect: {
291
- merge: [{ var: "state" }, { status: "WITHDRAWN" }],
257
+ merge: [{ var: 'state' }, { status: 'WITHDRAWN' }],
292
258
  },
293
259
  },
294
260
  {
295
- from: "REGISTERED",
296
- to: "WITHDRAWN",
297
- eventName: "withdraw",
298
- guard: { "==": [1, 1] },
261
+ from: 'REGISTERED',
262
+ to: 'WITHDRAWN',
263
+ eventName: 'withdraw',
264
+ guard: { '==': [1, 1] },
299
265
  effect: {
300
- merge: [{ var: "state" }, { status: "WITHDRAWN" }],
266
+ merge: [{ var: 'state' }, { status: 'WITHDRAWN' }],
301
267
  },
302
268
  },
303
269
  ],