@varun-ai07/covenant-mcp 2.0.1 → 2.0.3

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 (131) hide show
  1. package/README.md +58 -2017
  2. package/dist/abis/AgentCollective.json +93 -274
  3. package/dist/abis/COVENANTRouter.json +206 -173
  4. package/dist/abis/CovenantArbitration.json +546 -0
  5. package/dist/abis/CovenantAttestation.json +476 -0
  6. package/dist/abis/CovenantEscrow.json +783 -0
  7. package/dist/abis/CovenantGovernance.json +729 -0
  8. package/dist/abis/CovenantIdentity.json +800 -0
  9. package/dist/abis/CovenantSettlement.json +609 -0
  10. package/dist/abis/GrantProgram.json +66 -471
  11. package/dist/abis/InsurancePool.json +456 -0
  12. package/dist/abis/MultiTokenEscrow.json +435 -836
  13. package/dist/abis/ParallelTaskBatch.json +160 -170
  14. package/dist/abis/RevisionManager.json +79 -134
  15. package/dist/abis/TrainingMarketplace.json +52 -482
  16. package/dist/cli.js +1 -1
  17. package/dist/cli.js.map +1 -1
  18. package/dist/config.d.ts +60 -74
  19. package/dist/config.d.ts.map +1 -1
  20. package/dist/config.js +60 -41
  21. package/dist/config.js.map +1 -1
  22. package/dist/lib/sqlite-store.d.ts +13 -0
  23. package/dist/lib/sqlite-store.d.ts.map +1 -0
  24. package/dist/lib/sqlite-store.js +71 -0
  25. package/dist/lib/sqlite-store.js.map +1 -0
  26. package/dist/lib/store.d.ts +1 -3
  27. package/dist/lib/store.d.ts.map +1 -1
  28. package/dist/lib/store.js +21 -10
  29. package/dist/lib/store.js.map +1 -1
  30. package/dist/sdk/chunk-3R2WXEXL.mjs +828 -0
  31. package/dist/sdk/chunk-6ORMNSPN.mjs +842 -0
  32. package/dist/sdk/chunk-FH2MCRWQ.mjs +8732 -0
  33. package/dist/sdk/chunk-Y3YIH5K3.mjs +816 -0
  34. package/dist/sdk/config.d.ts +121 -0
  35. package/dist/sdk/config.d.ts.map +1 -0
  36. package/dist/sdk/config.js +196 -0
  37. package/dist/sdk/config.js.map +1 -0
  38. package/dist/sdk/contracts/AgentCollective.json +467 -0
  39. package/dist/sdk/contracts/AgentRegistry.d.ts +144 -0
  40. package/dist/sdk/contracts/AgentRegistry.d.ts.map +1 -0
  41. package/dist/sdk/contracts/AgentRegistry.js +92 -0
  42. package/dist/sdk/contracts/AgentRegistry.js.map +1 -0
  43. package/dist/sdk/contracts/COVENANTRouter.json +206 -0
  44. package/dist/sdk/contracts/CovenantArbitration.json +546 -0
  45. package/dist/sdk/contracts/CovenantAttestation.json +476 -0
  46. package/dist/sdk/contracts/CovenantEscrow.d.ts +70 -0
  47. package/dist/sdk/contracts/CovenantEscrow.d.ts.map +1 -0
  48. package/dist/sdk/contracts/CovenantEscrow.js +3 -0
  49. package/dist/sdk/contracts/CovenantEscrow.js.map +1 -0
  50. package/dist/sdk/contracts/CovenantEscrow.json +783 -0
  51. package/dist/sdk/contracts/CovenantGovernance.json +729 -0
  52. package/dist/sdk/contracts/CovenantIdentity.d.ts +70 -0
  53. package/dist/sdk/contracts/CovenantIdentity.d.ts.map +1 -0
  54. package/dist/sdk/contracts/CovenantIdentity.js +3 -0
  55. package/dist/sdk/contracts/CovenantIdentity.js.map +1 -0
  56. package/dist/sdk/contracts/CovenantIdentity.json +800 -0
  57. package/dist/sdk/contracts/CovenantSettlement.json +609 -0
  58. package/dist/sdk/contracts/DisputeResolution.d.ts +122 -0
  59. package/dist/sdk/contracts/DisputeResolution.d.ts.map +1 -0
  60. package/dist/sdk/contracts/DisputeResolution.js +86 -0
  61. package/dist/sdk/contracts/DisputeResolution.js.map +1 -0
  62. package/dist/sdk/contracts/GrantProgram.json +373 -0
  63. package/dist/sdk/contracts/InsurancePool.d.ts +209 -0
  64. package/dist/sdk/contracts/InsurancePool.d.ts.map +1 -0
  65. package/dist/sdk/contracts/InsurancePool.js +153 -0
  66. package/dist/sdk/contracts/InsurancePool.js.map +1 -0
  67. package/dist/sdk/contracts/InsurancePool.json +456 -0
  68. package/dist/sdk/contracts/MultiTokenEscrow.json +435 -0
  69. package/dist/sdk/contracts/OpenTaskMarket.d.ts +190 -0
  70. package/dist/sdk/contracts/OpenTaskMarket.d.ts.map +1 -0
  71. package/dist/sdk/contracts/OpenTaskMarket.js +117 -0
  72. package/dist/sdk/contracts/OpenTaskMarket.js.map +1 -0
  73. package/dist/sdk/contracts/ParallelTaskBatch.json +511 -0
  74. package/dist/sdk/contracts/ReceiptVerifierV2.d.ts +168 -0
  75. package/dist/sdk/contracts/ReceiptVerifierV2.d.ts.map +1 -0
  76. package/dist/sdk/contracts/ReceiptVerifierV2.js +109 -0
  77. package/dist/sdk/contracts/ReceiptVerifierV2.js.map +1 -0
  78. package/dist/sdk/contracts/RevisionManager.json +489 -0
  79. package/dist/sdk/contracts/TaskEscrow.d.ts +222 -0
  80. package/dist/sdk/contracts/TaskEscrow.d.ts.map +1 -0
  81. package/dist/sdk/contracts/TaskEscrow.js +144 -0
  82. package/dist/sdk/contracts/TaskEscrow.js.map +1 -0
  83. package/dist/sdk/contracts/TrainingMarketplace.json +357 -0
  84. package/dist/sdk/index.d.mts +385 -0
  85. package/dist/sdk/index.d.ts +35 -0
  86. package/dist/sdk/index.d.ts.map +1 -0
  87. package/dist/sdk/index.js +284 -0
  88. package/dist/sdk/index.js.map +1 -0
  89. package/dist/sdk/index.mjs +32 -0
  90. package/dist/sdk/types.d.ts +110 -0
  91. package/dist/sdk/types.d.ts.map +1 -0
  92. package/dist/sdk/types.js +17 -0
  93. package/dist/sdk/types.js.map +1 -0
  94. package/dist/sdk/v2.d.mts +100 -0
  95. package/dist/sdk/v2.d.ts +100 -0
  96. package/dist/sdk/v2.d.ts.map +1 -0
  97. package/dist/sdk/v2.js +2615 -0
  98. package/dist/sdk/v2.js.map +1 -0
  99. package/dist/sdk/v2.mjs +571 -0
  100. package/dist/sdk/v5-extensions.d.ts +133 -0
  101. package/dist/sdk/v5-extensions.d.ts.map +1 -0
  102. package/dist/sdk/v5-extensions.js +993 -0
  103. package/dist/sdk/v5-extensions.js.map +1 -0
  104. package/dist/sdk.d.ts +30 -0
  105. package/dist/sdk.d.ts.map +1 -0
  106. package/dist/sdk.js +180 -0
  107. package/dist/sdk.js.map +1 -0
  108. package/dist/server.js +1 -1
  109. package/dist/shared-types.d.ts +115 -8
  110. package/dist/shared-types.d.ts.map +1 -1
  111. package/dist/shared-types.js +27 -17
  112. package/dist/shared-types.js.map +1 -1
  113. package/dist/tools/corven-agent.d.ts.map +1 -1
  114. package/dist/tools/corven-agent.js +31 -37
  115. package/dist/tools/corven-agent.js.map +1 -1
  116. package/dist/tools/corven-ipfs.d.ts.map +1 -1
  117. package/dist/tools/corven-ipfs.js +3 -9
  118. package/dist/tools/corven-ipfs.js.map +1 -1
  119. package/dist/tools/corven-market.d.ts.map +1 -1
  120. package/dist/tools/corven-market.js +36 -74
  121. package/dist/tools/corven-market.js.map +1 -1
  122. package/dist/tools/corven-task.d.ts.map +1 -1
  123. package/dist/tools/corven-task.js +39 -55
  124. package/dist/tools/corven-task.js.map +1 -1
  125. package/dist/tools/corven-verify.d.ts.map +1 -1
  126. package/dist/tools/corven-verify.js +102 -132
  127. package/dist/tools/corven-verify.js.map +1 -1
  128. package/dist/tools/covenant-help.d.ts.map +1 -1
  129. package/dist/tools/covenant-help.js +23 -34
  130. package/dist/tools/covenant-help.js.map +1 -1
  131. package/package.json +5 -3
@@ -1,836 +1,435 @@
1
- [
2
- {
3
- "inputs": [
4
- {
5
- "internalType": "address",
6
- "name": "_agentRegistry",
7
- "type": "address"
8
- },
9
- {
10
- "internalType": "address",
11
- "name": "_feeRecipient",
12
- "type": "address"
13
- }
14
- ],
15
- "stateMutability": "nonpayable",
16
- "type": "constructor"
17
- },
18
- {
19
- "inputs": [
20
- {
21
- "internalType": "address",
22
- "name": "owner",
23
- "type": "address"
24
- }
25
- ],
26
- "name": "OwnableInvalidOwner",
27
- "type": "error"
28
- },
29
- {
30
- "inputs": [
31
- {
32
- "internalType": "address",
33
- "name": "account",
34
- "type": "address"
35
- }
36
- ],
37
- "name": "OwnableUnauthorizedAccount",
38
- "type": "error"
39
- },
40
- {
41
- "inputs": [],
42
- "name": "ReentrancyGuardReentrantCall",
43
- "type": "error"
44
- },
45
- {
46
- "inputs": [
47
- {
48
- "internalType": "address",
49
- "name": "token",
50
- "type": "address"
51
- }
52
- ],
53
- "name": "SafeERC20FailedOperation",
54
- "type": "error"
55
- },
56
- {
57
- "anonymous": false,
58
- "inputs": [
59
- {
60
- "indexed": true,
61
- "internalType": "address",
62
- "name": "oldRecipient",
63
- "type": "address"
64
- },
65
- {
66
- "indexed": true,
67
- "internalType": "address",
68
- "name": "newRecipient",
69
- "type": "address"
70
- }
71
- ],
72
- "name": "FeeRecipientUpdated",
73
- "type": "event"
74
- },
75
- {
76
- "anonymous": false,
77
- "inputs": [
78
- {
79
- "indexed": true,
80
- "internalType": "address",
81
- "name": "previousOwner",
82
- "type": "address"
83
- },
84
- {
85
- "indexed": true,
86
- "internalType": "address",
87
- "name": "newOwner",
88
- "type": "address"
89
- }
90
- ],
91
- "name": "OwnershipTransferred",
92
- "type": "event"
93
- },
94
- {
95
- "anonymous": false,
96
- "inputs": [
97
- {
98
- "indexed": true,
99
- "internalType": "uint256",
100
- "name": "taskId",
101
- "type": "uint256"
102
- },
103
- {
104
- "indexed": false,
105
- "internalType": "uint256",
106
- "name": "workerPayment",
107
- "type": "uint256"
108
- },
109
- {
110
- "indexed": false,
111
- "internalType": "address",
112
- "name": "token",
113
- "type": "address"
114
- }
115
- ],
116
- "name": "TaskCompleted",
117
- "type": "event"
118
- },
119
- {
120
- "anonymous": false,
121
- "inputs": [
122
- {
123
- "indexed": true,
124
- "internalType": "uint256",
125
- "name": "taskId",
126
- "type": "uint256"
127
- },
128
- {
129
- "indexed": true,
130
- "internalType": "address",
131
- "name": "client",
132
- "type": "address"
133
- },
134
- {
135
- "indexed": true,
136
- "internalType": "address",
137
- "name": "worker",
138
- "type": "address"
139
- },
140
- {
141
- "indexed": false,
142
- "internalType": "uint256",
143
- "name": "payment",
144
- "type": "uint256"
145
- },
146
- {
147
- "indexed": false,
148
- "internalType": "uint256",
149
- "name": "deadline",
150
- "type": "uint256"
151
- },
152
- {
153
- "indexed": false,
154
- "internalType": "address",
155
- "name": "token",
156
- "type": "address"
157
- }
158
- ],
159
- "name": "TaskCreated",
160
- "type": "event"
161
- },
162
- {
163
- "anonymous": false,
164
- "inputs": [
165
- {
166
- "indexed": true,
167
- "internalType": "uint256",
168
- "name": "taskId",
169
- "type": "uint256"
170
- },
171
- {
172
- "indexed": false,
173
- "internalType": "address",
174
- "name": "disputedBy",
175
- "type": "address"
176
- }
177
- ],
178
- "name": "TaskDisputed",
179
- "type": "event"
180
- },
181
- {
182
- "anonymous": false,
183
- "inputs": [
184
- {
185
- "indexed": true,
186
- "internalType": "uint256",
187
- "name": "taskId",
188
- "type": "uint256"
189
- },
190
- {
191
- "indexed": false,
192
- "internalType": "uint256",
193
- "name": "refundAmount",
194
- "type": "uint256"
195
- },
196
- {
197
- "indexed": false,
198
- "internalType": "address",
199
- "name": "token",
200
- "type": "address"
201
- }
202
- ],
203
- "name": "TaskFailed",
204
- "type": "event"
205
- },
206
- {
207
- "anonymous": false,
208
- "inputs": [
209
- {
210
- "indexed": true,
211
- "internalType": "uint256",
212
- "name": "taskId",
213
- "type": "uint256"
214
- },
215
- {
216
- "indexed": false,
217
- "internalType": "uint256",
218
- "name": "amount",
219
- "type": "uint256"
220
- },
221
- {
222
- "indexed": false,
223
- "internalType": "address",
224
- "name": "token",
225
- "type": "address"
226
- }
227
- ],
228
- "name": "TaskFunded",
229
- "type": "event"
230
- },
231
- {
232
- "anonymous": false,
233
- "inputs": [
234
- {
235
- "indexed": true,
236
- "internalType": "address",
237
- "name": "token",
238
- "type": "address"
239
- },
240
- {
241
- "indexed": false,
242
- "internalType": "bool",
243
- "name": "accepted",
244
- "type": "bool"
245
- }
246
- ],
247
- "name": "TokenAccepted",
248
- "type": "event"
249
- },
250
- {
251
- "anonymous": false,
252
- "inputs": [
253
- {
254
- "indexed": true,
255
- "internalType": "uint256",
256
- "name": "taskId",
257
- "type": "uint256"
258
- },
259
- {
260
- "indexed": false,
261
- "internalType": "string",
262
- "name": "deliverableHash",
263
- "type": "string"
264
- }
265
- ],
266
- "name": "WorkSubmitted",
267
- "type": "event"
268
- },
269
- {
270
- "inputs": [],
271
- "name": "BPS_DENOMINATOR",
272
- "outputs": [
273
- {
274
- "internalType": "uint256",
275
- "name": "",
276
- "type": "uint256"
277
- }
278
- ],
279
- "stateMutability": "view",
280
- "type": "function"
281
- },
282
- {
283
- "inputs": [],
284
- "name": "PROTOCOL_FEE_BPS",
285
- "outputs": [
286
- {
287
- "internalType": "uint256",
288
- "name": "",
289
- "type": "uint256"
290
- }
291
- ],
292
- "stateMutability": "view",
293
- "type": "function"
294
- },
295
- {
296
- "inputs": [],
297
- "name": "REPUTATION_FAILURE",
298
- "outputs": [
299
- {
300
- "internalType": "int256",
301
- "name": "",
302
- "type": "int256"
303
- }
304
- ],
305
- "stateMutability": "view",
306
- "type": "function"
307
- },
308
- {
309
- "inputs": [],
310
- "name": "REPUTATION_SUCCESS",
311
- "outputs": [
312
- {
313
- "internalType": "int256",
314
- "name": "",
315
- "type": "int256"
316
- }
317
- ],
318
- "stateMutability": "view",
319
- "type": "function"
320
- },
321
- {
322
- "inputs": [
323
- {
324
- "internalType": "address",
325
- "name": "",
326
- "type": "address"
327
- }
328
- ],
329
- "name": "acceptedTokens",
330
- "outputs": [
331
- {
332
- "internalType": "bool",
333
- "name": "",
334
- "type": "bool"
335
- }
336
- ],
337
- "stateMutability": "view",
338
- "type": "function"
339
- },
340
- {
341
- "inputs": [],
342
- "name": "accumulatedFees",
343
- "outputs": [
344
- {
345
- "internalType": "uint256",
346
- "name": "",
347
- "type": "uint256"
348
- }
349
- ],
350
- "stateMutability": "view",
351
- "type": "function"
352
- },
353
- {
354
- "inputs": [
355
- {
356
- "internalType": "address",
357
- "name": "",
358
- "type": "address"
359
- }
360
- ],
361
- "name": "accumulatedTokenFees",
362
- "outputs": [
363
- {
364
- "internalType": "uint256",
365
- "name": "",
366
- "type": "uint256"
367
- }
368
- ],
369
- "stateMutability": "view",
370
- "type": "function"
371
- },
372
- {
373
- "inputs": [],
374
- "name": "agentRegistry",
375
- "outputs": [
376
- {
377
- "internalType": "contract AgentRegistry",
378
- "name": "",
379
- "type": "address"
380
- }
381
- ],
382
- "stateMutability": "view",
383
- "type": "function"
384
- },
385
- {
386
- "inputs": [
387
- {
388
- "internalType": "uint256",
389
- "name": "taskId",
390
- "type": "uint256"
391
- }
392
- ],
393
- "name": "checkDeadline",
394
- "outputs": [],
395
- "stateMutability": "nonpayable",
396
- "type": "function"
397
- },
398
- {
399
- "inputs": [
400
- {
401
- "internalType": "address",
402
- "name": "worker",
403
- "type": "address"
404
- },
405
- {
406
- "internalType": "uint256",
407
- "name": "payment",
408
- "type": "uint256"
409
- },
410
- {
411
- "internalType": "uint256",
412
- "name": "deadline",
413
- "type": "uint256"
414
- },
415
- {
416
- "internalType": "string",
417
- "name": "descriptionHash",
418
- "type": "string"
419
- }
420
- ],
421
- "name": "createAndFundTask",
422
- "outputs": [
423
- {
424
- "internalType": "uint256",
425
- "name": "",
426
- "type": "uint256"
427
- }
428
- ],
429
- "stateMutability": "payable",
430
- "type": "function"
431
- },
432
- {
433
- "inputs": [
434
- {
435
- "internalType": "address",
436
- "name": "worker",
437
- "type": "address"
438
- },
439
- {
440
- "internalType": "uint256",
441
- "name": "payment",
442
- "type": "uint256"
443
- },
444
- {
445
- "internalType": "uint256",
446
- "name": "deadline",
447
- "type": "uint256"
448
- },
449
- {
450
- "internalType": "string",
451
- "name": "descriptionHash",
452
- "type": "string"
453
- },
454
- {
455
- "internalType": "address",
456
- "name": "token",
457
- "type": "address"
458
- }
459
- ],
460
- "name": "createAndFundTaskERC20",
461
- "outputs": [
462
- {
463
- "internalType": "uint256",
464
- "name": "",
465
- "type": "uint256"
466
- }
467
- ],
468
- "stateMutability": "nonpayable",
469
- "type": "function"
470
- },
471
- {
472
- "inputs": [
473
- {
474
- "internalType": "uint256",
475
- "name": "taskId",
476
- "type": "uint256"
477
- }
478
- ],
479
- "name": "disputeTask",
480
- "outputs": [],
481
- "stateMutability": "nonpayable",
482
- "type": "function"
483
- },
484
- {
485
- "inputs": [
486
- {
487
- "internalType": "address",
488
- "name": "",
489
- "type": "address"
490
- }
491
- ],
492
- "name": "escrowedTokenBalances",
493
- "outputs": [
494
- {
495
- "internalType": "uint256",
496
- "name": "",
497
- "type": "uint256"
498
- }
499
- ],
500
- "stateMutability": "view",
501
- "type": "function"
502
- },
503
- {
504
- "inputs": [],
505
- "name": "feeRecipient",
506
- "outputs": [
507
- {
508
- "internalType": "address",
509
- "name": "",
510
- "type": "address"
511
- }
512
- ],
513
- "stateMutability": "view",
514
- "type": "function"
515
- },
516
- {
517
- "inputs": [
518
- {
519
- "internalType": "uint256",
520
- "name": "taskId",
521
- "type": "uint256"
522
- }
523
- ],
524
- "name": "getTask",
525
- "outputs": [
526
- {
527
- "internalType": "address",
528
- "name": "client",
529
- "type": "address"
530
- },
531
- {
532
- "internalType": "address",
533
- "name": "worker",
534
- "type": "address"
535
- },
536
- {
537
- "internalType": "uint256",
538
- "name": "payment",
539
- "type": "uint256"
540
- },
541
- {
542
- "internalType": "uint256",
543
- "name": "deadline",
544
- "type": "uint256"
545
- },
546
- {
547
- "internalType": "string",
548
- "name": "descriptionHash",
549
- "type": "string"
550
- },
551
- {
552
- "internalType": "string",
553
- "name": "deliverableHash",
554
- "type": "string"
555
- },
556
- {
557
- "internalType": "enum MultiTokenEscrow.TaskStatus",
558
- "name": "status",
559
- "type": "uint8"
560
- },
561
- {
562
- "internalType": "uint256",
563
- "name": "createdAt",
564
- "type": "uint256"
565
- },
566
- {
567
- "internalType": "uint256",
568
- "name": "completedAt",
569
- "type": "uint256"
570
- },
571
- {
572
- "internalType": "address",
573
- "name": "token",
574
- "type": "address"
575
- }
576
- ],
577
- "stateMutability": "view",
578
- "type": "function"
579
- },
580
- {
581
- "inputs": [],
582
- "name": "getTaskCount",
583
- "outputs": [
584
- {
585
- "internalType": "uint256",
586
- "name": "",
587
- "type": "uint256"
588
- }
589
- ],
590
- "stateMutability": "view",
591
- "type": "function"
592
- },
593
- {
594
- "inputs": [
595
- {
596
- "internalType": "address",
597
- "name": "token",
598
- "type": "address"
599
- }
600
- ],
601
- "name": "isAcceptedToken",
602
- "outputs": [
603
- {
604
- "internalType": "bool",
605
- "name": "",
606
- "type": "bool"
607
- }
608
- ],
609
- "stateMutability": "view",
610
- "type": "function"
611
- },
612
- {
613
- "inputs": [],
614
- "name": "owner",
615
- "outputs": [
616
- {
617
- "internalType": "address",
618
- "name": "",
619
- "type": "address"
620
- }
621
- ],
622
- "stateMutability": "view",
623
- "type": "function"
624
- },
625
- {
626
- "inputs": [],
627
- "name": "renounceOwnership",
628
- "outputs": [],
629
- "stateMutability": "nonpayable",
630
- "type": "function"
631
- },
632
- {
633
- "inputs": [
634
- {
635
- "internalType": "uint256",
636
- "name": "taskId",
637
- "type": "uint256"
638
- },
639
- {
640
- "internalType": "bool",
641
- "name": "workerWins",
642
- "type": "bool"
643
- },
644
- {
645
- "internalType": "uint256",
646
- "name": "workerShare",
647
- "type": "uint256"
648
- }
649
- ],
650
- "name": "resolveDispute",
651
- "outputs": [],
652
- "stateMutability": "nonpayable",
653
- "type": "function"
654
- },
655
- {
656
- "inputs": [
657
- {
658
- "internalType": "address",
659
- "name": "token",
660
- "type": "address"
661
- },
662
- {
663
- "internalType": "bool",
664
- "name": "accepted",
665
- "type": "bool"
666
- }
667
- ],
668
- "name": "setAcceptedToken",
669
- "outputs": [],
670
- "stateMutability": "nonpayable",
671
- "type": "function"
672
- },
673
- {
674
- "inputs": [
675
- {
676
- "internalType": "address",
677
- "name": "_feeRecipient",
678
- "type": "address"
679
- }
680
- ],
681
- "name": "setFeeRecipient",
682
- "outputs": [],
683
- "stateMutability": "nonpayable",
684
- "type": "function"
685
- },
686
- {
687
- "inputs": [
688
- {
689
- "internalType": "uint256",
690
- "name": "taskId",
691
- "type": "uint256"
692
- },
693
- {
694
- "internalType": "string",
695
- "name": "deliverableHash",
696
- "type": "string"
697
- }
698
- ],
699
- "name": "submitWork",
700
- "outputs": [],
701
- "stateMutability": "nonpayable",
702
- "type": "function"
703
- },
704
- {
705
- "inputs": [],
706
- "name": "taskCounter",
707
- "outputs": [
708
- {
709
- "internalType": "uint256",
710
- "name": "",
711
- "type": "uint256"
712
- }
713
- ],
714
- "stateMutability": "view",
715
- "type": "function"
716
- },
717
- {
718
- "inputs": [
719
- {
720
- "internalType": "uint256",
721
- "name": "",
722
- "type": "uint256"
723
- }
724
- ],
725
- "name": "tasks",
726
- "outputs": [
727
- {
728
- "internalType": "address",
729
- "name": "client",
730
- "type": "address"
731
- },
732
- {
733
- "internalType": "address",
734
- "name": "worker",
735
- "type": "address"
736
- },
737
- {
738
- "internalType": "uint256",
739
- "name": "payment",
740
- "type": "uint256"
741
- },
742
- {
743
- "internalType": "uint256",
744
- "name": "deadline",
745
- "type": "uint256"
746
- },
747
- {
748
- "internalType": "string",
749
- "name": "descriptionHash",
750
- "type": "string"
751
- },
752
- {
753
- "internalType": "string",
754
- "name": "deliverableHash",
755
- "type": "string"
756
- },
757
- {
758
- "internalType": "enum MultiTokenEscrow.TaskStatus",
759
- "name": "status",
760
- "type": "uint8"
761
- },
762
- {
763
- "internalType": "uint256",
764
- "name": "createdAt",
765
- "type": "uint256"
766
- },
767
- {
768
- "internalType": "uint256",
769
- "name": "completedAt",
770
- "type": "uint256"
771
- },
772
- {
773
- "internalType": "address",
774
- "name": "token",
775
- "type": "address"
776
- }
777
- ],
778
- "stateMutability": "view",
779
- "type": "function"
780
- },
781
- {
782
- "inputs": [
783
- {
784
- "internalType": "address",
785
- "name": "newOwner",
786
- "type": "address"
787
- }
788
- ],
789
- "name": "transferOwnership",
790
- "outputs": [],
791
- "stateMutability": "nonpayable",
792
- "type": "function"
793
- },
794
- {
795
- "inputs": [
796
- {
797
- "internalType": "uint256",
798
- "name": "taskId",
799
- "type": "uint256"
800
- },
801
- {
802
- "internalType": "bool",
803
- "name": "success",
804
- "type": "bool"
805
- }
806
- ],
807
- "name": "verifyTask",
808
- "outputs": [],
809
- "stateMutability": "nonpayable",
810
- "type": "function"
811
- },
812
- {
813
- "inputs": [],
814
- "name": "withdrawFees",
815
- "outputs": [],
816
- "stateMutability": "nonpayable",
817
- "type": "function"
818
- },
819
- {
820
- "inputs": [
821
- {
822
- "internalType": "address",
823
- "name": "token",
824
- "type": "address"
825
- }
826
- ],
827
- "name": "withdrawTokenFees",
828
- "outputs": [],
829
- "stateMutability": "nonpayable",
830
- "type": "function"
831
- },
832
- {
833
- "stateMutability": "payable",
834
- "type": "receive"
835
- }
836
- ]
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "MultiTokenEscrow",
4
+ "sourceName": "contracts/v5/extensions/MultiTokenEscrow.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "stateMutability": "nonpayable",
9
+ "type": "constructor"
10
+ },
11
+ {
12
+ "inputs": [],
13
+ "name": "InsufficientAllowance",
14
+ "type": "error"
15
+ },
16
+ {
17
+ "inputs": [],
18
+ "name": "InvalidTask",
19
+ "type": "error"
20
+ },
21
+ {
22
+ "inputs": [],
23
+ "name": "NotClient",
24
+ "type": "error"
25
+ },
26
+ {
27
+ "inputs": [],
28
+ "name": "NotWorker",
29
+ "type": "error"
30
+ },
31
+ {
32
+ "inputs": [
33
+ {
34
+ "internalType": "address",
35
+ "name": "token",
36
+ "type": "address"
37
+ }
38
+ ],
39
+ "name": "SafeERC20FailedOperation",
40
+ "type": "error"
41
+ },
42
+ {
43
+ "inputs": [],
44
+ "name": "TaskNotSubmitted",
45
+ "type": "error"
46
+ },
47
+ {
48
+ "inputs": [],
49
+ "name": "TokenNotAccepted",
50
+ "type": "error"
51
+ },
52
+ {
53
+ "anonymous": false,
54
+ "inputs": [
55
+ {
56
+ "indexed": true,
57
+ "internalType": "address",
58
+ "name": "to",
59
+ "type": "address"
60
+ },
61
+ {
62
+ "indexed": false,
63
+ "internalType": "uint256",
64
+ "name": "amount",
65
+ "type": "uint256"
66
+ }
67
+ ],
68
+ "name": "EmergencyWithdraw",
69
+ "type": "event"
70
+ },
71
+ {
72
+ "anonymous": false,
73
+ "inputs": [
74
+ {
75
+ "indexed": false,
76
+ "internalType": "uint8",
77
+ "name": "version",
78
+ "type": "uint8"
79
+ }
80
+ ],
81
+ "name": "Initialized",
82
+ "type": "event"
83
+ },
84
+ {
85
+ "anonymous": false,
86
+ "inputs": [
87
+ {
88
+ "indexed": true,
89
+ "internalType": "address",
90
+ "name": "previousOwner",
91
+ "type": "address"
92
+ },
93
+ {
94
+ "indexed": true,
95
+ "internalType": "address",
96
+ "name": "newOwner",
97
+ "type": "address"
98
+ }
99
+ ],
100
+ "name": "OwnershipTransferred",
101
+ "type": "event"
102
+ },
103
+ {
104
+ "anonymous": false,
105
+ "inputs": [
106
+ {
107
+ "indexed": false,
108
+ "internalType": "address",
109
+ "name": "account",
110
+ "type": "address"
111
+ }
112
+ ],
113
+ "name": "Paused",
114
+ "type": "event"
115
+ },
116
+ {
117
+ "anonymous": false,
118
+ "inputs": [
119
+ {
120
+ "indexed": true,
121
+ "internalType": "uint256",
122
+ "name": "taskId",
123
+ "type": "uint256"
124
+ },
125
+ {
126
+ "indexed": false,
127
+ "internalType": "uint256",
128
+ "name": "amount",
129
+ "type": "uint256"
130
+ }
131
+ ],
132
+ "name": "TaskCompleted",
133
+ "type": "event"
134
+ },
135
+ {
136
+ "anonymous": false,
137
+ "inputs": [
138
+ {
139
+ "indexed": true,
140
+ "internalType": "uint256",
141
+ "name": "taskId",
142
+ "type": "uint256"
143
+ },
144
+ {
145
+ "indexed": true,
146
+ "internalType": "address",
147
+ "name": "client",
148
+ "type": "address"
149
+ },
150
+ {
151
+ "indexed": false,
152
+ "internalType": "address",
153
+ "name": "token",
154
+ "type": "address"
155
+ }
156
+ ],
157
+ "name": "TaskCreated",
158
+ "type": "event"
159
+ },
160
+ {
161
+ "anonymous": false,
162
+ "inputs": [
163
+ {
164
+ "indexed": false,
165
+ "internalType": "address",
166
+ "name": "token",
167
+ "type": "address"
168
+ },
169
+ {
170
+ "indexed": false,
171
+ "internalType": "bool",
172
+ "name": "accepted",
173
+ "type": "bool"
174
+ }
175
+ ],
176
+ "name": "TokenAccepted",
177
+ "type": "event"
178
+ },
179
+ {
180
+ "anonymous": false,
181
+ "inputs": [
182
+ {
183
+ "indexed": false,
184
+ "internalType": "address",
185
+ "name": "account",
186
+ "type": "address"
187
+ }
188
+ ],
189
+ "name": "Unpaused",
190
+ "type": "event"
191
+ },
192
+ {
193
+ "inputs": [],
194
+ "name": "PROTOCOL_FEE_BPS",
195
+ "outputs": [
196
+ {
197
+ "internalType": "uint256",
198
+ "name": "",
199
+ "type": "uint256"
200
+ }
201
+ ],
202
+ "stateMutability": "view",
203
+ "type": "function"
204
+ },
205
+ {
206
+ "inputs": [
207
+ {
208
+ "internalType": "address",
209
+ "name": "",
210
+ "type": "address"
211
+ }
212
+ ],
213
+ "name": "acceptedTokens",
214
+ "outputs": [
215
+ {
216
+ "internalType": "bool",
217
+ "name": "",
218
+ "type": "bool"
219
+ }
220
+ ],
221
+ "stateMutability": "view",
222
+ "type": "function"
223
+ },
224
+ {
225
+ "inputs": [
226
+ {
227
+ "internalType": "address",
228
+ "name": "worker",
229
+ "type": "address"
230
+ },
231
+ {
232
+ "internalType": "address",
233
+ "name": "token",
234
+ "type": "address"
235
+ },
236
+ {
237
+ "internalType": "uint256",
238
+ "name": "amount",
239
+ "type": "uint256"
240
+ },
241
+ {
242
+ "internalType": "uint256",
243
+ "name": "deadline",
244
+ "type": "uint256"
245
+ }
246
+ ],
247
+ "name": "createTaskERC20",
248
+ "outputs": [
249
+ {
250
+ "internalType": "uint256",
251
+ "name": "",
252
+ "type": "uint256"
253
+ }
254
+ ],
255
+ "stateMutability": "nonpayable",
256
+ "type": "function"
257
+ },
258
+ {
259
+ "inputs": [
260
+ {
261
+ "internalType": "address",
262
+ "name": "token",
263
+ "type": "address"
264
+ },
265
+ {
266
+ "internalType": "uint256",
267
+ "name": "amount",
268
+ "type": "uint256"
269
+ }
270
+ ],
271
+ "name": "emergencyWithdraw",
272
+ "outputs": [],
273
+ "stateMutability": "nonpayable",
274
+ "type": "function"
275
+ },
276
+ {
277
+ "inputs": [],
278
+ "name": "feeRecipient",
279
+ "outputs": [
280
+ {
281
+ "internalType": "address",
282
+ "name": "",
283
+ "type": "address"
284
+ }
285
+ ],
286
+ "stateMutability": "view",
287
+ "type": "function"
288
+ },
289
+ {
290
+ "inputs": [
291
+ {
292
+ "internalType": "address",
293
+ "name": "_feeRecipient",
294
+ "type": "address"
295
+ }
296
+ ],
297
+ "name": "initialize",
298
+ "outputs": [],
299
+ "stateMutability": "nonpayable",
300
+ "type": "function"
301
+ },
302
+ {
303
+ "inputs": [],
304
+ "name": "owner",
305
+ "outputs": [
306
+ {
307
+ "internalType": "address",
308
+ "name": "",
309
+ "type": "address"
310
+ }
311
+ ],
312
+ "stateMutability": "view",
313
+ "type": "function"
314
+ },
315
+ {
316
+ "inputs": [],
317
+ "name": "pause",
318
+ "outputs": [],
319
+ "stateMutability": "nonpayable",
320
+ "type": "function"
321
+ },
322
+ {
323
+ "inputs": [],
324
+ "name": "paused",
325
+ "outputs": [
326
+ {
327
+ "internalType": "bool",
328
+ "name": "",
329
+ "type": "bool"
330
+ }
331
+ ],
332
+ "stateMutability": "view",
333
+ "type": "function"
334
+ },
335
+ {
336
+ "inputs": [],
337
+ "name": "renounceOwnership",
338
+ "outputs": [],
339
+ "stateMutability": "nonpayable",
340
+ "type": "function"
341
+ },
342
+ {
343
+ "inputs": [
344
+ {
345
+ "internalType": "address",
346
+ "name": "token",
347
+ "type": "address"
348
+ },
349
+ {
350
+ "internalType": "bool",
351
+ "name": "accepted",
352
+ "type": "bool"
353
+ }
354
+ ],
355
+ "name": "setAcceptedToken",
356
+ "outputs": [],
357
+ "stateMutability": "nonpayable",
358
+ "type": "function"
359
+ },
360
+ {
361
+ "inputs": [],
362
+ "name": "taskCount",
363
+ "outputs": [
364
+ {
365
+ "internalType": "uint256",
366
+ "name": "",
367
+ "type": "uint256"
368
+ }
369
+ ],
370
+ "stateMutability": "view",
371
+ "type": "function"
372
+ },
373
+ {
374
+ "inputs": [
375
+ {
376
+ "internalType": "address",
377
+ "name": "",
378
+ "type": "address"
379
+ }
380
+ ],
381
+ "name": "tokenFees",
382
+ "outputs": [
383
+ {
384
+ "internalType": "uint256",
385
+ "name": "",
386
+ "type": "uint256"
387
+ }
388
+ ],
389
+ "stateMutability": "view",
390
+ "type": "function"
391
+ },
392
+ {
393
+ "inputs": [
394
+ {
395
+ "internalType": "address",
396
+ "name": "newOwner",
397
+ "type": "address"
398
+ }
399
+ ],
400
+ "name": "transferOwnership",
401
+ "outputs": [],
402
+ "stateMutability": "nonpayable",
403
+ "type": "function"
404
+ },
405
+ {
406
+ "inputs": [],
407
+ "name": "unpause",
408
+ "outputs": [],
409
+ "stateMutability": "nonpayable",
410
+ "type": "function"
411
+ },
412
+ {
413
+ "inputs": [
414
+ {
415
+ "internalType": "uint256",
416
+ "name": "taskId",
417
+ "type": "uint256"
418
+ },
419
+ {
420
+ "internalType": "bool",
421
+ "name": "success",
422
+ "type": "bool"
423
+ }
424
+ ],
425
+ "name": "verifyTask",
426
+ "outputs": [],
427
+ "stateMutability": "nonpayable",
428
+ "type": "function"
429
+ }
430
+ ],
431
+ "bytecode": "0x6080806040523461001657610c3c908161001c8239f35b600080fdfe6040608081526004908136101561001557600080fd5b600091823560e01c8063391ffa2f146107b157806339e16d64146107795780633f4ba83a146106e457806346904840146106bb5780634b46e63e146105575780635c975abb14610533578063715018a6146104e557806382dc4a05146104a75780638456cb591461044c5780638da5cb5b1461042357806395ccea67146103b0578063b6cb58a514610391578063be37822814610375578063c4d66de8146101e9578063c997dbca146101655763f2fde38b146100d157600080fd5b34610161576020366003190112610161576100ea6109b2565b916100f3610a76565b6001600160a01b0383161561010f578361010c84610b4f565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b5050346101e557806003193601126101e5577f4830f50c82a3c08b91bf3770bf51afe49fb5fac668efd79737a514ba1a77d8ff906101a16109b2565b6101a96109cd565b906101b2610a76565b60018060a01b03169081855260ca6020528285209015159060ff1981541660ff831617905582519182526020820152a180f35b5080fd5b5034610161576020366003190112610161576102036109b2565b9083549160ff8360081c161591828093610368575b8015610351575b156102f7575060ff19838116600117865592826102e6575b5061025160ff865460081c1661024c81610b86565b610b86565b61025a33610b4f565b84549261028760ff8560081c1661027081610b86565b61027981610b86565b600160655561024c81610b86565b6097541660975560018060a01b031660018060a01b031960cd54161760cd556102ae578280f35b61ff001916825551600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a138808280f35b61ffff191661010117855538610237565b608490602086519162461bcd60e51b8352820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152fd5b50303b15801561021f5750600160ff85161461021f565b50600160ff851610610218565b5050346101e557816003193601126101e5576020905160648152f35b5050346101e557816003193601126101e55760209060cc549051908152f35b5050346101e557806003193601126101e5577f5fafa99d0643513820be26656b45130b01e1c03062e1266bf36f88cbd3bd969560206103ed6109b2565b602435906103f9610a76565b6033546001600160a01b0391610416918491908416908416610ace565b603354169351908152a280f35b5050346101e557816003193601126101e55760335490516001600160a01b039091168152602090f35b5050346101e557816003193601126101e55760207f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2589161048a610a76565b610492610a32565b600160ff19609754161760975551338152a180f35b5050346101e55760203660031901126101e55760209160ff9082906001600160a01b036104d26109b2565b16815260ca855220541690519015158152f35b83346105305780600319360112610530576104fe610a76565b603380546001600160a01b0319811690915581906001600160a01b0316600080516020610be78339815191528280a380f35b80fd5b5050346101e557816003193601126101e55760209060ff6097541690519015158152f35b50346101615781600319360112610161578035916105736109cd565b61057b6109dc565b83855260c96020528185209280840191825490600360ff8316036106ab571561067357508060ff198354161780835560028501549460648602868104606414871517156106605761271090049283870396871161064d5750916001610619877ff9c405f91e34dcd1dc136cf6992ada4a8c24a2803e0fab7546364c64dac7ba2b98969460209896848060a01b03809581920154169160081c16610ace565b81610630575b50505051908152a25b600160655580f35b80610645935460081c169060cd541690610ace565b38808061061f565b634e487b7160e01b895260119052602488fd5b634e487b7160e01b895260118452602489fd5b60ff1916600517918290555082546002909301546106a69450926001600160a01b03908116925060089190911c16610ace565b610628565b84516315fcfca760e21b81528390fd5b5050346101e557816003193601126101e55760cd5490516001600160a01b039091168152602090f35b50346101615782600319360112610161576106fd610a76565b6097549060ff82161561073f575060ff1916609755513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa90602090a180f35b606490602084519162461bcd60e51b8352820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152fd5b5050346101e55760203660031901126101e55760209181906001600160a01b036107a16109b2565b16815260cb845220549051908152f35b509034610161576080366003190112610161576107cc6109b2565b926001600160a01b036024358181169491929085900361053057604435926107f26109dc565b6107fa610a32565b85825260209660ca885260ff8684205416156109a25760cc54600019811461098f5760010160cc81905586519092909160c083016001600160401b0381118482101761097c57928a60ff9388938c968c5233845281838501911681528b8401918b835260c960608601946064358652608087019a60028c5260a088019a8b528c5252808d8b209551169060018060a01b03199182875416178655600186019251169082541617905551600283015551600382015501925116825491610100600160a81b03905160081b169160018060a81b031916171790558351926323b872dd60e01b825233835230602452604452858160648180895af190600181511482161561095b575b8385526060521561094757505060cc54918151908152827f2454c22dc684ff5512045882a113101049fde511c581e351116949e9a2ed7637853393a3600160655551908152f35b635274afe760e01b82528101839052602490fd5b90600181151661097357853b15153d15161690610900565b833d83823e3d90fd5b634e487b7160e01b865260418752602486fd5b634e487b7160e01b845260118552602484fd5b855163e51cf7bf60e01b81528490fd5b600435906001600160a01b03821682036109c857565b600080fd5b6024359081151582036109c857565b6002606554146109ed576002606555565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b60ff60975416610a3e57565b60405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606490fd5b6033546001600160a01b03163303610a8a57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b60405163a9059cbb60e01b60009081526001600160a01b039384166004526024949094529260209060448180855af1600160005114811615610b2f575b8360405215610b1957505050565b635274afe760e01b835216600482015260249150fd5b6001811516610b4557813b15153d151616610b0b565b833d6000823e3d90fd5b603380546001600160a01b039283166001600160a01b031982168117909255909116600080516020610be7833981519152600080a3565b15610b8d57565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fdfe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a264697066735822122028b6d4734f324a3a810ea18ee9fc4a3acedf9617ab1858f7562517922d52515964736f6c63430008180033",
432
+ "deployedBytecode": "0x6040608081526004908136101561001557600080fd5b600091823560e01c8063391ffa2f146107b157806339e16d64146107795780633f4ba83a146106e457806346904840146106bb5780634b46e63e146105575780635c975abb14610533578063715018a6146104e557806382dc4a05146104a75780638456cb591461044c5780638da5cb5b1461042357806395ccea67146103b0578063b6cb58a514610391578063be37822814610375578063c4d66de8146101e9578063c997dbca146101655763f2fde38b146100d157600080fd5b34610161576020366003190112610161576100ea6109b2565b916100f3610a76565b6001600160a01b0383161561010f578361010c84610b4f565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b5050346101e557806003193601126101e5577f4830f50c82a3c08b91bf3770bf51afe49fb5fac668efd79737a514ba1a77d8ff906101a16109b2565b6101a96109cd565b906101b2610a76565b60018060a01b03169081855260ca6020528285209015159060ff1981541660ff831617905582519182526020820152a180f35b5080fd5b5034610161576020366003190112610161576102036109b2565b9083549160ff8360081c161591828093610368575b8015610351575b156102f7575060ff19838116600117865592826102e6575b5061025160ff865460081c1661024c81610b86565b610b86565b61025a33610b4f565b84549261028760ff8560081c1661027081610b86565b61027981610b86565b600160655561024c81610b86565b6097541660975560018060a01b031660018060a01b031960cd54161760cd556102ae578280f35b61ff001916825551600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a138808280f35b61ffff191661010117855538610237565b608490602086519162461bcd60e51b8352820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152fd5b50303b15801561021f5750600160ff85161461021f565b50600160ff851610610218565b5050346101e557816003193601126101e5576020905160648152f35b5050346101e557816003193601126101e55760209060cc549051908152f35b5050346101e557806003193601126101e5577f5fafa99d0643513820be26656b45130b01e1c03062e1266bf36f88cbd3bd969560206103ed6109b2565b602435906103f9610a76565b6033546001600160a01b0391610416918491908416908416610ace565b603354169351908152a280f35b5050346101e557816003193601126101e55760335490516001600160a01b039091168152602090f35b5050346101e557816003193601126101e55760207f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2589161048a610a76565b610492610a32565b600160ff19609754161760975551338152a180f35b5050346101e55760203660031901126101e55760209160ff9082906001600160a01b036104d26109b2565b16815260ca855220541690519015158152f35b83346105305780600319360112610530576104fe610a76565b603380546001600160a01b0319811690915581906001600160a01b0316600080516020610be78339815191528280a380f35b80fd5b5050346101e557816003193601126101e55760209060ff6097541690519015158152f35b50346101615781600319360112610161578035916105736109cd565b61057b6109dc565b83855260c96020528185209280840191825490600360ff8316036106ab571561067357508060ff198354161780835560028501549460648602868104606414871517156106605761271090049283870396871161064d5750916001610619877ff9c405f91e34dcd1dc136cf6992ada4a8c24a2803e0fab7546364c64dac7ba2b98969460209896848060a01b03809581920154169160081c16610ace565b81610630575b50505051908152a25b600160655580f35b80610645935460081c169060cd541690610ace565b38808061061f565b634e487b7160e01b895260119052602488fd5b634e487b7160e01b895260118452602489fd5b60ff1916600517918290555082546002909301546106a69450926001600160a01b03908116925060089190911c16610ace565b610628565b84516315fcfca760e21b81528390fd5b5050346101e557816003193601126101e55760cd5490516001600160a01b039091168152602090f35b50346101615782600319360112610161576106fd610a76565b6097549060ff82161561073f575060ff1916609755513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa90602090a180f35b606490602084519162461bcd60e51b8352820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152fd5b5050346101e55760203660031901126101e55760209181906001600160a01b036107a16109b2565b16815260cb845220549051908152f35b509034610161576080366003190112610161576107cc6109b2565b926001600160a01b036024358181169491929085900361053057604435926107f26109dc565b6107fa610a32565b85825260209660ca885260ff8684205416156109a25760cc54600019811461098f5760010160cc81905586519092909160c083016001600160401b0381118482101761097c57928a60ff9388938c968c5233845281838501911681528b8401918b835260c960608601946064358652608087019a60028c5260a088019a8b528c5252808d8b209551169060018060a01b03199182875416178655600186019251169082541617905551600283015551600382015501925116825491610100600160a81b03905160081b169160018060a81b031916171790558351926323b872dd60e01b825233835230602452604452858160648180895af190600181511482161561095b575b8385526060521561094757505060cc54918151908152827f2454c22dc684ff5512045882a113101049fde511c581e351116949e9a2ed7637853393a3600160655551908152f35b635274afe760e01b82528101839052602490fd5b90600181151661097357853b15153d15161690610900565b833d83823e3d90fd5b634e487b7160e01b865260418752602486fd5b634e487b7160e01b845260118552602484fd5b855163e51cf7bf60e01b81528490fd5b600435906001600160a01b03821682036109c857565b600080fd5b6024359081151582036109c857565b6002606554146109ed576002606555565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b60ff60975416610a3e57565b60405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606490fd5b6033546001600160a01b03163303610a8a57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b60405163a9059cbb60e01b60009081526001600160a01b039384166004526024949094529260209060448180855af1600160005114811615610b2f575b8360405215610b1957505050565b635274afe760e01b835216600482015260249150fd5b6001811516610b4557813b15153d151616610b0b565b833d6000823e3d90fd5b603380546001600160a01b039283166001600160a01b031982168117909255909116600080516020610be7833981519152600080a3565b15610b8d57565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fdfe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a264697066735822122028b6d4734f324a3a810ea18ee9fc4a3acedf9617ab1858f7562517922d52515964736f6c63430008180033",
433
+ "linkReferences": {},
434
+ "deployedLinkReferences": {}
435
+ }