@reclaimprotocol/attestor-core 5.0.1-beta.9 → 5.0.2-beta.1

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 (310) hide show
  1. package/browser/resources/attestor-browser.min.mjs +4513 -0
  2. package/lib/client/tunnels/make-rpc-tls-tunnel.d.ts +1 -1
  3. package/lib/external-rpc/index.js +10397 -3
  4. package/lib/index.js +8325 -10
  5. package/lib/server/utils/generics.d.ts +1 -1
  6. package/lib/server/utils/proxy-session.d.ts +1 -1
  7. package/lib/types/general.d.ts +0 -1
  8. package/lib/types/providers.d.ts +3 -2
  9. package/lib/types/signatures.d.ts +1 -2
  10. package/lib/utils/generics.d.ts +1 -6
  11. package/lib/utils/index.d.ts +0 -1
  12. package/package.json +9 -11
  13. package/lib/avs/abis/avsDirectoryABI.js +0 -343
  14. package/lib/avs/abis/delegationABI.js +0 -4
  15. package/lib/avs/abis/registryABI.js +0 -728
  16. package/lib/avs/client/create-claim-on-avs.js +0 -168
  17. package/lib/avs/config.js +0 -26
  18. package/lib/avs/contracts/ReclaimServiceManager.js +0 -0
  19. package/lib/avs/contracts/common.js +0 -0
  20. package/lib/avs/contracts/factories/ReclaimServiceManager__factory.js +0 -1183
  21. package/lib/avs/contracts/factories/index.js +0 -4
  22. package/lib/avs/contracts/index.js +0 -6
  23. package/lib/avs/types/index.js +0 -0
  24. package/lib/avs/utils/contracts.js +0 -53
  25. package/lib/avs/utils/register.js +0 -74
  26. package/lib/avs/utils/tasks.js +0 -48
  27. package/lib/browser/avs/abis/avsDirectoryABI.d.ts +0 -60
  28. package/lib/browser/avs/abis/avsDirectoryABI.js +0 -343
  29. package/lib/browser/avs/abis/delegationABI.d.ts +0 -126
  30. package/lib/browser/avs/abis/delegationABI.js +0 -4
  31. package/lib/browser/avs/abis/registryABI.d.ts +0 -136
  32. package/lib/browser/avs/abis/registryABI.js +0 -728
  33. package/lib/browser/avs/client/create-claim-on-avs.d.ts +0 -12
  34. package/lib/browser/avs/client/create-claim-on-avs.js +0 -168
  35. package/lib/browser/avs/config.d.ts +0 -7
  36. package/lib/browser/avs/config.js +0 -26
  37. package/lib/browser/avs/contracts/ReclaimServiceManager.d.ts +0 -601
  38. package/lib/browser/avs/contracts/ReclaimServiceManager.js +0 -0
  39. package/lib/browser/avs/contracts/common.d.ts +0 -50
  40. package/lib/browser/avs/contracts/common.js +0 -0
  41. package/lib/browser/avs/contracts/factories/ReclaimServiceManager__factory.d.ts +0 -890
  42. package/lib/browser/avs/contracts/factories/ReclaimServiceManager__factory.js +0 -1183
  43. package/lib/browser/avs/contracts/factories/index.d.ts +0 -1
  44. package/lib/browser/avs/contracts/factories/index.js +0 -4
  45. package/lib/browser/avs/contracts/index.d.ts +0 -3
  46. package/lib/browser/avs/contracts/index.js +0 -6
  47. package/lib/browser/avs/types/index.d.ts +0 -55
  48. package/lib/browser/avs/types/index.js +0 -0
  49. package/lib/browser/avs/utils/contracts.d.ts +0 -21
  50. package/lib/browser/avs/utils/contracts.js +0 -53
  51. package/lib/browser/avs/utils/register.d.ts +0 -27
  52. package/lib/browser/avs/utils/register.js +0 -74
  53. package/lib/browser/avs/utils/tasks.d.ts +0 -22
  54. package/lib/browser/avs/utils/tasks.js +0 -48
  55. package/lib/browser/client/create-claim.d.ts +0 -5
  56. package/lib/browser/client/create-claim.js +0 -461
  57. package/lib/browser/client/index.d.ts +0 -3
  58. package/lib/browser/client/index.js +0 -3
  59. package/lib/browser/client/tunnels/make-rpc-tcp-tunnel.d.ts +0 -16
  60. package/lib/browser/client/tunnels/make-rpc-tcp-tunnel.js +0 -53
  61. package/lib/browser/client/tunnels/make-rpc-tls-tunnel.d.ts +0 -26
  62. package/lib/browser/client/tunnels/make-rpc-tls-tunnel.js +0 -127
  63. package/lib/browser/client/utils/attestor-pool.d.ts +0 -8
  64. package/lib/browser/client/utils/attestor-pool.js +0 -24
  65. package/lib/browser/client/utils/client-socket.d.ts +0 -11
  66. package/lib/browser/client/utils/client-socket.js +0 -120
  67. package/lib/browser/client/utils/message-handler.d.ts +0 -4
  68. package/lib/browser/client/utils/message-handler.js +0 -97
  69. package/lib/browser/config/index.d.ts +0 -31
  70. package/lib/browser/config/index.js +0 -62
  71. package/lib/browser/external-rpc/benchmark.d.ts +0 -1
  72. package/lib/browser/external-rpc/benchmark.js +0 -82
  73. package/lib/browser/external-rpc/event-bus.d.ts +0 -7
  74. package/lib/browser/external-rpc/event-bus.js +0 -17
  75. package/lib/browser/external-rpc/global.d.js +0 -0
  76. package/lib/browser/external-rpc/handle-incoming-msg.d.ts +0 -2
  77. package/lib/browser/external-rpc/handle-incoming-msg.js +0 -241
  78. package/lib/browser/external-rpc/index.d.ts +0 -3
  79. package/lib/browser/external-rpc/index.js +0 -3
  80. package/lib/browser/external-rpc/jsc-polyfills/1.d.ts +0 -14
  81. package/lib/browser/external-rpc/jsc-polyfills/1.js +0 -80
  82. package/lib/browser/external-rpc/jsc-polyfills/2.d.ts +0 -1
  83. package/lib/browser/external-rpc/jsc-polyfills/2.js +0 -15
  84. package/lib/browser/external-rpc/jsc-polyfills/event.d.ts +0 -10
  85. package/lib/browser/external-rpc/jsc-polyfills/event.js +0 -19
  86. package/lib/browser/external-rpc/jsc-polyfills/index.d.ts +0 -2
  87. package/lib/browser/external-rpc/jsc-polyfills/index.js +0 -2
  88. package/lib/browser/external-rpc/jsc-polyfills/ws.d.ts +0 -21
  89. package/lib/browser/external-rpc/jsc-polyfills/ws.js +0 -83
  90. package/lib/browser/external-rpc/setup-browser.d.ts +0 -6
  91. package/lib/browser/external-rpc/setup-browser.js +0 -33
  92. package/lib/browser/external-rpc/setup-jsc.d.ts +0 -24
  93. package/lib/browser/external-rpc/setup-jsc.js +0 -22
  94. package/lib/browser/external-rpc/types.d.ts +0 -213
  95. package/lib/browser/external-rpc/types.js +0 -0
  96. package/lib/browser/external-rpc/utils.d.ts +0 -20
  97. package/lib/browser/external-rpc/utils.js +0 -100
  98. package/lib/browser/external-rpc/zk.d.ts +0 -14
  99. package/lib/browser/external-rpc/zk.js +0 -58
  100. package/lib/browser/index.browser.js +0 -13
  101. package/lib/browser/index.d.ts +0 -9
  102. package/lib/browser/index.js +0 -13
  103. package/lib/browser/mechain/abis/governanceABI.d.ts +0 -50
  104. package/lib/browser/mechain/abis/governanceABI.js +0 -461
  105. package/lib/browser/mechain/abis/taskABI.d.ts +0 -157
  106. package/lib/browser/mechain/abis/taskABI.js +0 -512
  107. package/lib/browser/mechain/client/create-claim-on-mechain.d.ts +0 -10
  108. package/lib/browser/mechain/client/create-claim-on-mechain.js +0 -33
  109. package/lib/browser/mechain/client/index.d.ts +0 -1
  110. package/lib/browser/mechain/client/index.js +0 -1
  111. package/lib/browser/mechain/constants/index.d.ts +0 -3
  112. package/lib/browser/mechain/constants/index.js +0 -8
  113. package/lib/browser/mechain/index.d.ts +0 -2
  114. package/lib/browser/mechain/index.js +0 -2
  115. package/lib/browser/mechain/types/index.d.ts +0 -23
  116. package/lib/browser/mechain/types/index.js +0 -0
  117. package/lib/browser/proto/api.d.ts +0 -651
  118. package/lib/browser/proto/api.js +0 -4250
  119. package/lib/browser/proto/tee-bundle.d.ts +0 -156
  120. package/lib/browser/proto/tee-bundle.js +0 -1296
  121. package/lib/browser/providers/http/index.d.ts +0 -18
  122. package/lib/browser/providers/http/index.js +0 -640
  123. package/lib/browser/providers/http/patch-parse5-tree.d.ts +0 -6
  124. package/lib/browser/providers/http/patch-parse5-tree.js +0 -34
  125. package/lib/browser/providers/http/utils.d.ts +0 -77
  126. package/lib/browser/providers/http/utils.js +0 -283
  127. package/lib/browser/providers/index.d.ts +0 -4
  128. package/lib/browser/providers/index.js +0 -7
  129. package/lib/browser/types/bgp.d.ts +0 -11
  130. package/lib/browser/types/bgp.js +0 -0
  131. package/lib/browser/types/claims.d.ts +0 -70
  132. package/lib/browser/types/claims.js +0 -0
  133. package/lib/browser/types/client.d.ts +0 -163
  134. package/lib/browser/types/client.js +0 -0
  135. package/lib/browser/types/general.d.ts +0 -77
  136. package/lib/browser/types/general.js +0 -0
  137. package/lib/browser/types/handlers.d.ts +0 -10
  138. package/lib/browser/types/handlers.js +0 -0
  139. package/lib/browser/types/index.d.ts +0 -10
  140. package/lib/browser/types/index.js +0 -10
  141. package/lib/browser/types/providers.d.ts +0 -161
  142. package/lib/browser/types/providers.gen.d.ts +0 -443
  143. package/lib/browser/types/providers.gen.js +0 -16
  144. package/lib/browser/types/providers.js +0 -0
  145. package/lib/browser/types/rpc.d.ts +0 -35
  146. package/lib/browser/types/rpc.js +0 -0
  147. package/lib/browser/types/signatures.d.ts +0 -28
  148. package/lib/browser/types/signatures.js +0 -0
  149. package/lib/browser/types/tunnel.d.ts +0 -18
  150. package/lib/browser/types/tunnel.js +0 -0
  151. package/lib/browser/types/zk.d.ts +0 -38
  152. package/lib/browser/types/zk.js +0 -0
  153. package/lib/browser/utils/auth.d.ts +0 -8
  154. package/lib/browser/utils/auth.js +0 -71
  155. package/lib/browser/utils/b64-json.d.ts +0 -2
  156. package/lib/browser/utils/b64-json.js +0 -17
  157. package/lib/browser/utils/claims.d.ts +0 -33
  158. package/lib/browser/utils/claims.js +0 -89
  159. package/lib/browser/utils/env.d.ts +0 -3
  160. package/lib/browser/utils/env.js +0 -19
  161. package/lib/browser/utils/error.d.ts +0 -26
  162. package/lib/browser/utils/error.js +0 -54
  163. package/lib/browser/utils/generics.d.ts +0 -119
  164. package/lib/browser/utils/generics.js +0 -272
  165. package/lib/browser/utils/http-parser.d.ts +0 -59
  166. package/lib/browser/utils/http-parser.js +0 -201
  167. package/lib/browser/utils/index.browser.js +0 -13
  168. package/lib/browser/utils/index.d.ts +0 -13
  169. package/lib/browser/utils/index.js +0 -13
  170. package/lib/browser/utils/logger.browser.js +0 -88
  171. package/lib/browser/utils/logger.d.ts +0 -14
  172. package/lib/browser/utils/logger.js +0 -88
  173. package/lib/browser/utils/prepare-packets.d.ts +0 -16
  174. package/lib/browser/utils/prepare-packets.js +0 -69
  175. package/lib/browser/utils/redactions.d.ts +0 -73
  176. package/lib/browser/utils/redactions.js +0 -135
  177. package/lib/browser/utils/retries.d.ts +0 -12
  178. package/lib/browser/utils/retries.js +0 -26
  179. package/lib/browser/utils/signatures/eth.d.ts +0 -2
  180. package/lib/browser/utils/signatures/eth.js +0 -31
  181. package/lib/browser/utils/signatures/index.d.ts +0 -5
  182. package/lib/browser/utils/signatures/index.js +0 -12
  183. package/lib/browser/utils/socket-base.d.ts +0 -23
  184. package/lib/browser/utils/socket-base.js +0 -96
  185. package/lib/browser/utils/tls-imports.d.ts +0 -21
  186. package/lib/browser/utils/tls-imports.js +0 -71
  187. package/lib/browser/utils/tls.d.ts +0 -2
  188. package/lib/browser/utils/tls.js +0 -58
  189. package/lib/browser/utils/ws.d.ts +0 -7
  190. package/lib/browser/utils/ws.js +0 -22
  191. package/lib/browser/utils/zk.d.ts +0 -71
  192. package/lib/browser/utils/zk.js +0 -625
  193. package/lib/client/create-claim.js +0 -461
  194. package/lib/client/index.js +0 -3
  195. package/lib/client/tunnels/make-rpc-tcp-tunnel.js +0 -53
  196. package/lib/client/tunnels/make-rpc-tls-tunnel.js +0 -127
  197. package/lib/client/utils/attestor-pool.js +0 -24
  198. package/lib/client/utils/client-socket.js +0 -120
  199. package/lib/client/utils/message-handler.js +0 -97
  200. package/lib/config/index.js +0 -62
  201. package/lib/external-rpc/benchmark.js +0 -82
  202. package/lib/external-rpc/event-bus.js +0 -17
  203. package/lib/external-rpc/global.d.js +0 -0
  204. package/lib/external-rpc/handle-incoming-msg.js +0 -241
  205. package/lib/external-rpc/jsc-polyfills/1.js +0 -80
  206. package/lib/external-rpc/jsc-polyfills/2.js +0 -15
  207. package/lib/external-rpc/jsc-polyfills/event.js +0 -19
  208. package/lib/external-rpc/jsc-polyfills/index.js +0 -2
  209. package/lib/external-rpc/jsc-polyfills/ws.js +0 -83
  210. package/lib/external-rpc/setup-browser.js +0 -33
  211. package/lib/external-rpc/setup-jsc.js +0 -22
  212. package/lib/external-rpc/types.js +0 -0
  213. package/lib/external-rpc/utils.js +0 -100
  214. package/lib/external-rpc/zk.js +0 -58
  215. package/lib/index.browser.d.ts +0 -9
  216. package/lib/mechain/abis/governanceABI.js +0 -461
  217. package/lib/mechain/abis/taskABI.js +0 -512
  218. package/lib/mechain/client/create-claim-on-mechain.js +0 -33
  219. package/lib/mechain/client/index.js +0 -1
  220. package/lib/mechain/constants/index.js +0 -8
  221. package/lib/mechain/index.js +0 -2
  222. package/lib/mechain/types/index.js +0 -0
  223. package/lib/proto/api.js +0 -4250
  224. package/lib/proto/tee-bundle.js +0 -1296
  225. package/lib/providers/http/index.js +0 -640
  226. package/lib/providers/http/patch-parse5-tree.js +0 -34
  227. package/lib/providers/http/utils.js +0 -283
  228. package/lib/providers/index.js +0 -7
  229. package/lib/scripts/check-avs-registration.js +0 -28
  230. package/lib/scripts/fallbacks/crypto.js +0 -4
  231. package/lib/scripts/fallbacks/empty.js +0 -4
  232. package/lib/scripts/fallbacks/re2.js +0 -7
  233. package/lib/scripts/fallbacks/snarkjs.js +0 -10
  234. package/lib/scripts/fallbacks/stwo.js +0 -159
  235. package/lib/scripts/generate-provider-types.js +0 -101
  236. package/lib/scripts/generate-receipt.js +0 -101
  237. package/lib/scripts/generate-toprf-keys.js +0 -24
  238. package/lib/scripts/jsc-cli-rpc.js +0 -35
  239. package/lib/scripts/register-avs-operator.js +0 -3
  240. package/lib/scripts/start-server.js +0 -11
  241. package/lib/scripts/update-avs-metadata.js +0 -20
  242. package/lib/scripts/utils.js +0 -10
  243. package/lib/scripts/whitelist-operator.js +0 -16
  244. package/lib/server/create-server.js +0 -105
  245. package/lib/server/handlers/claimTeeBundle.js +0 -232
  246. package/lib/server/handlers/claimTunnel.js +0 -80
  247. package/lib/server/handlers/completeClaimOnChain.js +0 -29
  248. package/lib/server/handlers/createClaimOnChain.js +0 -32
  249. package/lib/server/handlers/createTaskOnMechain.js +0 -57
  250. package/lib/server/handlers/createTunnel.js +0 -98
  251. package/lib/server/handlers/disconnectTunnel.js +0 -8
  252. package/lib/server/handlers/fetchCertificateBytes.js +0 -57
  253. package/lib/server/handlers/index.js +0 -25
  254. package/lib/server/handlers/init.js +0 -33
  255. package/lib/server/handlers/toprf.js +0 -19
  256. package/lib/server/index.js +0 -4
  257. package/lib/server/socket.js +0 -112
  258. package/lib/server/tunnels/make-tcp-tunnel.js +0 -202
  259. package/lib/server/utils/apm.js +0 -29
  260. package/lib/server/utils/assert-valid-claim-request.js +0 -354
  261. package/lib/server/utils/config-env.js +0 -4
  262. package/lib/server/utils/dns.js +0 -24
  263. package/lib/server/utils/gcp-attestation.js +0 -237
  264. package/lib/server/utils/generics.js +0 -45
  265. package/lib/server/utils/iso.js +0 -259
  266. package/lib/server/utils/keep-alive.js +0 -38
  267. package/lib/server/utils/nitro-attestation.js +0 -249
  268. package/lib/server/utils/oprf-raw.js +0 -61
  269. package/lib/server/utils/process-handshake.js +0 -233
  270. package/lib/server/utils/proxy-session.js +0 -4
  271. package/lib/server/utils/tee-oprf-mpc-verification.js +0 -86
  272. package/lib/server/utils/tee-oprf-verification.js +0 -151
  273. package/lib/server/utils/tee-transcript-reconstruction.js +0 -140
  274. package/lib/server/utils/tee-verification.js +0 -358
  275. package/lib/server/utils/validation.js +0 -45
  276. package/lib/types/bgp.js +0 -0
  277. package/lib/types/claims.js +0 -0
  278. package/lib/types/client.js +0 -0
  279. package/lib/types/general.js +0 -0
  280. package/lib/types/handlers.js +0 -0
  281. package/lib/types/index.js +0 -10
  282. package/lib/types/providers.gen.js +0 -16
  283. package/lib/types/providers.js +0 -0
  284. package/lib/types/rpc.js +0 -0
  285. package/lib/types/signatures.js +0 -0
  286. package/lib/types/tunnel.js +0 -0
  287. package/lib/types/zk.js +0 -0
  288. package/lib/utils/auth.js +0 -71
  289. package/lib/utils/b64-json.js +0 -17
  290. package/lib/utils/bgp-listener.js +0 -123
  291. package/lib/utils/claims.js +0 -89
  292. package/lib/utils/env.js +0 -19
  293. package/lib/utils/error.js +0 -54
  294. package/lib/utils/generics.js +0 -272
  295. package/lib/utils/http-parser.js +0 -201
  296. package/lib/utils/index.browser.d.ts +0 -13
  297. package/lib/utils/index.js +0 -14
  298. package/lib/utils/logger.browser.d.ts +0 -14
  299. package/lib/utils/logger.js +0 -82
  300. package/lib/utils/prepare-packets.js +0 -69
  301. package/lib/utils/redactions.js +0 -135
  302. package/lib/utils/retries.js +0 -26
  303. package/lib/utils/signatures/eth.js +0 -31
  304. package/lib/utils/signatures/index.js +0 -12
  305. package/lib/utils/socket-base.js +0 -96
  306. package/lib/utils/tls-imports.d.ts +0 -21
  307. package/lib/utils/tls-imports.js +0 -71
  308. package/lib/utils/tls.js +0 -58
  309. package/lib/utils/ws.js +0 -22
  310. package/lib/utils/zk.js +0 -625
@@ -1,4 +0,0 @@
1
- import { ReclaimServiceManager__factory } from "./ReclaimServiceManager__factory.js";
2
- export {
3
- ReclaimServiceManager__factory
4
- };
@@ -1,6 +0,0 @@
1
- import * as factories from "./factories/index.js";
2
- import { ReclaimServiceManager__factory } from "./factories/ReclaimServiceManager__factory.js";
3
- export {
4
- ReclaimServiceManager__factory,
5
- factories
6
- };
File without changes
@@ -1,53 +0,0 @@
1
- import { Contract, JsonRpcProvider, Wallet } from "ethers";
2
- import { avsDirectoryABI } from "../../avs/abis/avsDirectoryABI.js";
3
- import { delegationABI } from "../../avs/abis/delegationABI.js";
4
- import { registryABI } from "../../avs/abis/registryABI.js";
5
- import { CHAIN_CONFIGS, PRIVATE_KEY, SELECTED_CHAIN_ID } from "../../avs/config.js";
6
- import { ReclaimServiceManager__factory } from "../../avs/contracts/index.js";
7
- const configs = {};
8
- function getContracts(chainId = SELECTED_CHAIN_ID) {
9
- const config = CHAIN_CONFIGS[chainId];
10
- if (!config) {
11
- throw new Error(`No config found for chain ID: ${chainId}`);
12
- }
13
- configs[chainId] ||= initialiseContracts(config);
14
- return configs[chainId];
15
- }
16
- function initialiseContracts({
17
- rpcUrl,
18
- stakeRegistryAddress,
19
- avsDirectoryAddress,
20
- contractAddress,
21
- delegationManagerAddress
22
- }, privateKey = PRIVATE_KEY) {
23
- const provider = new JsonRpcProvider(rpcUrl);
24
- const wallet = privateKey ? new Wallet(privateKey, provider) : void 0;
25
- return {
26
- provider,
27
- wallet,
28
- delegationManager: new Contract(
29
- delegationManagerAddress,
30
- delegationABI,
31
- wallet || provider
32
- ),
33
- // eslint-disable-next-line camelcase
34
- contract: ReclaimServiceManager__factory.connect(
35
- contractAddress,
36
- wallet || provider
37
- ),
38
- registryContract: new Contract(
39
- stakeRegistryAddress,
40
- registryABI,
41
- wallet || provider
42
- ),
43
- avsDirectory: new Contract(
44
- avsDirectoryAddress,
45
- avsDirectoryABI,
46
- wallet || provider
47
- )
48
- };
49
- }
50
- export {
51
- getContracts,
52
- initialiseContracts
53
- };
@@ -1,74 +0,0 @@
1
- import { hexlify, randomBytes, SigningKey } from "ethers";
2
- import { RECLAIM_PUBLIC_URL, SELECTED_CHAIN_ID } from "../../avs/config.js";
3
- import { getContracts } from "../../avs/utils/contracts.js";
4
- import { logger as LOGGER } from "../../utils/index.js";
5
- async function registerOperator({
6
- logger = LOGGER,
7
- chainId = SELECTED_CHAIN_ID,
8
- wallet = getContracts(chainId).wallet,
9
- reclaimRpcUrl = RECLAIM_PUBLIC_URL
10
- } = {}) {
11
- const contracts = getContracts(chainId);
12
- const delegationManager = contracts.delegationManager.connect(wallet);
13
- const avsDirectory = contracts.avsDirectory.connect(wallet);
14
- const contract = contracts.contract.connect(wallet);
15
- const registryContract = contracts.registryContract.connect(wallet);
16
- const addr = wallet.address;
17
- try {
18
- const tx1 = await delegationManager.registerAsOperator({
19
- earningsReceiver: addr,
20
- delegationApprover: "0x0000000000000000000000000000000000000000",
21
- stakerOptOutWindowBlocks: 0
22
- }, "");
23
- await tx1.wait();
24
- logger.info("operator registered on DM successfully");
25
- } catch (err) {
26
- if (!err.message.includes("operator has already registered")) {
27
- throw err;
28
- }
29
- logger.info("Operator already registered on EL");
30
- }
31
- const salt = hexlify(randomBytes(32));
32
- const expiry = Math.floor(Date.now() / 1e3) + 3600;
33
- const operatorSignature = {
34
- expiry,
35
- salt,
36
- signature: ""
37
- };
38
- const contractAddress = await contract.getAddress();
39
- const digestHash = await avsDirectory.calculateOperatorAVSRegistrationDigestHash(
40
- addr,
41
- contractAddress,
42
- salt,
43
- expiry
44
- );
45
- const signingKey = new SigningKey(
46
- wallet.privateKey
47
- );
48
- const signature = signingKey.sign(digestHash);
49
- operatorSignature.signature = signature.serialized;
50
- logger.info("operator signature generated successfully");
51
- if (!await registryContract.operatorRegistered(addr)) {
52
- const tx2 = await registryContract.registerOperatorWithSignature(addr, operatorSignature);
53
- await tx2.wait();
54
- logger.info("operator registered on AVS successfully");
55
- } else {
56
- logger.info("Operator already registered on AVS");
57
- }
58
- const existingMetadata = await contract.getMetadataForOperator(addr).catch((err) => {
59
- if (err.message.includes("Operator not found")) {
60
- return void 0;
61
- }
62
- throw err;
63
- });
64
- const metadata = { addr, url: reclaimRpcUrl };
65
- if (existingMetadata?.addr === metadata.addr && existingMetadata?.url === metadata.url) {
66
- logger.info("operator metadata already up to date");
67
- return;
68
- }
69
- await contract.updateOperatorMetadata(metadata);
70
- logger.info({ metadata }, "operator metadata updated successfully");
71
- }
72
- export {
73
- registerOperator
74
- };
@@ -1,48 +0,0 @@
1
- import { EventLog, getBytes } from "ethers";
2
- import { getContracts } from "../../avs/utils/contracts.js";
3
- async function createNewClaimRequestOnChain({
4
- request,
5
- payer,
6
- chainId,
7
- ...rest
8
- }) {
9
- const contracts = getContracts(chainId);
10
- const contract = contracts.contract.connect(payer);
11
- const ownerAddress = typeof rest.owner === "string" ? rest.owner : rest.owner.address;
12
- const fullRequest = {
13
- ...request,
14
- owner: ownerAddress
15
- };
16
- const signature = await getSignature();
17
- const task = await contract.createNewTask(fullRequest, signature || "0x00");
18
- const rslt = await task.wait();
19
- const logs = rslt?.logs ?? [];
20
- const eventLogs = logs.filter((log) => log instanceof EventLog);
21
- const ev = eventLogs[0];
22
- const arg = ev?.args;
23
- return { task: arg, tx: rslt };
24
- function getSignature() {
25
- if (ownerAddress.toLowerCase() === payer.address.toLowerCase()) {
26
- return;
27
- }
28
- if ("requestSignature" in rest) {
29
- return rest.requestSignature;
30
- }
31
- if (typeof rest.owner !== "object") {
32
- throw new Error(
33
- "Owner wallet must be provided or requestSignature must be provided"
34
- );
35
- }
36
- return signClaimRequest(fullRequest, rest.owner, chainId);
37
- }
38
- }
39
- async function signClaimRequest(request, owner, chainId) {
40
- const contract = getContracts(chainId).contract;
41
- const encoded = await contract.encodeClaimRequest(request);
42
- const strSig = await owner.signMessage(getBytes(encoded));
43
- return getBytes(strSig);
44
- }
45
- export {
46
- createNewClaimRequestOnChain,
47
- signClaimRequest
48
- };
@@ -1,60 +0,0 @@
1
- export declare const avsDirectoryABI: ({
2
- type: string;
3
- inputs: {
4
- name: string;
5
- type: string;
6
- internalType: string;
7
- }[];
8
- stateMutability: string;
9
- name?: undefined;
10
- outputs?: undefined;
11
- anonymous?: undefined;
12
- } | {
13
- type: string;
14
- name: string;
15
- inputs: {
16
- name: string;
17
- type: string;
18
- internalType: string;
19
- }[];
20
- outputs: {
21
- name: string;
22
- type: string;
23
- internalType: string;
24
- }[];
25
- stateMutability: string;
26
- anonymous?: undefined;
27
- } | {
28
- type: string;
29
- name: string;
30
- inputs: ({
31
- name: string;
32
- type: string;
33
- internalType: string;
34
- components?: undefined;
35
- } | {
36
- name: string;
37
- type: string;
38
- internalType: string;
39
- components: {
40
- name: string;
41
- type: string;
42
- internalType: string;
43
- }[];
44
- })[];
45
- outputs: never[];
46
- stateMutability: string;
47
- anonymous?: undefined;
48
- } | {
49
- type: string;
50
- name: string;
51
- inputs: {
52
- name: string;
53
- type: string;
54
- indexed: boolean;
55
- internalType: string;
56
- }[];
57
- anonymous: boolean;
58
- stateMutability?: undefined;
59
- outputs?: undefined;
60
- })[];
@@ -1,343 +0,0 @@
1
- const avsDirectoryABI = [
2
- {
3
- type: "constructor",
4
- inputs: [
5
- {
6
- name: "_delegation",
7
- type: "address",
8
- internalType: "contract IDelegationManager"
9
- }
10
- ],
11
- stateMutability: "nonpayable"
12
- },
13
- {
14
- type: "function",
15
- name: "DOMAIN_TYPEHASH",
16
- inputs: [],
17
- outputs: [{ name: "", type: "bytes32", internalType: "bytes32" }],
18
- stateMutability: "view"
19
- },
20
- {
21
- type: "function",
22
- name: "OPERATOR_AVS_REGISTRATION_TYPEHASH",
23
- inputs: [],
24
- outputs: [{ name: "", type: "bytes32", internalType: "bytes32" }],
25
- stateMutability: "view"
26
- },
27
- {
28
- type: "function",
29
- name: "avsOperatorStatus",
30
- inputs: [
31
- { name: "", type: "address", internalType: "address" },
32
- { name: "", type: "address", internalType: "address" }
33
- ],
34
- outputs: [
35
- {
36
- name: "",
37
- type: "uint8",
38
- internalType: "enum IAVSDirectory.OperatorAVSRegistrationStatus"
39
- }
40
- ],
41
- stateMutability: "view"
42
- },
43
- {
44
- type: "function",
45
- name: "calculateOperatorAVSRegistrationDigestHash",
46
- inputs: [
47
- { name: "operator", type: "address", internalType: "address" },
48
- { name: "avs", type: "address", internalType: "address" },
49
- { name: "salt", type: "bytes32", internalType: "bytes32" },
50
- { name: "expiry", type: "uint256", internalType: "uint256" }
51
- ],
52
- outputs: [{ name: "", type: "bytes32", internalType: "bytes32" }],
53
- stateMutability: "view"
54
- },
55
- {
56
- type: "function",
57
- name: "cancelSalt",
58
- inputs: [{ name: "salt", type: "bytes32", internalType: "bytes32" }],
59
- outputs: [],
60
- stateMutability: "nonpayable"
61
- },
62
- {
63
- type: "function",
64
- name: "delegation",
65
- inputs: [],
66
- outputs: [
67
- {
68
- name: "",
69
- type: "address",
70
- internalType: "contract IDelegationManager"
71
- }
72
- ],
73
- stateMutability: "view"
74
- },
75
- {
76
- type: "function",
77
- name: "deregisterOperatorFromAVS",
78
- inputs: [{ name: "operator", type: "address", internalType: "address" }],
79
- outputs: [],
80
- stateMutability: "nonpayable"
81
- },
82
- {
83
- type: "function",
84
- name: "domainSeparator",
85
- inputs: [],
86
- outputs: [{ name: "", type: "bytes32", internalType: "bytes32" }],
87
- stateMutability: "view"
88
- },
89
- {
90
- type: "function",
91
- name: "initialize",
92
- inputs: [
93
- { name: "initialOwner", type: "address", internalType: "address" },
94
- {
95
- name: "_pauserRegistry",
96
- type: "address",
97
- internalType: "contract IPauserRegistry"
98
- },
99
- { name: "initialPausedStatus", type: "uint256", internalType: "uint256" }
100
- ],
101
- outputs: [],
102
- stateMutability: "nonpayable"
103
- },
104
- {
105
- type: "function",
106
- name: "operatorSaltIsSpent",
107
- inputs: [
108
- { name: "", type: "address", internalType: "address" },
109
- { name: "", type: "bytes32", internalType: "bytes32" }
110
- ],
111
- outputs: [{ name: "", type: "bool", internalType: "bool" }],
112
- stateMutability: "view"
113
- },
114
- {
115
- type: "function",
116
- name: "owner",
117
- inputs: [],
118
- outputs: [{ name: "", type: "address", internalType: "address" }],
119
- stateMutability: "view"
120
- },
121
- {
122
- type: "function",
123
- name: "pause",
124
- inputs: [
125
- { name: "newPausedStatus", type: "uint256", internalType: "uint256" }
126
- ],
127
- outputs: [],
128
- stateMutability: "nonpayable"
129
- },
130
- {
131
- type: "function",
132
- name: "pauseAll",
133
- inputs: [],
134
- outputs: [],
135
- stateMutability: "nonpayable"
136
- },
137
- {
138
- type: "function",
139
- name: "paused",
140
- inputs: [{ name: "index", type: "uint8", internalType: "uint8" }],
141
- outputs: [{ name: "", type: "bool", internalType: "bool" }],
142
- stateMutability: "view"
143
- },
144
- {
145
- type: "function",
146
- name: "paused",
147
- inputs: [],
148
- outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
149
- stateMutability: "view"
150
- },
151
- {
152
- type: "function",
153
- name: "pauserRegistry",
154
- inputs: [],
155
- outputs: [
156
- { name: "", type: "address", internalType: "contract IPauserRegistry" }
157
- ],
158
- stateMutability: "view"
159
- },
160
- {
161
- type: "function",
162
- name: "registerOperatorToAVS",
163
- inputs: [
164
- { name: "operator", type: "address", internalType: "address" },
165
- {
166
- name: "operatorSignature",
167
- type: "tuple",
168
- internalType: "struct ISignatureUtils.SignatureWithSaltAndExpiry",
169
- components: [
170
- { name: "signature", type: "bytes", internalType: "bytes" },
171
- { name: "salt", type: "bytes32", internalType: "bytes32" },
172
- { name: "expiry", type: "uint256", internalType: "uint256" }
173
- ]
174
- }
175
- ],
176
- outputs: [],
177
- stateMutability: "nonpayable"
178
- },
179
- {
180
- type: "function",
181
- name: "renounceOwnership",
182
- inputs: [],
183
- outputs: [],
184
- stateMutability: "nonpayable"
185
- },
186
- {
187
- type: "function",
188
- name: "setPauserRegistry",
189
- inputs: [
190
- {
191
- name: "newPauserRegistry",
192
- type: "address",
193
- internalType: "contract IPauserRegistry"
194
- }
195
- ],
196
- outputs: [],
197
- stateMutability: "nonpayable"
198
- },
199
- {
200
- type: "function",
201
- name: "transferOwnership",
202
- inputs: [{ name: "newOwner", type: "address", internalType: "address" }],
203
- outputs: [],
204
- stateMutability: "nonpayable"
205
- },
206
- {
207
- type: "function",
208
- name: "unpause",
209
- inputs: [
210
- { name: "newPausedStatus", type: "uint256", internalType: "uint256" }
211
- ],
212
- outputs: [],
213
- stateMutability: "nonpayable"
214
- },
215
- {
216
- type: "function",
217
- name: "updateAVSMetadataURI",
218
- inputs: [{ name: "metadataURI", type: "string", internalType: "string" }],
219
- outputs: [],
220
- stateMutability: "nonpayable"
221
- },
222
- {
223
- type: "event",
224
- name: "AVSMetadataURIUpdated",
225
- inputs: [
226
- { name: "avs", type: "address", indexed: true, internalType: "address" },
227
- {
228
- name: "metadataURI",
229
- type: "string",
230
- indexed: false,
231
- internalType: "string"
232
- }
233
- ],
234
- anonymous: false
235
- },
236
- {
237
- type: "event",
238
- name: "Initialized",
239
- inputs: [
240
- { name: "version", type: "uint8", indexed: false, internalType: "uint8" }
241
- ],
242
- anonymous: false
243
- },
244
- {
245
- type: "event",
246
- name: "OperatorAVSRegistrationStatusUpdated",
247
- inputs: [
248
- {
249
- name: "operator",
250
- type: "address",
251
- indexed: true,
252
- internalType: "address"
253
- },
254
- { name: "avs", type: "address", indexed: true, internalType: "address" },
255
- {
256
- name: "status",
257
- type: "uint8",
258
- indexed: false,
259
- internalType: "enum IAVSDirectory.OperatorAVSRegistrationStatus"
260
- }
261
- ],
262
- anonymous: false
263
- },
264
- {
265
- type: "event",
266
- name: "OwnershipTransferred",
267
- inputs: [
268
- {
269
- name: "previousOwner",
270
- type: "address",
271
- indexed: true,
272
- internalType: "address"
273
- },
274
- {
275
- name: "newOwner",
276
- type: "address",
277
- indexed: true,
278
- internalType: "address"
279
- }
280
- ],
281
- anonymous: false
282
- },
283
- {
284
- type: "event",
285
- name: "Paused",
286
- inputs: [
287
- {
288
- name: "account",
289
- type: "address",
290
- indexed: true,
291
- internalType: "address"
292
- },
293
- {
294
- name: "newPausedStatus",
295
- type: "uint256",
296
- indexed: false,
297
- internalType: "uint256"
298
- }
299
- ],
300
- anonymous: false
301
- },
302
- {
303
- type: "event",
304
- name: "PauserRegistrySet",
305
- inputs: [
306
- {
307
- name: "pauserRegistry",
308
- type: "address",
309
- indexed: false,
310
- internalType: "contract IPauserRegistry"
311
- },
312
- {
313
- name: "newPauserRegistry",
314
- type: "address",
315
- indexed: false,
316
- internalType: "contract IPauserRegistry"
317
- }
318
- ],
319
- anonymous: false
320
- },
321
- {
322
- type: "event",
323
- name: "Unpaused",
324
- inputs: [
325
- {
326
- name: "account",
327
- type: "address",
328
- indexed: true,
329
- internalType: "address"
330
- },
331
- {
332
- name: "newPausedStatus",
333
- type: "uint256",
334
- indexed: false,
335
- internalType: "uint256"
336
- }
337
- ],
338
- anonymous: false
339
- }
340
- ];
341
- export {
342
- avsDirectoryABI
343
- };