@joclaim/attestor-core 0.2.0 → 0.2.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 (420) hide show
  1. package/README.md +21 -15
  2. package/lib/avs/abis/avsDirectoryABI.d.ts +60 -0
  3. package/lib/avs/abis/avsDirectoryABI.js +340 -0
  4. package/lib/avs/abis/delegationABI.d.ts +126 -0
  5. package/lib/avs/abis/delegationABI.js +1 -0
  6. package/lib/avs/abis/registryABI.d.ts +136 -0
  7. package/lib/avs/abis/registryABI.js +725 -0
  8. package/lib/avs/client/create-claim-on-avs.d.ts +12 -0
  9. package/lib/avs/client/create-claim-on-avs.js +138 -0
  10. package/lib/avs/config.d.ts +7 -0
  11. package/lib/avs/config.js +20 -0
  12. package/lib/avs/contracts/ReclaimServiceManager.d.ts +697 -0
  13. package/lib/avs/contracts/ReclaimServiceManager.js +1 -0
  14. package/lib/avs/contracts/common.d.ts +21 -0
  15. package/lib/avs/contracts/common.js +1 -0
  16. package/lib/avs/contracts/factories/ReclaimServiceManager__factory.d.ts +888 -0
  17. package/lib/avs/contracts/factories/ReclaimServiceManager__factory.js +1169 -0
  18. package/lib/avs/contracts/factories/index.d.ts +1 -0
  19. package/{src/avs/contracts/factories/index.ts → lib/avs/contracts/factories/index.js} +1 -1
  20. package/{src/avs/contracts/index.ts → lib/avs/contracts/index.d.ts} +0 -3
  21. package/lib/avs/contracts/index.js +2 -0
  22. package/lib/avs/types/index.d.ts +55 -0
  23. package/lib/avs/types/index.js +1 -0
  24. package/lib/avs/utils/contracts.d.ts +21 -0
  25. package/lib/avs/utils/contracts.js +33 -0
  26. package/lib/avs/utils/register.d.ts +27 -0
  27. package/lib/avs/utils/register.js +78 -0
  28. package/lib/avs/utils/tasks.d.ts +22 -0
  29. package/lib/avs/utils/tasks.js +40 -0
  30. package/lib/client/create-claim.d.ts +5 -0
  31. package/lib/client/create-claim.js +437 -0
  32. package/lib/client/index.d.ts +3 -0
  33. package/lib/client/index.js +3 -0
  34. package/lib/client/tunnels/make-rpc-tcp-tunnel.d.ts +16 -0
  35. package/lib/client/tunnels/make-rpc-tcp-tunnel.js +51 -0
  36. package/lib/client/tunnels/make-rpc-tls-tunnel.d.ts +26 -0
  37. package/lib/client/tunnels/make-rpc-tls-tunnel.js +131 -0
  38. package/lib/client/utils/attestor-pool.d.ts +8 -0
  39. package/lib/client/utils/attestor-pool.js +25 -0
  40. package/lib/client/utils/client-socket.d.ts +11 -0
  41. package/lib/client/utils/client-socket.js +98 -0
  42. package/lib/client/utils/message-handler.d.ts +4 -0
  43. package/lib/client/utils/message-handler.js +87 -0
  44. package/lib/config/index.d.ts +30 -0
  45. package/lib/config/index.js +43 -0
  46. package/lib/external-rpc/benchmark.d.ts +1 -0
  47. package/lib/external-rpc/benchmark.js +69 -0
  48. package/lib/external-rpc/event-bus.d.ts +7 -0
  49. package/lib/external-rpc/event-bus.js +14 -0
  50. package/lib/external-rpc/handle-incoming-msg.d.ts +2 -0
  51. package/lib/external-rpc/handle-incoming-msg.js +233 -0
  52. package/lib/external-rpc/index.d.ts +3 -0
  53. package/lib/external-rpc/index.js +3 -0
  54. package/lib/external-rpc/jsc-polyfills/1.d.ts +14 -0
  55. package/lib/external-rpc/jsc-polyfills/1.js +82 -0
  56. package/lib/external-rpc/jsc-polyfills/2.d.ts +1 -0
  57. package/lib/external-rpc/jsc-polyfills/2.js +20 -0
  58. package/lib/external-rpc/jsc-polyfills/event.d.ts +10 -0
  59. package/lib/external-rpc/jsc-polyfills/event.js +14 -0
  60. package/lib/external-rpc/jsc-polyfills/index.d.ts +2 -0
  61. package/lib/external-rpc/jsc-polyfills/index.js +2 -0
  62. package/lib/external-rpc/jsc-polyfills/ws.d.ts +21 -0
  63. package/lib/external-rpc/jsc-polyfills/ws.js +81 -0
  64. package/lib/external-rpc/setup-browser.d.ts +6 -0
  65. package/lib/external-rpc/setup-browser.js +33 -0
  66. package/lib/external-rpc/setup-jsc.d.ts +24 -0
  67. package/lib/external-rpc/setup-jsc.js +22 -0
  68. package/lib/external-rpc/types.d.ts +213 -0
  69. package/lib/external-rpc/types.js +1 -0
  70. package/lib/external-rpc/utils.d.ts +20 -0
  71. package/lib/external-rpc/utils.js +100 -0
  72. package/lib/external-rpc/zk.d.ts +14 -0
  73. package/lib/external-rpc/zk.js +63 -0
  74. package/lib/index.d.ts +9 -0
  75. package/lib/index.js +9 -0
  76. package/lib/mechain/abis/governanceABI.d.ts +50 -0
  77. package/lib/mechain/abis/governanceABI.js +458 -0
  78. package/lib/mechain/abis/taskABI.d.ts +157 -0
  79. package/lib/mechain/abis/taskABI.js +509 -0
  80. package/lib/mechain/client/create-claim-on-mechain.d.ts +10 -0
  81. package/lib/mechain/client/create-claim-on-mechain.js +28 -0
  82. package/lib/mechain/client/index.d.ts +1 -0
  83. package/lib/mechain/client/index.js +1 -0
  84. package/lib/mechain/constants/index.d.ts +3 -0
  85. package/{src/mechain/constants/index.ts → lib/mechain/constants/index.js} +3 -5
  86. package/lib/mechain/index.d.ts +2 -0
  87. package/lib/mechain/index.js +2 -0
  88. package/lib/mechain/types/index.d.ts +23 -0
  89. package/lib/mechain/types/index.js +1 -0
  90. package/lib/proto/api.d.ts +633 -0
  91. package/lib/proto/api.js +4258 -0
  92. package/lib/proto/tee-bundle.d.ts +135 -0
  93. package/lib/proto/tee-bundle.js +1161 -0
  94. package/lib/providers/http/index.d.ts +18 -0
  95. package/lib/providers/http/index.js +658 -0
  96. package/lib/providers/http/patch-parse5-tree.d.ts +6 -0
  97. package/lib/providers/http/patch-parse5-tree.js +33 -0
  98. package/lib/providers/http/utils.d.ts +77 -0
  99. package/lib/providers/http/utils.js +324 -0
  100. package/lib/providers/index.d.ts +4 -0
  101. package/lib/providers/index.js +4 -0
  102. package/lib/scripts/build-browser.d.ts +1 -0
  103. package/lib/scripts/build-browser.js +37 -0
  104. package/lib/scripts/build-jsc.d.ts +1 -0
  105. package/lib/scripts/build-jsc.js +49 -0
  106. package/lib/scripts/check-avs-registration.d.ts +1 -0
  107. package/lib/scripts/check-avs-registration.js +26 -0
  108. package/lib/scripts/fallbacks/crypto.d.ts +1 -0
  109. package/lib/scripts/fallbacks/crypto.js +1 -0
  110. package/lib/scripts/fallbacks/empty.d.ts +3 -0
  111. package/lib/scripts/fallbacks/empty.js +1 -0
  112. package/lib/scripts/fallbacks/re2.d.ts +1 -0
  113. package/lib/scripts/fallbacks/re2.js +4 -0
  114. package/lib/scripts/fallbacks/snarkjs.d.ts +1 -0
  115. package/lib/scripts/fallbacks/snarkjs.js +1 -0
  116. package/lib/scripts/generate-provider-types.d.ts +5 -0
  117. package/lib/scripts/generate-provider-types.js +78 -0
  118. package/lib/scripts/generate-receipt.d.ts +9 -0
  119. package/lib/scripts/generate-receipt.js +90 -0
  120. package/lib/scripts/generate-toprf-keys.d.ts +1 -0
  121. package/lib/scripts/generate-toprf-keys.js +20 -0
  122. package/lib/scripts/jsc-cli-rpc.d.ts +1 -0
  123. package/lib/scripts/jsc-cli-rpc.js +37 -0
  124. package/lib/scripts/register-avs-operator.d.ts +1 -0
  125. package/lib/scripts/register-avs-operator.js +4 -0
  126. package/lib/scripts/start-server.d.ts +1 -0
  127. package/lib/scripts/start-server.js +13 -0
  128. package/lib/scripts/update-avs-metadata.d.ts +1 -0
  129. package/lib/scripts/update-avs-metadata.js +19 -0
  130. package/lib/scripts/utils.d.ts +1 -0
  131. package/lib/scripts/utils.js +7 -0
  132. package/lib/scripts/whitelist-operator.d.ts +1 -0
  133. package/lib/scripts/whitelist-operator.js +15 -0
  134. package/lib/server/create-server.d.ts +7 -0
  135. package/lib/server/create-server.js +122 -0
  136. package/lib/server/handlers/claimTeeBundle.d.ts +6 -0
  137. package/lib/server/handlers/claimTeeBundle.js +206 -0
  138. package/lib/server/handlers/claimTunnel.d.ts +2 -0
  139. package/lib/server/handlers/claimTunnel.js +73 -0
  140. package/lib/server/handlers/completeClaimOnChain.d.ts +2 -0
  141. package/lib/server/handlers/completeClaimOnChain.js +22 -0
  142. package/lib/server/handlers/createClaimOnChain.d.ts +2 -0
  143. package/lib/server/handlers/createClaimOnChain.js +26 -0
  144. package/lib/server/handlers/createTaskOnMechain.d.ts +2 -0
  145. package/lib/server/handlers/createTaskOnMechain.js +47 -0
  146. package/lib/server/handlers/createTunnel.d.ts +2 -0
  147. package/lib/server/handlers/createTunnel.js +93 -0
  148. package/lib/server/handlers/disconnectTunnel.d.ts +2 -0
  149. package/lib/server/handlers/disconnectTunnel.js +5 -0
  150. package/lib/server/handlers/fetchCertificateBytes.d.ts +2 -0
  151. package/lib/server/handlers/fetchCertificateBytes.js +41 -0
  152. package/lib/server/handlers/index.d.ts +4 -0
  153. package/lib/server/handlers/index.js +22 -0
  154. package/lib/server/handlers/init.d.ts +2 -0
  155. package/lib/server/handlers/init.js +30 -0
  156. package/lib/server/handlers/toprf.d.ts +2 -0
  157. package/lib/server/handlers/toprf.js +16 -0
  158. package/lib/server/index.d.ts +4 -0
  159. package/lib/server/index.js +4 -0
  160. package/lib/server/provider-api.d.ts +9 -0
  161. package/lib/server/provider-api.js +98 -0
  162. package/lib/server/provider-store.d.ts +53 -0
  163. package/lib/server/provider-store.js +80 -0
  164. package/lib/server/session-api.d.ts +9 -0
  165. package/lib/server/session-api.js +95 -0
  166. package/lib/server/session-store.d.ts +14 -0
  167. package/lib/server/session-store.js +36 -0
  168. package/lib/server/socket.d.ts +13 -0
  169. package/lib/server/socket.js +109 -0
  170. package/lib/server/tunnels/make-tcp-tunnel.d.ts +22 -0
  171. package/lib/server/tunnels/make-tcp-tunnel.js +177 -0
  172. package/lib/server/utils/apm.d.ts +11 -0
  173. package/lib/server/utils/apm.js +36 -0
  174. package/lib/server/utils/assert-valid-claim-request.d.ts +31 -0
  175. package/lib/server/utils/assert-valid-claim-request.js +229 -0
  176. package/lib/server/utils/config-env.d.ts +1 -0
  177. package/lib/server/utils/config-env.js +4 -0
  178. package/lib/server/utils/dns.d.ts +1 -0
  179. package/lib/server/utils/dns.js +18 -0
  180. package/lib/server/utils/gcp-attestation.d.ts +17 -0
  181. package/lib/server/utils/gcp-attestation.js +289 -0
  182. package/lib/server/utils/generics.d.ts +22 -0
  183. package/lib/server/utils/generics.js +51 -0
  184. package/lib/server/utils/iso.d.ts +1 -0
  185. package/lib/server/utils/iso.js +256 -0
  186. package/lib/server/utils/keep-alive.d.ts +7 -0
  187. package/lib/server/utils/keep-alive.js +38 -0
  188. package/lib/server/utils/nitro-attestation.d.ts +33 -0
  189. package/lib/server/utils/nitro-attestation.js +325 -0
  190. package/lib/server/utils/process-handshake.d.ts +13 -0
  191. package/lib/server/utils/process-handshake.js +214 -0
  192. package/lib/server/utils/proxy-session.d.ts +1 -0
  193. package/lib/server/utils/proxy-session.js +6 -0
  194. package/lib/server/utils/tee-oprf-verification.d.ts +22 -0
  195. package/lib/server/utils/tee-oprf-verification.js +160 -0
  196. package/lib/server/utils/tee-transcript-reconstruction.d.ts +24 -0
  197. package/lib/server/utils/tee-transcript-reconstruction.js +187 -0
  198. package/lib/server/utils/tee-verification.d.ts +27 -0
  199. package/lib/server/utils/tee-verification.js +365 -0
  200. package/lib/server/utils/validation.d.ts +2 -0
  201. package/lib/server/utils/validation.js +38 -0
  202. package/lib/types/bgp.d.ts +11 -0
  203. package/lib/types/bgp.js +1 -0
  204. package/lib/types/claims.d.ts +73 -0
  205. package/lib/types/claims.js +1 -0
  206. package/lib/types/client.d.ts +163 -0
  207. package/lib/types/client.js +1 -0
  208. package/lib/types/general.d.ts +54 -0
  209. package/lib/types/general.js +1 -0
  210. package/lib/types/handlers.d.ts +10 -0
  211. package/lib/types/handlers.js +1 -0
  212. package/lib/types/index.d.ts +10 -0
  213. package/lib/types/index.js +10 -0
  214. package/lib/types/providers.d.ts +161 -0
  215. package/lib/types/providers.gen.d.ts +443 -0
  216. package/lib/types/providers.gen.js +10 -0
  217. package/lib/types/providers.js +1 -0
  218. package/lib/types/rpc.d.ts +35 -0
  219. package/lib/types/rpc.js +1 -0
  220. package/lib/types/signatures.d.ts +28 -0
  221. package/lib/types/signatures.js +1 -0
  222. package/lib/types/tunnel.d.ts +18 -0
  223. package/lib/types/tunnel.js +1 -0
  224. package/lib/types/zk.d.ts +28 -0
  225. package/lib/types/zk.js +1 -0
  226. package/lib/utils/auth.d.ts +8 -0
  227. package/lib/utils/auth.js +59 -0
  228. package/lib/utils/b64-json.d.ts +2 -0
  229. package/lib/utils/b64-json.js +17 -0
  230. package/lib/utils/bgp-listener.d.ts +7 -0
  231. package/lib/utils/bgp-listener.js +119 -0
  232. package/lib/utils/claims.d.ts +33 -0
  233. package/lib/utils/claims.js +101 -0
  234. package/lib/utils/env.d.ts +3 -0
  235. package/lib/utils/env.js +15 -0
  236. package/lib/utils/error.d.ts +26 -0
  237. package/lib/utils/error.js +50 -0
  238. package/lib/utils/generics.d.ts +114 -0
  239. package/lib/utils/generics.js +317 -0
  240. package/lib/utils/http-parser.d.ts +59 -0
  241. package/lib/utils/http-parser.js +246 -0
  242. package/lib/utils/index.d.ts +13 -0
  243. package/lib/utils/index.js +13 -0
  244. package/lib/utils/logger.d.ts +13 -0
  245. package/lib/utils/logger.js +91 -0
  246. package/lib/utils/prepare-packets.d.ts +16 -0
  247. package/lib/utils/prepare-packets.js +62 -0
  248. package/lib/utils/redactions.d.ts +62 -0
  249. package/lib/utils/redactions.js +148 -0
  250. package/lib/utils/retries.d.ts +12 -0
  251. package/lib/utils/retries.js +24 -0
  252. package/lib/utils/signatures/eth.d.ts +2 -0
  253. package/lib/utils/signatures/eth.js +29 -0
  254. package/lib/utils/signatures/index.d.ts +5 -0
  255. package/lib/utils/signatures/index.js +7 -0
  256. package/lib/utils/socket-base.d.ts +23 -0
  257. package/lib/utils/socket-base.js +90 -0
  258. package/lib/utils/tls.d.ts +2 -0
  259. package/{src/utils/tls.ts → lib/utils/tls.js} +28 -35
  260. package/lib/utils/ws.d.ts +7 -0
  261. package/lib/utils/ws.js +22 -0
  262. package/lib/utils/zk.d.ts +70 -0
  263. package/lib/utils/zk.js +572 -0
  264. package/package.json +19 -12
  265. package/src/avs/abis/avsDirectoryABI.ts +0 -340
  266. package/src/avs/abis/delegationABI.ts +0 -1
  267. package/src/avs/abis/registryABI.ts +0 -725
  268. package/src/avs/client/create-claim-on-avs.ts +0 -206
  269. package/src/avs/config.ts +0 -25
  270. package/src/avs/contracts/ReclaimServiceManager.ts +0 -1457
  271. package/src/avs/contracts/common.ts +0 -44
  272. package/src/avs/contracts/factories/ReclaimServiceManager__factory.ts +0 -1213
  273. package/src/avs/tests/test.operator.ts +0 -413
  274. package/src/avs/tests/utils.ts +0 -51
  275. package/src/avs/types/index.ts +0 -60
  276. package/src/avs/utils/contracts.ts +0 -66
  277. package/src/avs/utils/register.ts +0 -125
  278. package/src/avs/utils/tasks.ts +0 -76
  279. package/src/client/create-claim.ts +0 -626
  280. package/src/client/index.ts +0 -3
  281. package/src/client/tunnels/make-rpc-tcp-tunnel.ts +0 -78
  282. package/src/client/tunnels/make-rpc-tls-tunnel.ts +0 -172
  283. package/src/client/utils/attestor-pool.ts +0 -35
  284. package/src/client/utils/client-socket.ts +0 -160
  285. package/src/client/utils/message-handler.ts +0 -116
  286. package/src/config/index.ts +0 -65
  287. package/src/external-rpc/benchmark.ts +0 -102
  288. package/src/external-rpc/event-bus.ts +0 -19
  289. package/src/external-rpc/global.d.ts +0 -20
  290. package/src/external-rpc/handle-incoming-msg.ts +0 -308
  291. package/src/external-rpc/index.ts +0 -3
  292. package/src/external-rpc/jsc-polyfills/1.ts +0 -117
  293. package/src/external-rpc/jsc-polyfills/2.ts +0 -24
  294. package/src/external-rpc/jsc-polyfills/event.ts +0 -16
  295. package/src/external-rpc/jsc-polyfills/index.ts +0 -2
  296. package/src/external-rpc/jsc-polyfills/ws.ts +0 -105
  297. package/src/external-rpc/setup-browser.ts +0 -42
  298. package/src/external-rpc/setup-jsc.ts +0 -48
  299. package/src/external-rpc/types.ts +0 -289
  300. package/src/external-rpc/utils.ts +0 -126
  301. package/src/external-rpc/zk.ts +0 -79
  302. package/src/index.ts +0 -9
  303. package/src/mechain/abis/governanceABI.ts +0 -458
  304. package/src/mechain/abis/taskABI.ts +0 -509
  305. package/src/mechain/client/create-claim-on-mechain.ts +0 -52
  306. package/src/mechain/client/index.ts +0 -1
  307. package/src/mechain/index.ts +0 -2
  308. package/src/mechain/types/index.ts +0 -29
  309. package/src/proto/api.ts +0 -5285
  310. package/src/proto/tee-bundle.ts +0 -1413
  311. package/src/providers/http/index.ts +0 -873
  312. package/src/providers/http/patch-parse5-tree.ts +0 -49
  313. package/src/providers/http/utils.ts +0 -439
  314. package/src/providers/index.ts +0 -8
  315. package/src/scripts/build-browser.sh +0 -9
  316. package/src/scripts/build-browser.ts +0 -40
  317. package/src/scripts/build-jsc.ts +0 -55
  318. package/src/scripts/check-avs-registration.ts +0 -38
  319. package/src/scripts/contract-data-gen.sh +0 -8
  320. package/src/scripts/fallbacks/crypto.ts +0 -1
  321. package/src/scripts/fallbacks/empty.ts +0 -2
  322. package/src/scripts/fallbacks/re2.ts +0 -5
  323. package/src/scripts/fallbacks/snarkjs.ts +0 -5
  324. package/src/scripts/generate-certs.sh +0 -11
  325. package/src/scripts/generate-proto.sh +0 -5
  326. package/src/scripts/generate-provider-types.ts +0 -121
  327. package/src/scripts/generate-receipt.ts +0 -138
  328. package/src/scripts/generate-toprf-keys.ts +0 -30
  329. package/src/scripts/jsc-cli-rpc.ts +0 -48
  330. package/src/scripts/register-avs-operator.ts +0 -5
  331. package/src/scripts/start-server.ts +0 -17
  332. package/src/scripts/update-avs-metadata.ts +0 -26
  333. package/src/scripts/utils.ts +0 -8
  334. package/src/scripts/whitelist-operator.ts +0 -22
  335. package/src/server/create-server.ts +0 -169
  336. package/src/server/handlers/claimTeeBundle.ts +0 -308
  337. package/src/server/handlers/claimTunnel.ts +0 -106
  338. package/src/server/handlers/completeClaimOnChain.ts +0 -36
  339. package/src/server/handlers/createClaimOnChain.ts +0 -39
  340. package/src/server/handlers/createTaskOnMechain.ts +0 -80
  341. package/src/server/handlers/createTunnel.ts +0 -128
  342. package/src/server/handlers/disconnectTunnel.ts +0 -11
  343. package/src/server/handlers/fetchCertificateBytes.ts +0 -66
  344. package/src/server/handlers/index.ts +0 -24
  345. package/src/server/handlers/init.ts +0 -46
  346. package/src/server/handlers/toprf.ts +0 -25
  347. package/src/server/index.ts +0 -4
  348. package/src/server/provider-api.ts +0 -118
  349. package/src/server/provider-store.ts +0 -117
  350. package/src/server/session-api.ts +0 -115
  351. package/src/server/session-store.ts +0 -60
  352. package/src/server/socket.ts +0 -156
  353. package/src/server/tunnels/make-tcp-tunnel.ts +0 -275
  354. package/src/server/utils/apm.ts +0 -49
  355. package/src/server/utils/assert-valid-claim-request.ts +0 -375
  356. package/src/server/utils/config-env.ts +0 -6
  357. package/src/server/utils/dns.ts +0 -25
  358. package/src/server/utils/gcp-attestation.ts +0 -415
  359. package/src/server/utils/generics.ts +0 -68
  360. package/src/server/utils/iso.ts +0 -258
  361. package/src/server/utils/keep-alive.ts +0 -50
  362. package/src/server/utils/nitro-attestation.ts +0 -396
  363. package/src/server/utils/process-handshake.ts +0 -311
  364. package/src/server/utils/proxy-session.ts +0 -6
  365. package/src/server/utils/tee-oprf-verification.ts +0 -231
  366. package/src/server/utils/tee-transcript-reconstruction.ts +0 -254
  367. package/src/server/utils/tee-verification.ts +0 -513
  368. package/src/server/utils/validation.ts +0 -57
  369. package/src/tests/auth.test.ts +0 -105
  370. package/src/tests/bgp-listener.test.ts +0 -193
  371. package/src/tests/claim-creation.test.ts +0 -415
  372. package/src/tests/describe-with-server.ts +0 -94
  373. package/src/tests/gcp-attestation.test.ts +0 -206
  374. package/src/tests/http-parser.test.ts +0 -135
  375. package/src/tests/http-provider-utils.test.ts +0 -3306
  376. package/src/tests/http-provider.test.ts +0 -125
  377. package/src/tests/jsc.test_mac.ts +0 -296
  378. package/src/tests/mock-provider-server.ts +0 -106
  379. package/src/tests/mocks.ts +0 -25
  380. package/src/tests/proof_bundle.bin +0 -0
  381. package/src/tests/rpc-communication.test.ts +0 -115
  382. package/src/tests/rpc-tunnel.test.ts +0 -239
  383. package/src/tests/signatures.test.ts +0 -37
  384. package/src/tests/tcp-tunnel.test.ts +0 -154
  385. package/src/tests/tee-bundle.test.ts +0 -321
  386. package/src/tests/tee-signatures.test.ts +0 -81
  387. package/src/tests/utils.ts +0 -108
  388. package/src/tests/verification_bundle.pb +0 -0
  389. package/src/tests/verification_bundle_tee.pb +0 -0
  390. package/src/tests/zk.test.ts +0 -453
  391. package/src/types/bgp.ts +0 -17
  392. package/src/types/claims.ts +0 -79
  393. package/src/types/client.ts +0 -205
  394. package/src/types/general.ts +0 -61
  395. package/src/types/handlers.ts +0 -16
  396. package/src/types/index.ts +0 -10
  397. package/src/types/providers.gen.ts +0 -135
  398. package/src/types/providers.ts +0 -203
  399. package/src/types/rpc.ts +0 -46
  400. package/src/types/signatures.ts +0 -29
  401. package/src/types/tunnel.ts +0 -25
  402. package/src/types/zk.ts +0 -31
  403. package/src/utils/auth.ts +0 -92
  404. package/src/utils/b64-json.ts +0 -25
  405. package/src/utils/bgp-listener.ts +0 -159
  406. package/src/utils/claims.ts +0 -132
  407. package/src/utils/env.ts +0 -21
  408. package/src/utils/error.ts +0 -76
  409. package/src/utils/generics.ts +0 -429
  410. package/src/utils/http-parser.ts +0 -312
  411. package/src/utils/index.ts +0 -13
  412. package/src/utils/logger.ts +0 -114
  413. package/src/utils/prepare-packets.ts +0 -98
  414. package/src/utils/redactions.ts +0 -203
  415. package/src/utils/retries.ts +0 -41
  416. package/src/utils/signatures/eth.ts +0 -35
  417. package/src/utils/signatures/index.ts +0 -11
  418. package/src/utils/socket-base.ts +0 -132
  419. package/src/utils/ws.ts +0 -30
  420. package/src/utils/zk.ts +0 -908
@@ -0,0 +1,888 @@
1
+ import { Signer, ContractFactory, type Overrides } from "ethers";
2
+ import type { Provider, TransactionRequest } from "@ethersproject/providers";
3
+ import type { ReclaimServiceManager, ReclaimServiceManagerInterface } from "../ReclaimServiceManager.ts";
4
+ type ReclaimServiceManagerConstructorParams = [signer?: Signer] | ConstructorParameters<typeof ContractFactory>;
5
+ export declare class ReclaimServiceManager__factory extends ContractFactory {
6
+ constructor(...args: ReclaimServiceManagerConstructorParams);
7
+ deploy(_avsDirectory: string, _stakeRegistry: string, _delegationManager: string, overrides?: Overrides & {
8
+ from?: string;
9
+ }): Promise<ReclaimServiceManager>;
10
+ getDeployTransaction(_avsDirectory: string, _stakeRegistry: string, _delegationManager: string, overrides?: Overrides & {
11
+ from?: string;
12
+ }): TransactionRequest;
13
+ attach(address: string): ReclaimServiceManager;
14
+ connect(signer: Signer): ReclaimServiceManager__factory;
15
+ static readonly bytecode = "0x61010060405234801561001157600080fd5b50604051614c04380380614c0483398101604081905261003091610146565b6001600160a01b0380841660a052808316608052600060c081905290821660e052839083908361005e61006a565b50505050505050610189565b600054610100900460ff16156100d65760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff9081161015610128576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b80516001600160a01b038116811461014157600080fd5b919050565b60008060006060848603121561015b57600080fd5b6101648461012a565b92506101726020850161012a565b91506101806040850161012a565b90509250925092565b60805160a05160c05160e0516149f561020f600039600061214c015260008181611ec30152611f990152600081816103ce015281816123930152818161250d015261257d0152600081816103a7015281816107e2015281816111cd015281816114dd01528181611960015281816119d10152818161200401526129d901526149f56000f3fe608060405234801561001057600080fd5b506004361061021c5760003560e01c8063715018a611610125578063a98fb355116100ad578063d5dba76d1161007c578063d5dba76d14610514578063e481af9d14610527578063f289a7fb1461052f578063f2fde38b14610582578063fabc1cbc1461059557600080fd5b8063a98fb355146104bb578063aa5b9cad146104ce578063abd3b6bd146104e1578063b224b9791461050157600080fd5b806394bb371b116100f457806394bb371b146104415780639926ee7d14610461578063a3524f9514610474578063a364f4da14610487578063a551c1b81461049a57600080fd5b8063715018a6146103f0578063886f1195146103f85780638b00ce7c1461040b5780638da5cb5b1461043057600080fd5b80632e8da829116101a85780635c975abb116101775780635c975abb14610374578063630868dc1461037c57806366d382031461038f57806368304835146103a25780636b3aa72e146103c957600080fd5b80632e8da8291461031657806333cfb7b714610329578063595c6a67146103495780635ac86ab71461035157600080fd5b80631b445516116101ef5780631b4455161461028c5780631be785ac1461029f5780631ee3ca10146102b257806324d7806c146102c55780632d89f6fc146102e857600080fd5b806310d67a2f14610221578063136439dd1461023657806314bfd6d01461024957806316bd83c314610279575b600080fd5b61023461022f36600461349a565b6105a8565b005b6102346102443660046134b7565b610664565b61025c6102573660046134b7565b6107a3565b6040516001600160a01b0390911681526020015b60405180910390f35b610234610287366004613674565b6107cd565b61023461029a3660046136a8565b610b35565b6102346102ad36600461372b565b610b4b565b6102346102c0366004613789565b610c44565b6102d86102d336600461349a565b610d03565b6040519015158152602001610270565b6103086102f63660046137d9565b60cb6020526000908152604090205481565b604051908152602001610270565b6102d861032436600461349a565b610d8c565b61033c61033736600461349a565b610df9565b60405161027091906137f4565b610234610e0a565b6102d861035f366004613840565b609854600160ff9092169190911b9081161490565b609854610308565b61025c61038a3660046134b7565b610ed1565b61023461039d36600461349a565b610ee1565b61025c7f000000000000000000000000000000000000000000000000000000000000000081565b61025c7f000000000000000000000000000000000000000000000000000000000000000081565b61023461106c565b60975461025c906001600160a01b031681565b60c95461041b9063ffffffff1681565b60405163ffffffff9091168152602001610270565b6033546001600160a01b031661025c565b61045461044f36600461349a565b611080565b60405161027091906138d2565b61023461046f3660046138e5565b6111c2565b610234610482366004613b4a565b611269565b61023461049536600461349a565b6114d2565b6104ad6104a83660046134b7565b611523565b604051610270929190613c94565b6102346104c9366004613cb8565b6115e5565b61025c6104dc366004613cec565b611613565b6104f46104ef366004613d53565b61164a565b6040516102709190613d87565b61023461050f366004613cec565b611673565b6102d861052236600461349a565b61193c565b61033c611a5c565b60ca546105599063ffffffff8082169160ff64010000000082041691650100000000009091041683565b6040805163ffffffff948516815260ff9093166020840152921691810191909152606001610270565b61023461059036600461349a565b611a6b565b6102346105a33660046134b7565b611ae1565b609760009054906101000a90046001600160a01b03166001600160a01b031663eab66d7a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061f9190613d9a565b6001600160a01b0316336001600160a01b0316146106585760405162461bcd60e51b815260040161064f90613db7565b60405180910390fd5b61066181611c3d565b50565b60975460405163237dfb4760e11b81523360048201526001600160a01b03909116906346fbf68e90602401602060405180830381865afa1580156106ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d09190613e01565b6106ec5760405162461bcd60e51b815260040161064f90613e1e565b609854818116146107655760405162461bcd60e51b815260206004820152603860248201527f5061757361626c652e70617573653a20696e76616c696420617474656d70742060448201527f746f20756e70617573652066756e6374696f6e616c6974790000000000000000606482015260840161064f565b609881905560405181815233907fab40a374bc51de372200a8bc981af8c9ecdc08dfdaef0bb6e09f88f3c616ef3d906020015b60405180910390a250565b60cd81815481106107b357600080fd5b6000918252602090912001546001600160a01b0316905081565b60405163ec7fbb3160e01b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ec7fbb3190602401602060405180830381865afa158015610831573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108559190613e01565b15156001146108a65760405162461bcd60e51b815260206004820152601b60248201527f4f70657261746f72206d757374206265207468652063616c6c65720000000000604482015260640161064f565b80516001600160a01b0316331461090e5760405162461bcd60e51b815260206004820152602660248201527f4d657461646174612061646472657373206d757374206d61746368207468652060448201526531b0b63632b960d11b606482015260840161064f565b6020810151511580156109f35760005b60ce548110156109b55782600001516001600160a01b031660ce828154811061094957610949613e66565b60009182526020909120600290910201546001600160a01b0316036109ad5760ce818154811061097b5761097b613e66565b60009182526020822060029091020180546001600160a01b0319168155906109a66001830182613437565b5050505050565b60010161091e565b5060405162461bcd60e51b815260206004820152601260248201527113dc195c985d1bdc881b9bdd08199bdd5b9960721b604482015260640161064f565b60005b60ce54811015610aa85782600001516001600160a01b031660ce8281548110610a2157610a21613e66565b60009182526020909120600290910201546001600160a01b031603610aa0578260ce8281548110610a5457610a54613e66565b600091825260209182902083516002929092020180546001600160a01b0319166001600160a01b03909216919091178155908201516001820190610a989082613f02565b505050505050565b6001016109f6565b5060ce805460018101825560009190915282517fd36cd1c74ef8d7326d8021b776c18fb5a5724b7f7bc93c2f42e43e10ef27d12a600290920291820180546001600160a01b0319166001600160a01b03909216919091178155602084015184927fd36cd1c74ef8d7326d8021b776c18fb5a5724b7f7bc93c2f42e43e10ef27d12b01906109a69082613f02565b610b3d611d34565b610b478282611d8e565b5050565b610b5433610d03565b610b705760405162461bcd60e51b815260040161064f90613fc0565b8015610bc75760cc80546001810182556000919091527f47197230e1e4b29fc0bd84d7d78966c0925452aff72a2a121538b102457e9ebe0180546001600160a01b0384166001600160a01b03199091161790555050565b60005b60cc548110156109b557826001600160a01b031660cc8281548110610bf157610bf1613e66565b6000918252602090912001546001600160a01b031603610c3c5760cc8181548110610c1e57610c1e613e66565b600091825260209091200180546001600160a01b0319169055505050565b600101610bca565b610c4d33610d03565b610c695760405162461bcd60e51b815260040161064f90613fc0565b805163ffffffff1615610c9257805160ca805463ffffffff191663ffffffff9092169190911790555b602081015160ff1615610cc557602081015160ca805460ff9092166401000000000264ff00000000199092169190911790555b604081015163ffffffff1615610661576040015160ca805463ffffffff909216650100000000000268ffffffff000000000019909216919091179055565b6000610d176033546001600160a01b031690565b6001600160a01b03163303610d2e57506001919050565b60005b60cd54811015610d8357826001600160a01b031660cd8281548110610d5857610d58613e66565b6000918252602090912001546001600160a01b031603610d7b5750600192915050565b600101610d31565b50600092915050565b6000610d9782610d03565b15610da457506001919050565b60005b60cc54811015610d8357826001600160a01b031660cc8281548110610dce57610dce613e66565b6000918252602090912001546001600160a01b031603610df15750600192915050565b600101610da7565b6060610e0482611ffe565b92915050565b60975460405163237dfb4760e11b81523360048201526001600160a01b03909116906346fbf68e90602401602060405180830381865afa158015610e52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e769190613e01565b610e925760405162461bcd60e51b815260040161064f90613e1e565b600019609881905560405190815233907fab40a374bc51de372200a8bc981af8c9ecdc08dfdaef0bb6e09f88f3c616ef3d9060200160405180910390a2565b60cc81815481106107b357600080fd5b600054610100900460ff1615808015610f015750600054600160ff909116105b80610f1b5750303b158015610f1b575060005460ff166001145b610f7e5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161064f565b6000805460ff191660011790558015610fa1576000805461ff0019166101001790555b60408051606081018252610708815260016020820181905261012c919092015260ca805468ffffffffffffffffff191666012c010000070817905560cd805491820181556000527f83978b4c69c48dd978ab43fe30f077615294f938fb7f936d9eb340e51ea7db2e0180546001600160a01b0319166001600160a01b0384161790558015610b47576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b611074611d34565b61107e600061232a565b565b60408051808201909152600081526060602082015260005b60ce548110156109b557826001600160a01b031660ce82815481106110bf576110bf613e66565b60009182526020909120600290910201546001600160a01b0316036111ba5760ce81815481106110f1576110f1613e66565b60009182526020918290206040805180820190915260029092020180546001600160a01b03168252600181018054929391929184019161113090613e7c565b80601f016020809104026020016040519081016040528092919081815260200182805461115c90613e7c565b80156111a95780601f1061117e576101008083540402835291602001916111a9565b820191906000526020600020905b81548152906001019060200180831161118c57829003601f168201915b505050505081525050915050919050565b600101611098565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461120a5760405162461bcd60e51b815260040161064f90613fed565b61121382610d8c565b61125f5760405162461bcd60e51b815260206004820152601860248201527f4f70657261746f72206e6f742077686974656c69737465640000000000000000604482015260640161064f565b610b47828261237c565b63ffffffff8116600090815260cb6020908152604091829020548451925190926112959290910161416d565b604051602081830303815290604052805190602001201461131e5760405162461bcd60e51b815260206004820152603d60248201527f737570706c696564207461736b20646f6573206e6f74206d617463682074686560448201527f206f6e65207265636f7264656420696e2074686520636f6e7472616374000000606482015260840161064f565b81516040015163ffffffff42811691161161136e5760405162461bcd60e51b815260206004820152601060248201526f15185cdac81a185cc8195e1c1a5c995960821b604482015260640161064f565b6040805160c0810182528351518201519181019182528351516080908101516001600160a01b03166060830152845160209081015163ffffffff1682840152600160a08401529282528285015192820192909252835190910151516000906001600160401b038111156113e3576113e36134d0565b60405190808252806020026020018201604052801561140c578160200160208202803683370190505b50905060005b81518110156114715784516080015180518290811061143357611433613e66565b60200260200101516000015182828151811061145157611451613e66565b6001600160a01b0390921660209283029190910190910152600101611412565b5061147c82826123ca565b63ffffffff8316600081815260cb602052604080822091909155517fa5be567caa88ff11b6da2cf017f9cefffcafa24111a9ecbf0b0bc476944f0f09906114c4908790614180565b60405180910390a250505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461151a5760405162461bcd60e51b815260040161064f90613fed565b610661816124ee565b60ce818154811061153357600080fd5b6000918252602090912060029091020180546001820180546001600160a01b0390921693509061156290613e7c565b80601f016020809104026020016040519081016040528092919081815260200182805461158e90613e7c565b80156115db5780601f106115b0576101008083540402835291602001916115db565b820191906000526020600020905b8154815290600101906020018083116115be57829003601f168201915b5050505050905082565b6115ee33610d03565b61160a5760405162461bcd60e51b815260040161064f90613fc0565b61066181612566565b600080836040516020016116279190614205565b604051602081830303815290604052905061164281846125b2565b949350505050565b60608160405160200161165d9190614205565b6040516020818303038152906040529050919050565b60808201516001600160a01b031633146117395760008260405160200161169a9190614205565b604051602081830303815290604052905060006116b782846125b2565b905083608001516001600160a01b0316816001600160a01b0316146117365760405162461bcd60e51b815260206004820152602f60248201527f5369676e6572206f6620726571756573745369676e6174757265206973206e6f60448201526e3a103932b8bab2b9ba1737bbb732b960891b606482015260840161064f565b50505b60006117498360600151426125f3565b60ca5490915063ffffffff65010000000000909104811690821611156117b15760405162461bcd60e51b815260206004820152601e60248201527f526571756573742074696d657374616d7020746f6f2066617220617761790000604482015260640161064f565b6040805161016081018252606060c08201819052600060e08301819052610100830181905261012083018190526101408301819052928201839052808201839052608082015260a081019190915283815263ffffffff4281166020830181905260ca5461181f92169061422e565b63ffffffff1660408281019190915260ca54640100000000900460ff1660608301525160009061185390839060200161416d565b60408051808303601f19018152919052805160209091012060ca5490915061188690640100000000900460ff1682612628565b608083015260405161189c90839060200161416d565b60408051601f19818403018152828252805160209182012060c9805463ffffffff908116600090815260cb90945293909220555416907f7738d1b30deac7824a0580de02efde3bb766c7b7b5ea79da34869ebd887cebf3906118ff90859061416d565b60405180910390a260c95461191b9063ffffffff16600161422e565b60c9805463ffffffff191663ffffffff929092169190911790555050505050565b6040516398ec1ac960e01b81526001600160a01b03828116600483015260009182917f000000000000000000000000000000000000000000000000000000000000000016906398ec1ac990602401602060405180830381865afa1580156119a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119cb919061424a565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166340bf2fb76040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a51919061424a565b909110159392505050565b6060611a666129d3565b905090565b611a73611d34565b6001600160a01b038116611ad85760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161064f565b6106618161232a565b609760009054906101000a90046001600160a01b03166001600160a01b031663eab66d7a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b589190613d9a565b6001600160a01b0316336001600160a01b031614611b885760405162461bcd60e51b815260040161064f90613db7565b609854198119609854191614611c065760405162461bcd60e51b815260206004820152603860248201527f5061757361626c652e756e70617573653a20696e76616c696420617474656d7060448201527f7420746f2070617573652066756e6374696f6e616c6974790000000000000000606482015260840161064f565b609881905560405181815233907f3582d1828e26bf56bd801502bc021ac0bc8afb57c826e4986b45593c8fad389c90602001610798565b6001600160a01b038116611ccb5760405162461bcd60e51b815260206004820152604960248201527f5061757361626c652e5f73657450617573657252656769737472793a206e657760448201527f50617573657252656769737472792063616e6e6f7420626520746865207a65726064820152686f206164647265737360b81b608482015260a40161064f565b609754604080516001600160a01b03928316815291831660208301527f6e9fcd539896fca60e8b0f01dd580233e48a6b0f7df013b89ba7f565869acdb6910160405180910390a1609780546001600160a01b0319166001600160a01b0392909216919091179055565b6033546001600160a01b0316331461107e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161064f565b60005b81811015611f8157828282818110611dab57611dab613e66565b9050602002810190611dbd9190614263565b611dce90604081019060200161349a565b6001600160a01b03166323b872dd3330868686818110611df057611df0613e66565b9050602002810190611e029190614263565b604080516001600160e01b031960e087901b1681526001600160a01b039485166004820152939092166024840152013560448201526064016020604051808303816000875af1158015611e59573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e7d9190613e01565b50828282818110611e9057611e90613e66565b9050602002810190611ea29190614263565b611eb390604081019060200161349a565b6001600160a01b031663095ea7b37f0000000000000000000000000000000000000000000000000000000000000000858585818110611ef457611ef4613e66565b9050602002810190611f069190614263565b604080516001600160e01b031960e086901b1681526001600160a01b039093166004840152013560248201526044016020604051808303816000875af1158015611f54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f789190613e01565b50600101611d91565b50604051630da22a8b60e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631b44551690611fd09085908590600401614313565b600060405180830381600087803b158015611fea57600080fd5b505af1158015610a98573d6000803e3d6000fd5b606060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631703a0186040518163ffffffff1660e01b8152600401600060405180830381865afa158015612060573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612088919081019061442d565b8051519091506000816001600160401b038111156120a8576120a86134d0565b6040519080825280602002602001820160405280156120d1578160200160208202803683370190505b50905060005b828110156121315783518051829081106120f3576120f3613e66565b60200260200101516000015182828151811061211157612111613e66565b6001600160a01b03909216602092830291909101909101526001016120d7565b50604051639004134760e01b81526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906390041347906121839089908690600401614535565b600060405180830381865afa1580156121a0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526121c89190810190614594565b90506000836001600160401b038111156121e4576121e46134d0565b60405190808252806020026020018201604052801561220d578160200160208202803683370190505b5090506000805b8581101561225457600084828151811061223057612230613e66565b6020026020010151111561224c578161224881614629565b9250505b600101612214565b506000816001600160401b0381111561226f5761226f6134d0565b604051908082528060200260200182016040528015612298578160200160208202803683370190505b50905060005b8681101561231d5760008582815181106122ba576122ba613e66565b60200260200101511115612315578381815181106122da576122da613e66565b60200260200101518282815181106122f4576122f4613e66565b60200260200101906001600160a01b031690816001600160a01b0316815250505b60010161229e565b5098975050505050505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b604051639926ee7d60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639926ee7d90611fd09085908590600401614642565b60008260200151511161240f5760405162461bcd60e51b815260206004820152600d60248201526c4e6f207369676e61747572657360981b604482015260640161064f565b600061241a83612b10565b905060005b82518110156124e8576000805b83518110156124915784838151811061244757612447613e66565b60200260200101516001600160a01b031684828151811061246a5761246a613e66565b60200260200101516001600160a01b0316036124895760019150612491565b60010161242c565b50806124df5760405162461bcd60e51b815260206004820152601960248201527f4d697373696e67207769746e657373207369676e617475726500000000000000604482015260640161064f565b5060010161241f565b50505050565b6040516351b27a6d60e11b81526001600160a01b0382811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063a364f4da906024015b600060405180830381600087803b15801561255257600080fd5b505af11580156109a6573d6000803e3d6000fd5b60405163a98fb35560e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a98fb35590612538908490600401613d87565b6000806125bf8451612bdf565b846040516020016125d192919061468d565b6040516020818303038152906040528051906020012090506116428184612d0a565b60008163ffffffff168363ffffffff16116126175761261283836146e8565b612621565b61262182846146e8565b9392505050565b60ce5460609060ff841611156126805760405162461bcd60e51b815260206004820152601e60248201527f496e7465726e616c3a204e6f7420656e6f756768206f70657261746f72730000604482015260640161064f565b600060ce805480602002602001604051908101604052809291908181526020016000905b8282101561277d576000848152602090819020604080518082019091526002850290910180546001600160a01b0316825260018101805492939192918401916126ec90613e7c565b80601f016020809104026020016040519081016040528092919081815260200182805461271890613e7c565b80156127655780601f1061273a57610100808354040283529160200191612765565b820191906000526020600020905b81548152906001019060200180831161274857829003601f168201915b505050505081525050815260200190600101906126a4565b50508251929350600091505060ff86166001600160401b038111156127a4576127a46134d0565b6040519080825280602002602001820160405280156127ea57816020015b6040805180820190915260008152606060208201528152602001906001900390816127c25790505b50905060005b81518160ff1610156129c957600083116128725760405162461bcd60e51b815260206004820152603760248201527f496e7465726e616c3a204665657320746f6f206c6f772e204e6f206f7065726160448201527f746f7273206c65667420746f207069636b2066726f6d2e000000000000000000606482015260840161064f565b6000836128bb61288560ff85168a614704565b60408051446020808301919091524282840152606080830194909452825180830390940184526080909101909152815191012090565b6128c5919061472d565b905060008582815181106128db576128db613e66565b60200260200101519050856001866128f39190614741565b8151811061290357612903613e66565b602002602001015186838151811061291d5761291d613e66565b6020908102919091010152612933600186614741565b9450612942816000015161193c565b61294d5750506127f0565b8060000151848460ff168151811061296757612967613e66565b6020026020010151600001906001600160a01b031690816001600160a01b0316815250508060200151848460ff16815181106129a5576129a5613e66565b60200260200101516020018190525082806129bf90614754565b93505050506127f0565b5095945050505050565b606060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631703a0186040518163ffffffff1660e01b8152600401600060405180830381865afa158015612a35573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612a5d919081019061442d565b905060008160000151516001600160401b03811115612a7e57612a7e6134d0565b604051908082528060200260200182016040528015612aa7578160200160208202803683370190505b50905060005b825151811015612b09578251805182908110612acb57612acb613e66565b602002602001015160000151828281518110612ae957612ae9613e66565b6001600160a01b0390921660209283029190910190910152600101612aad565b5092915050565b60606000612b218360000151612d26565b905060008360200151516001600160401b03811115612b4257612b426134d0565b604051908082528060200260200182016040528015612b6b578160200160208202803683370190505b50905060005b846020015151811015612bd757612ba58386602001518381518110612b9857612b98613e66565b60200260200101516125b2565b828281518110612bb757612bb7613e66565b6001600160a01b0390921660209283029190910190910152600101612b71565b509392505050565b606081600003612c065750506040805180820190915260018152600360fc1b602082015290565b8160005b8115612c305780612c1a81614629565b9150612c299050600a83614773565b9150612c0a565b6000816001600160401b03811115612c4a57612c4a6134d0565b6040519080825280601f01601f191660200182016040528015612c74576020820181803683370190505b509050815b8515612d0157612c8a600182614741565b90506000612c99600a88614773565b612ca490600a614787565b612cae9088614741565b612cb990603061479e565b905060008160f81b905080848481518110612cd657612cd6613e66565b60200101906001600160f81b031916908160001a905350612cf8600a89614773565b97505050612c79565b50949350505050565b6000806000612d198585612d96565b91509150612bd781612e04565b6060612d568260000151604051602001612d4291815260200190565b604051602081830303815290604052612fba565b612d638360200151613173565b612d76846040015163ffffffff16612bdf565b612d838560600151612bdf565b60405160200161165d94939291906147b7565b6000808251604103612dcc5760208301516040840151606085015160001a612dc0878285856132d5565b94509450505050612dfd565b8251604003612df55760208301516040840151612dea8683836133c2565b935093505050612dfd565b506000905060025b9250929050565b6000816004811115612e1857612e1861483d565b03612e205750565b6001816004811115612e3457612e3461483d565b03612e815760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640161064f565b6002816004811115612e9557612e9561483d565b03612ee25760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640161064f565b6003816004811115612ef657612ef661483d565b03612f4e5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b606482015260840161064f565b6004816004811115612f6257612f6261483d565b036106615760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b606482015260840161064f565b6060600082516002612fcc9190614787565b6001600160401b03811115612fe357612fe36134d0565b6040519080825280601f01601f19166020018201604052801561300d576020820181803683370190505b5060408051808201909152601081526f181899199a1a9b1b9c1cb0b131b232b360811b602082015290915060005b84518110156131495781825186838151811061305957613059613e66565b016020015161306b919060f81c614773565b8151811061307b5761307b613e66565b01602001516001600160f81b03191683613096836002614787565b815181106130a6576130a6613e66565b60200101906001600160f81b031916908160001a9053508182518683815181106130d2576130d2613e66565b01602001516130e4919060f81c61472d565b815181106130f4576130f4613e66565b01602001516001600160f81b0319168361310f836002614787565b61311a906001614704565b8151811061312a5761312a613e66565b60200101906001600160f81b031916908160001a90535060010161303b565b508160405160200161315b9190614853565b60405160208183030381529060405292505050919050565b60408051602880825260608281019093526000919060208201818036833701905050905060005b60148110156132ac5760006131b0826013614741565b6131bb906008614787565b6131c690600261495c565b6131d9906001600160a01b038716614773565b60f81b9050600060108260f81c6131f09190614968565b60f81b905060008160f81c6010613207919061498a565b8360f81c61321591906149a6565b60f81b9050613223826133fc565b8561322f866002614787565b8151811061323f5761323f613e66565b60200101906001600160f81b031916908160001a90535061325f816133fc565b8561326b866002614787565b613276906001614704565b8151811061328657613286613e66565b60200101906001600160f81b031916908160001a905350506001909201915061319a9050565b50806040516020016132be9190614853565b604051602081830303815290604052915050919050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561330c57506000905060036133b9565b8460ff16601b1415801561332457508460ff16601c14155b1561333557506000905060046133b9565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015613389573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166133b2576000600192509250506133b9565b9150600090505b94509492505050565b6000806001600160ff1b038316816133df60ff86901c601b614704565b90506133ed878288856132d5565b9350935050505b935093915050565b6000600a60f883901c10156134235761341a60f883901c603061479e565b60f81b92915050565b61341a60f883901c605761479e565b919050565b50805461344390613e7c565b6000825580601f10613453575050565b601f01602090049060005260206000209081019061066191905b80821115613481576000815560010161346d565b5090565b6001600160a01b038116811461066157600080fd5b6000602082840312156134ac57600080fd5b813561262181613485565b6000602082840312156134c957600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b0381118282101715613508576135086134d0565b60405290565b604051606081016001600160401b0381118282101715613508576135086134d0565b60405160c081016001600160401b0381118282101715613508576135086134d0565b604051602081016001600160401b0381118282101715613508576135086134d0565b604051601f8201601f191681016001600160401b038111828210171561359c5761359c6134d0565b604052919050565b600082601f8301126135b557600080fd5b8135602083016000806001600160401b038411156135d5576135d56134d0565b50601f8301601f19166020016135ea81613574565b9150508281528583830111156135ff57600080fd5b82826020830137600092810160200192909252509392505050565b60006040828403121561362c57600080fd5b6136346134e6565b9050813561364181613485565b815260208201356001600160401b0381111561365c57600080fd5b613668848285016135a4565b60208301525092915050565b60006020828403121561368657600080fd5b81356001600160401b0381111561369c57600080fd5b6116428482850161361a565b600080602083850312156136bb57600080fd5b82356001600160401b038111156136d157600080fd5b8301601f810185136136e257600080fd5b80356001600160401b038111156136f857600080fd5b8560208260051b840101111561370d57600080fd5b6020919091019590945092505050565b801515811461066157600080fd5b6000806040838503121561373e57600080fd5b823561374981613485565b915060208301356137598161371d565b809150509250929050565b803563ffffffff8116811461343257600080fd5b803560ff8116811461343257600080fd5b6000606082840312801561379c57600080fd5b506137a561350e565b6137ae83613764565b81526137bc60208401613778565b60208201526137cd60408401613764565b60408201529392505050565b6000602082840312156137eb57600080fd5b61262182613764565b602080825282518282018190526000918401906040840190835b818110156138355783516001600160a01b031683526020938401939092019160010161380e565b509095945050505050565b60006020828403121561385257600080fd5b61262182613778565b60005b8381101561387657818101518382015260200161385e565b50506000910152565b6000815180845261389781602086016020860161385b565b601f01601f19169290920160200192915050565b60018060a01b0381511682526000602082015160406020850152611642604085018261387f565b60208152600061262160208301846138ab565b600080604083850312156138f857600080fd5b823561390381613485565b915060208301356001600160401b0381111561391e57600080fd5b83016060818603121561393057600080fd5b61393861350e565b81356001600160401b0381111561394e57600080fd5b61395a878285016135a4565b8252506020828101359082015260409182013591810191909152919491935090915050565b600060a0828403121561399157600080fd5b60405160a081016001600160401b03811182821017156139b3576139b36134d0565b60405290508082356001600160401b038111156139cf57600080fd5b6139db858286016135a4565b82525060208381013590820152604080840135908201526139fe60608401613764565b60608201526080830135613a1181613485565b6080919091015292915050565b60006001600160401b03821115613a3757613a376134d0565b5060051b60200190565b600082601f830112613a5257600080fd5b8135613a65613a6082613a1e565b613574565b8082825260208201915060208360051b860101925085831115613a8757600080fd5b602085015b838110156129c95780356001600160401b03811115613aaa57600080fd5b613ab9886020838a010161361a565b84525060209283019201613a8c565b600082601f830112613ad957600080fd5b8135613ae7613a6082613a1e565b8082825260208201915060208360051b860101925085831115613b0957600080fd5b602085015b838110156129c95780356001600160401b03811115613b2c57600080fd5b613b3b886020838a01016135a4565b84525060209283019201613b0e565b60008060408385031215613b5d57600080fd5b82356001600160401b03811115613b7357600080fd5b830160408186031215613b8557600080fd5b613b8d6134e6565b81356001600160401b03811115613ba357600080fd5b820160c08188031215613bb557600080fd5b613bbd613530565b81356001600160401b03811115613bd357600080fd5b613bdf8982850161397f565b825250613bee60208301613764565b6020820152613bff60408301613764565b6040820152613c1060608301613778565b606082015260808201356001600160401b03811115613c2e57600080fd5b613c3a89828501613a41565b60808301525060a09182013591810191909152815260208201356001600160401b03811115613c6857600080fd5b613c7487828501613ac8565b6020830152508093505050613c8b60208401613764565b90509250929050565b6001600160a01b03831681526040602082018190526000906116429083018461387f565b600060208284031215613cca57600080fd5b81356001600160401b03811115613ce057600080fd5b611642848285016135a4565b60008060408385031215613cff57600080fd5b82356001600160401b03811115613d1557600080fd5b613d218582860161397f565b92505060208301356001600160401b03811115613d3d57600080fd5b613d49858286016135a4565b9150509250929050565b600060208284031215613d6557600080fd5b81356001600160401b03811115613d7b57600080fd5b6116428482850161397f565b602081526000612621602083018461387f565b600060208284031215613dac57600080fd5b815161262181613485565b6020808252602a908201527f6d73672e73656e646572206973206e6f74207065726d697373696f6e6564206160408201526939903ab73830bab9b2b960b11b606082015260800190565b600060208284031215613e1357600080fd5b81516126218161371d565b60208082526028908201527f6d73672e73656e646572206973206e6f74207065726d697373696f6e6564206160408201526739903830bab9b2b960c11b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b600181811c90821680613e9057607f821691505b602082108103613eb057634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115613efd57806000526020600020601f840160051c81016020851015613edd5750805b601f840160051c820191505b818110156109a65760008155600101613ee9565b505050565b81516001600160401b03811115613f1b57613f1b6134d0565b613f2f81613f298454613e7c565b84613eb6565b6020601f821160018114613f635760008315613f4b5750848201515b600019600385901b1c1916600184901b1784556109a6565b600084815260208120601f198516915b82811015613f935787850151825560209485019460019092019101613f73565b5084821015613fb15786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b60208082526013908201527221b0b63632b91034b9903737ba1030b236b4b760691b604082015260600190565b6020808252604a908201527f4543445341536572766963654d616e61676572426173652e6f6e6c795374616b60408201527f6552656769737472793a2063616c6c6572206973206e6f7420746865207374616060820152696b65526567697374727960b01b608082015260a00190565b6000815160a0845261407260a085018261387f565b602084810151908601526040808501519086015260608085015163ffffffff16908601526080938401516001600160a01b031693909401929092525090919050565b6000815160c084526140c960c085018261405d565b905063ffffffff602084015116602085015263ffffffff604084015116604085015260ff60608401511660608501526080830151848203608086015281815180845260208401915060208160051b85010160208401935060005b8281101561415457601f1986830301845261413f8286516138ab565b60209586019594909401939150600101614123565b5060a087015160a0890152809550505050505092915050565b60208152600061262160208301846140b4565b60208152600082516040602084015261419c60608401826140b4565b602085810151858303601f19016040870152805180845292935081019181840191600582901b85010160005b828110156141f957601f198683030184526141e482865161387f565b602095860195949094019391506001016141c8565b50979650505050505050565b602081526000612621602083018461405d565b634e487b7160e01b600052601160045260246000fd5b63ffffffff8181168382160190811115610e0457610e04614218565b60006020828403121561425c57600080fd5b5051919050565b60008235609e1983360301811261427957600080fd5b9190910192915050565b803561343281613485565b6bffffffffffffffffffffffff8116811461066157600080fd5b81835260208301925060008160005b848110156143095781356142ca81613485565b6001600160a01b0316865260208201356142e38161428e565b6bffffffffffffffffffffffff16602087015260409586019591909101906001016142b7565b5093949350505050565b6020808252810182905260006040600584901b830181019083018583609e1936839003015b8782101561442057868503603f19018452823581811261435757600080fd5b8901803536829003601e1901811261436e57600080fd5b81016020810190356001600160401b0381111561438a57600080fd5b8060061b360382131561439c57600080fd5b60a088526143ae60a0890182846142a8565b9150506143bd60208301614283565b6001600160a01b03166020880152604082810135908801526143e160608301613764565b63ffffffff1660608801526143f860808301613764565b63ffffffff811660808901529150955050602093840193929092019160019190910190614338565b5092979650505050505050565b60006020828403121561443f57600080fd5b81516001600160401b0381111561445557600080fd5b82016020818503121561446757600080fd5b61446f613552565b81516001600160401b0381111561448557600080fd5b80830192505084601f83011261449a57600080fd5b81516144a8613a6082613a1e565b8082825260208201915060208360061b8601019250878311156144ca57600080fd5b6020850194505b8285101561452857604085890312156144e957600080fd5b6144f16134e6565b85516144fc81613485565b8152602086015161450c8161428e565b80602083015250808352506020820191506040850194506144d1565b8352509095945050505050565b6001600160a01b0383168152604060208083018290528351918301829052600091908401906060840190835b818110156145885783516001600160a01b0316835260209384019390920191600101614561565b50909695505050505050565b6000602082840312156145a657600080fd5b81516001600160401b038111156145bc57600080fd5b8201601f810184136145cd57600080fd5b80516145db613a6082613a1e565b8082825260208201915060208360051b8501019250868311156145fd57600080fd5b6020840193505b8284101561461f578351825260209384019390910190614604565b9695505050505050565b60006001820161463b5761463b614218565b5060010190565b60018060a01b038316815260406020820152600082516060604084015261466c60a084018261387f565b90506020840151606084015260408401516080840152809150509392505050565b7f19457468657265756d205369676e6564204d6573736167653a0a0000000000008152600083516146c581601a85016020880161385b565b8351908301906146dc81601a84016020880161385b565b01601a01949350505050565b63ffffffff8281168282160390811115610e0457610e04614218565b80820180821115610e0457610e04614218565b634e487b7160e01b600052601260045260246000fd5b60008261473c5761473c614717565b500690565b81810381811115610e0457610e04614218565b600060ff821660ff810361476a5761476a614218565b60010192915050565b60008261478257614782614717565b500490565b8082028115828204841417610e0457610e04614218565b60ff8181168382160190811115610e0457610e04614218565b600085516147c9818460208a0161385b565b600560f91b90830190815285516147e7816001840160208a0161385b565b600560f91b60019290910191820152845161480981600284016020890161385b565b600181830101915050600560f91b6001820152835161482f81600284016020880161385b565b016002019695505050505050565b634e487b7160e01b600052602160045260246000fd5b61060f60f31b81526000825161487081600285016020870161385b565b9190910160020192915050565b6001815b60018411156133f45780850481111561489c5761489c614218565b60018416156148aa57908102905b60019390931c928002614881565b6000826148c757506001610e04565b816148d457506000610e04565b81600181146148ea57600281146148f457614910565b6001915050610e04565b60ff84111561490557614905614218565b50506001821b610e04565b5060208310610133831016604e8410600b8410161715614933575081810a610e04565b614940600019848461487d565b806000190482111561495457614954614218565b029392505050565b600061262183836148b8565b600060ff83168061497b5761497b614717565b8060ff84160491505092915050565b60ff8181168382160290811690818114612b0957612b09614218565b60ff8281168282160390811115610e0457610e0461421856fea26469706673582212205b54d39db01ec87955542a63c3a53e876a29b21585e12d554ae6989e796dedf764736f6c634300081a0033";
16
+ static readonly abi: readonly [{
17
+ readonly type: "constructor";
18
+ readonly inputs: readonly [{
19
+ readonly name: "_avsDirectory";
20
+ readonly type: "address";
21
+ readonly internalType: "address";
22
+ }, {
23
+ readonly name: "_stakeRegistry";
24
+ readonly type: "address";
25
+ readonly internalType: "address";
26
+ }, {
27
+ readonly name: "_delegationManager";
28
+ readonly type: "address";
29
+ readonly internalType: "address";
30
+ }];
31
+ readonly stateMutability: "nonpayable";
32
+ }, {
33
+ readonly type: "function";
34
+ readonly name: "admins";
35
+ readonly inputs: readonly [{
36
+ readonly name: "";
37
+ readonly type: "uint256";
38
+ readonly internalType: "uint256";
39
+ }];
40
+ readonly outputs: readonly [{
41
+ readonly name: "";
42
+ readonly type: "address";
43
+ readonly internalType: "address";
44
+ }];
45
+ readonly stateMutability: "view";
46
+ }, {
47
+ readonly type: "function";
48
+ readonly name: "allTaskHashes";
49
+ readonly inputs: readonly [{
50
+ readonly name: "";
51
+ readonly type: "uint32";
52
+ readonly internalType: "uint32";
53
+ }];
54
+ readonly outputs: readonly [{
55
+ readonly name: "";
56
+ readonly type: "bytes32";
57
+ readonly internalType: "bytes32";
58
+ }];
59
+ readonly stateMutability: "view";
60
+ }, {
61
+ readonly type: "function";
62
+ readonly name: "avsDirectory";
63
+ readonly inputs: readonly [];
64
+ readonly outputs: readonly [{
65
+ readonly name: "";
66
+ readonly type: "address";
67
+ readonly internalType: "address";
68
+ }];
69
+ readonly stateMutability: "view";
70
+ }, {
71
+ readonly type: "function";
72
+ readonly name: "checkSignerAddress";
73
+ readonly inputs: readonly [{
74
+ readonly name: "request";
75
+ readonly type: "tuple";
76
+ readonly internalType: "struct IReclaimServiceManager.ClaimRequest";
77
+ readonly components: readonly [{
78
+ readonly name: "provider";
79
+ readonly type: "string";
80
+ readonly internalType: "string";
81
+ }, {
82
+ readonly name: "claimUserId";
83
+ readonly type: "bytes32";
84
+ readonly internalType: "bytes32";
85
+ }, {
86
+ readonly name: "claimHash";
87
+ readonly type: "bytes32";
88
+ readonly internalType: "bytes32";
89
+ }, {
90
+ readonly name: "requestedAt";
91
+ readonly type: "uint32";
92
+ readonly internalType: "uint32";
93
+ }, {
94
+ readonly name: "owner";
95
+ readonly type: "address";
96
+ readonly internalType: "address";
97
+ }];
98
+ }, {
99
+ readonly name: "requestSignature";
100
+ readonly type: "bytes";
101
+ readonly internalType: "bytes";
102
+ }];
103
+ readonly outputs: readonly [{
104
+ readonly name: "";
105
+ readonly type: "address";
106
+ readonly internalType: "address";
107
+ }];
108
+ readonly stateMutability: "pure";
109
+ }, {
110
+ readonly type: "function";
111
+ readonly name: "createNewTask";
112
+ readonly inputs: readonly [{
113
+ readonly name: "request";
114
+ readonly type: "tuple";
115
+ readonly internalType: "struct IReclaimServiceManager.ClaimRequest";
116
+ readonly components: readonly [{
117
+ readonly name: "provider";
118
+ readonly type: "string";
119
+ readonly internalType: "string";
120
+ }, {
121
+ readonly name: "claimUserId";
122
+ readonly type: "bytes32";
123
+ readonly internalType: "bytes32";
124
+ }, {
125
+ readonly name: "claimHash";
126
+ readonly type: "bytes32";
127
+ readonly internalType: "bytes32";
128
+ }, {
129
+ readonly name: "requestedAt";
130
+ readonly type: "uint32";
131
+ readonly internalType: "uint32";
132
+ }, {
133
+ readonly name: "owner";
134
+ readonly type: "address";
135
+ readonly internalType: "address";
136
+ }];
137
+ }, {
138
+ readonly name: "requestSignature";
139
+ readonly type: "bytes";
140
+ readonly internalType: "bytes";
141
+ }];
142
+ readonly outputs: readonly [];
143
+ readonly stateMutability: "nonpayable";
144
+ }, {
145
+ readonly type: "function";
146
+ readonly name: "deregisterOperatorFromAVS";
147
+ readonly inputs: readonly [{
148
+ readonly name: "operator";
149
+ readonly type: "address";
150
+ readonly internalType: "address";
151
+ }];
152
+ readonly outputs: readonly [];
153
+ readonly stateMutability: "nonpayable";
154
+ }, {
155
+ readonly type: "function";
156
+ readonly name: "encodeClaimRequest";
157
+ readonly inputs: readonly [{
158
+ readonly name: "request";
159
+ readonly type: "tuple";
160
+ readonly internalType: "struct IReclaimServiceManager.ClaimRequest";
161
+ readonly components: readonly [{
162
+ readonly name: "provider";
163
+ readonly type: "string";
164
+ readonly internalType: "string";
165
+ }, {
166
+ readonly name: "claimUserId";
167
+ readonly type: "bytes32";
168
+ readonly internalType: "bytes32";
169
+ }, {
170
+ readonly name: "claimHash";
171
+ readonly type: "bytes32";
172
+ readonly internalType: "bytes32";
173
+ }, {
174
+ readonly name: "requestedAt";
175
+ readonly type: "uint32";
176
+ readonly internalType: "uint32";
177
+ }, {
178
+ readonly name: "owner";
179
+ readonly type: "address";
180
+ readonly internalType: "address";
181
+ }];
182
+ }];
183
+ readonly outputs: readonly [{
184
+ readonly name: "";
185
+ readonly type: "bytes";
186
+ readonly internalType: "bytes";
187
+ }];
188
+ readonly stateMutability: "pure";
189
+ }, {
190
+ readonly type: "function";
191
+ readonly name: "getMetadataForOperator";
192
+ readonly inputs: readonly [{
193
+ readonly name: "operator";
194
+ readonly type: "address";
195
+ readonly internalType: "address";
196
+ }];
197
+ readonly outputs: readonly [{
198
+ readonly name: "";
199
+ readonly type: "tuple";
200
+ readonly internalType: "struct IReclaimServiceManager.OperatorMetadata";
201
+ readonly components: readonly [{
202
+ readonly name: "addr";
203
+ readonly type: "address";
204
+ readonly internalType: "address";
205
+ }, {
206
+ readonly name: "url";
207
+ readonly type: "string";
208
+ readonly internalType: "string";
209
+ }];
210
+ }];
211
+ readonly stateMutability: "view";
212
+ }, {
213
+ readonly type: "function";
214
+ readonly name: "getOperatorRestakedStrategies";
215
+ readonly inputs: readonly [{
216
+ readonly name: "_operator";
217
+ readonly type: "address";
218
+ readonly internalType: "address";
219
+ }];
220
+ readonly outputs: readonly [{
221
+ readonly name: "";
222
+ readonly type: "address[]";
223
+ readonly internalType: "address[]";
224
+ }];
225
+ readonly stateMutability: "view";
226
+ }, {
227
+ readonly type: "function";
228
+ readonly name: "getRestakeableStrategies";
229
+ readonly inputs: readonly [];
230
+ readonly outputs: readonly [{
231
+ readonly name: "";
232
+ readonly type: "address[]";
233
+ readonly internalType: "address[]";
234
+ }];
235
+ readonly stateMutability: "view";
236
+ }, {
237
+ readonly type: "function";
238
+ readonly name: "isAdmin";
239
+ readonly inputs: readonly [{
240
+ readonly name: "_admin";
241
+ readonly type: "address";
242
+ readonly internalType: "address";
243
+ }];
244
+ readonly outputs: readonly [{
245
+ readonly name: "";
246
+ readonly type: "bool";
247
+ readonly internalType: "bool";
248
+ }];
249
+ readonly stateMutability: "view";
250
+ }, {
251
+ readonly type: "function";
252
+ readonly name: "isOperatorWhitelisted";
253
+ readonly inputs: readonly [{
254
+ readonly name: "operator";
255
+ readonly type: "address";
256
+ readonly internalType: "address";
257
+ }];
258
+ readonly outputs: readonly [{
259
+ readonly name: "";
260
+ readonly type: "bool";
261
+ readonly internalType: "bool";
262
+ }];
263
+ readonly stateMutability: "view";
264
+ }, {
265
+ readonly type: "function";
266
+ readonly name: "latestTaskNum";
267
+ readonly inputs: readonly [];
268
+ readonly outputs: readonly [{
269
+ readonly name: "";
270
+ readonly type: "uint32";
271
+ readonly internalType: "uint32";
272
+ }];
273
+ readonly stateMutability: "view";
274
+ }, {
275
+ readonly type: "function";
276
+ readonly name: "operatorHasMinimumWeight";
277
+ readonly inputs: readonly [{
278
+ readonly name: "operator";
279
+ readonly type: "address";
280
+ readonly internalType: "address";
281
+ }];
282
+ readonly outputs: readonly [{
283
+ readonly name: "";
284
+ readonly type: "bool";
285
+ readonly internalType: "bool";
286
+ }];
287
+ readonly stateMutability: "view";
288
+ }, {
289
+ readonly type: "function";
290
+ readonly name: "owner";
291
+ readonly inputs: readonly [];
292
+ readonly outputs: readonly [{
293
+ readonly name: "";
294
+ readonly type: "address";
295
+ readonly internalType: "address";
296
+ }];
297
+ readonly stateMutability: "view";
298
+ }, {
299
+ readonly type: "function";
300
+ readonly name: "pause";
301
+ readonly inputs: readonly [{
302
+ readonly name: "newPausedStatus";
303
+ readonly type: "uint256";
304
+ readonly internalType: "uint256";
305
+ }];
306
+ readonly outputs: readonly [];
307
+ readonly stateMutability: "nonpayable";
308
+ }, {
309
+ readonly type: "function";
310
+ readonly name: "pauseAll";
311
+ readonly inputs: readonly [];
312
+ readonly outputs: readonly [];
313
+ readonly stateMutability: "nonpayable";
314
+ }, {
315
+ readonly type: "function";
316
+ readonly name: "paused";
317
+ readonly inputs: readonly [{
318
+ readonly name: "index";
319
+ readonly type: "uint8";
320
+ readonly internalType: "uint8";
321
+ }];
322
+ readonly outputs: readonly [{
323
+ readonly name: "";
324
+ readonly type: "bool";
325
+ readonly internalType: "bool";
326
+ }];
327
+ readonly stateMutability: "view";
328
+ }, {
329
+ readonly type: "function";
330
+ readonly name: "paused";
331
+ readonly inputs: readonly [];
332
+ readonly outputs: readonly [{
333
+ readonly name: "";
334
+ readonly type: "uint256";
335
+ readonly internalType: "uint256";
336
+ }];
337
+ readonly stateMutability: "view";
338
+ }, {
339
+ readonly type: "function";
340
+ readonly name: "pauserRegistry";
341
+ readonly inputs: readonly [];
342
+ readonly outputs: readonly [{
343
+ readonly name: "";
344
+ readonly type: "address";
345
+ readonly internalType: "contract IPauserRegistry";
346
+ }];
347
+ readonly stateMutability: "view";
348
+ }, {
349
+ readonly type: "function";
350
+ readonly name: "payForRange";
351
+ readonly inputs: readonly [{
352
+ readonly name: "rangePayments";
353
+ readonly type: "tuple[]";
354
+ readonly internalType: "struct IPaymentCoordinator.RangePayment[]";
355
+ readonly components: readonly [{
356
+ readonly name: "strategiesAndMultipliers";
357
+ readonly type: "tuple[]";
358
+ readonly internalType: "struct IPaymentCoordinator.StrategyAndMultiplier[]";
359
+ readonly components: readonly [{
360
+ readonly name: "strategy";
361
+ readonly type: "address";
362
+ readonly internalType: "contract IStrategy";
363
+ }, {
364
+ readonly name: "multiplier";
365
+ readonly type: "uint96";
366
+ readonly internalType: "uint96";
367
+ }];
368
+ }, {
369
+ readonly name: "token";
370
+ readonly type: "address";
371
+ readonly internalType: "contract IERC20";
372
+ }, {
373
+ readonly name: "amount";
374
+ readonly type: "uint256";
375
+ readonly internalType: "uint256";
376
+ }, {
377
+ readonly name: "startTimestamp";
378
+ readonly type: "uint32";
379
+ readonly internalType: "uint32";
380
+ }, {
381
+ readonly name: "duration";
382
+ readonly type: "uint32";
383
+ readonly internalType: "uint32";
384
+ }];
385
+ }];
386
+ readonly outputs: readonly [];
387
+ readonly stateMutability: "nonpayable";
388
+ }, {
389
+ readonly type: "function";
390
+ readonly name: "registerOperatorToAVS";
391
+ readonly inputs: readonly [{
392
+ readonly name: "operator";
393
+ readonly type: "address";
394
+ readonly internalType: "address";
395
+ }, {
396
+ readonly name: "operatorSignature";
397
+ readonly type: "tuple";
398
+ readonly internalType: "struct ISignatureUtils.SignatureWithSaltAndExpiry";
399
+ readonly components: readonly [{
400
+ readonly name: "signature";
401
+ readonly type: "bytes";
402
+ readonly internalType: "bytes";
403
+ }, {
404
+ readonly name: "salt";
405
+ readonly type: "bytes32";
406
+ readonly internalType: "bytes32";
407
+ }, {
408
+ readonly name: "expiry";
409
+ readonly type: "uint256";
410
+ readonly internalType: "uint256";
411
+ }];
412
+ }];
413
+ readonly outputs: readonly [];
414
+ readonly stateMutability: "nonpayable";
415
+ }, {
416
+ readonly type: "function";
417
+ readonly name: "registeredOperators";
418
+ readonly inputs: readonly [{
419
+ readonly name: "";
420
+ readonly type: "uint256";
421
+ readonly internalType: "uint256";
422
+ }];
423
+ readonly outputs: readonly [{
424
+ readonly name: "addr";
425
+ readonly type: "address";
426
+ readonly internalType: "address";
427
+ }, {
428
+ readonly name: "url";
429
+ readonly type: "string";
430
+ readonly internalType: "string";
431
+ }];
432
+ readonly stateMutability: "view";
433
+ }, {
434
+ readonly type: "function";
435
+ readonly name: "renounceOwnership";
436
+ readonly inputs: readonly [];
437
+ readonly outputs: readonly [];
438
+ readonly stateMutability: "nonpayable";
439
+ }, {
440
+ readonly type: "function";
441
+ readonly name: "setPauserRegistry";
442
+ readonly inputs: readonly [{
443
+ readonly name: "newPauserRegistry";
444
+ readonly type: "address";
445
+ readonly internalType: "contract IPauserRegistry";
446
+ }];
447
+ readonly outputs: readonly [];
448
+ readonly stateMutability: "nonpayable";
449
+ }, {
450
+ readonly type: "function";
451
+ readonly name: "setup";
452
+ readonly inputs: readonly [{
453
+ readonly name: "initialAdmin";
454
+ readonly type: "address";
455
+ readonly internalType: "address";
456
+ }];
457
+ readonly outputs: readonly [];
458
+ readonly stateMutability: "nonpayable";
459
+ }, {
460
+ readonly type: "function";
461
+ readonly name: "stakeRegistry";
462
+ readonly inputs: readonly [];
463
+ readonly outputs: readonly [{
464
+ readonly name: "";
465
+ readonly type: "address";
466
+ readonly internalType: "address";
467
+ }];
468
+ readonly stateMutability: "view";
469
+ }, {
470
+ readonly type: "function";
471
+ readonly name: "taskCompleted";
472
+ readonly inputs: readonly [{
473
+ readonly name: "completedTask";
474
+ readonly type: "tuple";
475
+ readonly internalType: "struct IReclaimServiceManager.CompletedTask";
476
+ readonly components: readonly [{
477
+ readonly name: "task";
478
+ readonly type: "tuple";
479
+ readonly internalType: "struct IReclaimServiceManager.Task";
480
+ readonly components: readonly [{
481
+ readonly name: "request";
482
+ readonly type: "tuple";
483
+ readonly internalType: "struct IReclaimServiceManager.ClaimRequest";
484
+ readonly components: readonly [{
485
+ readonly name: "provider";
486
+ readonly type: "string";
487
+ readonly internalType: "string";
488
+ }, {
489
+ readonly name: "claimUserId";
490
+ readonly type: "bytes32";
491
+ readonly internalType: "bytes32";
492
+ }, {
493
+ readonly name: "claimHash";
494
+ readonly type: "bytes32";
495
+ readonly internalType: "bytes32";
496
+ }, {
497
+ readonly name: "requestedAt";
498
+ readonly type: "uint32";
499
+ readonly internalType: "uint32";
500
+ }, {
501
+ readonly name: "owner";
502
+ readonly type: "address";
503
+ readonly internalType: "address";
504
+ }];
505
+ }, {
506
+ readonly name: "createdAt";
507
+ readonly type: "uint32";
508
+ readonly internalType: "uint32";
509
+ }, {
510
+ readonly name: "expiresAt";
511
+ readonly type: "uint32";
512
+ readonly internalType: "uint32";
513
+ }, {
514
+ readonly name: "minimumSignatures";
515
+ readonly type: "uint8";
516
+ readonly internalType: "uint8";
517
+ }, {
518
+ readonly name: "operators";
519
+ readonly type: "tuple[]";
520
+ readonly internalType: "struct IReclaimServiceManager.Operator[]";
521
+ readonly components: readonly [{
522
+ readonly name: "addr";
523
+ readonly type: "address";
524
+ readonly internalType: "address";
525
+ }, {
526
+ readonly name: "url";
527
+ readonly type: "string";
528
+ readonly internalType: "string";
529
+ }];
530
+ }, {
531
+ readonly name: "feePaid";
532
+ readonly type: "uint256";
533
+ readonly internalType: "uint256";
534
+ }];
535
+ }, {
536
+ readonly name: "signatures";
537
+ readonly type: "bytes[]";
538
+ readonly internalType: "bytes[]";
539
+ }];
540
+ }, {
541
+ readonly name: "referenceTaskIndex";
542
+ readonly type: "uint32";
543
+ readonly internalType: "uint32";
544
+ }];
545
+ readonly outputs: readonly [];
546
+ readonly stateMutability: "nonpayable";
547
+ }, {
548
+ readonly type: "function";
549
+ readonly name: "taskCreationMetadata";
550
+ readonly inputs: readonly [];
551
+ readonly outputs: readonly [{
552
+ readonly name: "maxTaskLifetimeS";
553
+ readonly type: "uint32";
554
+ readonly internalType: "uint32";
555
+ }, {
556
+ readonly name: "minSignaturesPerTask";
557
+ readonly type: "uint8";
558
+ readonly internalType: "uint8";
559
+ }, {
560
+ readonly name: "maxTaskCreationDelayS";
561
+ readonly type: "uint32";
562
+ readonly internalType: "uint32";
563
+ }];
564
+ readonly stateMutability: "view";
565
+ }, {
566
+ readonly type: "function";
567
+ readonly name: "transferOwnership";
568
+ readonly inputs: readonly [{
569
+ readonly name: "newOwner";
570
+ readonly type: "address";
571
+ readonly internalType: "address";
572
+ }];
573
+ readonly outputs: readonly [];
574
+ readonly stateMutability: "nonpayable";
575
+ }, {
576
+ readonly type: "function";
577
+ readonly name: "unpause";
578
+ readonly inputs: readonly [{
579
+ readonly name: "newPausedStatus";
580
+ readonly type: "uint256";
581
+ readonly internalType: "uint256";
582
+ }];
583
+ readonly outputs: readonly [];
584
+ readonly stateMutability: "nonpayable";
585
+ }, {
586
+ readonly type: "function";
587
+ readonly name: "updateAVSMetadataURI";
588
+ readonly inputs: readonly [{
589
+ readonly name: "_metadataURI";
590
+ readonly type: "string";
591
+ readonly internalType: "string";
592
+ }];
593
+ readonly outputs: readonly [];
594
+ readonly stateMutability: "nonpayable";
595
+ }, {
596
+ readonly type: "function";
597
+ readonly name: "updateOperatorMetadata";
598
+ readonly inputs: readonly [{
599
+ readonly name: "metadata";
600
+ readonly type: "tuple";
601
+ readonly internalType: "struct IReclaimServiceManager.OperatorMetadata";
602
+ readonly components: readonly [{
603
+ readonly name: "addr";
604
+ readonly type: "address";
605
+ readonly internalType: "address";
606
+ }, {
607
+ readonly name: "url";
608
+ readonly type: "string";
609
+ readonly internalType: "string";
610
+ }];
611
+ }];
612
+ readonly outputs: readonly [];
613
+ readonly stateMutability: "nonpayable";
614
+ }, {
615
+ readonly type: "function";
616
+ readonly name: "updateTaskCreationMetadata";
617
+ readonly inputs: readonly [{
618
+ readonly name: "newMetadata";
619
+ readonly type: "tuple";
620
+ readonly internalType: "struct IReclaimServiceManager.TaskCreationMetadata";
621
+ readonly components: readonly [{
622
+ readonly name: "maxTaskLifetimeS";
623
+ readonly type: "uint32";
624
+ readonly internalType: "uint32";
625
+ }, {
626
+ readonly name: "minSignaturesPerTask";
627
+ readonly type: "uint8";
628
+ readonly internalType: "uint8";
629
+ }, {
630
+ readonly name: "maxTaskCreationDelayS";
631
+ readonly type: "uint32";
632
+ readonly internalType: "uint32";
633
+ }];
634
+ }];
635
+ readonly outputs: readonly [];
636
+ readonly stateMutability: "nonpayable";
637
+ }, {
638
+ readonly type: "function";
639
+ readonly name: "whitelistAddressAsOperator";
640
+ readonly inputs: readonly [{
641
+ readonly name: "operator";
642
+ readonly type: "address";
643
+ readonly internalType: "address";
644
+ }, {
645
+ readonly name: "isWhitelisted";
646
+ readonly type: "bool";
647
+ readonly internalType: "bool";
648
+ }];
649
+ readonly outputs: readonly [];
650
+ readonly stateMutability: "nonpayable";
651
+ }, {
652
+ readonly type: "function";
653
+ readonly name: "whitelistedOperators";
654
+ readonly inputs: readonly [{
655
+ readonly name: "";
656
+ readonly type: "uint256";
657
+ readonly internalType: "uint256";
658
+ }];
659
+ readonly outputs: readonly [{
660
+ readonly name: "";
661
+ readonly type: "address";
662
+ readonly internalType: "address";
663
+ }];
664
+ readonly stateMutability: "view";
665
+ }, {
666
+ readonly type: "event";
667
+ readonly name: "Initialized";
668
+ readonly inputs: readonly [{
669
+ readonly name: "version";
670
+ readonly type: "uint8";
671
+ readonly indexed: false;
672
+ readonly internalType: "uint8";
673
+ }];
674
+ readonly anonymous: false;
675
+ }, {
676
+ readonly type: "event";
677
+ readonly name: "NewTaskCreated";
678
+ readonly inputs: readonly [{
679
+ readonly name: "taskIndex";
680
+ readonly type: "uint32";
681
+ readonly indexed: true;
682
+ readonly internalType: "uint32";
683
+ }, {
684
+ readonly name: "task";
685
+ readonly type: "tuple";
686
+ readonly indexed: false;
687
+ readonly internalType: "struct IReclaimServiceManager.Task";
688
+ readonly components: readonly [{
689
+ readonly name: "request";
690
+ readonly type: "tuple";
691
+ readonly internalType: "struct IReclaimServiceManager.ClaimRequest";
692
+ readonly components: readonly [{
693
+ readonly name: "provider";
694
+ readonly type: "string";
695
+ readonly internalType: "string";
696
+ }, {
697
+ readonly name: "claimUserId";
698
+ readonly type: "bytes32";
699
+ readonly internalType: "bytes32";
700
+ }, {
701
+ readonly name: "claimHash";
702
+ readonly type: "bytes32";
703
+ readonly internalType: "bytes32";
704
+ }, {
705
+ readonly name: "requestedAt";
706
+ readonly type: "uint32";
707
+ readonly internalType: "uint32";
708
+ }, {
709
+ readonly name: "owner";
710
+ readonly type: "address";
711
+ readonly internalType: "address";
712
+ }];
713
+ }, {
714
+ readonly name: "createdAt";
715
+ readonly type: "uint32";
716
+ readonly internalType: "uint32";
717
+ }, {
718
+ readonly name: "expiresAt";
719
+ readonly type: "uint32";
720
+ readonly internalType: "uint32";
721
+ }, {
722
+ readonly name: "minimumSignatures";
723
+ readonly type: "uint8";
724
+ readonly internalType: "uint8";
725
+ }, {
726
+ readonly name: "operators";
727
+ readonly type: "tuple[]";
728
+ readonly internalType: "struct IReclaimServiceManager.Operator[]";
729
+ readonly components: readonly [{
730
+ readonly name: "addr";
731
+ readonly type: "address";
732
+ readonly internalType: "address";
733
+ }, {
734
+ readonly name: "url";
735
+ readonly type: "string";
736
+ readonly internalType: "string";
737
+ }];
738
+ }, {
739
+ readonly name: "feePaid";
740
+ readonly type: "uint256";
741
+ readonly internalType: "uint256";
742
+ }];
743
+ }];
744
+ readonly anonymous: false;
745
+ }, {
746
+ readonly type: "event";
747
+ readonly name: "OwnershipTransferred";
748
+ readonly inputs: readonly [{
749
+ readonly name: "previousOwner";
750
+ readonly type: "address";
751
+ readonly indexed: true;
752
+ readonly internalType: "address";
753
+ }, {
754
+ readonly name: "newOwner";
755
+ readonly type: "address";
756
+ readonly indexed: true;
757
+ readonly internalType: "address";
758
+ }];
759
+ readonly anonymous: false;
760
+ }, {
761
+ readonly type: "event";
762
+ readonly name: "Paused";
763
+ readonly inputs: readonly [{
764
+ readonly name: "account";
765
+ readonly type: "address";
766
+ readonly indexed: true;
767
+ readonly internalType: "address";
768
+ }, {
769
+ readonly name: "newPausedStatus";
770
+ readonly type: "uint256";
771
+ readonly indexed: false;
772
+ readonly internalType: "uint256";
773
+ }];
774
+ readonly anonymous: false;
775
+ }, {
776
+ readonly type: "event";
777
+ readonly name: "PauserRegistrySet";
778
+ readonly inputs: readonly [{
779
+ readonly name: "pauserRegistry";
780
+ readonly type: "address";
781
+ readonly indexed: false;
782
+ readonly internalType: "contract IPauserRegistry";
783
+ }, {
784
+ readonly name: "newPauserRegistry";
785
+ readonly type: "address";
786
+ readonly indexed: false;
787
+ readonly internalType: "contract IPauserRegistry";
788
+ }];
789
+ readonly anonymous: false;
790
+ }, {
791
+ readonly type: "event";
792
+ readonly name: "TaskCompleted";
793
+ readonly inputs: readonly [{
794
+ readonly name: "taskIndex";
795
+ readonly type: "uint32";
796
+ readonly indexed: true;
797
+ readonly internalType: "uint32";
798
+ }, {
799
+ readonly name: "task";
800
+ readonly type: "tuple";
801
+ readonly indexed: false;
802
+ readonly internalType: "struct IReclaimServiceManager.CompletedTask";
803
+ readonly components: readonly [{
804
+ readonly name: "task";
805
+ readonly type: "tuple";
806
+ readonly internalType: "struct IReclaimServiceManager.Task";
807
+ readonly components: readonly [{
808
+ readonly name: "request";
809
+ readonly type: "tuple";
810
+ readonly internalType: "struct IReclaimServiceManager.ClaimRequest";
811
+ readonly components: readonly [{
812
+ readonly name: "provider";
813
+ readonly type: "string";
814
+ readonly internalType: "string";
815
+ }, {
816
+ readonly name: "claimUserId";
817
+ readonly type: "bytes32";
818
+ readonly internalType: "bytes32";
819
+ }, {
820
+ readonly name: "claimHash";
821
+ readonly type: "bytes32";
822
+ readonly internalType: "bytes32";
823
+ }, {
824
+ readonly name: "requestedAt";
825
+ readonly type: "uint32";
826
+ readonly internalType: "uint32";
827
+ }, {
828
+ readonly name: "owner";
829
+ readonly type: "address";
830
+ readonly internalType: "address";
831
+ }];
832
+ }, {
833
+ readonly name: "createdAt";
834
+ readonly type: "uint32";
835
+ readonly internalType: "uint32";
836
+ }, {
837
+ readonly name: "expiresAt";
838
+ readonly type: "uint32";
839
+ readonly internalType: "uint32";
840
+ }, {
841
+ readonly name: "minimumSignatures";
842
+ readonly type: "uint8";
843
+ readonly internalType: "uint8";
844
+ }, {
845
+ readonly name: "operators";
846
+ readonly type: "tuple[]";
847
+ readonly internalType: "struct IReclaimServiceManager.Operator[]";
848
+ readonly components: readonly [{
849
+ readonly name: "addr";
850
+ readonly type: "address";
851
+ readonly internalType: "address";
852
+ }, {
853
+ readonly name: "url";
854
+ readonly type: "string";
855
+ readonly internalType: "string";
856
+ }];
857
+ }, {
858
+ readonly name: "feePaid";
859
+ readonly type: "uint256";
860
+ readonly internalType: "uint256";
861
+ }];
862
+ }, {
863
+ readonly name: "signatures";
864
+ readonly type: "bytes[]";
865
+ readonly internalType: "bytes[]";
866
+ }];
867
+ }];
868
+ readonly anonymous: false;
869
+ }, {
870
+ readonly type: "event";
871
+ readonly name: "Unpaused";
872
+ readonly inputs: readonly [{
873
+ readonly name: "account";
874
+ readonly type: "address";
875
+ readonly indexed: true;
876
+ readonly internalType: "address";
877
+ }, {
878
+ readonly name: "newPausedStatus";
879
+ readonly type: "uint256";
880
+ readonly indexed: false;
881
+ readonly internalType: "uint256";
882
+ }];
883
+ readonly anonymous: false;
884
+ }];
885
+ static createInterface(): ReclaimServiceManagerInterface;
886
+ static connect(address: string, signerOrProvider: Signer | Provider): ReclaimServiceManager;
887
+ }
888
+ export {};