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