@reclaimprotocol/attestor-core 5.0.1-beta.2 → 5.0.1-beta.4

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 (169) hide show
  1. package/lib/browser/avs/abis/avsDirectoryABI.d.ts +60 -0
  2. package/lib/browser/avs/abis/avsDirectoryABI.js +343 -0
  3. package/lib/browser/avs/abis/delegationABI.d.ts +126 -0
  4. package/lib/browser/avs/abis/delegationABI.js +4 -0
  5. package/lib/browser/avs/abis/registryABI.d.ts +136 -0
  6. package/lib/browser/avs/abis/registryABI.js +728 -0
  7. package/lib/browser/avs/client/create-claim-on-avs.d.ts +12 -0
  8. package/lib/browser/avs/client/create-claim-on-avs.js +168 -0
  9. package/lib/browser/avs/config.d.ts +7 -0
  10. package/lib/browser/avs/config.js +26 -0
  11. package/lib/browser/avs/contracts/ReclaimServiceManager.d.ts +601 -0
  12. package/lib/browser/avs/contracts/ReclaimServiceManager.js +0 -0
  13. package/lib/browser/avs/contracts/common.d.ts +50 -0
  14. package/lib/browser/avs/contracts/common.js +0 -0
  15. package/lib/browser/avs/contracts/factories/ReclaimServiceManager__factory.d.ts +890 -0
  16. package/lib/browser/avs/contracts/factories/ReclaimServiceManager__factory.js +1183 -0
  17. package/lib/browser/avs/contracts/factories/index.d.ts +1 -0
  18. package/lib/browser/avs/contracts/factories/index.js +4 -0
  19. package/lib/browser/avs/contracts/index.d.ts +3 -0
  20. package/lib/browser/avs/contracts/index.js +6 -0
  21. package/lib/browser/avs/types/index.d.ts +55 -0
  22. package/lib/browser/avs/types/index.js +0 -0
  23. package/lib/browser/avs/utils/contracts.d.ts +21 -0
  24. package/lib/browser/avs/utils/contracts.js +53 -0
  25. package/lib/browser/avs/utils/register.d.ts +27 -0
  26. package/lib/browser/avs/utils/register.js +74 -0
  27. package/lib/browser/avs/utils/tasks.d.ts +22 -0
  28. package/lib/browser/avs/utils/tasks.js +48 -0
  29. package/lib/browser/client/create-claim.d.ts +5 -0
  30. package/lib/browser/client/create-claim.js +461 -0
  31. package/lib/browser/client/index.d.ts +3 -0
  32. package/lib/browser/client/index.js +3 -0
  33. package/lib/browser/client/tunnels/make-rpc-tcp-tunnel.d.ts +16 -0
  34. package/lib/browser/client/tunnels/make-rpc-tcp-tunnel.js +53 -0
  35. package/lib/browser/client/tunnels/make-rpc-tls-tunnel.d.ts +26 -0
  36. package/lib/browser/client/tunnels/make-rpc-tls-tunnel.js +127 -0
  37. package/lib/browser/client/utils/attestor-pool.d.ts +8 -0
  38. package/lib/browser/client/utils/attestor-pool.js +24 -0
  39. package/lib/browser/client/utils/client-socket.d.ts +11 -0
  40. package/lib/browser/client/utils/client-socket.js +120 -0
  41. package/lib/browser/client/utils/message-handler.d.ts +4 -0
  42. package/lib/browser/client/utils/message-handler.js +97 -0
  43. package/lib/browser/config/index.d.ts +31 -0
  44. package/lib/browser/config/index.js +62 -0
  45. package/lib/browser/external-rpc/benchmark.d.ts +1 -0
  46. package/lib/browser/external-rpc/benchmark.js +82 -0
  47. package/lib/browser/external-rpc/event-bus.d.ts +7 -0
  48. package/lib/browser/external-rpc/event-bus.js +17 -0
  49. package/lib/browser/external-rpc/global.d.js +0 -0
  50. package/lib/browser/external-rpc/handle-incoming-msg.d.ts +2 -0
  51. package/lib/browser/external-rpc/handle-incoming-msg.js +241 -0
  52. package/lib/browser/external-rpc/index.d.ts +3 -0
  53. package/lib/browser/external-rpc/index.js +3 -0
  54. package/lib/browser/external-rpc/jsc-polyfills/1.d.ts +14 -0
  55. package/lib/browser/external-rpc/jsc-polyfills/1.js +80 -0
  56. package/lib/browser/external-rpc/jsc-polyfills/2.d.ts +1 -0
  57. package/lib/browser/external-rpc/jsc-polyfills/2.js +15 -0
  58. package/lib/browser/external-rpc/jsc-polyfills/event.d.ts +10 -0
  59. package/lib/browser/external-rpc/jsc-polyfills/event.js +19 -0
  60. package/lib/browser/external-rpc/jsc-polyfills/index.d.ts +2 -0
  61. package/lib/browser/external-rpc/jsc-polyfills/index.js +2 -0
  62. package/lib/browser/external-rpc/jsc-polyfills/ws.d.ts +21 -0
  63. package/lib/browser/external-rpc/jsc-polyfills/ws.js +83 -0
  64. package/lib/browser/external-rpc/setup-browser.d.ts +6 -0
  65. package/lib/browser/external-rpc/setup-browser.js +33 -0
  66. package/lib/browser/external-rpc/setup-jsc.d.ts +24 -0
  67. package/lib/browser/external-rpc/setup-jsc.js +22 -0
  68. package/lib/browser/external-rpc/types.d.ts +213 -0
  69. package/lib/browser/external-rpc/types.js +0 -0
  70. package/lib/browser/external-rpc/utils.d.ts +20 -0
  71. package/lib/browser/external-rpc/utils.js +100 -0
  72. package/lib/browser/external-rpc/zk.d.ts +14 -0
  73. package/lib/browser/external-rpc/zk.js +58 -0
  74. package/lib/browser/index.browser.js +13 -0
  75. package/lib/browser/index.d.ts +9 -0
  76. package/lib/browser/index.js +13 -0
  77. package/lib/browser/mechain/abis/governanceABI.d.ts +50 -0
  78. package/lib/browser/mechain/abis/governanceABI.js +461 -0
  79. package/lib/browser/mechain/abis/taskABI.d.ts +157 -0
  80. package/lib/browser/mechain/abis/taskABI.js +512 -0
  81. package/lib/browser/mechain/client/create-claim-on-mechain.d.ts +10 -0
  82. package/lib/browser/mechain/client/create-claim-on-mechain.js +33 -0
  83. package/lib/browser/mechain/client/index.d.ts +1 -0
  84. package/lib/browser/mechain/client/index.js +1 -0
  85. package/lib/browser/mechain/constants/index.d.ts +3 -0
  86. package/lib/browser/mechain/constants/index.js +8 -0
  87. package/lib/browser/mechain/index.d.ts +2 -0
  88. package/lib/browser/mechain/index.js +2 -0
  89. package/lib/browser/mechain/types/index.d.ts +23 -0
  90. package/lib/browser/mechain/types/index.js +0 -0
  91. package/lib/browser/proto/api.d.ts +651 -0
  92. package/lib/browser/proto/api.js +4250 -0
  93. package/lib/browser/proto/tee-bundle.d.ts +156 -0
  94. package/lib/browser/proto/tee-bundle.js +1296 -0
  95. package/lib/browser/providers/http/index.d.ts +18 -0
  96. package/lib/browser/providers/http/index.js +640 -0
  97. package/lib/browser/providers/http/patch-parse5-tree.d.ts +6 -0
  98. package/lib/browser/providers/http/patch-parse5-tree.js +34 -0
  99. package/lib/browser/providers/http/utils.d.ts +77 -0
  100. package/lib/browser/providers/http/utils.js +283 -0
  101. package/lib/browser/providers/index.d.ts +4 -0
  102. package/lib/browser/providers/index.js +7 -0
  103. package/lib/browser/types/bgp.d.ts +11 -0
  104. package/lib/browser/types/bgp.js +0 -0
  105. package/lib/browser/types/claims.d.ts +70 -0
  106. package/lib/browser/types/claims.js +0 -0
  107. package/lib/browser/types/client.d.ts +163 -0
  108. package/lib/browser/types/client.js +0 -0
  109. package/lib/browser/types/general.d.ts +77 -0
  110. package/lib/browser/types/general.js +0 -0
  111. package/lib/browser/types/handlers.d.ts +10 -0
  112. package/lib/browser/types/handlers.js +0 -0
  113. package/lib/browser/types/index.d.ts +10 -0
  114. package/lib/browser/types/index.js +10 -0
  115. package/lib/browser/types/providers.d.ts +161 -0
  116. package/lib/browser/types/providers.gen.d.ts +443 -0
  117. package/lib/browser/types/providers.gen.js +16 -0
  118. package/lib/browser/types/providers.js +0 -0
  119. package/lib/browser/types/rpc.d.ts +35 -0
  120. package/lib/browser/types/rpc.js +0 -0
  121. package/lib/browser/types/signatures.d.ts +28 -0
  122. package/lib/browser/types/signatures.js +0 -0
  123. package/lib/browser/types/tunnel.d.ts +18 -0
  124. package/lib/browser/types/tunnel.js +0 -0
  125. package/lib/browser/types/zk.d.ts +38 -0
  126. package/lib/browser/types/zk.js +0 -0
  127. package/lib/browser/utils/auth.d.ts +8 -0
  128. package/lib/browser/utils/auth.js +71 -0
  129. package/lib/browser/utils/b64-json.d.ts +2 -0
  130. package/lib/browser/utils/b64-json.js +17 -0
  131. package/lib/browser/utils/claims.d.ts +33 -0
  132. package/lib/browser/utils/claims.js +89 -0
  133. package/lib/browser/utils/env.d.ts +3 -0
  134. package/lib/browser/utils/env.js +19 -0
  135. package/lib/browser/utils/error.d.ts +26 -0
  136. package/lib/browser/utils/error.js +54 -0
  137. package/lib/browser/utils/generics.d.ts +114 -0
  138. package/lib/browser/utils/generics.js +268 -0
  139. package/lib/browser/utils/http-parser.d.ts +59 -0
  140. package/lib/browser/utils/http-parser.js +201 -0
  141. package/lib/browser/utils/index.browser.js +12 -0
  142. package/lib/browser/utils/index.d.ts +12 -0
  143. package/lib/browser/utils/index.js +12 -0
  144. package/lib/browser/utils/logger.browser.js +88 -0
  145. package/lib/browser/utils/logger.d.ts +14 -0
  146. package/lib/browser/utils/logger.js +88 -0
  147. package/lib/browser/utils/prepare-packets.d.ts +16 -0
  148. package/lib/browser/utils/prepare-packets.js +69 -0
  149. package/lib/browser/utils/redactions.d.ts +73 -0
  150. package/lib/browser/utils/redactions.js +135 -0
  151. package/lib/browser/utils/retries.d.ts +12 -0
  152. package/lib/browser/utils/retries.js +26 -0
  153. package/lib/browser/utils/signatures/eth.d.ts +2 -0
  154. package/lib/browser/utils/signatures/eth.js +31 -0
  155. package/lib/browser/utils/signatures/index.d.ts +5 -0
  156. package/lib/browser/utils/signatures/index.js +12 -0
  157. package/lib/browser/utils/socket-base.d.ts +23 -0
  158. package/lib/browser/utils/socket-base.js +96 -0
  159. package/lib/browser/utils/tls.d.ts +2 -0
  160. package/lib/browser/utils/tls.js +58 -0
  161. package/lib/browser/utils/ws.d.ts +7 -0
  162. package/lib/browser/utils/ws.js +22 -0
  163. package/lib/browser/utils/zk.d.ts +71 -0
  164. package/lib/browser/utils/zk.js +625 -0
  165. package/lib/index.browser.d.ts +9 -0
  166. package/lib/types/general.d.ts +1 -0
  167. package/lib/utils/index.browser.d.ts +12 -0
  168. package/lib/utils/logger.browser.d.ts +14 -0
  169. package/package.json +6 -2
@@ -0,0 +1,1183 @@
1
+ import {
2
+ Contract,
3
+ ContractFactory,
4
+ Interface
5
+ } from "ethers";
6
+ const _abi = [
7
+ {
8
+ type: "constructor",
9
+ inputs: [
10
+ {
11
+ name: "_avsDirectory",
12
+ type: "address",
13
+ internalType: "address"
14
+ },
15
+ {
16
+ name: "_stakeRegistry",
17
+ type: "address",
18
+ internalType: "address"
19
+ },
20
+ {
21
+ name: "_delegationManager",
22
+ type: "address",
23
+ internalType: "address"
24
+ }
25
+ ],
26
+ stateMutability: "nonpayable"
27
+ },
28
+ {
29
+ type: "function",
30
+ name: "admins",
31
+ inputs: [
32
+ {
33
+ name: "",
34
+ type: "uint256",
35
+ internalType: "uint256"
36
+ }
37
+ ],
38
+ outputs: [
39
+ {
40
+ name: "",
41
+ type: "address",
42
+ internalType: "address"
43
+ }
44
+ ],
45
+ stateMutability: "view"
46
+ },
47
+ {
48
+ type: "function",
49
+ name: "allTaskHashes",
50
+ inputs: [
51
+ {
52
+ name: "",
53
+ type: "uint32",
54
+ internalType: "uint32"
55
+ }
56
+ ],
57
+ outputs: [
58
+ {
59
+ name: "",
60
+ type: "bytes32",
61
+ internalType: "bytes32"
62
+ }
63
+ ],
64
+ stateMutability: "view"
65
+ },
66
+ {
67
+ type: "function",
68
+ name: "avsDirectory",
69
+ inputs: [],
70
+ outputs: [
71
+ {
72
+ name: "",
73
+ type: "address",
74
+ internalType: "address"
75
+ }
76
+ ],
77
+ stateMutability: "view"
78
+ },
79
+ {
80
+ type: "function",
81
+ name: "checkSignerAddress",
82
+ inputs: [
83
+ {
84
+ name: "request",
85
+ type: "tuple",
86
+ internalType: "struct IReclaimServiceManager.ClaimRequest",
87
+ components: [
88
+ {
89
+ name: "provider",
90
+ type: "string",
91
+ internalType: "string"
92
+ },
93
+ {
94
+ name: "claimUserId",
95
+ type: "bytes32",
96
+ internalType: "bytes32"
97
+ },
98
+ {
99
+ name: "claimHash",
100
+ type: "bytes32",
101
+ internalType: "bytes32"
102
+ },
103
+ {
104
+ name: "requestedAt",
105
+ type: "uint32",
106
+ internalType: "uint32"
107
+ },
108
+ {
109
+ name: "owner",
110
+ type: "address",
111
+ internalType: "address"
112
+ }
113
+ ]
114
+ },
115
+ {
116
+ name: "requestSignature",
117
+ type: "bytes",
118
+ internalType: "bytes"
119
+ }
120
+ ],
121
+ outputs: [
122
+ {
123
+ name: "",
124
+ type: "address",
125
+ internalType: "address"
126
+ }
127
+ ],
128
+ stateMutability: "pure"
129
+ },
130
+ {
131
+ type: "function",
132
+ name: "createNewTask",
133
+ inputs: [
134
+ {
135
+ name: "request",
136
+ type: "tuple",
137
+ internalType: "struct IReclaimServiceManager.ClaimRequest",
138
+ components: [
139
+ {
140
+ name: "provider",
141
+ type: "string",
142
+ internalType: "string"
143
+ },
144
+ {
145
+ name: "claimUserId",
146
+ type: "bytes32",
147
+ internalType: "bytes32"
148
+ },
149
+ {
150
+ name: "claimHash",
151
+ type: "bytes32",
152
+ internalType: "bytes32"
153
+ },
154
+ {
155
+ name: "requestedAt",
156
+ type: "uint32",
157
+ internalType: "uint32"
158
+ },
159
+ {
160
+ name: "owner",
161
+ type: "address",
162
+ internalType: "address"
163
+ }
164
+ ]
165
+ },
166
+ {
167
+ name: "requestSignature",
168
+ type: "bytes",
169
+ internalType: "bytes"
170
+ }
171
+ ],
172
+ outputs: [],
173
+ stateMutability: "nonpayable"
174
+ },
175
+ {
176
+ type: "function",
177
+ name: "deregisterOperatorFromAVS",
178
+ inputs: [
179
+ {
180
+ name: "operator",
181
+ type: "address",
182
+ internalType: "address"
183
+ }
184
+ ],
185
+ outputs: [],
186
+ stateMutability: "nonpayable"
187
+ },
188
+ {
189
+ type: "function",
190
+ name: "encodeClaimRequest",
191
+ inputs: [
192
+ {
193
+ name: "request",
194
+ type: "tuple",
195
+ internalType: "struct IReclaimServiceManager.ClaimRequest",
196
+ components: [
197
+ {
198
+ name: "provider",
199
+ type: "string",
200
+ internalType: "string"
201
+ },
202
+ {
203
+ name: "claimUserId",
204
+ type: "bytes32",
205
+ internalType: "bytes32"
206
+ },
207
+ {
208
+ name: "claimHash",
209
+ type: "bytes32",
210
+ internalType: "bytes32"
211
+ },
212
+ {
213
+ name: "requestedAt",
214
+ type: "uint32",
215
+ internalType: "uint32"
216
+ },
217
+ {
218
+ name: "owner",
219
+ type: "address",
220
+ internalType: "address"
221
+ }
222
+ ]
223
+ }
224
+ ],
225
+ outputs: [
226
+ {
227
+ name: "",
228
+ type: "bytes",
229
+ internalType: "bytes"
230
+ }
231
+ ],
232
+ stateMutability: "pure"
233
+ },
234
+ {
235
+ type: "function",
236
+ name: "getMetadataForOperator",
237
+ inputs: [
238
+ {
239
+ name: "operator",
240
+ type: "address",
241
+ internalType: "address"
242
+ }
243
+ ],
244
+ outputs: [
245
+ {
246
+ name: "",
247
+ type: "tuple",
248
+ internalType: "struct IReclaimServiceManager.OperatorMetadata",
249
+ components: [
250
+ {
251
+ name: "addr",
252
+ type: "address",
253
+ internalType: "address"
254
+ },
255
+ {
256
+ name: "url",
257
+ type: "string",
258
+ internalType: "string"
259
+ }
260
+ ]
261
+ }
262
+ ],
263
+ stateMutability: "view"
264
+ },
265
+ {
266
+ type: "function",
267
+ name: "getOperatorRestakedStrategies",
268
+ inputs: [
269
+ {
270
+ name: "_operator",
271
+ type: "address",
272
+ internalType: "address"
273
+ }
274
+ ],
275
+ outputs: [
276
+ {
277
+ name: "",
278
+ type: "address[]",
279
+ internalType: "address[]"
280
+ }
281
+ ],
282
+ stateMutability: "view"
283
+ },
284
+ {
285
+ type: "function",
286
+ name: "getRestakeableStrategies",
287
+ inputs: [],
288
+ outputs: [
289
+ {
290
+ name: "",
291
+ type: "address[]",
292
+ internalType: "address[]"
293
+ }
294
+ ],
295
+ stateMutability: "view"
296
+ },
297
+ {
298
+ type: "function",
299
+ name: "isAdmin",
300
+ inputs: [
301
+ {
302
+ name: "_admin",
303
+ type: "address",
304
+ internalType: "address"
305
+ }
306
+ ],
307
+ outputs: [
308
+ {
309
+ name: "",
310
+ type: "bool",
311
+ internalType: "bool"
312
+ }
313
+ ],
314
+ stateMutability: "view"
315
+ },
316
+ {
317
+ type: "function",
318
+ name: "isOperatorWhitelisted",
319
+ inputs: [
320
+ {
321
+ name: "operator",
322
+ type: "address",
323
+ internalType: "address"
324
+ }
325
+ ],
326
+ outputs: [
327
+ {
328
+ name: "",
329
+ type: "bool",
330
+ internalType: "bool"
331
+ }
332
+ ],
333
+ stateMutability: "view"
334
+ },
335
+ {
336
+ type: "function",
337
+ name: "latestTaskNum",
338
+ inputs: [],
339
+ outputs: [
340
+ {
341
+ name: "",
342
+ type: "uint32",
343
+ internalType: "uint32"
344
+ }
345
+ ],
346
+ stateMutability: "view"
347
+ },
348
+ {
349
+ type: "function",
350
+ name: "operatorHasMinimumWeight",
351
+ inputs: [
352
+ {
353
+ name: "operator",
354
+ type: "address",
355
+ internalType: "address"
356
+ }
357
+ ],
358
+ outputs: [
359
+ {
360
+ name: "",
361
+ type: "bool",
362
+ internalType: "bool"
363
+ }
364
+ ],
365
+ stateMutability: "view"
366
+ },
367
+ {
368
+ type: "function",
369
+ name: "owner",
370
+ inputs: [],
371
+ outputs: [
372
+ {
373
+ name: "",
374
+ type: "address",
375
+ internalType: "address"
376
+ }
377
+ ],
378
+ stateMutability: "view"
379
+ },
380
+ {
381
+ type: "function",
382
+ name: "pause",
383
+ inputs: [
384
+ {
385
+ name: "newPausedStatus",
386
+ type: "uint256",
387
+ internalType: "uint256"
388
+ }
389
+ ],
390
+ outputs: [],
391
+ stateMutability: "nonpayable"
392
+ },
393
+ {
394
+ type: "function",
395
+ name: "pauseAll",
396
+ inputs: [],
397
+ outputs: [],
398
+ stateMutability: "nonpayable"
399
+ },
400
+ {
401
+ type: "function",
402
+ name: "paused",
403
+ inputs: [
404
+ {
405
+ name: "index",
406
+ type: "uint8",
407
+ internalType: "uint8"
408
+ }
409
+ ],
410
+ outputs: [
411
+ {
412
+ name: "",
413
+ type: "bool",
414
+ internalType: "bool"
415
+ }
416
+ ],
417
+ stateMutability: "view"
418
+ },
419
+ {
420
+ type: "function",
421
+ name: "paused",
422
+ inputs: [],
423
+ outputs: [
424
+ {
425
+ name: "",
426
+ type: "uint256",
427
+ internalType: "uint256"
428
+ }
429
+ ],
430
+ stateMutability: "view"
431
+ },
432
+ {
433
+ type: "function",
434
+ name: "pauserRegistry",
435
+ inputs: [],
436
+ outputs: [
437
+ {
438
+ name: "",
439
+ type: "address",
440
+ internalType: "contract IPauserRegistry"
441
+ }
442
+ ],
443
+ stateMutability: "view"
444
+ },
445
+ {
446
+ type: "function",
447
+ name: "payForRange",
448
+ inputs: [
449
+ {
450
+ name: "rangePayments",
451
+ type: "tuple[]",
452
+ internalType: "struct IPaymentCoordinator.RangePayment[]",
453
+ components: [
454
+ {
455
+ name: "strategiesAndMultipliers",
456
+ type: "tuple[]",
457
+ internalType: "struct IPaymentCoordinator.StrategyAndMultiplier[]",
458
+ components: [
459
+ {
460
+ name: "strategy",
461
+ type: "address",
462
+ internalType: "contract IStrategy"
463
+ },
464
+ {
465
+ name: "multiplier",
466
+ type: "uint96",
467
+ internalType: "uint96"
468
+ }
469
+ ]
470
+ },
471
+ {
472
+ name: "token",
473
+ type: "address",
474
+ internalType: "contract IERC20"
475
+ },
476
+ {
477
+ name: "amount",
478
+ type: "uint256",
479
+ internalType: "uint256"
480
+ },
481
+ {
482
+ name: "startTimestamp",
483
+ type: "uint32",
484
+ internalType: "uint32"
485
+ },
486
+ {
487
+ name: "duration",
488
+ type: "uint32",
489
+ internalType: "uint32"
490
+ }
491
+ ]
492
+ }
493
+ ],
494
+ outputs: [],
495
+ stateMutability: "nonpayable"
496
+ },
497
+ {
498
+ type: "function",
499
+ name: "registerOperatorToAVS",
500
+ inputs: [
501
+ {
502
+ name: "operator",
503
+ type: "address",
504
+ internalType: "address"
505
+ },
506
+ {
507
+ name: "operatorSignature",
508
+ type: "tuple",
509
+ internalType: "struct ISignatureUtils.SignatureWithSaltAndExpiry",
510
+ components: [
511
+ {
512
+ name: "signature",
513
+ type: "bytes",
514
+ internalType: "bytes"
515
+ },
516
+ {
517
+ name: "salt",
518
+ type: "bytes32",
519
+ internalType: "bytes32"
520
+ },
521
+ {
522
+ name: "expiry",
523
+ type: "uint256",
524
+ internalType: "uint256"
525
+ }
526
+ ]
527
+ }
528
+ ],
529
+ outputs: [],
530
+ stateMutability: "nonpayable"
531
+ },
532
+ {
533
+ type: "function",
534
+ name: "registeredOperators",
535
+ inputs: [
536
+ {
537
+ name: "",
538
+ type: "uint256",
539
+ internalType: "uint256"
540
+ }
541
+ ],
542
+ outputs: [
543
+ {
544
+ name: "addr",
545
+ type: "address",
546
+ internalType: "address"
547
+ },
548
+ {
549
+ name: "url",
550
+ type: "string",
551
+ internalType: "string"
552
+ }
553
+ ],
554
+ stateMutability: "view"
555
+ },
556
+ {
557
+ type: "function",
558
+ name: "renounceOwnership",
559
+ inputs: [],
560
+ outputs: [],
561
+ stateMutability: "nonpayable"
562
+ },
563
+ {
564
+ type: "function",
565
+ name: "setPauserRegistry",
566
+ inputs: [
567
+ {
568
+ name: "newPauserRegistry",
569
+ type: "address",
570
+ internalType: "contract IPauserRegistry"
571
+ }
572
+ ],
573
+ outputs: [],
574
+ stateMutability: "nonpayable"
575
+ },
576
+ {
577
+ type: "function",
578
+ name: "setup",
579
+ inputs: [
580
+ {
581
+ name: "initialAdmin",
582
+ type: "address",
583
+ internalType: "address"
584
+ }
585
+ ],
586
+ outputs: [],
587
+ stateMutability: "nonpayable"
588
+ },
589
+ {
590
+ type: "function",
591
+ name: "stakeRegistry",
592
+ inputs: [],
593
+ outputs: [
594
+ {
595
+ name: "",
596
+ type: "address",
597
+ internalType: "address"
598
+ }
599
+ ],
600
+ stateMutability: "view"
601
+ },
602
+ {
603
+ type: "function",
604
+ name: "taskCompleted",
605
+ inputs: [
606
+ {
607
+ name: "completedTask",
608
+ type: "tuple",
609
+ internalType: "struct IReclaimServiceManager.CompletedTask",
610
+ components: [
611
+ {
612
+ name: "task",
613
+ type: "tuple",
614
+ internalType: "struct IReclaimServiceManager.Task",
615
+ components: [
616
+ {
617
+ name: "request",
618
+ type: "tuple",
619
+ internalType: "struct IReclaimServiceManager.ClaimRequest",
620
+ components: [
621
+ {
622
+ name: "provider",
623
+ type: "string",
624
+ internalType: "string"
625
+ },
626
+ {
627
+ name: "claimUserId",
628
+ type: "bytes32",
629
+ internalType: "bytes32"
630
+ },
631
+ {
632
+ name: "claimHash",
633
+ type: "bytes32",
634
+ internalType: "bytes32"
635
+ },
636
+ {
637
+ name: "requestedAt",
638
+ type: "uint32",
639
+ internalType: "uint32"
640
+ },
641
+ {
642
+ name: "owner",
643
+ type: "address",
644
+ internalType: "address"
645
+ }
646
+ ]
647
+ },
648
+ {
649
+ name: "createdAt",
650
+ type: "uint32",
651
+ internalType: "uint32"
652
+ },
653
+ {
654
+ name: "expiresAt",
655
+ type: "uint32",
656
+ internalType: "uint32"
657
+ },
658
+ {
659
+ name: "minimumSignatures",
660
+ type: "uint8",
661
+ internalType: "uint8"
662
+ },
663
+ {
664
+ name: "operators",
665
+ type: "tuple[]",
666
+ internalType: "struct IReclaimServiceManager.Operator[]",
667
+ components: [
668
+ {
669
+ name: "addr",
670
+ type: "address",
671
+ internalType: "address"
672
+ },
673
+ {
674
+ name: "url",
675
+ type: "string",
676
+ internalType: "string"
677
+ }
678
+ ]
679
+ },
680
+ {
681
+ name: "feePaid",
682
+ type: "uint256",
683
+ internalType: "uint256"
684
+ }
685
+ ]
686
+ },
687
+ {
688
+ name: "signatures",
689
+ type: "bytes[]",
690
+ internalType: "bytes[]"
691
+ }
692
+ ]
693
+ },
694
+ {
695
+ name: "referenceTaskIndex",
696
+ type: "uint32",
697
+ internalType: "uint32"
698
+ }
699
+ ],
700
+ outputs: [],
701
+ stateMutability: "nonpayable"
702
+ },
703
+ {
704
+ type: "function",
705
+ name: "taskCreationMetadata",
706
+ inputs: [],
707
+ outputs: [
708
+ {
709
+ name: "maxTaskLifetimeS",
710
+ type: "uint32",
711
+ internalType: "uint32"
712
+ },
713
+ {
714
+ name: "minSignaturesPerTask",
715
+ type: "uint8",
716
+ internalType: "uint8"
717
+ },
718
+ {
719
+ name: "maxTaskCreationDelayS",
720
+ type: "uint32",
721
+ internalType: "uint32"
722
+ }
723
+ ],
724
+ stateMutability: "view"
725
+ },
726
+ {
727
+ type: "function",
728
+ name: "transferOwnership",
729
+ inputs: [
730
+ {
731
+ name: "newOwner",
732
+ type: "address",
733
+ internalType: "address"
734
+ }
735
+ ],
736
+ outputs: [],
737
+ stateMutability: "nonpayable"
738
+ },
739
+ {
740
+ type: "function",
741
+ name: "unpause",
742
+ inputs: [
743
+ {
744
+ name: "newPausedStatus",
745
+ type: "uint256",
746
+ internalType: "uint256"
747
+ }
748
+ ],
749
+ outputs: [],
750
+ stateMutability: "nonpayable"
751
+ },
752
+ {
753
+ type: "function",
754
+ name: "updateAVSMetadataURI",
755
+ inputs: [
756
+ {
757
+ name: "_metadataURI",
758
+ type: "string",
759
+ internalType: "string"
760
+ }
761
+ ],
762
+ outputs: [],
763
+ stateMutability: "nonpayable"
764
+ },
765
+ {
766
+ type: "function",
767
+ name: "updateOperatorMetadata",
768
+ inputs: [
769
+ {
770
+ name: "metadata",
771
+ type: "tuple",
772
+ internalType: "struct IReclaimServiceManager.OperatorMetadata",
773
+ components: [
774
+ {
775
+ name: "addr",
776
+ type: "address",
777
+ internalType: "address"
778
+ },
779
+ {
780
+ name: "url",
781
+ type: "string",
782
+ internalType: "string"
783
+ }
784
+ ]
785
+ }
786
+ ],
787
+ outputs: [],
788
+ stateMutability: "nonpayable"
789
+ },
790
+ {
791
+ type: "function",
792
+ name: "updateTaskCreationMetadata",
793
+ inputs: [
794
+ {
795
+ name: "newMetadata",
796
+ type: "tuple",
797
+ internalType: "struct IReclaimServiceManager.TaskCreationMetadata",
798
+ components: [
799
+ {
800
+ name: "maxTaskLifetimeS",
801
+ type: "uint32",
802
+ internalType: "uint32"
803
+ },
804
+ {
805
+ name: "minSignaturesPerTask",
806
+ type: "uint8",
807
+ internalType: "uint8"
808
+ },
809
+ {
810
+ name: "maxTaskCreationDelayS",
811
+ type: "uint32",
812
+ internalType: "uint32"
813
+ }
814
+ ]
815
+ }
816
+ ],
817
+ outputs: [],
818
+ stateMutability: "nonpayable"
819
+ },
820
+ {
821
+ type: "function",
822
+ name: "whitelistAddressAsOperator",
823
+ inputs: [
824
+ {
825
+ name: "operator",
826
+ type: "address",
827
+ internalType: "address"
828
+ },
829
+ {
830
+ name: "isWhitelisted",
831
+ type: "bool",
832
+ internalType: "bool"
833
+ }
834
+ ],
835
+ outputs: [],
836
+ stateMutability: "nonpayable"
837
+ },
838
+ {
839
+ type: "function",
840
+ name: "whitelistedOperators",
841
+ inputs: [
842
+ {
843
+ name: "",
844
+ type: "uint256",
845
+ internalType: "uint256"
846
+ }
847
+ ],
848
+ outputs: [
849
+ {
850
+ name: "",
851
+ type: "address",
852
+ internalType: "address"
853
+ }
854
+ ],
855
+ stateMutability: "view"
856
+ },
857
+ {
858
+ type: "event",
859
+ name: "Initialized",
860
+ inputs: [
861
+ {
862
+ name: "version",
863
+ type: "uint8",
864
+ indexed: false,
865
+ internalType: "uint8"
866
+ }
867
+ ],
868
+ anonymous: false
869
+ },
870
+ {
871
+ type: "event",
872
+ name: "NewTaskCreated",
873
+ inputs: [
874
+ {
875
+ name: "taskIndex",
876
+ type: "uint32",
877
+ indexed: true,
878
+ internalType: "uint32"
879
+ },
880
+ {
881
+ name: "task",
882
+ type: "tuple",
883
+ indexed: false,
884
+ internalType: "struct IReclaimServiceManager.Task",
885
+ components: [
886
+ {
887
+ name: "request",
888
+ type: "tuple",
889
+ internalType: "struct IReclaimServiceManager.ClaimRequest",
890
+ components: [
891
+ {
892
+ name: "provider",
893
+ type: "string",
894
+ internalType: "string"
895
+ },
896
+ {
897
+ name: "claimUserId",
898
+ type: "bytes32",
899
+ internalType: "bytes32"
900
+ },
901
+ {
902
+ name: "claimHash",
903
+ type: "bytes32",
904
+ internalType: "bytes32"
905
+ },
906
+ {
907
+ name: "requestedAt",
908
+ type: "uint32",
909
+ internalType: "uint32"
910
+ },
911
+ {
912
+ name: "owner",
913
+ type: "address",
914
+ internalType: "address"
915
+ }
916
+ ]
917
+ },
918
+ {
919
+ name: "createdAt",
920
+ type: "uint32",
921
+ internalType: "uint32"
922
+ },
923
+ {
924
+ name: "expiresAt",
925
+ type: "uint32",
926
+ internalType: "uint32"
927
+ },
928
+ {
929
+ name: "minimumSignatures",
930
+ type: "uint8",
931
+ internalType: "uint8"
932
+ },
933
+ {
934
+ name: "operators",
935
+ type: "tuple[]",
936
+ internalType: "struct IReclaimServiceManager.Operator[]",
937
+ components: [
938
+ {
939
+ name: "addr",
940
+ type: "address",
941
+ internalType: "address"
942
+ },
943
+ {
944
+ name: "url",
945
+ type: "string",
946
+ internalType: "string"
947
+ }
948
+ ]
949
+ },
950
+ {
951
+ name: "feePaid",
952
+ type: "uint256",
953
+ internalType: "uint256"
954
+ }
955
+ ]
956
+ }
957
+ ],
958
+ anonymous: false
959
+ },
960
+ {
961
+ type: "event",
962
+ name: "OwnershipTransferred",
963
+ inputs: [
964
+ {
965
+ name: "previousOwner",
966
+ type: "address",
967
+ indexed: true,
968
+ internalType: "address"
969
+ },
970
+ {
971
+ name: "newOwner",
972
+ type: "address",
973
+ indexed: true,
974
+ internalType: "address"
975
+ }
976
+ ],
977
+ anonymous: false
978
+ },
979
+ {
980
+ type: "event",
981
+ name: "Paused",
982
+ inputs: [
983
+ {
984
+ name: "account",
985
+ type: "address",
986
+ indexed: true,
987
+ internalType: "address"
988
+ },
989
+ {
990
+ name: "newPausedStatus",
991
+ type: "uint256",
992
+ indexed: false,
993
+ internalType: "uint256"
994
+ }
995
+ ],
996
+ anonymous: false
997
+ },
998
+ {
999
+ type: "event",
1000
+ name: "PauserRegistrySet",
1001
+ inputs: [
1002
+ {
1003
+ name: "pauserRegistry",
1004
+ type: "address",
1005
+ indexed: false,
1006
+ internalType: "contract IPauserRegistry"
1007
+ },
1008
+ {
1009
+ name: "newPauserRegistry",
1010
+ type: "address",
1011
+ indexed: false,
1012
+ internalType: "contract IPauserRegistry"
1013
+ }
1014
+ ],
1015
+ anonymous: false
1016
+ },
1017
+ {
1018
+ type: "event",
1019
+ name: "TaskCompleted",
1020
+ inputs: [
1021
+ {
1022
+ name: "taskIndex",
1023
+ type: "uint32",
1024
+ indexed: true,
1025
+ internalType: "uint32"
1026
+ },
1027
+ {
1028
+ name: "task",
1029
+ type: "tuple",
1030
+ indexed: false,
1031
+ internalType: "struct IReclaimServiceManager.CompletedTask",
1032
+ components: [
1033
+ {
1034
+ name: "task",
1035
+ type: "tuple",
1036
+ internalType: "struct IReclaimServiceManager.Task",
1037
+ components: [
1038
+ {
1039
+ name: "request",
1040
+ type: "tuple",
1041
+ internalType: "struct IReclaimServiceManager.ClaimRequest",
1042
+ components: [
1043
+ {
1044
+ name: "provider",
1045
+ type: "string",
1046
+ internalType: "string"
1047
+ },
1048
+ {
1049
+ name: "claimUserId",
1050
+ type: "bytes32",
1051
+ internalType: "bytes32"
1052
+ },
1053
+ {
1054
+ name: "claimHash",
1055
+ type: "bytes32",
1056
+ internalType: "bytes32"
1057
+ },
1058
+ {
1059
+ name: "requestedAt",
1060
+ type: "uint32",
1061
+ internalType: "uint32"
1062
+ },
1063
+ {
1064
+ name: "owner",
1065
+ type: "address",
1066
+ internalType: "address"
1067
+ }
1068
+ ]
1069
+ },
1070
+ {
1071
+ name: "createdAt",
1072
+ type: "uint32",
1073
+ internalType: "uint32"
1074
+ },
1075
+ {
1076
+ name: "expiresAt",
1077
+ type: "uint32",
1078
+ internalType: "uint32"
1079
+ },
1080
+ {
1081
+ name: "minimumSignatures",
1082
+ type: "uint8",
1083
+ internalType: "uint8"
1084
+ },
1085
+ {
1086
+ name: "operators",
1087
+ type: "tuple[]",
1088
+ internalType: "struct IReclaimServiceManager.Operator[]",
1089
+ components: [
1090
+ {
1091
+ name: "addr",
1092
+ type: "address",
1093
+ internalType: "address"
1094
+ },
1095
+ {
1096
+ name: "url",
1097
+ type: "string",
1098
+ internalType: "string"
1099
+ }
1100
+ ]
1101
+ },
1102
+ {
1103
+ name: "feePaid",
1104
+ type: "uint256",
1105
+ internalType: "uint256"
1106
+ }
1107
+ ]
1108
+ },
1109
+ {
1110
+ name: "signatures",
1111
+ type: "bytes[]",
1112
+ internalType: "bytes[]"
1113
+ }
1114
+ ]
1115
+ }
1116
+ ],
1117
+ anonymous: false
1118
+ },
1119
+ {
1120
+ type: "event",
1121
+ name: "Unpaused",
1122
+ inputs: [
1123
+ {
1124
+ name: "account",
1125
+ type: "address",
1126
+ indexed: true,
1127
+ internalType: "address"
1128
+ },
1129
+ {
1130
+ name: "newPausedStatus",
1131
+ type: "uint256",
1132
+ indexed: false,
1133
+ internalType: "uint256"
1134
+ }
1135
+ ],
1136
+ anonymous: false
1137
+ }
1138
+ ];
1139
+ const _bytecode = "0x610100604052348015610010575f5ffd5b50604051614a44380380614a4483398101604081905261002f91610140565b6001600160a01b0380841660a0528083166080525f60c081905290821660e052839083908361005c610068565b50505050505050610180565b5f54610100900460ff16156100d35760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b5f5460ff9081161015610123575f805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b80516001600160a01b038116811461013b575f5ffd5b919050565b5f5f5f60608486031215610152575f5ffd5b61015b84610125565b925061016960208501610125565b915061017760408501610125565b90509250925092565b60805160a05160c05160e0516148446102005f395f6120e401525f8181611e6c0152611f3f01525f81816103c30152818161232001528181612496015261250101525f818161039c015281816107d0015281816111930152818161149e015281816119150152818161198301528181611fa4015261294c01526148445ff3fe608060405234801561000f575f5ffd5b5060043610610213575f3560e01c8063715018a61161011f578063a98fb355116100a9578063d5dba76d11610079578063d5dba76d14610509578063e481af9d1461051c578063f289a7fb14610524578063f2fde38b14610577578063fabc1cbc1461058a575f5ffd5b8063a98fb355146104b0578063aa5b9cad146104c3578063abd3b6bd146104d6578063b224b979146104f6575f5ffd5b806394bb371b116100ef57806394bb371b146104365780639926ee7d14610456578063a3524f9514610469578063a364f4da1461047c578063a551c1b81461048f575f5ffd5b8063715018a6146103e5578063886f1195146103ed5780638b00ce7c146104005780638da5cb5b14610425575f5ffd5b80632e8da829116101a05780635c975abb116101705780635c975abb14610369578063630868dc1461037157806366d382031461038457806368304835146103975780636b3aa72e146103be575f5ffd5b80632e8da8291461030b57806333cfb7b71461031e578063595c6a671461033e5780635ac86ab714610346575f5ffd5b80631b445516116101e65780631b445516146102825780631be785ac146102955780631ee3ca10146102a857806324d7806c146102bb5780632d89f6fc146102de575f5ffd5b806310d67a2f14610217578063136439dd1461022c57806314bfd6d01461023f57806316bd83c31461026f575b5f5ffd5b61022a6102253660046133db565b61059d565b005b61022a61023a3660046133f6565b610656565b61025261024d3660046133f6565b610793565b6040516001600160a01b0390911681526020015b60405180910390f35b61022a61027d3660046135a7565b6107bb565b61022a6102903660046135d8565b610b18565b61022a6102a3366004613654565b610b2e565b61022a6102b63660046136ae565b610c23565b6102ce6102c93660046133db565b610ce2565b6040519015158152602001610266565b6102fd6102ec3660046136fc565b60cb6020525f908152604090205481565b604051908152602001610266565b6102ce6103193660046133db565b610d67565b61033161032c3660046133db565b610dd1565b6040516102669190613715565b61022a610de2565b6102ce610354366004613760565b609854600160ff9092169190911b9081161490565b6098546102fd565b61025261037f3660046133f6565b610ea6565b61022a6103923660046133db565b610eb5565b6102527f000000000000000000000000000000000000000000000000000000000000000081565b6102527f000000000000000000000000000000000000000000000000000000000000000081565b61022a611039565b609754610252906001600160a01b031681565b60c9546104109063ffffffff1681565b60405163ffffffff9091168152602001610266565b6033546001600160a01b0316610252565b6104496104443660046133db565b61104c565b60405161026691906137cd565b61022a6104643660046137df565b611188565b61022a610477366004613a33565b61122f565b61022a61048a3660046133db565b611493565b6104a261049d3660046133f6565b6114e4565b604051610266929190613b74565b61022a6104be366004613b97565b6115a2565b6102526104d1366004613bc8565b6115d0565b6104e96104e4366004613c2b565b611606565b6040516102669190613c5c565b61022a610504366004613bc8565b61162f565b6102ce6105173660046133db565b6118f2565b610331611a0c565b60ca5461054e9063ffffffff8082169160ff64010000000082041691650100000000009091041683565b6040805163ffffffff948516815260ff9093166020840152921691810191909152606001610266565b61022a6105853660046133db565b611a1b565b61022a6105983660046133f6565b611a91565b60975f9054906101000a90046001600160a01b03166001600160a01b031663eab66d7a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105ed573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106119190613c6e565b6001600160a01b0316336001600160a01b03161461064a5760405162461bcd60e51b815260040161064190613c89565b60405180910390fd5b61065381611bea565b50565b60975460405163237dfb4760e11b81523360048201526001600160a01b03909116906346fbf68e90602401602060405180830381865afa15801561069c573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106c09190613cd3565b6106dc5760405162461bcd60e51b815260040161064190613cee565b609854818116146107555760405162461bcd60e51b815260206004820152603860248201527f5061757361626c652e70617573653a20696e76616c696420617474656d70742060448201527f746f20756e70617573652066756e6374696f6e616c69747900000000000000006064820152608401610641565b609881905560405181815233907fab40a374bc51de372200a8bc981af8c9ecdc08dfdaef0bb6e09f88f3c616ef3d906020015b60405180910390a250565b60cd81815481106107a2575f80fd5b5f918252602090912001546001600160a01b0316905081565b60405163ec7fbb3160e01b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ec7fbb3190602401602060405180830381865afa15801561081d573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108419190613cd3565b15156001146108925760405162461bcd60e51b815260206004820152601b60248201527f4f70657261746f72206d757374206265207468652063616c6c657200000000006044820152606401610641565b80516001600160a01b031633146108fa5760405162461bcd60e51b815260206004820152602660248201527f4d657461646174612061646472657373206d757374206d61746368207468652060448201526531b0b63632b960d11b6064820152608401610641565b6020810151511580156109db575f5b60ce5481101561099d57825f01516001600160a01b031660ce828154811061093357610933613d36565b5f9182526020909120600290910201546001600160a01b0316036109955760ce818154811061096457610964613d36565b5f9182526020822060029091020180546001600160a01b03191681559061098e600183018261337c565b5050505050565b600101610909565b5060405162461bcd60e51b815260206004820152601260248201527113dc195c985d1bdc881b9bdd08199bdd5b9960721b6044820152606401610641565b5f5b60ce54811015610a8c57825f01516001600160a01b031660ce8281548110610a0757610a07613d36565b5f9182526020909120600290910201546001600160a01b031603610a84578260ce8281548110610a3957610a39613d36565b5f91825260209182902083516002929092020180546001600160a01b0319166001600160a01b03909216919091178155908201516001820190610a7c9082613dd5565b505050505050565b6001016109dd565b5060ce80546001810182555f9190915282517fd36cd1c74ef8d7326d8021b776c18fb5a5724b7f7bc93c2f42e43e10ef27d12a600290920291820180546001600160a01b0319166001600160a01b03909216919091178155602084015184927fd36cd1c74ef8d7326d8021b776c18fb5a5724b7f7bc93c2f42e43e10ef27d12b019061098e9082613dd5565b610b20611ce1565b610b2a8282611d3b565b5050565b610b3733610ce2565b610b535760405162461bcd60e51b815260040161064190613e8f565b8015610ba95760cc80546001810182555f919091527f47197230e1e4b29fc0bd84d7d78966c0925452aff72a2a121538b102457e9ebe0180546001600160a01b0384166001600160a01b03199091161790555050565b5f5b60cc5481101561099d57826001600160a01b031660cc8281548110610bd257610bd2613d36565b5f918252602090912001546001600160a01b031603610c1b5760cc8181548110610bfe57610bfe613d36565b5f91825260209091200180546001600160a01b0319169055505050565b600101610bab565b610c2c33610ce2565b610c485760405162461bcd60e51b815260040161064190613e8f565b805163ffffffff1615610c7157805160ca805463ffffffff191663ffffffff9092169190911790555b602081015160ff1615610ca457602081015160ca805460ff9092166401000000000264ff00000000199092169190911790555b604081015163ffffffff1615610653576040015160ca805463ffffffff909216650100000000000268ffffffff000000000019909216919091179055565b5f610cf56033546001600160a01b031690565b6001600160a01b03163303610d0c57506001919050565b5f5b60cd54811015610d5f57826001600160a01b031660cd8281548110610d3557610d35613d36565b5f918252602090912001546001600160a01b031603610d575750600192915050565b600101610d0e565b505f92915050565b5f610d7182610ce2565b15610d7e57506001919050565b5f5b60cc54811015610d5f57826001600160a01b031660cc8281548110610da757610da7613d36565b5f918252602090912001546001600160a01b031603610dc95750600192915050565b600101610d80565b6060610ddc82611f9f565b92915050565b60975460405163237dfb4760e11b81523360048201526001600160a01b03909116906346fbf68e90602401602060405180830381865afa158015610e28573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e4c9190613cd3565b610e685760405162461bcd60e51b815260040161064190613cee565b5f19609881905560405190815233907fab40a374bc51de372200a8bc981af8c9ecdc08dfdaef0bb6e09f88f3c616ef3d9060200160405180910390a2565b60cc81815481106107a2575f80fd5b5f54610100900460ff1615808015610ed357505f54600160ff909116105b80610eec5750303b158015610eec57505f5460ff166001145b610f4f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610641565b5f805460ff191660011790558015610f70575f805461ff0019166101001790555b60408051606081018252610708815260016020820181905261012c919092015260ca805468ffffffffffffffffff191666012c010000070817905560cd805491820181555f527f83978b4c69c48dd978ab43fe30f077615294f938fb7f936d9eb340e51ea7db2e0180546001600160a01b0319166001600160a01b0384161790558015610b2a575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b611041611ce1565b61104a5f6122b8565b565b604080518082019091525f8152606060208201525f5b60ce5481101561099d57826001600160a01b031660ce828154811061108957611089613d36565b5f9182526020909120600290910201546001600160a01b0316036111805760ce81815481106110ba576110ba613d36565b5f9182526020918290206040805180820190915260029092020180546001600160a01b0316825260018101805492939192918401916110f890613d4a565b80601f016020809104026020016040519081016040528092919081815260200182805461112490613d4a565b801561116f5780601f106111465761010080835404028352916020019161116f565b820191905f5260205f20905b81548152906001019060200180831161115257829003601f168201915b505050505081525050915050919050565b600101611062565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146111d05760405162461bcd60e51b815260040161064190613ebc565b6111d982610d67565b6112255760405162461bcd60e51b815260206004820152601860248201527f4f70657261746f72206e6f742077686974656c697374656400000000000000006044820152606401610641565b610b2a8282612309565b63ffffffff81165f90815260cb60209081526040918290205484519251909261125a92909101614039565b60405160208183030381529060405280519060200120146112e35760405162461bcd60e51b815260206004820152603d60248201527f737570706c696564207461736b20646f6573206e6f74206d617463682074686560448201527f206f6e65207265636f7264656420696e2074686520636f6e74726163740000006064820152608401610641565b81516040015163ffffffff4281169116116113335760405162461bcd60e51b815260206004820152601060248201526f15185cdac81a185cc8195e1c1a5c995960821b6044820152606401610641565b6040805160c0810182528351518201519181019182528351516080908101516001600160a01b03166060830152845160209081015163ffffffff1682840152600160a08401529282528285015192820192909252835190910151515f906001600160401b038111156113a7576113a761340d565b6040519080825280602002602001820160405280156113d0578160200160208202803683370190505b5090505f5b8151811015611433578451608001518051829081106113f6576113f6613d36565b60200260200101515f015182828151811061141357611413613d36565b6001600160a01b03909216602092830291909101909101526001016113d5565b5061143e8282612357565b63ffffffff83165f81815260cb602052604080822091909155517fa5be567caa88ff11b6da2cf017f9cefffcafa24111a9ecbf0b0bc476944f0f099061148590879061404b565b60405180910390a250505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146114db5760405162461bcd60e51b815260040161064190613ebc565b61065381612477565b60ce81815481106114f3575f80fd5b5f918252602090912060029091020180546001820180546001600160a01b0390921693509061152190613d4a565b80601f016020809104026020016040519081016040528092919081815260200182805461154d90613d4a565b80156115985780601f1061156f57610100808354040283529160200191611598565b820191905f5260205f20905b81548152906001019060200180831161157b57829003601f168201915b5050505050905082565b6115ab33610ce2565b6115c75760405162461bcd60e51b815260040161064190613e8f565b610653816124ea565b5f5f836040516020016115e391906140ce565b60405160208183030381529060405290506115fe8184612536565b949350505050565b60608160405160200161161991906140ce565b6040516020818303038152906040529050919050565b60808201516001600160a01b031633146116f3575f8260405160200161165591906140ce565b60405160208183030381529060405290505f6116718284612536565b905083608001516001600160a01b0316816001600160a01b0316146116f05760405162461bcd60e51b815260206004820152602f60248201527f5369676e6572206f6620726571756573745369676e6174757265206973206e6f60448201526e3a103932b8bab2b9ba1737bbb732b960891b6064820152608401610641565b50505b5f611702836060015142612576565b60ca5490915063ffffffff650100000000009091048116908216111561176a5760405162461bcd60e51b815260206004820152601e60248201527f526571756573742074696d657374616d7020746f6f20666172206177617900006044820152606401610641565b6040805161016081018252606060c082018190525f60e08301819052610100830181905261012083018190526101408301819052928201839052808201839052608082015260a081019190915283815263ffffffff4281166020830181905260ca546117d79216906140f4565b63ffffffff1660408281019190915260ca54640100000000900460ff166060830152515f9061180a908390602001614039565b60408051808303601f19018152919052805160209091012060ca5490915061183d90640100000000900460ff16826125aa565b6080830152604051611853908390602001614039565b60408051601f19818403018152828252805160209182012060c9805463ffffffff9081165f90815260cb90945293909220555416907f7738d1b30deac7824a0580de02efde3bb766c7b7b5ea79da34869ebd887cebf3906118b5908590614039565b60405180910390a260c9546118d19063ffffffff1660016140f4565b60c9805463ffffffff191663ffffffff929092169190911790555050505050565b6040516398ec1ac960e01b81526001600160a01b0382811660048301525f9182917f000000000000000000000000000000000000000000000000000000000000000016906398ec1ac990602401602060405180830381865afa15801561195a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061197e9190614110565b90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166340bf2fb76040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119dd573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a019190614110565b909110159392505050565b6060611a16612947565b905090565b611a23611ce1565b6001600160a01b038116611a885760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610641565b610653816122b8565b60975f9054906101000a90046001600160a01b03166001600160a01b031663eab66d7a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ae1573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b059190613c6e565b6001600160a01b0316336001600160a01b031614611b355760405162461bcd60e51b815260040161064190613c89565b609854198119609854191614611bb35760405162461bcd60e51b815260206004820152603860248201527f5061757361626c652e756e70617573653a20696e76616c696420617474656d7060448201527f7420746f2070617573652066756e6374696f6e616c69747900000000000000006064820152608401610641565b609881905560405181815233907f3582d1828e26bf56bd801502bc021ac0bc8afb57c826e4986b45593c8fad389c90602001610788565b6001600160a01b038116611c785760405162461bcd60e51b815260206004820152604960248201527f5061757361626c652e5f73657450617573657252656769737472793a206e657760448201527f50617573657252656769737472792063616e6e6f7420626520746865207a65726064820152686f206164647265737360b81b608482015260a401610641565b609754604080516001600160a01b03928316815291831660208301527f6e9fcd539896fca60e8b0f01dd580233e48a6b0f7df013b89ba7f565869acdb6910160405180910390a1609780546001600160a01b0319166001600160a01b0392909216919091179055565b6033546001600160a01b0316331461104a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610641565b5f5b81811015611f2757828282818110611d5757611d57613d36565b9050602002810190611d699190614127565b611d7a9060408101906020016133db565b6001600160a01b03166323b872dd3330868686818110611d9c57611d9c613d36565b9050602002810190611dae9190614127565b604080516001600160e01b031960e087901b1681526001600160a01b039485166004820152939092166024840152013560448201526064016020604051808303815f875af1158015611e02573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e269190613cd3565b50828282818110611e3957611e39613d36565b9050602002810190611e4b9190614127565b611e5c9060408101906020016133db565b6001600160a01b031663095ea7b37f0000000000000000000000000000000000000000000000000000000000000000858585818110611e9d57611e9d613d36565b9050602002810190611eaf9190614127565b604080516001600160e01b031960e086901b1681526001600160a01b039093166004840152013560248201526044016020604051808303815f875af1158015611efa573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f1e9190613cd3565b50600101611d3d565b50604051630da22a8b60e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631b44551690611f7690859085906004016141d2565b5f604051808303815f87803b158015611f8d575f5ffd5b505af1158015610a7c573d5f5f3e3d5ffd5b60605f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631703a0186040518163ffffffff1660e01b81526004015f60405180830381865afa158015611ffd573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261202491908101906142e7565b8051519091505f816001600160401b038111156120435761204361340d565b60405190808252806020026020018201604052801561206c578160200160208202803683370190505b5090505f5b828110156120ca57835180518290811061208d5761208d613d36565b60200260200101515f01518282815181106120aa576120aa613d36565b6001600160a01b0390921660209283029190910190910152600101612071565b50604051639004134760e01b81525f906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063900413479061211b90899086906004016143e7565b5f60405180830381865afa158015612135573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261215c9190810190614445565b90505f836001600160401b038111156121775761217761340d565b6040519080825280602002602001820160405280156121a0578160200160208202803683370190505b5090505f5f5b858110156121e5575f8482815181106121c1576121c1613d36565b602002602001015111156121dd57816121d9816144d5565b9250505b6001016121a6565b505f816001600160401b038111156121ff576121ff61340d565b604051908082528060200260200182016040528015612228578160200160208202803683370190505b5090505f5b868110156122ab575f85828151811061224857612248613d36565b602002602001015111156122a35783818151811061226857612268613d36565b602002602001015182828151811061228257612282613d36565b60200260200101906001600160a01b031690816001600160a01b0316815250505b60010161222d565b5098975050505050505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b604051639926ee7d60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639926ee7d90611f7690859085906004016144ed565b5f8260200151511161239b5760405162461bcd60e51b815260206004820152600d60248201526c4e6f207369676e61747572657360981b6044820152606401610641565b5f6123a583612a7b565b90505f5b8251811015612471575f805b835181101561241a578483815181106123d0576123d0613d36565b60200260200101516001600160a01b03168482815181106123f3576123f3613d36565b60200260200101516001600160a01b031603612412576001915061241a565b6001016123b5565b50806124685760405162461bcd60e51b815260206004820152601a60248201527f4d697373696e67206174746573746f72207369676e61747572650000000000006044820152606401610641565b506001016123a9565b50505050565b6040516351b27a6d60e11b81526001600160a01b0382811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063a364f4da906024015b5f604051808303815f87803b1580156124d8575f5ffd5b505af115801561098e573d5f5f3e3d5ffd5b60405163a98fb35560e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a98fb355906124c1908490600401613c5c565b5f5f6125428451612b46565b8460405160200161255492919061454e565b6040516020818303038152906040528051906020012090506115fe8184612c6b565b5f8163ffffffff168363ffffffff1611612599576125948383614588565b6125a3565b6125a38284614588565b9392505050565b60ce5460609060ff841611156126025760405162461bcd60e51b815260206004820152601e60248201527f496e7465726e616c3a204e6f7420656e6f756768206f70657261746f727300006044820152606401610641565b5f60ce805480602002602001604051908101604052809291908181526020015f905b828210156126fa575f848152602090819020604080518082019091526002850290910180546001600160a01b03168252600181018054929391929184019161266b90613d4a565b80601f016020809104026020016040519081016040528092919081815260200182805461269790613d4a565b80156126e25780601f106126b9576101008083540402835291602001916126e2565b820191905f5260205f20905b8154815290600101906020018083116126c557829003601f168201915b50505050508152505081526020019060010190612624565b505082519293505f91505060ff86166001600160401b038111156127205761272061340d565b60405190808252806020026020018201604052801561276557816020015b604080518082019091525f81526060602082015281526020019060019003908161273e5790505b5090505f5b81518160ff16101561293d575f83116127eb5760405162461bcd60e51b815260206004820152603760248201527f496e7465726e616c3a204665657320746f6f206c6f772e204e6f206f7065726160448201527f746f7273206c65667420746f207069636b2066726f6d2e0000000000000000006064820152608401610641565b5f836128336127fd60ff85168a6145a4565b60408051446020808301919091524282840152606080830194909452825180830390940184526080909101909152815191012090565b61283d91906145cb565b90505f85828151811061285257612852613d36565b602002602001015190508560018661286a91906145de565b8151811061287a5761287a613d36565b602002602001015186838151811061289457612894613d36565b60209081029190910101526128aa6001866145de565b94506128b8815f01516118f2565b6128c357505061276a565b805f0151848460ff16815181106128dc576128dc613d36565b60200260200101515f01906001600160a01b031690816001600160a01b0316815250508060200151848460ff168151811061291957612919613d36565b6020026020010151602001819052508280612933906145f1565b935050505061276a565b5095945050505050565b60605f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631703a0186040518163ffffffff1660e01b81526004015f60405180830381865afa1580156129a5573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526129cc91908101906142e7565b90505f815f0151516001600160401b038111156129eb576129eb61340d565b604051908082528060200260200182016040528015612a14578160200160208202803683370190505b5090505f5b825151811015612a74578251805182908110612a3757612a37613d36565b60200260200101515f0151828281518110612a5457612a54613d36565b6001600160a01b0390921660209283029190910190910152600101612a19565b5092915050565b60605f612a8a835f0151612c85565b90505f8360200151516001600160401b03811115612aaa57612aaa61340d565b604051908082528060200260200182016040528015612ad3578160200160208202803683370190505b5090505f5b846020015151811015612b3e57612b0c8386602001518381518110612aff57612aff613d36565b6020026020010151612536565b828281518110612b1e57612b1e613d36565b6001600160a01b0390921660209283029190910190910152600101612ad8565b509392505050565b6060815f03612b6c5750506040805180820190915260018152600360fc1b602082015290565b815f5b8115612b955780612b7f816144d5565b9150612b8e9050600a8361460f565b9150612b6f565b5f816001600160401b03811115612bae57612bae61340d565b6040519080825280601f01601f191660200182016040528015612bd8576020820181803683370190505b509050815b8515612c6257612bee6001826145de565b90505f612bfc600a8861460f565b612c0790600a614622565b612c1190886145de565b612c1c906030614639565b90505f8160f81b905080848481518110612c3857612c38613d36565b60200101906001600160f81b03191690815f1a905350612c59600a8961460f565b97505050612bdd565b50949350505050565b5f5f5f612c788585612cf4565b91509150612b3e81612d5f565b6060612cb4825f0151604051602001612ca091815260200190565b604051602081830303815290604052612f14565b612cc183602001516130c9565b612cd4846040015163ffffffff16612b46565b612ce18560600151612b46565b6040516020016116199493929190614652565b5f5f8251604103612d28576020830151604084015160608501515f1a612d1c87828585613224565b94509450505050612d58565b8251604003612d515760208301516040840151612d46868383613309565b935093505050612d58565b505f905060025b9250929050565b5f816004811115612d7257612d726146a8565b03612d7a5750565b6001816004811115612d8e57612d8e6146a8565b03612ddb5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610641565b6002816004811115612def57612def6146a8565b03612e3c5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610641565b6003816004811115612e5057612e506146a8565b03612ea85760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610641565b6004816004811115612ebc57612ebc6146a8565b036106535760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b6064820152608401610641565b60605f82516002612f259190614622565b6001600160401b03811115612f3c57612f3c61340d565b6040519080825280601f01601f191660200182016040528015612f66576020820181803683370190505b5060408051808201909152601081526f181899199a1a9b1b9c1cb0b131b232b360811b60208201529091505f5b845181101561309f57818251868381518110612fb157612fb1613d36565b0160200151612fc3919060f81c61460f565b81518110612fd357612fd3613d36565b01602001516001600160f81b03191683612fee836002614622565b81518110612ffe57612ffe613d36565b60200101906001600160f81b03191690815f1a90535081825186838151811061302957613029613d36565b016020015161303b919060f81c6145cb565b8151811061304b5761304b613d36565b01602001516001600160f81b03191683613066836002614622565b6130719060016145a4565b8151811061308157613081613d36565b60200101906001600160f81b03191690815f1a905350600101612f93565b50816040516020016130b191906146bc565b60405160208183030381529060405292505050919050565b60408051602880825260608281019093525f91906020820181803683370190505090505f5b60148110156131fb575f6131038260136145de565b61310e906008614622565b6131199060026147ad565b61312c906001600160a01b03871661460f565b60f81b90505f60108260f81c61314291906147b8565b60f81b90505f8160f81c601061315891906147d9565b8360f81c61316691906147f5565b60f81b905061317482613342565b85613180866002614622565b8151811061319057613190613d36565b60200101906001600160f81b03191690815f1a9053506131af81613342565b856131bb866002614622565b6131c69060016145a4565b815181106131d6576131d6613d36565b60200101906001600160f81b03191690815f1a90535050600190920191506130ee9050565b508060405160200161320d91906146bc565b604051602081830303815290604052915050919050565b5f807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561325957505f90506003613300565b8460ff16601b1415801561327157508460ff16601c14155b1561328157505f90506004613300565b604080515f8082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa1580156132d2573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b0381166132fa575f60019250925050613300565b91505f90505b94509492505050565b5f806001600160ff1b0383168161332560ff86901c601b6145a4565b905061333387828885613224565b9350935050505b935093915050565b5f600a60f883901c10156133685761335f60f883901c6030614639565b60f81b92915050565b61335f60f883901c6057614639565b919050565b50805461338890613d4a565b5f825580601f10613397575050565b601f0160209004905f5260205f209061065391905f5b808211156133c2575f818401556001016133ad565b505090565b6001600160a01b0381168114610653575f5ffd5b5f602082840312156133eb575f5ffd5b81356125a3816133c7565b5f60208284031215613406575f5ffd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b604080519081016001600160401b03811182821017156134435761344361340d565b60405290565b604051606081016001600160401b03811182821017156134435761344361340d565b60405160c081016001600160401b03811182821017156134435761344361340d565b604051602081016001600160401b03811182821017156134435761344361340d565b604051601f8201601f191681016001600160401b03811182821017156134d7576134d761340d565b604052919050565b5f82601f8301126134ee575f5ffd5b8135602083015f5f6001600160401b0384111561350d5761350d61340d565b50601f8301601f1916602001613522816134af565b915050828152858383011115613536575f5ffd5b828260208301375f92810160200192909252509392505050565b5f60408284031215613560575f5ffd5b613568613421565b90508135613575816133c7565b815260208201356001600160401b0381111561358f575f5ffd5b61359b848285016134df565b60208301525092915050565b5f602082840312156135b7575f5ffd5b81356001600160401b038111156135cc575f5ffd5b6115fe84828501613550565b5f5f602083850312156135e9575f5ffd5b82356001600160401b038111156135fe575f5ffd5b8301601f8101851361360e575f5ffd5b80356001600160401b03811115613623575f5ffd5b8560208260051b8401011115613637575f5ffd5b6020919091019590945092505050565b8015158114610653575f5ffd5b5f5f60408385031215613665575f5ffd5b8235613670816133c7565b9150602083013561368081613647565b809150509250929050565b803563ffffffff81168114613377575f5ffd5b803560ff81168114613377575f5ffd5b5f60608284031280156136bf575f5ffd5b506136c8613449565b6136d18361368b565b81526136df6020840161369e565b60208201526136f06040840161368b565b60408201529392505050565b5f6020828403121561370c575f5ffd5b6125a38261368b565b602080825282518282018190525f918401906040840190835b818110156137555783516001600160a01b031683526020938401939092019160010161372e565b509095945050505050565b5f60208284031215613770575f5ffd5b6125a38261369e565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b60018060a01b0381511682525f6020820151604060208501526115fe6040850182613779565b602081525f6125a360208301846137a7565b5f5f604083850312156137f0575f5ffd5b82356137fb816133c7565b915060208301356001600160401b03811115613815575f5ffd5b830160608186031215613826575f5ffd5b61382e613449565b81356001600160401b03811115613843575f5ffd5b61384f878285016134df565b8252506020828101359082015260409182013591810191909152919491935090915050565b5f60a08284031215613884575f5ffd5b60405160a081016001600160401b03811182821017156138a6576138a661340d565b60405290508082356001600160401b038111156138c1575f5ffd5b6138cd858286016134df565b82525060208381013590820152604080840135908201526138f06060840161368b565b60608201526080830135613903816133c7565b6080919091015292915050565b5f6001600160401b038211156139285761392861340d565b5060051b60200190565b5f82601f830112613941575f5ffd5b813561395461394f82613910565b6134af565b8082825260208201915060208360051b860101925085831115613975575f5ffd5b602085015b8381101561293d5780356001600160401b03811115613997575f5ffd5b6139a6886020838a0101613550565b8452506020928301920161397a565b5f82601f8301126139c4575f5ffd5b81356139d261394f82613910565b8082825260208201915060208360051b8601019250858311156139f3575f5ffd5b602085015b8381101561293d5780356001600160401b03811115613a15575f5ffd5b613a24886020838a01016134df565b845250602092830192016139f8565b5f5f60408385031215613a44575f5ffd5b82356001600160401b03811115613a59575f5ffd5b830160408186031215613a6a575f5ffd5b613a72613421565b81356001600160401b03811115613a87575f5ffd5b820160c08188031215613a98575f5ffd5b613aa061346b565b81356001600160401b03811115613ab5575f5ffd5b613ac189828501613874565b825250613ad06020830161368b565b6020820152613ae16040830161368b565b6040820152613af26060830161369e565b606082015260808201356001600160401b03811115613b0f575f5ffd5b613b1b89828501613932565b60808301525060a09182013591810191909152815260208201356001600160401b03811115613b48575f5ffd5b613b54878285016139b5565b6020830152508093505050613b6b6020840161368b565b90509250929050565b6001600160a01b03831681526040602082018190525f906115fe90830184613779565b5f60208284031215613ba7575f5ffd5b81356001600160401b03811115613bbc575f5ffd5b6115fe848285016134df565b5f5f60408385031215613bd9575f5ffd5b82356001600160401b03811115613bee575f5ffd5b613bfa85828601613874565b92505060208301356001600160401b03811115613c15575f5ffd5b613c21858286016134df565b9150509250929050565b5f60208284031215613c3b575f5ffd5b81356001600160401b03811115613c50575f5ffd5b6115fe84828501613874565b602081525f6125a36020830184613779565b5f60208284031215613c7e575f5ffd5b81516125a3816133c7565b6020808252602a908201527f6d73672e73656e646572206973206e6f74207065726d697373696f6e6564206160408201526939903ab73830bab9b2b960b11b606082015260800190565b5f60208284031215613ce3575f5ffd5b81516125a381613647565b60208082526028908201527f6d73672e73656e646572206973206e6f74207065726d697373696f6e6564206160408201526739903830bab9b2b960c11b606082015260800190565b634e487b7160e01b5f52603260045260245ffd5b600181811c90821680613d5e57607f821691505b602082108103613d7c57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115613dd05782821115613dd057805f5260205f20601f840160051c6020851015613dad57505f5b90810190601f840160051c035f5b81811015610a7c575f83820155600101613dbb565b505050565b81516001600160401b03811115613dee57613dee61340d565b613e0281613dfc8454613d4a565b84613d82565b6020601f821160018114613e34575f8315613e1d5750848201515b5f19600385901b1c1916600184901b17845561098e565b5f84815260208120601f198516915b82811015613e635787850151825560209485019460019092019101613e43565b5084821015613e8057868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b60208082526013908201527221b0b63632b91034b9903737ba1030b236b4b760691b604082015260600190565b6020808252604a908201527f4543445341536572766963654d616e61676572426173652e6f6e6c795374616b60408201527f6552656769737472793a2063616c6c6572206973206e6f7420746865207374616060820152696b65526567697374727960b01b608082015260a00190565b5f815160a08452613f4060a0850182613779565b602084810151908601526040808501519086015260608085015163ffffffff16908601526080938401516001600160a01b031693909401929092525090919050565b5f815160c08452613f9660c0850182613f2c565b905063ffffffff602084015116602085015263ffffffff604084015116604085015260ff60608401511660608501526080830151848203608086015281815180845260208401915060208160051b8501016020840193505f5b8281101561402057601f1986830301845261400b8286516137a7565b60209586019594909401939150600101613fef565b5060a087015160a0890152809550505050505092915050565b602081525f6125a36020830184613f82565b602081525f8251604060208401526140666060840182613f82565b602085810151858303601f19016040870152805180845292935081019181840191600582901b8501015f5b828110156140c257601f198683030184526140ad828651613779565b60209586019594909401939150600101614091565b50979650505050505050565b602081525f6125a36020830184613f2c565b634e487b7160e01b5f52601160045260245ffd5b63ffffffff8181168382160190811115610ddc57610ddc6140e0565b5f60208284031215614120575f5ffd5b5051919050565b5f8235609e1983360301811261413b575f5ffd5b9190910192915050565b8035613377816133c7565b6bffffffffffffffffffffffff81168114610653575f5ffd5b8183526020830192505f815f5b848110156141c8578135614189816133c7565b6001600160a01b0316865260208201356141a281614150565b6bffffffffffffffffffffffff1660208701526040958601959190910190600101614176565b5093949350505050565b602080825281018290525f6040600584901b830181019083018583609e1936839003015b878210156142da57868503603f190184528235818112614214575f5ffd5b8901803536829003601e1901811261422a575f5ffd5b81016020810190356001600160401b03811115614245575f5ffd5b8060061b3603821315614256575f5ffd5b60a0885261426860a089018284614169565b91505061427760208301614145565b6001600160a01b031660208801526040828101359088015261429b6060830161368b565b63ffffffff1660608801526142b26080830161368b565b63ffffffff8116608089015291509550506020938401939290920191600191909101906141f6565b5092979650505050505050565b5f602082840312156142f7575f5ffd5b81516001600160401b0381111561430c575f5ffd5b82016020818503121561431d575f5ffd5b61432561348d565b81516001600160401b0381111561433a575f5ffd5b80830192505084601f83011261434e575f5ffd5b815161435c61394f82613910565b8082825260208201915060208360061b86010192508783111561437d575f5ffd5b6020850194505b828510156143da576040858903121561439b575f5ffd5b6143a3613421565b85516143ae816133c7565b815260208601516143be81614150565b8060208301525080835250602082019150604085019450614384565b8352509095945050505050565b6001600160a01b03831681526040602080830182905283519183018290525f91908401906060840190835b818110156144395783516001600160a01b0316835260209384019390920191600101614412565b50909695505050505050565b5f60208284031215614455575f5ffd5b81516001600160401b0381111561446a575f5ffd5b8201601f8101841361447a575f5ffd5b805161448861394f82613910565b8082825260208201915060208360051b8501019250868311156144a9575f5ffd5b6020840193505b828410156144cb5783518252602093840193909101906144b0565b9695505050505050565b5f600182016144e6576144e66140e0565b5060010190565b60018060a01b0383168152604060208201525f82516060604084015261451660a0840182613779565b90506020840151606084015260408401516080840152809150509392505050565b5f81518060208401855e5f93019283525090919050565b7f19457468657265756d205369676e6564204d6573736167653a0a00000000000081525f6115fe614582601a840186614537565b84614537565b63ffffffff8281168282160390811115610ddc57610ddc6140e0565b80820180821115610ddc57610ddc6140e0565b634e487b7160e01b5f52601260045260245ffd5b5f826145d9576145d96145b7565b500690565b81810381811115610ddc57610ddc6140e0565b5f60ff821660ff8103614606576146066140e0565b60010192915050565b5f8261461d5761461d6145b7565b500490565b8082028115828204841417610ddc57610ddc6140e0565b60ff8181168382160190811115610ddc57610ddc6140e0565b5f61465d8287614537565b600560f91b81526146716001820187614537565b600560f91b815290506146876001820186614537565b600560f91b8152905061469d6001820185614537565b979650505050505050565b634e487b7160e01b5f52602160045260245ffd5b61060f60f31b81525f6125a36002830184614537565b6001815b600184111561333a578085048111156146f1576146f16140e0565b60018416156146ff57908102905b60019390931c9280026146d6565b5f8261471b57506001610ddc565b8161472757505f610ddc565b816001811461473d576002811461474757614763565b6001915050610ddc565b60ff841115614758576147586140e0565b50506001821b610ddc565b5060208310610133831016604e8410600b8410161715614786575081810a610ddc565b6147925f1984846146d2565b805f19048211156147a5576147a56140e0565b029392505050565b5f6125a3838361470d565b5f60ff8316806147ca576147ca6145b7565b8060ff84160491505092915050565b60ff8181168382160290811690818114612a7457612a746140e0565b60ff8281168282160390811115610ddc57610ddc6140e056fea2646970667358221220a51eaf07872263397e28bcc5982530f164b46c95f25372731d7576b5e5498adf64736f6c63430008210033";
1140
+ const isSuperArgs = (xs) => xs.length > 1;
1141
+ class ReclaimServiceManager__factory extends ContractFactory {
1142
+ constructor(...args) {
1143
+ if (isSuperArgs(args)) {
1144
+ super(...args);
1145
+ } else {
1146
+ super(_abi, _bytecode, args[0]);
1147
+ }
1148
+ }
1149
+ getDeployTransaction(_avsDirectory, _stakeRegistry, _delegationManager, overrides) {
1150
+ return super.getDeployTransaction(
1151
+ _avsDirectory,
1152
+ _stakeRegistry,
1153
+ _delegationManager,
1154
+ overrides || {}
1155
+ );
1156
+ }
1157
+ deploy(_avsDirectory, _stakeRegistry, _delegationManager, overrides) {
1158
+ return super.deploy(
1159
+ _avsDirectory,
1160
+ _stakeRegistry,
1161
+ _delegationManager,
1162
+ overrides || {}
1163
+ );
1164
+ }
1165
+ connect(runner) {
1166
+ return super.connect(runner);
1167
+ }
1168
+ static bytecode = _bytecode;
1169
+ static abi = _abi;
1170
+ static createInterface() {
1171
+ return new Interface(_abi);
1172
+ }
1173
+ static connect(address, runner) {
1174
+ return new Contract(
1175
+ address,
1176
+ _abi,
1177
+ runner
1178
+ );
1179
+ }
1180
+ }
1181
+ export {
1182
+ ReclaimServiceManager__factory
1183
+ };