@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
package/README.md CHANGED
@@ -1,14 +1,18 @@
1
- # Joclaim Attestor Core
1
+ # Reclaim Attestor Core
2
2
 
3
3
  <div>
4
4
  <div>
5
- <img src="https://raw.githubusercontent.com/xj894976677/.github/main/assets/banners/Attestor-Core.png" />
5
+ <img src="https://raw.githubusercontent.com/reclaimprotocol/.github/main/assets/banners/Attestor-Core.png" />
6
6
  </div>
7
7
  </div>
8
8
 
9
- ## What is Joclaim?
10
9
 
11
- Joclaim enables you to bring user activity, reputation, and identity from external websites into your own platform.
10
+ ![Test status](https://github.com/ReclaimProtocol/attestor-core/actions/workflows/ci-cd.yml/badge.svg?job=test)
11
+ ![Deploy status](https://github.com/ReclaimProtocol/attestor-core/actions/workflows/ci-cd.yml/badge.svg?job=deploy)
12
+
13
+ ## What is the Reclaim Protocol?
14
+
15
+ Reclaim enables you to bring user activity, reputation, and identity from external websites into your own platform.
12
16
 
13
17
  For example,
14
18
  - Import the number of rides the user has taken on Uber to build a competing ride sharing platform
@@ -20,26 +24,28 @@ And many more...
20
24
 
21
25
  ### Now what is this repository?
22
26
 
23
- The `attestor-core` package is the core implementation of the Joclaim protocol.
27
+ The `attestor-core` package is the core implementation of the Reclaim protocol.
24
28
 
25
- TLDR: An "attestor" is a server that sits between the Joclaim user & the internet. The client sends data to the internet via the attestor. All this data is exchanged securely via the TLS protocol.
29
+ TLDR: An "attestor" is a server that sits between the reclaim user & the internet. The client sends data to the internet via the attestor. All this data is exchanged securely via the TLS protocol.
26
30
 
27
31
  We leverage some special properties of the TLS protocol along with zero-knowledge proofs to reveal only the necessary information to the attestor.
28
32
  The attestor then signs this data & sends it back to the client. The client can then use this signed data to prove the claim to anyone.
29
33
 
30
- This package contains both the client & server side code for the Joclaim protocol.
34
+ This package contains both the client & server side code for the Reclaim protocol.
31
35
 
32
36
  Read a longer brief [here](/docs/problem-statement.md).
33
37
 
34
38
  This repository contains **Typescript** implementation of the attestor server & the SDK to interact with it. The SDK is compatible with the browser & NodeJS. However, to run the SDK on React Native/Mobile, refer to our [React Native guide](/docs/browser-rpc.md).
35
39
 
40
+ Note: if you're looking to build apps on Reclaim, we'd recommend you to use the [Reclaim SDK](https://docs.reclaimprotocol.org/) instead. This repository is intended for developers looking to contribute to the core protocol.
41
+
36
42
  ## Install
37
43
 
38
44
  From GitHub:
39
- `npm install git+https://github.com/xj894976677/attestor-core`
45
+ `npm install git+https://github.com/reclaimprotocol/attestor-core`
40
46
 
41
47
  From NPM:
42
- `npm install @joclaim/attestor-core`
48
+ `npm install @reclaimprotocol/attestor-core`
43
49
 
44
50
  **Note:** if you plan on running the package on NodeJS or any non-browser environment, download the ZK files required to generate & verify ZK proofs:
45
51
  ```bash
@@ -56,7 +62,7 @@ We'd recommend you go through our documentation in the following order:
56
62
  1. [Problem Statement](/docs/problem-statement.md): Understand the problem we're solving & whether this is the right solution for you.
57
63
  2. [Getting Started](/docs/getting-started.md): Understand how to get started with the attestor SDK & create your first claim.
58
64
  3. [Browser RPC/React Native](/docs/browser-rpc.md): How to setup the attestor client SDK for environments like React Native or any other mobile app.
59
- 4. [Provider](/docs/provider.md): What is a provider in the Joclaim context, how to create one & details on the HTTP provider.
65
+ 4. [Provider](/docs/provider.md): What is a provider in the Reclaim context, how to create one & details on the HTTP provider.
60
66
  5. [Internals of Claim Creation](/docs/claim-creation.md): In-depth description of the full flow of creating a claim with a attestor.
61
67
  6. [Working with the Codebase](/docs/project.md): Understand how to work with the codebase & how to deploy an attestor server.
62
68
  7. [Run your own Attestor Server](/docs/run-server.md): Understand how to run your own attestor server locally or deploy it to the cloud.
@@ -68,22 +74,22 @@ We're excited that you're interested in contributing to our project! Before you
68
74
 
69
75
  ## Code of Conduct
70
76
 
71
- Please read and follow our [Code of Conduct](https://github.com/xj894976677/.github/blob/main/Code-of-Conduct.md) to ensure a positive and inclusive environment for all contributors.
77
+ Please read and follow our [Code of Conduct](https://github.com/reclaimprotocol/.github/blob/main/Code-of-Conduct.md) to ensure a positive and inclusive environment for all contributors.
72
78
 
73
79
  ## Security
74
80
 
75
- If you discover any security-related issues, please refer to our [Security Policy](https://github.com/xj894976677/.github/blob/main/SECURITY.md) for information on how to responsibly disclose vulnerabilities.
81
+ If you discover any security-related issues, please refer to our [Security Policy](https://github.com/reclaimprotocol/.github/blob/main/SECURITY.md) for information on how to responsibly disclose vulnerabilities.
76
82
 
77
83
  ## Contributor License Agreement
78
84
 
79
- Before contributing to this project, please read and sign our [Contributor License Agreement (CLA)](https://github.com/xj894976677/.github/blob/main/CLA.md).
85
+ Before contributing to this project, please read and sign our [Contributor License Agreement (CLA)](https://github.com/reclaimprotocol/.github/blob/main/CLA.md).
80
86
 
81
87
  ## Indie Hackers
82
88
 
83
- For Indie Hackers: [Check out our guidelines and potential grant opportunities](https://github.com/xj894976677/.github/blob/main/Indie-Hackers.md)
89
+ For Indie Hackers: [Check out our guidelines and potential grant opportunities](https://github.com/reclaimprotocol/.github/blob/main/Indie-Hackers.md)
84
90
 
85
91
  ## License
86
92
 
87
93
  This project is licensed under a [AGPL v3](./LICENSE). By contributing to this project, you agree that your contributions will be licensed under its terms.
88
94
 
89
- Thank you for your contributions!
95
+ Thank you for your contributions!
@@ -0,0 +1,60 @@
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
+ })[];
@@ -0,0 +1,340 @@
1
+ export 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
+ ];
@@ -0,0 +1,126 @@
1
+ export declare const delegationABI: ({
2
+ type: string;
3
+ name: string;
4
+ inputs: {
5
+ name: string;
6
+ type: string;
7
+ internalType: string;
8
+ }[];
9
+ outputs: {
10
+ name: string;
11
+ type: string;
12
+ internalType: string;
13
+ }[];
14
+ stateMutability: string;
15
+ anonymous?: undefined;
16
+ } | {
17
+ type: string;
18
+ name: string;
19
+ inputs: {
20
+ name: string;
21
+ type: string;
22
+ internalType: string;
23
+ components: {
24
+ name: string;
25
+ type: string;
26
+ internalType: string;
27
+ }[];
28
+ }[];
29
+ outputs: {
30
+ name: string;
31
+ type: string;
32
+ internalType: string;
33
+ }[];
34
+ stateMutability: string;
35
+ anonymous?: undefined;
36
+ } | {
37
+ type: string;
38
+ name: string;
39
+ inputs: ({
40
+ name: string;
41
+ type: string;
42
+ internalType: string;
43
+ components: {
44
+ name: string;
45
+ type: string;
46
+ internalType: string;
47
+ }[];
48
+ } | {
49
+ name: string;
50
+ type: string;
51
+ internalType: string;
52
+ components?: undefined;
53
+ })[];
54
+ outputs: never[];
55
+ stateMutability: string;
56
+ anonymous?: undefined;
57
+ } | {
58
+ type: string;
59
+ name: string;
60
+ inputs: {
61
+ name: string;
62
+ type: string;
63
+ internalType: string;
64
+ components: ({
65
+ name: string;
66
+ type: string;
67
+ internalType: string;
68
+ components?: undefined;
69
+ } | {
70
+ name: string;
71
+ type: string;
72
+ internalType: string;
73
+ components: {
74
+ name: string;
75
+ type: string;
76
+ internalType: string;
77
+ }[];
78
+ })[];
79
+ }[];
80
+ outputs: never[];
81
+ stateMutability: string;
82
+ anonymous?: undefined;
83
+ } | {
84
+ type: string;
85
+ name: string;
86
+ inputs: {
87
+ name: string;
88
+ type: string;
89
+ internalType: string;
90
+ }[];
91
+ outputs: {
92
+ name: string;
93
+ type: string;
94
+ internalType: string;
95
+ components: {
96
+ name: string;
97
+ type: string;
98
+ internalType: string;
99
+ }[];
100
+ }[];
101
+ stateMutability: string;
102
+ anonymous?: undefined;
103
+ } | {
104
+ type: string;
105
+ name: string;
106
+ inputs: ({
107
+ name: string;
108
+ type: string;
109
+ indexed: boolean;
110
+ internalType: string;
111
+ components?: undefined;
112
+ } | {
113
+ name: string;
114
+ type: string;
115
+ indexed: boolean;
116
+ internalType: string;
117
+ components: {
118
+ name: string;
119
+ type: string;
120
+ internalType: string;
121
+ }[];
122
+ })[];
123
+ anonymous: boolean;
124
+ outputs?: undefined;
125
+ stateMutability?: undefined;
126
+ })[];