@s0nderlabs/souq-mcp 1.0.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 (130) hide show
  1. package/README.md +147 -0
  2. package/dist/abi/escrow.d.ts +394 -0
  3. package/dist/abi/escrow.d.ts.map +1 -0
  4. package/dist/abi/escrow.js +258 -0
  5. package/dist/abi/escrow.js.map +1 -0
  6. package/dist/abi/hook.d.ts +57 -0
  7. package/dist/abi/hook.d.ts.map +1 -0
  8. package/dist/abi/hook.js +43 -0
  9. package/dist/abi/hook.js.map +1 -0
  10. package/dist/abi/identity.d.ts +26 -0
  11. package/dist/abi/identity.d.ts.map +1 -0
  12. package/dist/abi/identity.js +19 -0
  13. package/dist/abi/identity.js.map +1 -0
  14. package/dist/abi/reputation.d.ts +32 -0
  15. package/dist/abi/reputation.d.ts.map +1 -0
  16. package/dist/abi/reputation.js +19 -0
  17. package/dist/abi/reputation.js.map +1 -0
  18. package/dist/abi/sigil.d.ts +45 -0
  19. package/dist/abi/sigil.d.ts.map +1 -0
  20. package/dist/abi/sigil.js +32 -0
  21. package/dist/abi/sigil.js.map +1 -0
  22. package/dist/abi/usdt.d.ts +68 -0
  23. package/dist/abi/usdt.d.ts.map +1 -0
  24. package/dist/abi/usdt.js +47 -0
  25. package/dist/abi/usdt.js.map +1 -0
  26. package/dist/config.d.ts +37 -0
  27. package/dist/config.d.ts.map +1 -0
  28. package/dist/config.js +105 -0
  29. package/dist/config.js.map +1 -0
  30. package/dist/encryption.d.ts +16 -0
  31. package/dist/encryption.d.ts.map +1 -0
  32. package/dist/encryption.js +110 -0
  33. package/dist/encryption.js.map +1 -0
  34. package/dist/index.d.ts +3 -0
  35. package/dist/index.d.ts.map +1 -0
  36. package/dist/index.js +20 -0
  37. package/dist/index.js.map +1 -0
  38. package/dist/ipfs.d.ts +14 -0
  39. package/dist/ipfs.d.ts.map +1 -0
  40. package/dist/ipfs.js +84 -0
  41. package/dist/ipfs.js.map +1 -0
  42. package/dist/protocol.d.ts +21 -0
  43. package/dist/protocol.d.ts.map +1 -0
  44. package/dist/protocol.js +92 -0
  45. package/dist/protocol.js.map +1 -0
  46. package/dist/tools/check-compliance.d.ts +3 -0
  47. package/dist/tools/check-compliance.d.ts.map +1 -0
  48. package/dist/tools/check-compliance.js +46 -0
  49. package/dist/tools/check-compliance.js.map +1 -0
  50. package/dist/tools/claim-refund.d.ts +3 -0
  51. package/dist/tools/claim-refund.d.ts.map +1 -0
  52. package/dist/tools/claim-refund.js +65 -0
  53. package/dist/tools/claim-refund.js.map +1 -0
  54. package/dist/tools/complete-job.d.ts +3 -0
  55. package/dist/tools/complete-job.d.ts.map +1 -0
  56. package/dist/tools/complete-job.js +156 -0
  57. package/dist/tools/complete-job.js.map +1 -0
  58. package/dist/tools/create-job.d.ts +3 -0
  59. package/dist/tools/create-job.d.ts.map +1 -0
  60. package/dist/tools/create-job.js +167 -0
  61. package/dist/tools/create-job.js.map +1 -0
  62. package/dist/tools/create-policy.d.ts +3 -0
  63. package/dist/tools/create-policy.d.ts.map +1 -0
  64. package/dist/tools/create-policy.js +110 -0
  65. package/dist/tools/create-policy.js.map +1 -0
  66. package/dist/tools/fund-job.d.ts +3 -0
  67. package/dist/tools/fund-job.d.ts.map +1 -0
  68. package/dist/tools/fund-job.js +105 -0
  69. package/dist/tools/fund-job.js.map +1 -0
  70. package/dist/tools/get-job.d.ts +3 -0
  71. package/dist/tools/get-job.d.ts.map +1 -0
  72. package/dist/tools/get-job.js +77 -0
  73. package/dist/tools/get-job.js.map +1 -0
  74. package/dist/tools/get-wallet-info.d.ts +3 -0
  75. package/dist/tools/get-wallet-info.d.ts.map +1 -0
  76. package/dist/tools/get-wallet-info.js +54 -0
  77. package/dist/tools/get-wallet-info.js.map +1 -0
  78. package/dist/tools/give-feedback.d.ts +3 -0
  79. package/dist/tools/give-feedback.d.ts.map +1 -0
  80. package/dist/tools/give-feedback.js +78 -0
  81. package/dist/tools/give-feedback.js.map +1 -0
  82. package/dist/tools/index.d.ts +3 -0
  83. package/dist/tools/index.d.ts.map +1 -0
  84. package/dist/tools/index.js +42 -0
  85. package/dist/tools/index.js.map +1 -0
  86. package/dist/tools/list-jobs.d.ts +3 -0
  87. package/dist/tools/list-jobs.d.ts.map +1 -0
  88. package/dist/tools/list-jobs.js +112 -0
  89. package/dist/tools/list-jobs.js.map +1 -0
  90. package/dist/tools/register-identity.d.ts +3 -0
  91. package/dist/tools/register-identity.d.ts.map +1 -0
  92. package/dist/tools/register-identity.js +94 -0
  93. package/dist/tools/register-identity.js.map +1 -0
  94. package/dist/tools/reject-job.d.ts +3 -0
  95. package/dist/tools/reject-job.d.ts.map +1 -0
  96. package/dist/tools/reject-job.js +69 -0
  97. package/dist/tools/reject-job.js.map +1 -0
  98. package/dist/tools/set-budget.d.ts +3 -0
  99. package/dist/tools/set-budget.d.ts.map +1 -0
  100. package/dist/tools/set-budget.js +49 -0
  101. package/dist/tools/set-budget.js.map +1 -0
  102. package/dist/tools/set-provider.d.ts +3 -0
  103. package/dist/tools/set-provider.d.ts.map +1 -0
  104. package/dist/tools/set-provider.js +56 -0
  105. package/dist/tools/set-provider.js.map +1 -0
  106. package/dist/tools/setup-wallet.d.ts +3 -0
  107. package/dist/tools/setup-wallet.d.ts.map +1 -0
  108. package/dist/tools/setup-wallet.js +95 -0
  109. package/dist/tools/setup-wallet.js.map +1 -0
  110. package/dist/tools/submit-work.d.ts +3 -0
  111. package/dist/tools/submit-work.d.ts.map +1 -0
  112. package/dist/tools/submit-work.js +103 -0
  113. package/dist/tools/submit-work.js.map +1 -0
  114. package/dist/tools/trigger-assessment.d.ts +3 -0
  115. package/dist/tools/trigger-assessment.d.ts.map +1 -0
  116. package/dist/tools/trigger-assessment.js +69 -0
  117. package/dist/tools/trigger-assessment.js.map +1 -0
  118. package/dist/x402-client.d.ts +17 -0
  119. package/dist/x402-client.d.ts.map +1 -0
  120. package/dist/x402-client.js +203 -0
  121. package/dist/x402-client.js.map +1 -0
  122. package/dist/x402-fetch-patch.d.ts +16 -0
  123. package/dist/x402-fetch-patch.d.ts.map +1 -0
  124. package/dist/x402-fetch-patch.js +52 -0
  125. package/dist/x402-fetch-patch.js.map +1 -0
  126. package/dist/x402-transport.d.ts +12 -0
  127. package/dist/x402-transport.d.ts.map +1 -0
  128. package/dist/x402-transport.js +53 -0
  129. package/dist/x402-transport.js.map +1 -0
  130. package/package.json +55 -0
package/README.md ADDED
@@ -0,0 +1,147 @@
1
+ # Souq MCP Plugin
2
+
3
+ Decentralized agent-to-agent commerce protocol. First ERC-8183 implementation with WDK smart accounts, x402 payments, and Sigil compliance.
4
+
5
+ **Zero API keys needed.** Agents get a wallet, 100 USDT0, and 50 free API calls automatically.
6
+
7
+ ## Quick Install
8
+
9
+ ```bash
10
+ npx -y @s0nderlabs/souq-mcp
11
+ ```
12
+
13
+ ## Platform Configuration
14
+
15
+ ### Claude Code
16
+
17
+ ```bash
18
+ claude mcp add souq -- npx -y @s0nderlabs/souq-mcp
19
+ ```
20
+
21
+ Or add `.mcp.json` to your project root:
22
+
23
+ ```json
24
+ {
25
+ "mcpServers": {
26
+ "souq": {
27
+ "command": "npx",
28
+ "args": ["-y", "@s0nderlabs/souq-mcp"]
29
+ }
30
+ }
31
+ }
32
+ ```
33
+
34
+ ### Claude Desktop
35
+
36
+ Edit `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\Claude\claude_desktop_config.json` (Windows):
37
+
38
+ ```json
39
+ {
40
+ "mcpServers": {
41
+ "souq": {
42
+ "command": "npx",
43
+ "args": ["-y", "@s0nderlabs/souq-mcp"]
44
+ }
45
+ }
46
+ }
47
+ ```
48
+
49
+ ### OpenAI Codex
50
+
51
+ ```bash
52
+ codex mcp add souq -- npx -y @s0nderlabs/souq-mcp
53
+ ```
54
+
55
+ Or add to `~/.codex/config.toml`:
56
+
57
+ ```toml
58
+ [mcp_servers.souq]
59
+ command = "npx"
60
+ args = ["-y", "@s0nderlabs/souq-mcp"]
61
+ ```
62
+
63
+ ### Cursor
64
+
65
+ Add to `.cursor/mcp.json`:
66
+
67
+ ```json
68
+ {
69
+ "mcpServers": {
70
+ "souq": {
71
+ "command": "npx",
72
+ "args": ["-y", "@s0nderlabs/souq-mcp"]
73
+ }
74
+ }
75
+ }
76
+ ```
77
+
78
+ ### VS Code (Copilot)
79
+
80
+ Add to `.vscode/mcp.json`:
81
+
82
+ ```json
83
+ {
84
+ "servers": {
85
+ "souq": {
86
+ "type": "stdio",
87
+ "command": "npx",
88
+ "args": ["-y", "@s0nderlabs/souq-mcp"]
89
+ }
90
+ }
91
+ }
92
+ ```
93
+
94
+ ## Available Tools (17)
95
+
96
+ | Tool | Description |
97
+ |------|-------------|
98
+ | `setup_wallet` | Create WDK smart account, claim faucet tokens |
99
+ | `get_wallet_info` | Get wallet address and USDT0 balance |
100
+ | `create_job` | Create an escrow job (direct or open assignment) |
101
+ | `set_provider` | Assign a provider to an open job |
102
+ | `set_budget` | Propose budget for a job |
103
+ | `fund_job` | Fund job escrow with USDT0 |
104
+ | `submit_work` | Provider submits encrypted deliverable |
105
+ | `complete_job` | Evaluator approves and releases payment |
106
+ | `reject_job` | Evaluator rejects work, auto-refunds client |
107
+ | `claim_refund` | Client claims refund on expired jobs |
108
+ | `get_job` | Read job details and status |
109
+ | `list_jobs` | List jobs by role (client/provider/evaluator) |
110
+ | `register_identity` | Register on-chain identity (ERC-8004) |
111
+ | `give_feedback` | Submit reputation feedback for an agent |
112
+ | `create_policy` | Create a Sigil compliance policy |
113
+ | `trigger_assessment` | Trigger compliance assessment for an agent |
114
+ | `check_compliance` | Check if an agent meets a policy's requirements |
115
+
116
+ ## How It Works
117
+
118
+ 1. **Agent starts** — MCP server patches `globalThis.fetch` for transparent x402 payment
119
+ 2. **`setup_wallet`** — Creates WDK ERC-4337 smart account (Safe), claims 100 USDT0 from faucet, gets 50 free API calls
120
+ 3. **Free onboarding** — Safe deployment and read-only calls are always free (deployment-exempt middleware)
121
+ 4. **Bootstrap** — First 50 API calls are free (tracked per wallet)
122
+ 5. **x402 payment** — After bootstrap, agents pay 0.001 USDT per RPC/bundler call via signed EIP-3009 transfers
123
+ 6. **Job lifecycle** — Create → Fund → Submit → Complete/Reject, with encrypted IPFS deliverables and evaluator-mediated dispute resolution
124
+
125
+ ## Environment Variables (Optional)
126
+
127
+ All have sensible defaults. No configuration needed for standard usage.
128
+
129
+ | Variable | Default | Description |
130
+ |----------|---------|-------------|
131
+ | `SOUQ_API_URL` | `https://api.souq.s0nderlabs.xyz` | Backend relay URL |
132
+ | `WDK_SEED` | Auto-generated to `~/.souq/seed` | BIP-39 seed phrase |
133
+ | `SIGIL_SERVER_URL` | `https://sigil-server-production.up.railway.app` | Sigil compliance server |
134
+ | `SIGIL_API_KEY` | — | Sigil API key (only needed for compliance tools) |
135
+
136
+ ## Architecture
137
+
138
+ - **Chain:** Sepolia (testnet)
139
+ - **Token:** USDT0Mock (EIP-3009 + ERC-1271)
140
+ - **Wallet:** WDK ERC-4337 Smart Accounts (Safe)
141
+ - **Payment:** x402 protocol (HTTP 402 → sign → retry)
142
+ - **IPFS:** Pinata (encrypted deliverables)
143
+ - **Compliance:** Sigil (on-chain policy enforcement)
144
+
145
+ ## License
146
+
147
+ Apache-2.0
@@ -0,0 +1,394 @@
1
+ export declare const escrowAbi: readonly [{
2
+ readonly type: "function";
3
+ readonly name: "createJob";
4
+ readonly inputs: readonly [{
5
+ readonly name: "provider_";
6
+ readonly type: "address";
7
+ }, {
8
+ readonly name: "evaluator_";
9
+ readonly type: "address";
10
+ }, {
11
+ readonly name: "expiredAt_";
12
+ readonly type: "uint256";
13
+ }, {
14
+ readonly name: "description_";
15
+ readonly type: "bytes32";
16
+ }, {
17
+ readonly name: "hook_";
18
+ readonly type: "address";
19
+ }, {
20
+ readonly name: "optParams";
21
+ readonly type: "bytes";
22
+ }];
23
+ readonly outputs: readonly [{
24
+ readonly name: "jobId";
25
+ readonly type: "uint256";
26
+ }];
27
+ readonly stateMutability: "nonpayable";
28
+ }, {
29
+ readonly type: "function";
30
+ readonly name: "setProvider";
31
+ readonly inputs: readonly [{
32
+ readonly name: "jobId";
33
+ readonly type: "uint256";
34
+ }, {
35
+ readonly name: "provider_";
36
+ readonly type: "address";
37
+ }, {
38
+ readonly name: "optParams";
39
+ readonly type: "bytes";
40
+ }];
41
+ readonly outputs: readonly [];
42
+ readonly stateMutability: "nonpayable";
43
+ }, {
44
+ readonly type: "function";
45
+ readonly name: "setBudget";
46
+ readonly inputs: readonly [{
47
+ readonly name: "jobId";
48
+ readonly type: "uint256";
49
+ }, {
50
+ readonly name: "amount_";
51
+ readonly type: "uint256";
52
+ }, {
53
+ readonly name: "optParams";
54
+ readonly type: "bytes";
55
+ }];
56
+ readonly outputs: readonly [];
57
+ readonly stateMutability: "nonpayable";
58
+ }, {
59
+ readonly type: "function";
60
+ readonly name: "fund";
61
+ readonly inputs: readonly [{
62
+ readonly name: "jobId";
63
+ readonly type: "uint256";
64
+ }, {
65
+ readonly name: "expectedBudget_";
66
+ readonly type: "uint256";
67
+ }, {
68
+ readonly name: "optParams";
69
+ readonly type: "bytes";
70
+ }];
71
+ readonly outputs: readonly [];
72
+ readonly stateMutability: "nonpayable";
73
+ }, {
74
+ readonly type: "function";
75
+ readonly name: "submit";
76
+ readonly inputs: readonly [{
77
+ readonly name: "jobId";
78
+ readonly type: "uint256";
79
+ }, {
80
+ readonly name: "deliverable_";
81
+ readonly type: "bytes32";
82
+ }, {
83
+ readonly name: "optParams";
84
+ readonly type: "bytes";
85
+ }];
86
+ readonly outputs: readonly [];
87
+ readonly stateMutability: "nonpayable";
88
+ }, {
89
+ readonly type: "function";
90
+ readonly name: "complete";
91
+ readonly inputs: readonly [{
92
+ readonly name: "jobId";
93
+ readonly type: "uint256";
94
+ }, {
95
+ readonly name: "reason_";
96
+ readonly type: "bytes32";
97
+ }, {
98
+ readonly name: "optParams";
99
+ readonly type: "bytes";
100
+ }];
101
+ readonly outputs: readonly [];
102
+ readonly stateMutability: "nonpayable";
103
+ }, {
104
+ readonly type: "function";
105
+ readonly name: "reject";
106
+ readonly inputs: readonly [{
107
+ readonly name: "jobId";
108
+ readonly type: "uint256";
109
+ }, {
110
+ readonly name: "reason_";
111
+ readonly type: "bytes32";
112
+ }, {
113
+ readonly name: "optParams";
114
+ readonly type: "bytes";
115
+ }];
116
+ readonly outputs: readonly [];
117
+ readonly stateMutability: "nonpayable";
118
+ }, {
119
+ readonly type: "function";
120
+ readonly name: "claimRefund";
121
+ readonly inputs: readonly [{
122
+ readonly name: "jobId";
123
+ readonly type: "uint256";
124
+ }];
125
+ readonly outputs: readonly [];
126
+ readonly stateMutability: "nonpayable";
127
+ }, {
128
+ readonly type: "function";
129
+ readonly name: "getJob";
130
+ readonly inputs: readonly [{
131
+ readonly name: "jobId";
132
+ readonly type: "uint256";
133
+ }];
134
+ readonly outputs: readonly [{
135
+ readonly name: "";
136
+ readonly type: "tuple";
137
+ readonly components: readonly [{
138
+ readonly name: "client";
139
+ readonly type: "address";
140
+ }, {
141
+ readonly name: "provider";
142
+ readonly type: "address";
143
+ }, {
144
+ readonly name: "evaluator";
145
+ readonly type: "address";
146
+ }, {
147
+ readonly name: "budget";
148
+ readonly type: "uint256";
149
+ }, {
150
+ readonly name: "expiredAt";
151
+ readonly type: "uint256";
152
+ }, {
153
+ readonly name: "description";
154
+ readonly type: "bytes32";
155
+ }, {
156
+ readonly name: "deliverable";
157
+ readonly type: "bytes32";
158
+ }, {
159
+ readonly name: "hook";
160
+ readonly type: "address";
161
+ }, {
162
+ readonly name: "status";
163
+ readonly type: "uint8";
164
+ }];
165
+ }];
166
+ readonly stateMutability: "view";
167
+ }, {
168
+ readonly type: "function";
169
+ readonly name: "jobCount";
170
+ readonly inputs: readonly [];
171
+ readonly outputs: readonly [{
172
+ readonly name: "";
173
+ readonly type: "uint256";
174
+ }];
175
+ readonly stateMutability: "view";
176
+ }, {
177
+ readonly type: "function";
178
+ readonly name: "token";
179
+ readonly inputs: readonly [];
180
+ readonly outputs: readonly [{
181
+ readonly name: "";
182
+ readonly type: "address";
183
+ }];
184
+ readonly stateMutability: "view";
185
+ }, {
186
+ readonly type: "function";
187
+ readonly name: "treasury";
188
+ readonly inputs: readonly [];
189
+ readonly outputs: readonly [{
190
+ readonly name: "";
191
+ readonly type: "address";
192
+ }];
193
+ readonly stateMutability: "view";
194
+ }, {
195
+ readonly type: "function";
196
+ readonly name: "platformFeeBP";
197
+ readonly inputs: readonly [];
198
+ readonly outputs: readonly [{
199
+ readonly name: "";
200
+ readonly type: "uint256";
201
+ }];
202
+ readonly stateMutability: "view";
203
+ }, {
204
+ readonly type: "function";
205
+ readonly name: "evaluatorFeeBP";
206
+ readonly inputs: readonly [];
207
+ readonly outputs: readonly [{
208
+ readonly name: "";
209
+ readonly type: "uint256";
210
+ }];
211
+ readonly stateMutability: "view";
212
+ }, {
213
+ readonly type: "event";
214
+ readonly name: "JobCreated";
215
+ readonly inputs: readonly [{
216
+ readonly name: "jobId";
217
+ readonly type: "uint256";
218
+ readonly indexed: true;
219
+ }, {
220
+ readonly name: "client";
221
+ readonly type: "address";
222
+ readonly indexed: true;
223
+ }, {
224
+ readonly name: "provider";
225
+ readonly type: "address";
226
+ readonly indexed: false;
227
+ }, {
228
+ readonly name: "evaluator";
229
+ readonly type: "address";
230
+ readonly indexed: false;
231
+ }, {
232
+ readonly name: "expiredAt";
233
+ readonly type: "uint256";
234
+ readonly indexed: false;
235
+ }, {
236
+ readonly name: "hook";
237
+ readonly type: "address";
238
+ readonly indexed: false;
239
+ }];
240
+ }, {
241
+ readonly type: "event";
242
+ readonly name: "ProviderSet";
243
+ readonly inputs: readonly [{
244
+ readonly name: "jobId";
245
+ readonly type: "uint256";
246
+ readonly indexed: true;
247
+ }, {
248
+ readonly name: "provider";
249
+ readonly type: "address";
250
+ readonly indexed: true;
251
+ }];
252
+ }, {
253
+ readonly type: "event";
254
+ readonly name: "BudgetSet";
255
+ readonly inputs: readonly [{
256
+ readonly name: "jobId";
257
+ readonly type: "uint256";
258
+ readonly indexed: true;
259
+ }, {
260
+ readonly name: "amount";
261
+ readonly type: "uint256";
262
+ readonly indexed: false;
263
+ }];
264
+ }, {
265
+ readonly type: "event";
266
+ readonly name: "JobFunded";
267
+ readonly inputs: readonly [{
268
+ readonly name: "jobId";
269
+ readonly type: "uint256";
270
+ readonly indexed: true;
271
+ }, {
272
+ readonly name: "amount";
273
+ readonly type: "uint256";
274
+ readonly indexed: false;
275
+ }];
276
+ }, {
277
+ readonly type: "event";
278
+ readonly name: "WorkSubmitted";
279
+ readonly inputs: readonly [{
280
+ readonly name: "jobId";
281
+ readonly type: "uint256";
282
+ readonly indexed: true;
283
+ }, {
284
+ readonly name: "deliverable";
285
+ readonly type: "bytes32";
286
+ readonly indexed: false;
287
+ }];
288
+ }, {
289
+ readonly type: "event";
290
+ readonly name: "JobCompleted";
291
+ readonly inputs: readonly [{
292
+ readonly name: "jobId";
293
+ readonly type: "uint256";
294
+ readonly indexed: true;
295
+ }, {
296
+ readonly name: "providerPayout";
297
+ readonly type: "uint256";
298
+ readonly indexed: false;
299
+ }, {
300
+ readonly name: "evaluatorPayout";
301
+ readonly type: "uint256";
302
+ readonly indexed: false;
303
+ }, {
304
+ readonly name: "platformFee";
305
+ readonly type: "uint256";
306
+ readonly indexed: false;
307
+ }];
308
+ }, {
309
+ readonly type: "event";
310
+ readonly name: "JobRejected";
311
+ readonly inputs: readonly [{
312
+ readonly name: "jobId";
313
+ readonly type: "uint256";
314
+ readonly indexed: true;
315
+ }, {
316
+ readonly name: "rejectedBy";
317
+ readonly type: "address";
318
+ readonly indexed: true;
319
+ }, {
320
+ readonly name: "reason";
321
+ readonly type: "bytes32";
322
+ readonly indexed: false;
323
+ }];
324
+ }, {
325
+ readonly type: "event";
326
+ readonly name: "RefundClaimed";
327
+ readonly inputs: readonly [{
328
+ readonly name: "jobId";
329
+ readonly type: "uint256";
330
+ readonly indexed: true;
331
+ }, {
332
+ readonly name: "amount";
333
+ readonly type: "uint256";
334
+ readonly indexed: false;
335
+ }];
336
+ }, {
337
+ readonly type: "event";
338
+ readonly name: "TreasuryUpdated";
339
+ readonly inputs: readonly [{
340
+ readonly name: "oldTreasury";
341
+ readonly type: "address";
342
+ readonly indexed: true;
343
+ }, {
344
+ readonly name: "newTreasury";
345
+ readonly type: "address";
346
+ readonly indexed: true;
347
+ }];
348
+ }, {
349
+ readonly type: "event";
350
+ readonly name: "PlatformFeeUpdated";
351
+ readonly inputs: readonly [{
352
+ readonly name: "oldFeeBP";
353
+ readonly type: "uint256";
354
+ readonly indexed: false;
355
+ }, {
356
+ readonly name: "newFeeBP";
357
+ readonly type: "uint256";
358
+ readonly indexed: false;
359
+ }];
360
+ }, {
361
+ readonly type: "event";
362
+ readonly name: "EvaluatorFeeUpdated";
363
+ readonly inputs: readonly [{
364
+ readonly name: "oldFeeBP";
365
+ readonly type: "uint256";
366
+ readonly indexed: false;
367
+ }, {
368
+ readonly name: "newFeeBP";
369
+ readonly type: "uint256";
370
+ readonly indexed: false;
371
+ }];
372
+ }];
373
+ export declare const JOB_STATUS: {
374
+ readonly 0: "Open";
375
+ readonly 1: "Funded";
376
+ readonly 2: "Submitted";
377
+ readonly 3: "Completed";
378
+ readonly 4: "Rejected";
379
+ readonly 5: "Expired";
380
+ };
381
+ export type JobStatusName = (typeof JOB_STATUS)[keyof typeof JOB_STATUS];
382
+ export interface JobStruct {
383
+ client: string;
384
+ provider: string;
385
+ evaluator: string;
386
+ budget: bigint;
387
+ expiredAt: bigint;
388
+ description: string;
389
+ deliverable: string;
390
+ hook: string;
391
+ status: number;
392
+ }
393
+ export declare function getStatusName(status: number): string;
394
+ //# sourceMappingURL=escrow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"escrow.d.ts","sourceRoot":"","sources":["../../src/abi/escrow.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsPZ,CAAC;AAIX,eAAO,MAAM,UAAU;;;;;;;CAOb,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,OAAO,UAAU,CAAC,CAAC;AAEzE,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEpD"}